Unit Three Objectives CSCI 524 Distributed Operating System Design Tobin Maginnis Updated 27-Mar-08 Chapter 4 in Parallel Programming w/MPI 1)Define MPI, its role, and describe its architecture. 2)Describe the concept of a MPI Communicator. Communicators are groups of processes in a MPI session with each process having a number (rank order), and virtual communication fabric for uni-cast or broadcast communication. Communicator also allows other groups, as well as bi-partite (two-group) intercommunication. Communicators can be partitioned with the MPI_COMM_SPLIT() sevice. 3)Contrast the role of MPI_Init(), MPI_Reduce, MPI_Finalize(), and return(). What does the distributed process return to? 4)Explain why one always sees the servcies: MPI_Init(), MPI_Comm_rank(), and MPI_Comm_size() in sequential order. 5)Define the MPI parameters: Buff, Size, Datatype, DestID, SourceID, Tag, and Status. 6)Explain why I/O statements such as printf() are followed by fflush() in MPI. 7)Explain how the statement "for (i=rank, i<65536; i+=MPI_Comm_size()) do_parallel(rank, i)" distributes a parallel problem. 8)Explain the role of MPI_Barrier() and how it assists in collecting statistical data. Omit)Contrast MPI_RECV versus MPI_IRECV() and explain the additional programming required for MPI_IRECV(). Omit)Contrast the services MPI_Bcast(), MPI_Reduce(), MPI_Scatter(), MPI_Gather(). 11)Describe the compilation and program launch process on a MPI cluster. 12)Explain why, in some cases, the distributed add program ran slower on 6 processors than on one or two CPUs. Distributed Operating Systems, A. Tanenbaum & R. van Renesse, Chapter 1 1)Draw a 3D graph labeling each axis with the three fundamental design goals of distributed systems. Plot a Tightly coupled (NUMA), Loosely coupled (cluster) and SMP architectures. Now plot PODOS cluster, Dual Xenon Architecture, LOCUS and explain the rationale for each placement. 1A)Explain the what is required to meet T's definition of a distributed system and where that resulting system would reside in the above plot. 2)Explain how Tanenbaum's "advantages" have implicit assumptions. Omit)Contrast uni, multi, and distributed computer systems. 4)Contrast bus versus switched multiprocessors and explain the primary limitation of these designs. 5)Explain why the internet is not a distributed operating system and why google docs is a distributed system. Omit)List the three differences between NOSs and DOSs. 7)Describe SMP (multiprocessor timesharing) and give its design tradeoff. 8)Define "transparency," and give four examples. 9)Contrast a monolithic versus a micro kernel. 10)Describe the nature of the "flexibility" versus performance tradeoff. Or explain the role of a micro kernel and the two ways this impacts the OS design. (large message overhead, multi-tasking within objects that must wait on slow devices such as the file manager or memory manager) Omit)Describe the two hardware components to reliability and a third software component. 12)Describe the lurking performance issue of computation grain size and explain how in one sense it's helpful, yet otherwise useless. 13)Explain how scalability effects software design, give four characteristics of a large scale design. Omit)Compare scalability requirements for resource sharing versus performance oriented systems. Distributed Operating Systems, A. Tanenbaum & R. van Renesse, Chapter 2 1)Explain the implicit contradiction in using the ISO OSI model for DOS IPC. 2)Contrast a LAN versus ATM. Explain the rationale of integrating ATM services into a DOS. 3)Describe the client-server model and DOS related constraints of the design. 4)Contrast the design tradeoff of blocking versus buffering (asynchronous vs synchronous) for message flow control. 5)Describe RPC implementation and contrast it with remote process creation and interprocess communication. 6)Describe the first two basic RPC implementation design issues. 7)Describe Tanenbaum's three general problems with RPCs. Omit)Contrast three types of IPC in distributed systems. 9)List two types of groups and two types of communication within groups (3 parts). 10)Describe the design problems with implementing group membership (3 parts). 12)Define Predicate Addressing and give an example (3 parts). Omit)Describe the message delay problem and the ISIS implementation that solves this type of problem.