Font Size: a A A

The Design And Implementation Of A Distributed Shared Memory System

Posted on:2005-04-12Degree:MasterType:Thesis
Country:ChinaCandidate:X D FuFull Text:PDF
GTID:2168360152956778Subject:Computer technology
Abstract/Summary:PDF Full Text Request
In this thesis, we present the design and implementation of a distributed shared memory (DSM) system. The designing goal of the DSM system is to get good migratability, good usability and high scalability. To get good migratabality, the DSM system is implemented upon the LINUX kernel. To get good usability, the DSM system gives a set of user interface functions same as that given by the LINUX shared memory mechanism. To get high scalability, the DSM system uses multi-thread technology, multicast technology and absorbs the software pipeline ideas. In chapter 1, we present the differences between the the DSM system and the message-passing system, the differences between the DSM system and the remote procedure call system, the differences between the DSM system and the closely-coupled multiprocessor system, and point out the advantages of the DSM system such as the good scalability and easy to program compared with the other systems. In this chapter, we also give the main problems which must be solved in designing and implementing the DSM systems and present some basic methods which can be used to solve the problems.In chapter 2, we give some basic technologies must be known while designing the DSM system, the technologies include the LINUX shared memory communication mechanism, the LINUX message queue communication mechanism and so on. To get good performance, the DSM system must satisfy the two following conditions. The first, the control mechanism of the DSM system should consume the less CPU time as far as possible. The second, the number of control messages between different nodes should be less as possible. In our DSM system, all the threads in the manager process are task-driven, when no task they are sleep. Once a new task arrives, the related thread is waken up automatically. Because all the threads no need to check if there is a new arrival task, so they consume very less CPU time. In the process of the implementation, we do some careful designing works for the message types and message functions to ensure that the most messages among different nodes are multicast messages, only very little messages are point-to-point messages. By the advantages of the multicast communications, we can greatly decrease the number of messages passing through the nework. In our DSM system, we implemented a set of user interface functions, the syntax and the semantics of the functions are the same as which of the user interface functions in LINUX shared momory mechanism. It is very easy to use these functions for the user who well knows the LINUX shared memory mechanism. In our DSM system, we also give a lock mechanism to users, by using the lock mechanism, we can lock a variable range of data in a distrbuted shared memory segment. We integrate weak consistent semantics and delayed write-and-update consistent protocol into the lock mechanism, so by using the lock mechanism, the user can design and implement an application which can be run efficiently with a highly parallel style. In this chapter, we show the design details of the message types and the message functions, and also give the implementation details of the user interface functions and the distributed shared memory manager.In the chapter 4, we describe the excution procedures of the following typical applications in detail, such as the creation of a shared memory segment, the attaching a shared memory segment to an application, the detaching a shared memory segment from an application, the locking/unlocking a data block and the deleting a shared memory segment. By the description, the functions of the DSM system and the technologies of the DSM system implementation are shown clearly.In the chapter 5, the major jobs are to analyse the consistent protocols in our DSM system, the implementation algorithms in our DSM system, and the methods to solve the main problems related to our DSM system design and implementation, we also analyse how these factors affect the whole system performance. Finally, we point out the technologies to improve the whole system per...
Keywords/Search Tags:distributed shared memory, LINUX system, message queue, shared memory, thread
PDF Full Text Request
Related items