IPOP

From BoykinWiki

Jump to: navigation, search

IPOP (IP-over-P2P) is a user-level overlay networking system that supports IP tunneling on UDP and TCP transports, including support for NAT traversal for UDP using hole-punching. IPOP is a generic solution for self-configuring virtual IP networks under development at the ACIS Lab at the University of Florida, Gainesville. It is currently being used as the virtual networking backbone for the creation of the Grid Appliance, which enables plug-and-play creation of ad-hoc Condor pools.

The IPOP architecture and experiments characterizing its performance are described in the following publications:

  1. Arijit Ganguly, Abhishek Agrawal, P. Oscar Boykin and Renato Figueiredo, "IP over P2P: Enabling Self-Configuring Virtual IP Networks for Grid Computing", In Proceedings of the 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS), Rhodes Island, Greece. pdf paper ppt talk pdf talk
  2. Arijit Ganguly, Abhishek Agrawal, P. Oscar Boykin, Renato Figueiredo "WOW: Self-Organizing Wide Area Overlay Networks of Virtual Workstations", In Proceedings of the 15th IEEE International Symposium on High Performance Distributed Computing (HPDC), pages 30-41. Paris. pdf paper
  3. Arijit Ganguly, David Wolinsky, P. O. Boykin, Renato Figueiredo 'Decentralized Dynamic Host Configuration in Wide-Area Overlay Networks of Virtual Workstations'. In Workshop on Large-Scale and Volatile Desktop Grids (PCGrid), 03/2007 pdf paper

Contents

How To

The latest Ipop How To

Downloads

Source Code

Binary Release

Code

The IPOP code is currently maintained using the Mercurial source code management system. You can browse the code repositories for IPOP and the Brunet P2P library using a web browser. If you have mercurial installed, to download the source code you may use:

Since mainline Brunet tends not be slightly behind (due to emphasis on getting bug fixes available), Brunet sources should be retrieved from here... (Note I am only suggesting for use with this this version of IPOP and not for any other purpose)

Here is a link to the Brunet/IPOP bug track system hosted at Google code.

IPOP deployments

The IPOP software has been used to support wide-area high-throughput computing on virtual networks of virtual machines for a variety of applications: nanoHUB's virtual appliance for nanoelectronics simulation, coastal ocean modeling in SCOOP, and for educatin and training in cyberinfrastructure.

A prototype IPOP network has been running on ~300 PlanetLab nodes for several months, and an easy-to-deploy virtual machine appliance featuring IPOP has been developed to demonstrate its capabilities in supporting wide-area high-through computing using Condor. There are two images of this "Grid appliance" that are currently available for general use, both of which can be downloaded by following this link. The Grid appliance stable release runs on VMware-based VMMs and features the initial IPOP designed (described in IPDPS-06 and HPDC-06) with a centralized virtual DHCP server and a 1-1 mapping of virtual IP addresses to overlay addresses. The Grid appliance experimental release runs on both VMware and Qemu/KVM VMMs and features a newer version of IPOP (described in PCGrid-07) featuring a DHT-based decentralized DHCP, multiple IPOP namespaces per overlay and better handling of nodes behind symmetric NATs using tunnel overlay edges.

The Team

Faculty Members


Graduate Students

Arijit Ganguly

David Wolinsky

Related Work

ANA: Autonomic Network Architecture Research Project

Virtuoso/VNET at Northwestern University

Private Virtual Clusters at INRIA

Related documents

  1. Short introduction to Brunet reflecting current capabilities, Brunet for dummies.
  2. Short introduction to IPOP reflecting current capabilities, IPOP for dummies.
  3. Brunet architecture and implementation. (Arijit Ganguly)
  4. IPOP architecture and implementation. IPOP for non-dummies (Arijit Ganguly).
  5. How-to: downloading, compiling, configuring and deploying Brunet simplenodes
  6. How-to: using Python XMLRPC scripts to access the DHT
  7. Tutorial: using the Grid appliance
  8. Tutorial: deploying one's own namespace and appliance pool
  9. Tutorial: deploying one's own bootstrap network for IPOP/appliances