wiki:GeniNetworkStitching

Version 9 (modified by Aaron Helsinger, 12 years ago) (diff)

--

Network Stitching

A key architectural question for GENI has been how to connect the resources provided by multiple aggregates into a coherent network. The key objective is to enable automated and realtime network stitching for slices which span multiple aggregates. Ethernet VLANs have been identified as the initial network technology to provide slice level inter-aggregate connections and isolation. However, there are many architecture and design decisions still required. These include, how do you select the VLAN IDs to use and inform all necessary aggregates? How do you handle external networks which may be in between two GENI Aggregates of interest? Is the network stitching service a shared service which coordinates across aggregates, or are aggregates responsible for coordinating amongst themselves, or a hybrid model? How is stitching related information described and shared ?

Currently there is an adopted architecture, including an RSpec schema for describing stitching resources and requests.

This question was the topic of one of the four software engineering meetings at GEC10. Details are on the meeting page.

GEC10 meeting

The session concluded by adopting a specific stitching architecture: Stitching Architecture as adopted at GEC10. Next steps centered around developing a schema for describing interconnections, and continued API discussions.

The topic was re-visited at GEC11.

GEC11 stitching meeting

At this session, we

  • described and adopted a schema for describing stitching resources and requests, as a GENI RSpec extension: Proposed Stitching schema and workflow
  • demonstrated a tree mode VLAN stitch across PG, ION and MAX aggregates using the Omni client

At GEC12, there was a brief wiki:GEC12ControlFrameworkTopics:stitching-session-gec12-lehman-v2.pdf update on status from Tom Lehman

  • Omni1.4 includes a library demonstrating tree mode stitching without negotiation
  • Negotiation should be the next focus, specifically AM API changes to createSliver or using tickets
  • Work continues on exploring a production aggregate manager for ION
  • Chain mode stitching needs attention

GEC10 Stitching Engineering Meeting

At GEC10, there was a community discussion of how to reserve network connections between aggregates. (GEC10 meeting). This is a summary of the results of that session.

Tom Lehman of ISI presented a common stitching architecture proposal. By the end of the meeting, the community agreed to this architecture. We agreed that many details are left to discuss, and we hope to formally accept a stitching API at GEC11.

The architecture is based on a common schema and 6 functions, fully described here: http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitching. Tom Lehman also outlined various deployment choices. Each alternative would locate those functions in ways that map the architecture to how things are currently done in ProtoGENI, Orca, and OpenFlow.

Community Agreement

The session concluded with community agreement on three points:

  • GENI stitching will follow the described architecture
  • Details will be worked out
  • Next steps as outlined below

Next steps

  • Schema: Jon Duerig of ProtoGENI is iterating on a PG-compatible stitching schema that preserves ION compatibility.
  • Functions: The community will continue discussing key points, particularly working out how chain & tree interoperate, and working though some use cases.
  • API to be proposed for adoption at GEC11
  • Interoperability demonstration at GEC12

Architecture Summary

The architecture and information model is inspired by IETF GMPLS and PCE (https://datatracker.ietf.org/wg/ccamp, https://datatracker.ietf.org/wg/pce/) adapted to the GENI environment. This proposal starts mostly at layer 2. The key thing is to view aggregates as a topology. Aggregates must advertise connection points in an RSpec in a common format to permit functions to compute paths across aggregates.

There are 6 components in the architecture:

  • stitching resource elements
  • schema
  • topology service
  • path computation function
  • workflow function
  • AM API extension

GEC11 Network Stitching Engineering Meeting

Full agenda, summary, and slides for the GEC11 stitching meeting are on the wiki. A summary follows.

Meeting Summary

Tom Lehman reviewed the agreed-upon GENI stitching architecture:

  • Several functions, to be implemented in various locations or skipped in certain scenarios :
    • Static topology collection
    • Path computation
    • Workflow/coordination
  • A common schema for describing connections between aggregates, and the capabilities of those connections.
  • AM API revisions to support 'chain' (AM to AM) mode, and negotiation.

The stitching schema

Aaron Helsinger and Chris Benninger did a demo of a tree-mode (client-driven) VLAN stitching from ProtoGENI (using the schema) across ION, to MAX. The script calculates dependencies and orders its calls appropriately.

Tom briefly discussed some remaining points to cover

  • Negotiation: How do 2 Aggregates negotiation a common stitching mechanism and configuration? IE, how do they pick a VLAN tag?
    • Proposal: an AM API call that reserves a resource without instantiating it, returning the reserved resource and the other options that are available
  • Chain mode: need an aggregate to aggregate call
    • Note authorization issues

Possible Next steps

  • Make sample stitching client code available
  • Complete schema implementation at ProtoGENI
  • Discuss and agree on APIs to support negotiation (eg of VLAN tags)
  • Investigate policy considerations in having a real ION Aggregate Manager
  • Prototype topology service based on perfSonar topology service
  • Prototype path computation service based on IDC computation service
  • Discuss and agree on APIs to support chain/AM-to-AM mode