Abstract
This paper presents an overview of the developments in operating systems technology for distributed computing systems and multiprocessor machines. We focus on those design principles that are now widely accepted as useful design paradigms. Approaches common to distributed and multiprocessor operating systems are identified. Issues discussed include process scheduling and synchronization, load balancing, virtual and shared-memory management and parallel file systems. The task-thread model and the object model of computing are also discussed.
Similar content being viewed by others
References
Almes, G.T., Black, A.P., Lazowska, E.D., and Noe, J.D. 1985. The Eden system: A technical review.IEEE Trans. Software Eng., SE-11: 43–59.
Ananda, A.L., Tay, B.H., and Koh, E.K. 1992. A survey of asynchronous remote procedure calls.Operating Systems Review (Apr.): 92–109.
Anderson, T. 1990. The performance of spin lock alternatives for shared memory multiprocessors.IEEE Trans. Parallel and Distr. Systems (Jan.).
Anderson, T.E., Lazowska, E.D., and Levy, H.M. 1989. The performance implications of thread management alternatives for shared-memory multiprocessors.IEEE Trans. Comps. (Dec.): 1631–1644.
Anderson, T., Bershad, B., Lazowska, E., and Levy, H. 1991. Scheduler activations: Effective kernel support for the user-level management of parallelism. InProc., 13th ACM Symp. on Operating System Principles, pp. 95–109.
Archibald, J., and Baer, J.-L. 1986. Cache coherence protocols: Evaluation using a multiprocessor simulation model.ACM Trans. Comp. Systems (Nov.): 273–298.
Asbury, R.K., and Scott, D.S. 1989. FORTRAN I/O on the iPSC/2: Is there read after write? InProc., Fourth Conf. on Hypercubes, Concurrent Computers and Applications, pp. 129–132.
Athas, W., and Seitz, C. 1988. Multicomputers: Message-passing concurrent computers.IEEE Comp. (Aug.): 9–24.
Bach, M. 1984. Multiprocessor UNIX operating systems.Bell Labs Tech. J. (Oct.): 1733–1749.
Bal, H.E., Kaashoek, M.A., and Tanenbaum, A.S. 1992. Orca: A language for parallel programming of distributed systems.IEEE Trans. Software Eng., 18, 3 (Mar.): 190–205.
Barak, A., and Litman, A. 1985. MOS: A multicomputer distributed operating system.Software—Practice and Experience (Aug.): 725–737.
Bennett, J., Carter, J., and Zwaenepoel, W. 1990. Munin: Distributed shared memory based on type specific memory coherence. InProc., 1990 Conf. on the Principles and Practice of Parallel Programming, pp. 168–176.
Bershad, B. 1990. The increasing irrelevance of IPC performance for microkernel-based operating systems. InProc., Summer 1990 USENIX.
Birman, K.P. 1985. Replication and fault-tolerance in the ISIS system. InProc., Tenth Symp. on Operating System Principles (Dec.), pp. 79–86.
Birman, K. 1994. A response to Cheriton and Skeen's criticism of causal and totally ordered communication.ACM Operating Systems Rev. (Jan.): 11–21.
Black, D. 1990. Scheduling support for concurrency and parallelism in the Mach operating system.IEEE Comp. (May): 35–43.
Butler, R., and Lusk, E. 1992. User guide to the P4 programming system. Tech. rept., Argonne Nat. Laboratory (Oct.).
Campbell, M., Barton, R., Browning, J., Cervenka, D., Curry, B., Davis, T., Edmonds, T., Holt, R., Slice, J., Smith, T., and Wescott, R. 1991. The parallelization of UNIX System V Release 4.0. InProc., Winter 1991 USENIX (Jan.), pp. 307–323.
Campbell, R., Islam, N., Raila, D., and Madany, P. 1993. Designing and implementing Choices: An objectoriented system in C++.CACM 36, 9 (Sept.): 117–126.
Carter, J., Bennett, J., and Zwaenepoel, W. 1991. Implementation and performance of Munin. InProc., 13th ACM Symp. on Operating System Principles, pp. 152–164.
Cheriton, D. 1988. The V distributed system.CACM, 31, 3 (Mar.): 314–333.
Cheriton, D., and Skeen, D. 1993. Understanding the limitations of causally and totally ordered communication. InProc., 14th ACM Symp. on Operating System Principles, pp. 44–57.
Cheriton, D., Goosen, H. A., and Boyle, P.D. 1991. Paradigm: A highly scalable shared-memory multicomputer architecture.IEEE Comp., 24, 2 (Feb.): 33–46.
Chin, R.S., and Chanson, S.T. 1991. Distributed object-based programming systems.ACM Comp. Surveys (Mar.): 91–124.
Corbett, P.F., Johnson Baylor, S., and Feitelson, D.G. 1993. Overview of the Vesta parallel file system. InIPPS '93 Workshop on Input/Output in Parallel Comp. Systems, pp. 1–16.
Cordsen, J., and Schröeder-Preikschat, W. 1991. Object-oriented operating systems design and the revival of program families. In1991 Internat. Workshop on Object-Orientation in Operating Systems, pp. 24–28.
Dahl, O.-J., and Nygaard, K. 1966. SIMULA-An ALGOL-based simulation language.CACM (Sept.): 671–678.
Daley, R.C., and Dennis, J.B. 1968. Virtual memory, processes, and sharing in Multics.CACM (May): 306–369.
Dasgupta, P., LeBlanc, R., Ahamad, M., and Ramachandran, U. 1991. The Clouds distributed operating system.Comp. Mag. (Nov.): 34–44.
Detlefe, D.L., Herlihy, M.P., and Wing, J.M. 1988. Inheritance of synchronization and recovery properties in Avalon/C++.IEEE Comp. (Dec.): 57–69.
Dibble, P., Scott, M., and Schlatter Ellis, C. 1988. Bridge: A high-performance file system for parallel processors. InProc., 8th Internat. Conf. on Distributed Computing Systems.
Dongarra, J., Hempel, R., Hey, A., and Walker, D. 1993. A proposal for a user-level message passing interface in a distributed memory environment. Tech. rept., Oak Ridge Nat. Laboratory, June.
Douglas, F., and Ousterhout, J. 1991. Transparent process migration: Design alternatives and the Sprite implementation.Software-Practice and Experience (Aug.): 757–785.
Edler, J., Lipkis, J., and Schonberg, E. 1988. Process management for highly parallel UNIX systems. InUSENIX Workshop on UNIX and Supercomputers (Sept.), pp. 1–17.
Eykholt, J.R., Keimann, S.R., Barton, S., Faulkner, R., Shivalingiah, A., Smith, M., Stein, D., Voll, J., Weeks, M., and Williams, D. 1992. Beyond multiprocessing: Multithreading the SunOS kernel. InProc., Summer 1992 USENIX (June), pp. 11–18.
Graunke, G., and Thakkar, S. 1990. Synchronization algorithms for shared-memory multiprocessors.IEEE Comp. (June): 60–69.
Grimshaw, A. 1993. Easy-to-use object-oriented parallel processing with Mental.IEEE Comp. (May): 39–51.
Hansen, P.B. 1970. The nucleus of a multiprogramming system.CACM (Apr.): 2382–241, 250.
Hauser, C., Jacobi, C., Theimer, M., Welch, B., and Weiser, M. 1993. Using threads in interactive systems: A case study. InProc., 14th ACM Symp. on Operating System Principles (Dec.), pp. 94–105.
Hillis, W.D., and Tucker, L.W. 1993. The CM-5 Connection Machine: A scalable supercomputer.CACM, 36, 11 (Nov.): 31–40.
Karlin, A., Li, K., Manasse, M., and Owicki, S. 1991. Empirical studies of competitive spinning for a shared memory multiprocessor. InProc., 13th ACM Symp. on Operating System Principles, pp. 41–55.
Khalidi, Y.A., and Nelson, M.N. 1993. Implementation of UNIX on an object-oriented operating system. InProc., 1993 Winter USENIX (Jan.), pp. 469–479.
Koller, J. 1989. The MOOS II operating system and dynamic load balancing. InProc., Fourth Conf. on Hypercubes, Concurrent Computers, and Applications, pp. 599–602.
Korson, T., and McGregor, J. 1990. Understanding object-oriented: A unifying paradigm.CACM, 33, 9 (Sept.): 40–60.
Kotz, D. 1992. Multiprocessor file system interfaces. Tech. Rept. PCS-TR92-179, Dartmouth College, Hanover, N.H.
Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system.CACM, 21, 7 (July): 558–564.
Lea, R., Jacquemot, C., and Pillevesse, E. 1993. COOL: System support for distributed programming.CACM, 36, 9 (Sept.): 37–46.
Leutenegger, S., and Vernon, M. 1990. The performance of multiprogrammed multiprocessor scheduling policies. InProc., 1990 ACM SIGMETRICS Conf. on Measurement and Modeling of Computer Systems, pp. 226–236.
Levin, R., Cohen, E., Corwin, W., Pollack, F., and Wulf, W. 1975. Policy/mechanism separation in Hydra. InProc., Fifth Symp. on Operating Systems Principles (Nov.), pp. 132–140.
Levy, E., and Silberschatz, A. 1990. Distributed file systems: Concepts and examples.ACM Comp. Surveys (Dec.): 321–374.
Li, K., and Hudak, P. 1989. Memory coherence in shared virtual memory systems.ACM Trans. Comp. Systems, 7 (Nov.): 321–359.
Li, K., and Schaefer, R. 1989. A hypercube shared virtual memory system. InProc., 1989 Internat. Conf. on Parallel Processing, pp. I-125–I-132.
Liang, L., Chanson, S., and Neufeld, G. 1990. Process groups and group communication.IEEE Comp. (Feb.): 56–66.
Lillevik, S. 1991. The Touchstone 30 Gigaflop DELTA prototype. InProc., 6th Distributed Memory Computing Conf., pp. 671–677.
Liskov, B. 1988. Distributed programming in Argus.CACM, 31, 3 (Mar.): 300–312.
Liskov, B.H., and Zilles, S. 1974. Programming with abstract data types.SIGPLAN NOTICES, 9, 4: 50–59.
Litzkow, M., Livny, M., and Mutka, M. 1988. Condor—A hunter of idle workstations. InProc., IEEE Internat. Conf. on Distributed Computing Systems.
Loepere, K. 1992.Mach 3 Kernel Principles. Open Software Foundation.
Marsh, B., Scott, M., LeBlanc, T., and Markatos, E.P. 1991. First-class user-level threads. InProc., 13th ACM Symp. on Operating System Principles, pp. 100–121.
Mellor-Crummey, J.M., and Scott, M.L. 1991. Algorithms for scalable synchronization on shared-memory multiprocessors.ACM Trans. Comp. Systems (Feb.): 19–65.
Mullender, S.J., Rossum, G. van, Tanenbaum, A., Renesse, R. van, and Staveren, H. van. 1990. Amoeba—A distributed operating system for the 1990s.IEEE Comp., 23 (May): 44–53.
Nitzberg, B., and Lo, V. 1991. Distributed shared memory: A survey of issues and algorithms.IEEE Comp. (Aug.): 52–60.
Ousterhout, J.K. 1982. Scheduling techniques for concurrent systems. InProc., 3rd Internat. Conf. on Distributed Computing Systems (Oct.), pp. 22–30.
Ousterhout, J.K., Cherenson, A.R., Douglis, F., Nelson, M.N., and Welch, B.B. 1988. The Sprite network operating system.IEEE Comp., 21, 2: 23–36.
Parasoft. 1990.Express 3.2 Introductory Guide. Parasoft Corp., Pasadena, Calif.
Patterson, D., Gibson, G., and Katz, R. 1988. A case for redundant arrays of inexpensive disks (RAID). InProc., ACM SIGMOD Conf. (June), pp. 109–116.
Pierce, P. 1989. A concurrent file system for a highly parallel mass storage subsystem. InProc., Fourth Conf. on Hypercubes, Concurrent Computers and Applications.
Powell, M.L., Keimann, S.R., Barton, S., Shah, D., Stein, D., and Weeks, M. 1991. SunOS Multi-thread architecture. InProc., Winter 1991 USENIX (Jan.), pp. 1–10.
Pratt, T.W., French, J.C., Dickens, P.M. and Janet, S.A., Jr. 1989. A comparison of the architecture and performance of two parallel file systems. InProc., Fourth Conf. on Hypercubes, Concurrent Computers and Applications, pp. 161–166.
Rashid, R., and Robertson, G. 1981. Accent: A communication-oriented network operating system kernel. InProc., 8th Symp. on Operating System Principles (Dec.), pp. 64–75.
Rashid, R., Tevanian, A., Young, M., Golub, D., Baron, R., Black, D., Boloskyi, W., and Chew, J. 1988. Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures.IEEE Trans. Comps. (Aug.): 896–908.
Rosenblum, M., and Ousterhout, J. 1992. The design and implementation of a log-structured file system.ACM Trans. Comp. Systems, 10, 1 (Feb.): 26–52.
Rozier, M., Abrossimov, V., Armand, F., Boule, L., Gien, M., Guillemont, M., Herrmann, F., Kaiser, C., Langlois, S., Leonard, P., and Neuhauser, W. 1988. Chorus distributed operating system.Computing Systems J. (Dec.): 305–370.
Ruane, L. 1991. Process synchronization in the UTS kernel.Computing Systems, 3, 3: 387–421.
Saltzer, J.H., Reed, D.P., and Clark, D.D. 1984. End-to-end arguments in system design.ACM Trans. Comp. Systems, 2, 4 (Nov.): 277–288.
Schantz, R., Thomas, R., and Bono, G. 1986. The architecture of the Cronus distributed operating system. InProc., 6th Internat. Conf. on Distr. Computing Systems, pp. 250–259.
Schimmel, C. 1994.UNIX Systems for Modern Architectures. Addison-Wesley, Reading, Mass.
Seitz, C.L. 1985. The Cosmic Cube.CACM (Jan.): 22–33.
Shivaratri, N., Krueger, P., and Singhal, M. 1992. Load distributing for locally distributed systems.IEEE Comp. (Dec.): 33–44.
Smith, J. 1988. A survey of process migration mechanisms.ACM SIGOPS Newsletter (July): 28–40.
Stein, D., and Shah, D. 1992. Implementing lightweight threads.In Proc., Summer 1992 USENIX (June), pp. 1–9.
Stumm, M., and Zhou, S. 1990. Algorithms implementing distributed shared memory.IEEE Comp. (May): 55–64.
Sunderam, V.S. 1990. PVM: A framework for parallel distributed computing.Concurrency: Practice and Experience, 2, 4 (Dec.): 315–339.
Tam, M.-C, Smith, J.M., and Farber, D. 1990. A taxonomy-based comparison of several distributed shared memory systems.ACM Operating Systems Rev., 24, 3 (July): 40–67.
Tripathi, A. 1989. An overview of the Nexus distributed operating system design.IEEE Trans. Software Eng., 15, 6 (June): 686–695.
Tucker, A., and Gupta, A. 1989. Process control and scheduling issues for multiprogrammed shared memory multiprocessors. InProc., 12th ACM Symp. on Operating System Principles, pp. 159–166.
Walker, B., Popek, G., English, R., Kline, C., and Thiel, G. 1983. The LOCUS distributed operating system. InProc., Ninth ACM Symp. on Operating Systems Principles (Oct.).
Wegner, P. 1987. Dimensions of object-based language design. InProc., ACM OOPSLA-87 Conf. (Oct.), pp. 168–182.
Weiser, M., Demers, A., and Hauser, C. 1989. The portable common runtime approach to interoperability. InProc., 12th ACM Symp. on Operating System Principles, pp. 114–122.
Wendorf, J., Wendorf, R., and Tokuda, H. 1989. Scheduling operating system processing on small-scale multiprocessors. InProc., 22nd Hawaii Internat. Conf. on System Sciences, pp. 904–913.
Yokote, Y. 1992. The Apertos reflective operating system: The concept and its implementation. Tech. Rept. SCSL-TR-92-014, Sony Comp. Sci. Laboratory (June).
Zajcew, R., Roy, P., Black, D., Peak, C., Guedes, P., Kemp, B., LoVerso, J., Leibensperger, M., Barnett, M., Rabii, F., and Netterwala, D. 1993. An OSF/1 UNIX for massively parallel multicomputers. InProc., Winter 1993 USENIX Conf. (Jan.), pp. 449–468.
Zahorjan, J., and McCann, C. 1990. Processor scheduling in shared memory multiprocessor systems. InProc., 1990 ACM SIGMETRICS Conf. on Measurement and Modeling of Computer Systems, pp. 214–225.
Zahorjan, J., Lazowska, E., and Eager, D. 1988. Spinning versus blocking in parallel systems with uncertainty. Tech. Rept. 88-03-01, Univ. Wash., Seattle (Mar.).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Tripathi, A.R., Karnik, N.M. Trends in multiprocessor and distributed operating systems designs. J Supercomput 9, 23–49 (1995). https://doi.org/10.1007/BF01245396
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01245396