Skip to main content
Log in

Trends in multiprocessor and distributed operating systems designs

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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.

    Google Scholar 

  • Ananda, A.L., Tay, B.H., and Koh, E.K. 1992. A survey of asynchronous remote procedure calls.Operating Systems Review (Apr.): 92–109.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Bach, M. 1984. Multiprocessor UNIX operating systems.Bell Labs Tech. J. (Oct.): 1733–1749.

    Google Scholar 

  • 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.

    Google Scholar 

  • Barak, A., and Litman, A. 1985. MOS: A multicomputer distributed operating system.Software—Practice and Experience (Aug.): 725–737.

    Google Scholar 

  • 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.

    Google Scholar 

  • Birman, K. 1994. A response to Cheriton and Skeen's criticism of causal and totally ordered communication.ACM Operating Systems Rev. (Jan.): 11–21.

    Google Scholar 

  • Black, D. 1990. Scheduling support for concurrency and parallelism in the Mach operating system.IEEE Comp. (May): 35–43.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Chin, R.S., and Chanson, S.T. 1991. Distributed object-based programming systems.ACM Comp. Surveys (Mar.): 91–124.

    Google Scholar 

  • 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.

    Google Scholar 

  • Daley, R.C., and Dennis, J.B. 1968. Virtual memory, processes, and sharing in Multics.CACM (May): 306–369.

    Google Scholar 

  • Dasgupta, P., LeBlanc, R., Ahamad, M., and Ramachandran, U. 1991. The Clouds distributed operating system.Comp. Mag. (Nov.): 34–44.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Graunke, G., and Thakkar, S. 1990. Synchronization algorithms for shared-memory multiprocessors.IEEE Comp. (June): 60–69.

    Google Scholar 

  • Grimshaw, A. 1993. Easy-to-use object-oriented parallel processing with Mental.IEEE Comp. (May): 39–51.

    Google Scholar 

  • Hansen, P.B. 1970. The nucleus of a multiprogramming system.CACM (Apr.): 2382–241, 250.

    Google Scholar 

  • 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.

    Google Scholar 

  • Hillis, W.D., and Tucker, L.W. 1993. The CM-5 Connection Machine: A scalable supercomputer.CACM, 36, 11 (Nov.): 31–40.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Kotz, D. 1992. Multiprocessor file system interfaces. Tech. Rept. PCS-TR92-179, Dartmouth College, Hanover, N.H.

    Google Scholar 

  • Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system.CACM, 21, 7 (July): 558–564.

    Google Scholar 

  • Lea, R., Jacquemot, C., and Pillevesse, E. 1993. COOL: System support for distributed programming.CACM, 36, 9 (Sept.): 37–46.

    Google Scholar 

  • 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.

    Google Scholar 

  • Levy, E., and Silberschatz, A. 1990. Distributed file systems: Concepts and examples.ACM Comp. Surveys (Dec.): 321–374.

    Google Scholar 

  • Li, K., and Hudak, P. 1989. Memory coherence in shared virtual memory systems.ACM Trans. Comp. Systems, 7 (Nov.): 321–359.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Liskov, B.H., and Zilles, S. 1974. Programming with abstract data types.SIGPLAN NOTICES, 9, 4: 50–59.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Nitzberg, B., and Lo, V. 1991. Distributed shared memory: A survey of issues and algorithms.IEEE Comp. (Aug.): 52–60.

    Google Scholar 

  • Ousterhout, J.K. 1982. Scheduling techniques for concurrent systems. InProc., 3rd Internat. Conf. on Distributed Computing Systems (Oct.), pp. 22–30.

    Google Scholar 

  • 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.

    Google Scholar 

  • Parasoft. 1990.Express 3.2 Introductory Guide. Parasoft Corp., Pasadena, Calif.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Ruane, L. 1991. Process synchronization in the UTS kernel.Computing Systems, 3, 3: 387–421.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Seitz, C.L. 1985. The Cosmic Cube.CACM (Jan.): 22–33.

    Google Scholar 

  • Shivaratri, N., Krueger, P., and Singhal, M. 1992. Load distributing for locally distributed systems.IEEE Comp. (Dec.): 33–44.

    Google Scholar 

  • Smith, J. 1988. A survey of process migration mechanisms.ACM SIGOPS Newsletter (July): 28–40.

    Google Scholar 

  • Stein, D., and Shah, D. 1992. Implementing lightweight threads.In Proc., Summer 1992 USENIX (June), pp. 1–9.

    Google Scholar 

  • Stumm, M., and Zhou, S. 1990. Algorithms implementing distributed shared memory.IEEE Comp. (May): 55–64.

    Google Scholar 

  • Sunderam, V.S. 1990. PVM: A framework for parallel distributed computing.Concurrency: Practice and Experience, 2, 4 (Dec.): 315–339.

    Google Scholar 

  • 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.

    Google Scholar 

  • Tripathi, A. 1989. An overview of the Nexus distributed operating system design.IEEE Trans. Software Eng., 15, 6 (June): 686–695.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01245396

Keywords

Navigation