FABRIC. The FABRIC testbed, along with its FABRIC Across Borders (FAB) extension, is an international infrastructure that enables cutting-edge experimentation and research at-scale in the areas of networking, cybersecurity, distributed computing, storage, virtual reality, 5G, machine learning, and science applications.
The FABRIC infrastructure is a distributed set of equipment at commercial collocation spaces, national labs and campuses. Each of the 33 FABRIC/FAB sites has large amounts of compute and storage, interconnected by high speed (100 Gbps+), dedicated optical links. In addition to traditional compute and storage, each FABRIC site provides access to programmable smart NICs, GPUs, NVMe drives, FPGAs, and programmable switches.
Unprecedented access to modern hardware in the core of an interconnected high-performance, low-level networking testbed enables researchers to deploy geographically distributed experiments at scale with novel protocols and algorithms in ways that are not possible with the commodity Internet. Combining this power with large-scale, deeply reconfigurable experimental platforms, such as Chameleon, enables end-to-end experiments at-scale with novel Internet technologies connected to realistic data center and edge compute systems.
Figure 1: FABRIC’s full deployment of U.S. sites, circuits, and initial facility partners. FAB sites include U. Bristol, U. Amsterdam, CERN, and U. Tokyo.. Full deployment is expected by September 2023.
Testbed-of-testbeds: Although a powerful testbed on its own, the full potential of FABRIC is only achieved through its philosophy of being a testbed-of-testbeds. You can think of FABRIC as the programmable networking glue that connects experiments spanning your favorite testbeds and computing facilities. Towards this goal, FABRIC enables low-level networking connections to other specialized testbeds (5G/IoT PAWR, NSF Clouds), high-performance computing facilities (TACC, MGHPCC, NCSA, SDSC, PSC, LBNL, etc.), public clouds (AWS, Google Cloud, Microsoft Azure), and even facilities in your institution*.
Direct connections between FABRIC and partner facilities are achieved through facility ports. Each partner facility can have one or more facility ports that users can include in their FABRIC experiment topology. Upon deployment, a facility port will create a layer 2 network circuit between FABRIC and the specified facility. The circuit may or may not be logically connected to FABRIC’s layer 3 (IPv4 or IPv6) services. If it is not connected to FABRIC’s layer 3 services, it will be a raw layer 2 circuit configured by the user. Supporting both layer 2 and layer 3 facility ports allows them to be easily used to connect applications deployed across facilities while also allowing connections to low-level custom routing and switching protocols designed by the user.
Chameleon’s Facility Port : We are excited to announce the first FABRIC facility port at Chameleon’s University of Chicago site. With this facility port, users can deploy experiments that span Chameleon and FABRIC.
Using Chameleon’s facility port requires using both the Chameleon and FABRIC testbeds. On Chameleon you can reserve a private VLAN network on the stitch_provider labeled “fabric”. The resulting network will use a VLAN that is connected to the FABRIC site at Starlight (Chicago). Then on the FABRIC testbed, you can create an experiment that includes a circuit connecting to the Chameleon facility port. The Chameleon servers added to the private VLAN can now send traffic directly to the FABRIC over the dedicated VLAN (i.e. not using the Internet).
Managing experiments that span testbeds requires some form of federation between the testbeds. Both Chameleon and FABRIC use Incommon but do not, yet, fully federate using user identities. For now, Chameleon and FABRIC are using what we are calling “tool based federation”. This means that the Chameleon and FABRIC tools can be simultaneously installed in a user’s environment. In fact, the suggested way to use Chameleon and FABRIC are through the JupyterHubs provided by each testbed. The FABRIC JupyterHub comes preconfigured with the Chameleon API and example Jupyter notebooks that deploy experiments across both testbeds from a single notebook. Similarly, there is a Trovi artifact that can be deployed on Chameleon that has similar notebooks that run in Chameleon. Both the Chameleon and FABRIC JuptyerHub environments will be updated as more sophisticated federation features are added.
Interested in using FABRIC and Chameleon?
FABRIC is similar to Chameleon in that a project is owned by a professor or senior researcher and other users can only access the testbed after being added to a project. .
If you are already a user of FABRIC or Chameleon, but not both, you will need to create an account on the other testbed. Instructions for signing up for FABRIC or Chameleon can be found on their respective web sites.
Please contact us for help creating the necessary accounts and projects.
We have created and shared a new Jupyter notebook that shows a better way to combine standard isolated Chameleon networks with DirectStitch capabilities. This more advanced method shows how to separate management of the stitched links from the compute nodes.