Bibliografía
La bibliografía recomendada de la materia es la siguiente
-
Rust
- Principles of Concurrent and Distributed Programming, M. Ben-Ari, Segunda edición (capítulos 1, 2, 6 y 7)
- Operating System Concepts, Ninth Edition, Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, Cap. 4.
- The Rust Programming Language
-
Fork Join
- Parallelization in Rust with fork-join and friends. Creating the ForkJoin framework, Master's thesis in Computer Science and Engineering. Linus Färnstrand
- Documentacion Crayon
- Documentacion CrossBeam
- A Multiprocessor System Design, M.E. Conway, 1963
- MapReduce: Simplified Data Processing on Large Clusters, Jeffrey Dean and Sanjay Ghemawat, 2014
- Dremel: Interactive Analysis of Web-Scale Datasets S. Melnik et al., 2010
-
Async
- Programming Rust: Fast, Safe Systems Development, 2nd Edition, Jim Blandy, Jason Orendorff, Leonora F. S. Tindall. 2021.
- Asynchronous Programming in Rust
-
Mutex
- Principles of Concurrent and Distributed Programming, M. Ben-Ari, Segunda edición (capítulos 1 y 2)
- Unix Network Programming, Interprocess Communications, W. Richard Stevens, segunda edición"
-
Semaphores, Barriers Condvars
- The Design of the Unix Operating System, Maurice Bach
- Sistemas Operativos Modernos, Tanenbaum, Capítulo 2.3
- The Little Book of Semaphores, Allen B. Downey
- Monitors: An Operating System Structuring Concept, C.A.R. Hoare, Communications of the ACM, 1974
- Concurrent control with ""readers"" and ""writers""
-
Channels and Actors
- Principles of Concurrent and Distributed Programming, M. Ben-Ari, Segunda edición (capítulos 6)
- The Complete Rust Programming Reference Guide, Rahul Sharma, Vesa Kaihlavirta, Claus Matzinger. An Actor-Based Programming System, Roy J. Byrd, Stephen E. Smith, S. Peter de Jong. IBM Thomas J. Watson Research Center, Yorktown Heights, New York 10598
- Seven Concurrency Models in Seven Weeks: When Threads Unravel (The Pragmatic Programmers), Paul Butcher
- Actix
- A Universal Modular ACTOR Formalism for Artificial Intelligence. C. Hewitt, P. Bishop, and R. Steiger. IJCAI , page 235-245. William Kaufmann, (1973 )
- The Drinking Philosophers Problem. Chandy, K.M.; Misra, J. (1984). ACM Transactions on Programming Languages and Systems
-
Sockets
- Distributed Operating Systems, Andrew S. Tanenbaum, capítulo 3
- Computer Networks, Andrew S. Tanenbaum y David J. Wetherall, quinta edición
- Unix Network Programming - Volume 1 - The Sockets Networking API, Richard Stevens, tercera edición
- Ricart, Glenn; Agrawala, Ashok K. (1 January 1981). ""An optimal algorithm formutual exclusion in computer networks"". Communications of the ACM. 24 (1):9–17 https://dl.acm.org/doi/abs/10.1145/358527.358537
- Tanenbaum. Distributed Systems: Principles and paradigmns. Capitulo 6 "
-
Elección de líder
- Distributed Operating Systems, Andrew S. Tanenbaum, capítulo 3
- Computer Networks, Andrew S. Tanenbaum y David J Wetherall, quinta edición
- The Complete Rust Programming Reference Guide, Rahul Sharma, Vesa Kaihlavirta, Claus Matzinger.
- Hector Garcia-Molina, Elections in a Distributed Computing System, IEEE Transactions on Computers, Vol. C-31, No. 1, January (1982) 48–59
- Tanenbaum. Distributed Systems: Principles and paradigmns. Capitulo 6"
-
Distributed Transactions
- Distributed Operating Systems, Andrew S. Tanenbaum, capítulo 3
- Computer Networks, Andrew S. Tanenbaum y David J. Wetherall, quinta edición
- Distributed Systems: Principles and Paradigms. Tanenbaum & Van Steem, Capitulo 8"
- Design and Analysis of Distributed Algorithms, Nicola Santoro