Font Size: a A A

Design And Implementation Of The Communication Midware For The Distributed System

Posted on:2006-12-26Degree:MasterType:Thesis
Country:ChinaCandidate:N LinFull Text:PDF
GTID:2168360155953124Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Most of large application systems frequently need multitude processes cooperating, as a result, many programs come down to certain or a few kinds of IPCs, that is Inter-Process Communication, so, the importance of IPCs is easy to see. Using IPCs in programming application is a good method, which can take full advantage of system recourses and improve program efficiency. In recent years, with the rapid development of technologies of computer network and distributed computing, there are more and more systems with application to network, particularly to distributed environment. However, usually in network programming and distributed programming, there are a lot of processes, which need to communicate mutually, therefore, the mechanism of IPCs show momentous in program design. All of the traditional UNIX systems supply many communication mechanisms. In the view of distributed systems, in general, these methods are classified into two kinds: one is used in communication of processes, which are at the same node, mainly including pipe, FIFO, signal, Message Queue, shared Memory, etc; the other is used to the different nodes, only sockets. Current distributed IPCs mainly include PVM(Parallel Virtual Machine) and MPI (Message-Passing Interface). Both traditional UNIX's IPCs and current distributed IPCs have respective advantages and disadvantages of traditional UNIX's IPCs is oversingle mechanism of IPCs between defferent nodes, only socket, which is too complex to be used easily, particularly for programming on distributed environment that cannot assure location transparency and access transparency. However, traditional IPCs in the same node are used easily, but cannot be used between different nodes, this becomes a limitation of its use. Nevertheless, the related knowledge have to be studied to use current mechanism of IPCs based on distributed environment, and this needs much time and energies, these bring users inconvenience who have been familiar with UNIX system. And besides, those programs have not universalities, only run on some particular environments. According to the above, this paper gives a pattern of thought about a new IPC's mechanism used at the different nodes, namely giving traditional IPCs in the same node over communicating between different nodes, that is, programmer may use traditional IPC's system call interfaces to implement communication between processes on different nodes, at the same time, they are unconcerned about those processes on the same node or not, viz., implanting location an access and access transparence. Meanwhile, we can use newly designed distributed IPCs'mechanism to simply modify previous concurrent programs on single UNIX system, never so much as modify any, then, they can realize their concurrent executions on distribution system. Like this, we need not program them again (we must program them again for using PVM or MPI) in order to transplant them into distributed system, thereby, this simplifies their transplantation from single unit system to distribution system by a long way. New distributed IPCs mainly are implemented by a chronograph (also call daemon). On every nodes in distributed environment, there is a daemon, which undertakes communications between different nodes, and for processes in this node, it is transformed into communication between them and daemon in the same node that communication between processes on different nodes with current IPCs'interfaces based on one node. On global we must maintain an identifier of data structure used for communication, also that may be called Key. The key is the unique identifier on global and the daemon maintains its uniqueness, that is, by coordination of daemons each other, data structure have a unique key on global which is founded and used for communication, processes required communication can access the data structure by this unique identifier, thereby, to achieve purpose of communication each other. These identifiers (descriptors) have different forms, such as a number, filename, or path name and so on. On the mechanism of realization, the distributed IPCs mostly can be classified into four basic functions: creat, write (send) data, read (receive) data and control. When user executes corresponding operations, firstly it sends corresponding request to the local daemon, and the daemon deals with this request after receiving. If local, the daemon will call local IPCs'interface. If remote, the daemon will send corresponding request to remote node. After the daemon on remote node receives the request, it will analyze the request message and draw corresponding conclusions, and return them to the daemon on the request node. When the daemon receives reply messages, it will analyze these messages and return analytical results to user process. In the meantime, if come down to operations about keylist, and maintain it necessarily. This paper not only proposed a design thought on distributed IPCs, but...
Keywords/Search Tags:Distributed System, Inter Process Communication, Semaphore, Message Queue, Daemon, Socket
PDF Full Text Request
Related items