Glossary

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

A

Aggregate (or Aggregate Manager) – A software agent of the Control Framework that coordinates with Orchestrator to provision sets of available resources. There are different types of aggregates responsible for provisioning different types of resources. For instance, site aggregates provision compute resources while network aggregates provision network services. 

B

Bastion Host – A computer on a network exposed to the public and configured with special networking interfaces to withstand high-bandwidth attacks from the internet. Named after the bastions, or walls, that are built around and fortify military forts, and that are aimed at keeping threats at bay. A bastion host may also be referred to as a jump box, jump host, or hop node. See https://en.wikipedia.org/wiki/Bastion for more information. 

C

Cloud Resource FABRIC allows access to several types of cloud resources, primarily Internet2-hosted cloud resources for which the user must pay from their own cloud account/budget, CloudBank-funded resources allocated to FABRIC, and Chameleon cloud resources.

Component – A virtualized piece of hardware that a user may add to a virtual machine (VM) to expand the VM’s capabilities. Examples include graphical processing units (GPUs), network identification cards (NICs), storage access such as nonvolatile memory express (NVME). As pieces of slivers, components represent a more fine-grained type of resource.

Control Framework (CF) – FABRIC’s distributed set of software agents that communicate information about available resources and request and provision (e.g., create, modify, and destroy) those resources for experiments. 

Control Plane – The interface for controlling and configuring FABRIC’s underlying hardware which is not exposed to users. Experimenters can create and configure their own control plane components in their slice(s).

CPU Cores (or Cores) – Located within the central processing unit (CPU) of a computer, cores enable the CPU to process data and carry out user tasks. If a CPU has multiple cores, the computer treats each core as a separate CPU so that the computer can process multiple tasks at the same time. See https://www.thewindowsclub.com/what-are-cpu-cores for more information. In FABRIC, users have the option to select multiple cores for the virtual machines (VMs) in their topologies.

D

Data Plane – The part of the network that carries user traffic; it is where experiment packets are transmitted. The data plane in FABRIC can be composed of network components that are responsible for forwarding packets.

E

Experiment – As in general English, the term experiment used in FABRIC (and most testbeds) refers to the work conducted by an individual(s) to investigate a research question, test a hypothesis, or solve a problem. Projects may conduct different experiments, and experiments are conducted using slices.

F

FAB – Stands for FABRIC Across Borders. It is the expansion of FABRIC sites to Bristol UK, University of Amsterdam, CERN, and Tokyo.

FABRIC Knowledge Base – The FABRIC Knowledge Base is the website that contains documentation, help information, and forums for the FABRIC community to learn more about and discuss FABRIC with fellow users and the FABRIC team. It is located here: https://learn.fabric-testbed.net/.

Facility Partner – A facility that hosts a FABRIC site or has resources that are connected to the FABRIC network. Examples include research testbeds, supercomputing centers, or campus labs. See resource provider.

Facility Port – If you want to attach elements of infrastructure external to FABRIC to your slice, you can do so using one or more Facility Ports. Facility Ports are pre-negotiated connections between the FABRIC dataplane and some other external network, such as a campus network, a datacenter, or a scientific instrument. Once a Facility Port is added to the FABRIC dataplane, it can be made part of a slice and connected to via one of the available network services.

Federation – Many testbeds, e.g., CloudLab and Chameleon, contribute resources to FABRIC, making it a “testbed of testbeds.” Also, users can access FABRIC with federated logon, meaning users do not have to set up a special account to access FABRIC, users may simply use their home institution’s account credentials to logon. 

Forum – On the FABRIC Knowledge Base, users may access the the Forum to review FABRIC announcements, keep up to date on FABRIC development (changes and known bugs), request accounts and report problems with account set-up, and request help with problems and gain advice from the community on how to maximize use of FABRIC.

H

Hank – The hardware located at a particular FABRIC site. Term borrowed from textiles, see: https://en.wikipedia.org/wiki/Hank_(unit_of_measure) for more information.

I

Identity Token – A signed statement from a trusted entity (i.e., either a FABRIC-developed software agent or an agent from a trusted source) that contains user identity attributes (e.g., a user’s name, email, institution) to enable the Control and Measurement Frameworks to carry out commands on a user’s behalf in their absence (i.e., when the user is not logged into FABRIC). For example, a user’s identity token enables the Control Framework to provision resources at a time scheduled by the user, even if the user is not online during that time.

Image Format – In the FABRIC Slice Builder, this term refers to the binary format of the operating system image a user wishes to employ on the virtual machines (VMs) in a particular topology. Currently, only one type is permitted—copy on write (COW). Learn more about COW: https://www.studytonight.com/operating-system/copyonwrite-in-operating-system.

J

JupyterHub – JupyterHub is a server-hosted, distributed Jupyter Notebook environment that allows users to write Python code from within a web browser without installing Python on a local machine. (Learn more about JupyterHub.) FABRIC offers JupyterHub for creating slices, requesting resources, and conducting experiments. Although experience with Python is needed to effectively use FABRIC’s JupyterHub, many notebooks exist in FABRIC’s JupyterHub to help users get started. Users who do not wish to use JupyterHub, may use the Slice Builder instead. To access the JupyterHub from the portal, select Experiments from the horizontal menu bar, then MY SLICES in the left menu bar, and then click the Create Slice button. After that users have the option to create slices with JupyterHub or the Slice Builder.

K

Keys (or SSH Keys) – In addition to a user’s credentials (userid and password), FABRIC requires the use of SSH (Secure SHell) keys for more secure login and access to FABRIC resources. SSH keys come in pairs; both a public and private key. To use FABRIC, users will need to generate SSH keys and upload the public key (not the private key) to FABRIC. Users can manually create these keys on their local machines or use the key generator available in the FABRIC portal by selecting Experiments from the horizontal menu bar, and then MANAGE SSH KEYS in the left menu bar.

FABRIC uses two pairs of keys: one for bastion hosts, and one for slivers. Learn more about keys in FABRIC: Logging into FABRIC VMs.

M

Management Plane – Where experimenters access their virtual machines (VMs), via a bastion host, and where the FABRIC team monitors and manages the network.

Measurement Framework (MF) – FABRIC’s distributed set of software agents that support automated collection of measurements about individual experiments from provisioned resources and the underlying infrastructure. 

Model – The term model is synonymous to model when referring to the “make and model” of a car. FABRIC allows users to select different models of the network components they wish to include in their topology design.

N

Network Service – This refers to the way a user can link slice topology elements so that information (e.g., packets) can be passed between them. The different network services available in FABRIC are described here

Node – An individual element (e.g., virtual machine) in a topology that is connected to other nodes to represent the physical and logical structure of a network. Also referred to as sliver.

O

Operating System (OS) Image – This term refers to the specific flavors and versions of the Linux operating system users would like to run on the virtual machines (VMs) in their topologies. Currently, choices include Centos 8 and 9 Stream, Centos 7 and 8, Debian 10, Fedora 35, Rocky 8, Ubuntu 18, 20, 21, and 22.

Orchestrator – An agent of the Control Framework that makes resource allocation decisions based on user requests. It creates and modifies slices, communicates with the Aggregate Manager to provision resources, and maintains slice state

P

Peering – Broadly, the way FABRIC connects to other networks. Similar to stitching.

Portal – The FABRIC Portal, located at https://portal.fabric-testbed.net/, provides users with access to network resources to conduct network-related research.

Project – In FABRIC (and most testbeds), a project is the term used to represent a logical grouping of users working on one or more related experiments over a period of time. Rights to resources are set at the project level (see Project Permissions). Projects can employ one or more slices. Learn more about managing projects in FABRIC: FABRIC User Roles and Project Permissions.

Project Lead – A FABRIC user responsible for creating a project and adding and deleting users from the project. This is the head honcho, the big cheese, the queen bee. Learn more about managing user roles and permissions: : FABRIC User Roles and Project Permissions.

Project Member – A FABRIC user associated with a project and conferred with the base rights associated with that project. This is a worker bee.

Project  Owner – A FABRIC user associated with a project, to whom the project lead has granted rights to add and delete other project members. This is the project lead’s lieutenant, aide-de-camp, deputy. Learn more about managing user roles and permissions: FABRIC User Roles and Project Permissions.

Project Permissions – When a FABRIC project is created initially, it has very limited rights to FABRIC resources; project members can create slices with virtual machines (VMs) with no more than 2 cores, 10G of RAM, and 10G of disk space, and no specialized components. These slices are also limited to one site. Users may request additional rights—or additional project permissions—from FABRIC staff to expand their capabilities. Project permissions, when granted, are shown in the portal as project tags. Each tag represents a distinct FABRIC feature for which permission was granted.

The table below lists the various tags and the rights they confer:

Project TagDescription of Rights
VM.NoLimitCPUAllows to create VMs with more than 2 CPU cores
VM.NoLimitRAMAllows to create VMs with more than 10 GB of RAM
VM.NoLimitDiskAllows to create VMs with more than 10 GB of disk
VM.NoLimitVM.NoLimitCPU | VM.NoLimitRAM | VM.NoLimitDisk
Component.GPUAllows to provision and attach GPU components
Component.FPGAAllows to provision and attach FPGA components
Component.SmartNICAllows to provision and attach 25G and 100G dedicated SmartNIC components
Component.StorageAllows to create and attach rotating storage
Component.NVMEAllows to provision and attach NVME components
Net.NoLimitBWAllows to provision links over 10 Gbps
Net.PeeringAllows to create slices with public peering
Net.PortMirroringAllows to create slices that include port mirroring
Slice.MultisiteAllows to create slices spanning multiple sites
Slice.MeasurementsAllows to provision measurement VMs
Slice.NoLimitLifetimeAllows to create slices with a lifetime beyond default 2 weeks without the need to renew

R

Resource – A physical or virtual entity that can be provisioned by the Control Framework for use in an experiment (i.e., experimental resources) or for collecting measurements about experiments (i.e., measurement resources). Learn more about the different resources available at FABRIC sites: FABRIC Site Hardware Configurations. See also: component, slice, and sliver.

Resource Provider – FABRIC is a community of network resource providers at supercomputing centers, research testbeds, and university campuses from across the globe. These partnering facilities–or resource providers–pool network resources under the FABRIC umbrella to enable researchers to conduct network-related experiments on a larger scale than was possible prior to FABRIC’s existence. See facility partner.

S

Science Design Driver  Teams of experimenters that advised the FABRIC team on the initial architecture of FABRIC.

Site – One of the approximately 30 physical locations where FABRIC hardware exists. A map of all sites is available on the FABRIC portal main page. To request resources for an experiment in FABRIC, a user must select one or more sites from which the resources will be provisioned. Each site hosts a hank.

Slice – A collection of logically-related resources—or slivers—used in one or more experiments.

Slice Builder – In addition to JupyterHub, FABRIC offers the Slice Builder to create slices, request resources, and conduct experiments. Slice Builder is a GUI tool in the FABRIC portal that allows users specify slices and view their topology in the browser window. It doesn’t require knowledge of Python as JupyterHub does, however it is also not as versatile as JupyterHub. To access the Slice Builder in the portal, select Experiments from the horizontal menu bar, then MY SLICES in the left menu bar, and then click the Create Slice button. After that users have the option to create slices with JupyterHub or the Slice Builder.

Learn more about using the Slice Builder.

Slice state – Slices have lifecycles, and users may see notifications about the state of a particular slice in the portal, Slice Builder, and/or JupyterHub. Active slices are those that are either Nascent (newly created), Configuring (in the process of being configured or having their configurations revised), StableOK (ready to use), StableError (in an error state), or Closing (in the process of being retired). A Dead slice is one that is not active and that has completed the closing process.

Sliver – An individual resource (e.g., a virtual machine, a network service), that when grouped logically with other resources, will form a slice.

Stitching – Originally coined from the GENI testbed, stitching is a FABRIC service that allows users to create links between experiments and facilities.

V

Virtual machine (VMs) – A simulated computer that runs within a physical server, or host machine. A host machine can host and manage (with the user of a hypervisor) many VMs at the same time, and VMs borrow some fraction of the host machine’s resources (i.e., memory, CPU, and disk) in order to function. Each virtual machine can be configured with its own operating system and its own allocation of the physical machine’s resources. In FABRIC, users can select and customize one or more VMs as a part of any slice.

Updated on October 26, 2023

Was this article helpful?

Related Articles

Having problems?
Try searching or asking questions in the FABRIC community forums!
Go to Forums

Leave a Comment