Algorithms for mutual exclusion
Algorithms for mutual exclusion
Detection of stable properties in distributed applications
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Networks and distributed computation: concepts, tools, and algorithms
Networks and distributed computation: concepts, tools, and algorithms
A distributed algorithm for mutual exclusion in an arbitrary network
The Computer Journal
Parallel program design: a foundation
Parallel program design: a foundation
Synchronization of asynchronous processes in CSP
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synchronization and control of distributed systems and programs
Synchronization and control of distributed systems and programs
A theoretician's view of fault tolerant distributed computing
Fault-tolerant distributed computing
A simple taxonomy for distributed mutual exclusion algorithms
ACM SIGOPS Operating Systems Review
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
An Effective Implementation for the Generalized Input-Output Construct of CSP
ACM Transactions on Programming Languages and Systems (TOPLAS)
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Communicating sequential processes
Communications of the ACM
A Multi-Processor Estelle-to-C Compiler to Prototype Algorithms on Parallel Machines
Proceedings of the IFIP WG6.1 Ninth International Symposium on Protocol Specification, Testing and Verification IX
An integrated course on parallel and distributed processing
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Thinking parallel: the process of learning concurrency
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Hi-index | 0.00 |
Sequential algorithms design and operating system principles have always been fundamental courses in any computer science curriculum. Protocols are now a well established discipline, and parallelism and concurrency issues are becoming more and more popular in academic courses. Along these guidelines distributed algorithms have now emerged as a proper topic of computer science; studying them demands some prerequisite on algorithms, parallelism and protocols but they cannot themselves be reduced to these three domains.In this paper we present elements for a course on the design of distributed algorithms performing common operating system services. The fundamental aspects of this course lie in teaching the students that no global state can be instantaneously caught because of the asynchronism of the processes and message transmission delays. We state basis problems addressed during the lecture (mutual exclusion, rendezvous implementation, snapshot computation, network traversals and distributed evaluation of predicates) and present how students are faced with distributed problems in practical classes, using a distributed memory parallel machine to implement their solutions.