Grid'5000 user report for
User information( user)
More user information in the user management interface.
- Evaluation of a communication library for UDP/IP (Networking) [in progress]
BackgroundThere has been a recent proliferation of home computing environments with high speed Internet access. This gives an excellent opportunity to involve a large number of home PCs in a wide variety of volunteer computing applications; however there is a new problem, “NAT problem". Most of home PCs exist behind NATs, so such clients and workers cannot communicate directly with each other. Recent technologies such as UPnP or TCP/UDP hole punching enable "true" P2P communication between workers or between clients and workers, in which PCs communicate with each other directly through the NAT box. UDP hole punching is widely used for various research applications. Most routers ranging from home use to high-end devices are compliant with it. Although UDP hole punching can be used for a variety of applications, it only supports UDP communication, which is inherently unreliable. When most applications based on reliable stream data (such as TCP/IP) are extended to P2P computing environments, the poor features of UDP communication make programming troublesome and complicated.
Our goalOur goal is to build a portable overlay network construction tool with a reliable streaming protocol on UDP/IP and NAT traversal techniques, which allows easy porting of a variety of applications to a P2P environment. The system can be divided to two major parts, Management System and Communication Library. Management System includes the function of Name resolution on this overlay network and the management of distributed super-nodes, which perform like servers when other nodes create a new connection between them. Communication Library provides the actual communication method based on NAT traversal techniques using a super-node as a rendezvous server.
Current progressWe are developing a user-level communication library for reliable stream communication on UDP/IP. The base functions for reliability such as receive-acknowledgement and packet-retransmission have been already implemented and tested on WAN. This library could provide the reliability, however the throughput was lower than one for TCP/IP and not constant because only the simplest flow-control algorithm was implemented. We hope to integrate the library to provide a higher throughput on wide-area network, for example an inter-site network of Grid5000 and an inter-national network between France and Japan. So, we are designing and implementing some flow control algorithms in this library. When that is over, we will use Grid5000 to evaluate and tune up the network performance on WAN and LAN.