Font Size: a A A

Design And Implementation Of Distributed FIFO Mechanism

Posted on:2006-01-30Degree:MasterType:Thesis
Country:ChinaCandidate:J ZhangFull Text:PDF
GTID:2168360182957211Subject:Software engineering
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. In a view of distributed systems, the main disadvantage of traditional UNIX's IPCs is over single mechanism of IPCs between deferent nodes, only socket, which is too complex to be used easily, particularly for programming on distributed environment, which 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, givingtraditional IPCs in the same node over communicating between different nodes, that is, programmer may use traditional IPCs'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., implementing location and access transparence. New Distributed FIFO mainly is implemented by a chronograph (also call deamon). On every nodes in distributed environment, there is a deamon, which undertakes communications between different nodes, and for processes in this node, it is transformed into communication between them and deamon in the same node that communicates between them and those in others, thus, we can implement communication between processes on different nodes with current IPCs'interfaces based on one node. On global, we must maintain a Distributed FIFO's name list. On the mechanism of realization, the distributed FIFO mostly can be classified into four basic functions: create, open, write data and read data. When user executes corresponding operations, firstly it sends corresponding request to the local deamon, and the deamon deals with this request after receiving. If local, the deamon will calllocal IPCs'interface. If remote, the deamon will send corresponding request to remote node. After the deamon on remote node receives the request, it will analyze the request message and draw corresponding conclusions, and return them to the deamon on the request node. When the deamon receives reply messages, it will analyze these messages and return analytical results to user process. In the meantime, for the operations about keylist, it should be maintained necessarily. Based on implementation on Distributed FIFO, we compare it with traditional socket. As a contrastive result, we can see that distributed Message Queue close to socket on performance, however, it has good expressiveness on utility and transparency. Thereby, it achieves this text's purpose. The creative point of this paper is implementing a new mechanism of distributed IPCs—Distributed FIFO. By this mechanism, traditional UNIX users can use old IPCs'interfaces of single unit system to program distributed codes, and need not study current distributed IPCs (PVM and MPI .etc). Moreover, they may apply new distributed IPCs to simply modify owned concurrent programs on single UNIX system; never so much as modifyanything, they can realize their concurrent executions on distribution. Thereby, this simplifies their transplantation from single unit system to distribution system by a long way. Nowadays, distributed computing system has been an important research field, but until now, there isn't an available, dependable and real distributed computing system. The new distributed IPCs are given by this paper, which offers an important premise to implement distribution system, and give some design ideas and enlightenments in future work.
Keywords/Search Tags:Distributed, IPC, FIFO, Distributed FIFO, transparency
PDF Full Text Request
Related items