Basic structures 2. Theoretical Foundations:
Global state and event ordering Logical and physical clocks 3. Distributed Operating Systems:
Mutual exclusion and election
Detection and resolution of deadlock Self-stabilization
Task scheduling and load balancing 4. Distributed Communication: 6. Distributed Data Management:
Consistency of duplicated data Distributed concurrency control 7. Applications:
Distributed operating systems Distributed file systems
Distributed database systems Distributed shared memory Heterogeneous processing
The above is not by any means an exhaustive list of the relevant issues of distributed control design; it is just a representative subset of the areas of research today.
Previous Table of Contents Next
Copyright © CRC Press LLC
Previous Table of Contents Next
1.8 Source of References
There are many journals and conferences related to distributed system design. At least two journals are dedicated to distributed system design: Distributed Computing and Distributed Systems Engineering.
Many articles related to distributed computing can be found in IEEE Transactions on Parallel and Distributed Systems and Journal of Parallel and Distributed Computing.
Some articles occasionally appear in ACM SIGOPS Operating Systems Review, ACM Computing Surveys, ACM SIGPLAN Notices, ACM Transactions on Computer Systems, ACM Transactions on Programming Languages and Systems, The Computer Journal, Computer Systems Science and Engineering, IEEE Transactions on Computers, IEEE Transactions on Software Engineering,
Information Processing Letters, Parallel Processing Letters, Journal of Computer and System Sciences, International Journal of Parallel Programming, Journal of the ACM, Journal of System Architecture, Parallel Computing, Concurrency: Practice and Experience, Science of Computer Programming, SIAM Journal on Computing, Real-Time Systems, Software: Practice and Experience, and Theoretical
Computer Science.
Many general and less theoretical articles appear in IEEE Concurrency (formerly IEEE Parallel &
Distributed Technology) although most articles in this magazine are about parallel technology. Some magazines also publish related articles; they are: Communications of the ACM and IEEE Computers.
There are four main conferences on distributed computing: IEEE International Conference on Distributed Computing Systems, Annual ACM Symposium on Principles of Distributed Computing, Annual ACM Symposium on Parallel Algorithms and Architectures, and International Workshops on Distributed Algorithms. There are many other related conferences that carry papers on distributed computing, such as the Annual Symposium on Theory of Computing and the Annual Symposium on Computer Science.
Most textbooks in this area are related to either distributed operating systems or distributed algorithms.
Among books on distributed algorithms, the ones by Barbosa [3], Lynch [29], Raynal [40], Raynal and Helary [41], Tel [52], and Tel [53] cover distributed algorithms for a wide range of problems. There are several excellent textbooks on distributed operating systems, including the ones by Chow and Johnson [8], Singhal and Shivaratri [45], Sinha [47], and Tanenbaum [51]. In [34], edited by Mullender, there is a good collection of articles on various issues of distributed system design. In the book entitled Readings in Distributed Computing Systems [7], Casavant and Singhal collected 24 survey type of articles on distributed systems. Some textbooks deal with issues in both distributed systems and network systems, such as the one by Coulouris and Dollimore [10]. There are several tutorial books on distributed systems [1], [26], [30], but most of them are out of date; however, some classical papers in this area are included.
There are numerous textbooks and tutorial books on special topics of distributed systems.
A list of pointers to on-line bibliographies on different subjects of distributed system design can be found in [47].
Previous Table of Contents Next
Copyright © CRC Press LLC
Previous Table of Contents Next
References
1 Ananda, A. L. and B. Srinivasan, Distributed Computing Systems: Concepts and Structures, IEEE Computer Society Press, 1991.
2 Andrews, G. R., R. D. Schlichting, R. Hayes, and T. D. M. Purdin, “The design of the Saguaro distributed operating system”. IEEE Transactions on Software Engineering, 13, 1, Jan. 1987, 104-118.
3 Barbosa, V. C., An Introduction to Distributed Algorithms, The MIT Press, 1996.
4 Birrell, A. D. and R. M. Needham, “A universal file server”, IEEE Transactions on Software Engineering, 6, 9, Sept. 1980, 450-453.
5 Bowen, J. P. and T. J. Gleeson, “Distributed operating systems”, in Distributed Computer Systems, H. S. M. Zedan, ed., Butterworths, 1990.
6 Brazier, F. M. T. and D. Johansen, Distributed Open Systems, IEEE Computer Society Press, 1994.
7 Casavant T. L. and M. Singhal, Readings in Distributed Computing Systems, IEEE Computer Society Press, 1994.
8 Chow, R. and T. Johnson, Distributed Operating Systems and Algorithms, Addison-Wesley Publishing Company, 1997.
9 Conte, G. and D. D. Corso, Multi-microprocessor Systems for Real-Time Applications, D.
Reidel Publishing Company, 1985.
10 Coulouris, G. F. and J. Dollimore, Distributed Systems: Concepts and Design, Addison-Wesley Publishing Company, 1988.
11 Dijkstra, E. W., “Solution of a problem in concurrent programming control”, Communications of the ACM, 8, 9, Sept. 1965, 569.
12 Dijkstra, E. W., “Cooperating sequential processes”, Programming languages, F. Genuys, edited, Academic Press, 1968, 43-112.
13 Enslow, P. H., “What is a ‘distributed’ data processing system?”, IEEE Computers, 22, 1, Jan. 1978, 13-21.
14 Feng, T. Y., “A survey of interconnection networks”, IEEE Computers, Dec. 1981, 12-27.
15 Feng, T. Y., “From HPCC to new millennium computing”, Keynote Address, The 16th Int’l Conf. on Distributed Computing Systems, 1996.
16 Haas, L. M. et al., “R*, a research project on distributed relational DBMS”, Database Engineering, 5, 4, 1982.
17 Hoare, C. A. R., “Monitors: An operating system structuring concept”, Communications of the ACM, 17, 10, Oct. 1974, 549-557.
18 Hwang, K., Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill Publishing Company, 1993.
19 Johnson, B. C., “A distributed computing environment framework: an OSF perspective”, in Distributed Open System, F. M. T. Brazier and D. Johansen, eds., IEEE Computer Society Press,
1994.
20 Jordan, H. F., “A special purpose architecture for finite element analysis”, Proc. of the 1978 Int’l Conf. on Parallel Processing, 1978, 263-266.
21 Kleinrock, L., “Distributed systems”, IEEE Computers, Oct. 1985, 103-110.
22 LeLann, G., “Synchronization”, in Distributed Systems - Architecture and Implementation, L.
Lampson, et al., eds., LNCS 105, Springer Verlag, 1981.
23 LeLann, G., “Motivations, objectives, and characterization of distributed systems,” in Distributed Systems — Architecture and Implementation, Lampson, L., et al., eds., LNCS 105, Springer Verlag, 1981.
24 Levy, E. and Silberschatz, A., “Distributed file systems: Concepts and examples”, ACM Computing Surveys, 22, 1990, 321-374.
25 Lewis, T. G., “The next 10,000
2 years: Part 1”, IEEE Computers, 29, 4, April 1996, 64-70.
26 Libowitz, B. H. and J. H. Carson, Tutorial: Distributed Processing, IEEE Computer Society Press, 1989.
27 Liszka, K. J., J. K. Antonio, and H. J. Siegel, “Is an Alligator better than an Armadillo?”
IEEE Concurrency, Oct.-Dec. 1997, 18-28.
28 Lockhart, H. M., OSF DCE: Guide to Developing Distributed Applications, IEEE Computer Society Press, 1994.
29 Lynch, N. A., Distributed Algorithms, Morgan Kaufmann Publishing, Inc., 1996.
30 Mariani, M. P. and D. F. Palmer, Tutorial: Distributed System Design, IEEE Computer Society Press, 1979.
31 Melhem, R., D. Chiarulli, and S. Levitan, “Space multiplexing of waveguides in optically interconnected multiprocessor systems”, The Computer Journal, 32, 4, 1989, 362-369.
32 Morris, J. H. et al., “Andrew, a distributed personal computing environment”, Communications of the ACM, 29, 3, 1986.
33 Mullender, S. J. and A. S. Tanenbaum, “A distributed file service based on optimistic concurrency control”, Proc. of the 10th Symp. on Operating Systems Principles, 1985, 51-62.
34 Mullender, S., Distributed Systems, ACM Press, Addison-Wesley Publishing Company, 1989.
35 Needham, R. M. and A. J. Herbert, The Cambridge Distributed Computing System, Addison-Wesley Publishing Company, 1982.