Changes between Version 1 and Version 2 of UMLPEN-QSR-2Q2010

08/15/10 12:02:24 (14 years ago)
Yan Luo



  • UMLPEN-QSR-2Q2010

    v1 v2  
    99=== A. Milestones achieved ===
    10 We have worked with the UMass Lowell campus IT, our ISP (UITS from UMass) and BBN on the establishment and testing of an Internet2 L2 VLAN connection from our CANS lab (located in Ball Hall of UMass Lowell campus) to NOX at Boston. As of March 25, the ping test was successfully from Ball Hall to BBN's VLAN test node through NOX.
     10We have conducted the ping test was successfully from Ball Hall on UMass Lowell north campus to BBN’s VLAN test node through NOX. We have been collaborating with Florida International University to establish an inter-campus VLAN connectivity. This is an ongoing work.
    12 We have implemented a clock synchronization scheme on the network processor based NIC. We tested the scheme through a packet forwarding experiment.
    14 We have enhanced virtual router templates and set up scripts.
     12We have implemented a packet header capturing functionality on the network processor card. We  are preparing a demo of this function for upcoming GEC8.
    1614=== B. Deliverables made ===
    17 A live L2 VLAN connection from CANS lab at UMass Lowell to NOX at
    18 Boston.
     15A live L2 VLAN connection from CANS lab at UMass Lowell to NOX at Boston
    20 Source code for the clock synchronization on NIC.
    22 Enhanced virtual router templates and setup scripts.
     17Software scripts for packet header capture with NP on NIC
    2519== II. Description of work performed during last quarter ==
    2721=== A. Activities and findings ===
    29 ==== 1. Internet2 VLAN connectivity ====
     23==== 1. Inter-campus (UML and FIU) VLAN connectivity ====
    31 During this past quarter, we have been working with UMass Lowell IT
    32 network services staff led by Steve Dresche on establishing the VLAN
    33 connectivity from Internet2 POP at Boston to the Computer Architecture
    34 and Network Systems (CANS) Lab at UMass Lowell (Ball Hall 406). There
    35 is only one existing connection to the regular Internet due to
    36 historical reasons. Therefore, to have a dedicated new L2 connection
    37 to Internet2 is a major undertaking for the university and the PI. We
    38 had a series of meetings with the campus network services staff
    39 including Steve Drescher (Director of Network Services) and Marcie
    40 Byrd (network security specialist). UITS is eventually chosen as the
    41 service provider. (UITS is part of University of Massachusetts
    42 systemÕs network service provider, and the ISP of our current Internet
    43 connection.)
     25During 1Q10 quarter, we have worked with UMass Lowell IT network services staff on establishing the L2 VLAN connectivity from Internet2 POP at Boston to the Computer Architecture and Network Systems (CANS) Lab at UMass Lowell (Ball Hall 406), with the support from UITS (University of Massachusetts system’s network service provider) and BBN. Prof. Jason Liu and Dr. Julio Ibarra at Florida International University have agreed on setting up an inter-campus VLAN connection to facilitate future experiments involving PrimoGENI and UMLPEN projects. Both UML and FIU are able to connect to the nearest POP through regional networks. However, the final connectivity tests across NLR were paused due to the time limitations of students and staff before GEC8.
    4526The network connection layout of connecting the CANS lab at UMass
    4627Lowell to the Internet2 is shown in Figure 1 (below).
    50 We coordinated with UMass Lowell network services, UITS, NOX, and BBN
    51 to conduct a VLAN test to verify the connectivity. After some
    52 debugging and tuning, we were able to successfully ping from the cisco
    53 switch at Ball Hall 4C IDF to the test node at BBN, on March 25, 2010.
    55 ==== 2. Clock synchronization on network processor based NIC ====
     32==== 2. Out-of-band Packet capture on network processor based NIC ====
    5734''Overview of the Design''
    59 We leverage the timestamp registers on the PNIC and periodic message
    60 exchange with the host to synchronize with the reference clock on the
    61 host. In such a way, the processing cores on the NIC can perform
    62 timing related tasks. The programmable cores on PNIC have times- tamp
    63 registers which are incremented every 16 cycles (about 11
    64 nanoseconds). The timestamp register is use- ful to track the time
    65 elapse between events. However, the PNIC lacks an onboard real-time
    66 clock. To address this issue, we rely on the system clock of the host
    67 to maintain clock synchronization, assuming the host runs a NTP-like
    68 protocol to keep itself synchronized with an atomic clock. The clock
    69 synchronization operation be- tween the PNIC and host is as
    70 follows. First, the host sends a special message with its current
    71 clock value to the PNIC through a basic message passing API. Then the
    72 PNIC recognizes this special "time"packet and extracts the clock
    73 time Th from the packet. Next, a packet processing core of PNIC writes
    74 Th to SRAM and reset the timestamp register . Finally, when the time
    75 value is needed, the processor reads value t1 from the timestamp
    76 register and calculates the current time T as T = Th+t1. The software
    77 architecture of the design is shown in Figure 2 (below).
     36The Programmable Edge Node (PEN) project has been enhanced to include a user space Linux toolset for packet capture and duplication. In order to utilize this toolset, the end user may access the Programmable Edge Node through the ProtoGENI flash interface. When requesting a PEN resource from the flash interface, a custom set of scripts are launched which create a virtual container hosted on the PEN platform. This allows for multiple experiments to share the PEN resources simultaneously.
    79 [[Image(ClockSynch.png)]]
     38The PEN node consists of a Netronome NFEi800 Network Processor (NP) card that is capable of performing many network tasks without reducing network bandwidth or affecting latency. The NP contains a TCAM that allows packet-handling rules to be stored on the card. In user space, the end user utilizes the Netronome Flow Manager to create custom rule sets for packet handling.
     39As an example of packet handling, a user may desire to copy all packets from a specific flow. The software flowchart for this scenario is detailed in Figure 4. Using the NFM, the user will specify which ports and which flows are to be duplicated. The user may request that all traffic between Host1 and Host2 on ports 1 and 2 should be duplicated. This rule set is sent to the Netronome card. Each time a packet arrives which satisfies this rule set, the packet is copied to the PEN host. The packets may also be copied to a third machine, as specified by the experimenter. The packets then proceed to their original destinations. As a result of the nature of the network processor, there is little overhead produced during the packet copying process.
     42==== Plan for Demonstration at GEC8 ====
    83 ''The Usage''
    85 We have developed requires software to be run on both the network
    86 processor and the host cpu. We have developed macros in microcode on
    87 the network processor that allow access to the timestamp register and
    88 perform the necessary unit conversions. Through our APIs, the macros
    89 that we've developed can be integrated into any microcode project on
    90 the IXP2400 and 2800 network processors. On the host side, the job of
    91 initializing the card is performed by a userspace Linux application
    92 we've written. The network processor card we're using is the Netronome
    93 NFEi8000, and the code we use to communicate with the card depends on
    94 Netronome's API's. As long as a Netronome card is in use, our
    95 timestamp initialization program will open up a new messaging instance
    96 with the card and send the appropriate message to initialize the
    97 timestamp registers.
    99 Figure 2. Clock synchronization at NIC.
    101 ==== 3. Enhancement of PEN virtual router templates and set-up scripts ====
    103 The PEN project is comprised of a number of scripts designed to work
    104 in conjunction with ProtoGENI clearinghouse. These scripts are
    105 designed to handle calls to virtual machines of type pcPEN described
    106 in the Emulab database. We have enhanced the scripts for the new
    107 ProtoGENI component manager API version 2. The scripts are available
    108 in tarball format with detailed information regarding any
    109 modifications which may be required to implement a PEN deployment at a
    110 new site. Implementation of these scripts results in a physical host
    111 capable of providing resource sharing through virtual machines. The
    112 VMs provided at UMass Lowell provide support for the Netronome network
    113 interface card, which is another feature of the PEN project.
    115 ==== Plan for Demonstration at GEC7 ====
    117 Our GEC7 demo is on the PEN integration and usage within ProtoGENI
    118 control framework. The main goal of our demo is to demonstrate the
    119 integration of Programmable Edge Node with ProtoGENI control
    120 framework, and the use case of the clock synchronization function
    121 implemented on the NIC of PEN.
     44Our GEC8 demo is on the PEN integration and usage within ProtoGENI control framework. The main goal of our demo is to demonstrate the integration of Programmable Edge Node with ProtoGENI control framework, and the use case of packet capture function implemented on the NIC of PEN.
    12346=== B. Project participants ===
    12649Timothy Ficarra, student [[BR]]
    12750Eric Murray, student [[BR]]
    128 Craig Masley, student [[BR]]
    12951Sanping Li, student [[BR]]
    13052Julie Bissell, student [[BR]]
    13153Amon Faria, student [[BR]]
     54Amanda Thomas, student [[BR]]
    13255Guofu Yuan, student
    13457=== C. Publications (individual and organizational) ===
    136 Yan Luo, Timothy Ficarra, Eric Murray and Chunhui Zhang, The Design,
    137 Performance Evaluation and Use Cases of a Virtualized Programmable
    138 Edge Node for Network Innovations, Accepted by International Journal
    139 of Communication Networks and Distributed Systems, to appear 2010.
     59Yan Luo, Network I/O Virtualization for Cloud Computing, Accepted by Special Issue on Cloud Computing of IEEE IT Professional, to appear 2010.
    14161=== D. Outreach activities ===
    14363=== E. Collaborations ===
    145 We are working with PrimoGENI team at Florida International University
    146 on high performance conduit of simulation and emulation.  We are also
    147 planning an end-to-end VLAN test between UML and FIU over the
    148 Internet2 or NLR.
     65We are working with PrimoGENI team at Florida International University on high performance conduit of simulation and emulation.  We are also working towards an end-to-end inter-campus VLAN test between UML and FIU over the Internet2 or NLR.
    15067=== F. Other Contributions ===
    152 The PI and five students attended GEC7 and gave a demo of the
    153 integration of UMLPEN with ProtoGENI control framework and the clock
    154 synchronization scheme implemented on NIC.  Julie Bissell, Amon Faria,
    155 Guofu Yuan and Eric Murray attended the GEC7 (including the tutorial
    156 sessions and the main conference), with the support from the REU
    157 supplemental grant.
     69Julie Bissell, Amon Faria, Guofu Yuan, Amanda Thomas and Eric Murray are working as undergraduate researchers with the support from the REU supplemental grant.
     71Yan Luo gave seminar talks titled “Science and Engineering Issues in Network Virtualization” in UMass Amherst on April 4, 2010 and Beijing University of Posts and Telecommunications on June 3, 2010.