Changes between Version 2 and Version 3 of PrimoGENIDesignDocument
- Timestamp:
- 12/30/09 01:29:15 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PrimoGENIDesignDocument
v2 v3 1 1 = PrimoGENI Aggregate 1.0 Design Document = 2 2 3 == Introduction ==3 == 1. Introduction == 4 4 5 === About This Document ===5 === 1.1 About This Document === 6 6 7 7 This document describes the design of the PrimoGENI aggregate and how it will be integrated with the ProtoGENI control framework. The document will be used as a guideline for the implementation of the PrimoGENI aggregate, and as a baseline for the validation of its functionalities. … … 16 16 This document shall be reviewed by the ProtoGENI cluster, GENI security team, GPO and any other interested parties. Feedbacks will be collected to improve the PrimoGENI design and implementation. 17 17 18 === PrimoGENI Overview ===18 === 1.2 PrimoGENI Overview === 19 19 20 20 Simulation is effective for studying the behavior of large complex systems that are otherwise intractable to close-form mathematical/analytical solutions. Simulation can also offer scalability and flexibility beyond the capabilities of live experimentation and emulation. Real-time network simulation refers to simulation of potentially large-scale networks in real time so that the virtual network can interact with real implementations of network protocols, network services, and distributed applications. Real-time simulation supports network immersion, where a simulated network is made indistinguishable from a physical testbed in terms of conducting network traffic. … … 28 28 * An exploitation of the full potential of real-time simulation capabilities, with special emphasis on the design and implementation of PrimoGENI experiment workflow (including network model construction, resource specification, allocation and sharing), experiment monitoring, instrumentation and measurement capabilities. 29 29 30 === PrimoGENI Design Goal ===30 === 1.3 PrimoGENI Design Goal === 31 31 32 32 Real-time simulation is aligned with the GENI concept of federating global physical/virtual resources as a shared experimental network infrastructure. Our immersive large-scale network simulator, PRIME, supports network experiments potentially with millions of simulated network entities (hosts, routers, and links) and thousands of emulated elements running unmodified network protocols and distributed applications/services. … … 38 38 Our immediate goal is to allow interoperability with the ProtoGENI control framework and to provide experiment support to streamline potentially large-scale network experiments, including model configuration, resource specification, simulation deployment and execution, online monitoring and control, data collection, inspection, visualization and analysis. 39 39 40 == PrimoGENI Design ==40 == 2. PrimoGENI Design == 41 41 42 === Definitions ===42 === 2.1 Definitions === 43 43 44 44 * '''Substrate''': physical facility on which PrimoGENI is operating; it describes the physical resources, layout and interconnection topology. PrimoGENI will be built on the ProtoGENI/Emulab facilities extended to allow real-time simulation and emulation. … … 54 54 * '''Aggregate manager and interface''': the PrimoGENI aggregate manages all resources, including meta resources controlled by and accessible in the ProtoGENI/Emulab suite, which includes cluster nodes, switches, and other resources, and virtual resources as exported by the PrimoGENI real-time simulation and emulation framework. It exports an aggregate interface as defined by the ProtoGENI control framework. PrimoGENI provides mechanisms for instantiating the virtual network onto the ProtoGENI/Emulab facilities as defined and configured by a slice. 55 55 56 === Major Design Decisions ===56 === 2.2 Major Design Decisions === 57 57 58 58 PrimoGENI will be an aggregate consisting of both meta resources and virtual resources. That is, a sliver at the PrimoGENI aggregate will consist of virtual resources, i.e., the virtual network that includes both simulated elements (routers, hosts, links, and protocols) and emulated elements (hosts and routers running on virtual machines), and the associated meta resources that the virtual network is instantiated upon. … … 66 66 PrimoGENI will provide an experiment control tool to streamline the "life cycle" of a GENI network experiment that involves PrimoGENI elements. The experiment control tool will help researchers with model construction, configuration, resource specification and assignment. It will include other function, such as model deployment, execution, online monitoring and control, experiment data collection, inspection, visualization and analysis, at a later design stage. 67 67 68 === PrimoGENI System Architecture ===68 === 2.3 PrimoGENI System Architecture === 69 69 70 70 The following figure shows the PrimoGENI aggregate situated in the ProtoGENI control framework. … … 95 95 Once the slivers are created and the slice is operational, researchers can run experiment on the '''experiment layer''' (logical). Researcher can log into individual emulated hosts, load software, and launch it. Traffic between the emulated hosts will be conducted on the virtual network. Traffic originated from or destined to other physical network entities will be redirected through the emulation gateway. Experiment data can be collected and viewed in real time on demand through the measurement facility (not shown). This functionality is expected to be added in the next design iteration. 96 96 97 === Sliver ===97 === 2.4 Sliver === 98 98 99 99 A sliver in PrimoGENI consists of both meta resources and virtual resources. … … 105 105 Once the resources are committed and the sliver created, researchers can directly log onto the emulated hosts (through SSH) to program, configure and conduct experiments. 106 106 107 === Identification ===107 === 2.5 Identification === 108 108 109 109 Each identifiable GENI element has an associated GENI Identifier (GID). In ProtoGENI, GID is an SSL certificate with a distinguished name (DN) field that includes a human readable name (HRN), a UUID (which is a random number generated per X.667), and a user email address. … … 111 111 While GIDs are used to identify various PrimoGENI aggregate elements as expected, we do not assign GIDs to virtual network elements for the obvious reason that this might hamper scalability of the simulator. The entire virtual network is identified as a single GENI element. That is, the same certificate will be used to access all simulated and emulated elements. Within the virtual network, in order to for us to identify each network element (host, router, interface, link, subnetwork, or any functional unit inside a host or router, such as a protocol), we create a separate name space, which is intrinsic to the hierarchical nature of the virtual network. 112 112 113 === Resource Specification ===113 === 2.6 Resource Specification === 114 114 115 115 RSpec describes an aggregate/component in terms of the resources it possesses, and constraints and dependencies on the allocation of those resources. It is the mechanism for advertising, requesting, and describing the resources used by experimenters. We follow the same classification method defined by ProtoGENI, by dividing RSpec into three different closely related languages to address the three distinct purposes: … … 118 118 * '''Manifests''' provide useful information about the slivers actually allocated by the PrimoGENI aggregate to a client. This information may not be known until the slivers are actually created (i.e. dynamically assigned IP addresses, host names); also additional configuration options can be provided to a client. The PrimoGENI aggregate will also supply the researchers with the information about the emulated hosts for them to log onto the virtual machines. 119 119 120 == Experiment Setup ==120 == 3. Experiment Setup == 121 121 122 === Aggregate Registration ===122 === 3.1 Aggregate Registration === 123 123 124 124 PrimoGENI registers with the ProtoGENI clearinghouse. 125 125 126 === Resource Discovery ===126 === 3.2 Resource Discovery === 127 127 128 128 Researcher gets a list of all physical resources -- whether or not they are currently available. … … 130 130 Researcher gets a list of resources that are currently available to her and determines the virtual network (including both simulated and emulated elements) she wants to run on PrimoGENI, though an experiment support tool provided by PrimoGENI. The experiment support tool allows the research to configure the virtual network and helps map the virtual network onto the available physical resources. Once completed, the experiment support tool creates a request (RSpec). 131 131 132 === Resource Authorization and Policy Implementation ===132 === 3.3 Resource Authorization and Policy Implementation === 133 133 134 134 Researcher sends the request to PrimoGENI aggregate manager. … … 136 136 PrimoGENI aggregate manager decides to authorize the requested resources according to the local policy (currently admitting all) and issue a ticket to the researcher. 137 137 138 === Resource Assignment ===138 === 3.4 Resource Assignment === 139 139 140 140 Researcher presents the ticket to PrimoGENI aggregate manager in an attempt to redeem the ticket. … … 146 146 PrimoGENI informs the researcher (or the slice manager) of the status of the resource assignment through manifest. 147 147 148 === Experiment Initiation ===148 === 3.4 Experiment Initiation === 149 149 150 150 Once the slice has been created successfully, the researcher can log into emulated hosts, load code, and run the experiment.