Font Size: a A A

The Implementation Of Process Group Communication Based On IPv6 Multicast

Posted on:2009-01-12Degree:MasterType:Thesis
Country:ChinaCandidate:G H XieFull Text:PDF
GTID:2178360242980645Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Undeniably, the emergence of computer is a miracle in the history of the development of human. From the time when computer emerged, people's life has changed dramatically in recent decades, not only in the field of science and technology but also in people's daily life.However, as people become more proficient in the use of computer and more dependent with computer, traditional computer system has been unable to meet people's need. People are ceaselessly yearning for a more reliable, faster and cheaper computer system. This is the reason for the appearance of the Distributed Computing System. The so-called Distributed Computing System is composed of several interconnected processing resources which can cooperate in carrying out a task under the control of the system, and dependent on the concentration of procedure, data and hardware at least. These resources can be contiguous, or they may be dispersed.Compared with the traditional computer system, The Distributed Computing System has many advantages: more flexible, more stable, better fault-tolerant capability, higher computing power and much cheaper etc. But this also takes the transmission of massive messages as the price. As the system has more nodes, the number of the message transmitted in the system will grow sharply, and the network will become congested, and the node will also consume massive resources to process the massive messages. Then the performance of the system will drop sharply. The system may collapse eventually. And this condition can not be improved just with enhancing the network equipment. We must use new communication technology to reduce the number of the message transmitted and the network load of the node.Under this situation, this paper provides a way to improve the performance of group communication in the Distributed Computing System. The so-called group communication figures that a datagram can be sent to many receivers. It has a widespread application in the Distributed Computing System, such as video frequency/audio frequency conference, multi-copy update, and so on.The implementation of the group communication is composed of two parts: the implementation of the management of the group and the implementation of the communication of the group. Under the group communication, the group is dynamic. The system can generate a new group, and it can also delete an old group. Simultaneously, a process can join in a group, and it can also leave a group. A process can be a member of different groups at the same time. Therefore, we need a mechanism to manage the group and its members. And the realization of the group communication using system kernel can be compartmentalized into following categories: with unicast, with multicast and with broadcast. With unicast, the system maintains a table containing the information of all nodes in the group and unicasts datagram to the node one by one. With multicast, a group corresponds with a multicast address. The datagram sent to the group can be multicasted to the corresponding nodes, and can not be sent to the irrelevant machine. With broadcast, the datagram broadcasted can be sent to all the nodes. If the node is in the group, it will accept the datagram; otherwise, it will simply discard the datagram.We find that the implementation with multicast is a better way to reduce the quantity of message and the network load of the node through the description above. This paper makes use of the technology of IPv6 multicast to implement the group communication. We do not choose the technology of IPv4 multicast, because IPv4 multicast has an obvious limitation, and it can not meet the requirement of extension of the system in the future. This paper designs an administrator to manage the group communication and maintain the group table which contains the information of all groups in the Distributed Computing System. The administrator should guarantee that the tables on every node are the same. The manager is a daemon process in UNIX. It has the structure of multi-thread. And the thread uses the internal message queue to exchange information between each other.The administrator is composed of following threads: the receive-thread of long-distance datagram, the create-thread of group, the delete-thread of group, the join-thread of group, the leave-thread of group, the consistent management thread, the send-thread of long-distance datagram. The thread uses internal message queue to exchange information between each other. The administrator has two message queues: the input message queue named qin and the output message queue named qout. The qin is used to save message sent to the administrator of the local node. The qout is used to save message sent to the administrator of the other long-distance nodes. We assign each thread a different identifier so that the thread can just accept messages that belong to it. The user process uses its process id as its identifier. If all the threads retrieve the message queue with their identifiers, each thread will only accept the message that belongs to it, though the message queue is public. The administrator deals with the tasks submitted by user in the pipeline processing. Therefore, each user's task can not be blocked by each other. And the administrator will have higher throughput and shorter response delay.In order to implement the communication of the group, we use a uniform multicast address and a different multicast port to differentiate different group. To implement reliable group communication, we assign each datagram a different positive integer as its identifier. The process which accepts the datagram can check whether there is a lost datagram and organize the datagram through its identifier. In this paper, we use Causally-Ordered Multicasts to organize the datagram. It means that the datagram sent by the same group should be organized in the same order by all processes. If the datagram come from different group, they can be organized in different orders. If there is a lost datagram, the receiver should send a NAK to the sender and ask the sender to re-send the datagram. We use Nonhierarchical Feedback Control to reduce the number of feedback datagram: the normal receivers do not send a feedback datagram to the sender, only the receivers that have lost a datagram send a NAK to the sender. At the same time, we assign every receivers a number as its feedback delay time. Then the sender would not receive reduplicate feedback datagram. In general, this method can improve the extension of group communication.Overview the paper, we organize the whole development following the line: research, analysis, design, implementation, testing, summary, evaluation. It is objective to say that our work achieves the prospective goal. We provide a way to implement the group communication in the Distributed Computing System and make use of the technology of IPv6 multicast effectively to reduce the complication of the resource management arithmetic and the number of datagram transmitted and improve the performance and extension of the system so that it can support more nodes. What we have done have great guiding significance to the practical work and make a good groundwork for the further research. Our work is meaningful, but there are many details that can be consummated and optimized, and this is what further work needs to resolve.
Keywords/Search Tags:Implementation
PDF Full Text Request
Related items