resource allocation & control engine (race)
DESCRIPTION
Institute for Software Integrated Systems. Vanderbilt University Nashville, Tennessee. Resource Allocation & Control Engine (RACE). Nishanth Shankar [email protected] www.dre.vanderbilt.edu/~nshankar. Jai Balasubramanian [email protected] www.dre.vanderbilt.edu/~jai. - PowerPoint PPT PresentationTRANSCRIPT
Resource Allocation & Resource Allocation & Control EngineControl Engine
(RACE)(RACE)
Dr. Douglas C. Schmidt [email protected]
www.dre.vanderbilt.edu/~schmidt
Vanderbilt University Nashville, Tennessee
Institute for Software Integrated
Systems
Nishanth [email protected]
www.dre.vanderbilt.edu/~nshankar
www.dre.vanderbilt.edu/~jai
2RACERACE
Mission Planner (IA + ASM)• Decompose mission goal(s) into
tasks • Implement tasks as CORBA
components• Deploy components using
CIAO/DAnCE middlewareCondition Monitors• Observe mission performance
System Resource Monitors • Observe resource utilization
• System wide• Per application basis
Adaptive Resource Manager• Allocate resources to new
components – Resource Allocator• Modify existing component
deployment based on system performance – ASM
How RACE fits with ARMS Mission Scenario
Mission Goals
Mission Planner
Condition
Monitors
Physical Resources
System ResourceMonitors
Adaptive Resource Manager
Mission Performance
Deployment(in) feasible & (un) successful
SystemStatus
System Performance
Deploy components
3RACERACE
Genesis of RACE (1/2)Context
• Deploy components
• Varying resource requirements
• Varying resource availability/capability
• Need for resource allocation
• Bootstrap system
• Need for adaptation
• Changes in mission goals (modes) as execution progresses
• Changes in mission goals because tasks cannot be completed on time
• Degradation in system performance
• Task execution times & resource requirements may be revised dynamically
Application Components with Varying Resource
Requirements
Target Platform with Varying Resource
Availabilities & Capabilities
Multiple Resource Allocation Algorithms
Uniform interface to parse component
requirements
Uniform interface to deploy components
4RACERACE
Problem• Develop effective allocation &
adaptation algorithms (policies)• Implement allocation & adaptation
algorithms (mechanisms)• Tight coupling between policies &
mechanisms• Monolithic implementations
increases memory footprint & complexity
Solution• Separation of concerns
• e.g., separate policy & mechanism• Framework support for plugging in
allocation/adaptation algorithms
Resource Allocation & Control Engine (RACE)
Application Components WithVarying Resource Requirements
Target Platform With Varying
Resource Availabilities
& Capabilities
Allocation Algorithms
Adaptation Algorithms
Uniform interface to parse component
requirements
Uniform interface to deploy components
Resource Allocation &Control Engine (RACE)
Genesis of RACE (2/2)
5RACERACE
Why RACE/DAnCE for ARMS ? (1/2)• ARMS’ Primary Goal
• Develop Adaptive Resource Management technology for DD(X)• Research Goals
• Develop general general purpose Adaptive Resource Management into standardized software services
• Benefits• Life of technology is not limited to the lifetime of ARMS program • MLRM technology can be reused in other areas research other than
ARMS• Increases ease of technology transfer to DD(X) if DRM capability is
available via standardized service compared to custom application architectures
• Leverages the latest development in CCM technology, and potentially enhances it
• As DARPA PM Joseph Cross says: • “We deliver Technology, and not Software!”• “If we can improve the design, lets improve it as now is the time to do
so!”
6RACERACE
Why RACE/DAnCE for ARMS ? (2/2)• Limitations with current MLRM infrastructure
• Software Architecture for Phase I MLRM is brittle and difficult to reuse in contexts outside ARMS
• Provide custom services for functions where emerging standardized services are available
• e.g. Node Provisioner is a ARMS Node Daemon in DnC specification• Provides an all or nothing solution
• Can not reuse individual component such as AMS, IA, or Pool Manager separately out slide the MLRM framework
• Proposed Approach• Package ARMS adaptive resource management capabilities into a set of a
modular, general purpose, DnC spec compliant / coordinated services• RACE
• Design framework for plugging algorithms specializing in resource allocation and adaptive resource management
• Provides an abstraction to address the interdependencies between resource allocation and string management in a scalable and configurable manner
• Is NOT • One monolithic software application• Algorithms or the core science
7RACERACE
Overview of RACE• Resource allocation framework atop DAnCE
• Generate deployment plans to allocate components to available resources
• Configure components to satisfy QoS requirements based on dynamic mission goals
• Run-time adaptation
• Coarse-grained mechanisms
• React to new missions, drastic changes in mission goals, or unexpected circumstances such as loss of resources
• e.g., component re-allocation or migration
• Fine-grained mechanisms
• Compensate for drift & smaller variations in resource usage
• e.g., adjustment of application parameters such as QoS settings
Application Components With Varying Resource
Requirements
CIAO/DAnCE
Resource Allocation &Control Engine (RACE)
Uniform Interface to parse Component
Requirements
Target Domain
Deploy & Configure
Components
Deploy on Target
Monitor & Adapt
8RACERACE
Overview of RACE Architecture
Deployment Manager
• Collects target domain utilization periodically
• Uses a configured resource allocation algorithm & makes new deployment planning decisions
Target Manager
• Collects utilization information about various domain resources
• Allow efficient retrieval of resource utilization information about the domain & individual nodes
Resource Monitors
• Tracks use of individual resources
Deployment Manager
Target Domain
Deploy on target
Resource utilization
Domain resourceutilization
Target Manager
Monitors
Plug & play framework for resource allocation & adaptation algorithms
CIAO/DAnCE
Deploy & configure components
9RACERACE
Detailed RACE ArchitectureDeployment Manager
• CCM component that encapsulates a configurable framework
• Deploy application components
• Allocate resources to components
• Configure application QoS parameters
• Pluggable resource allocation algorithms
• Manage overall system performance
• Resource utilization
• Maintains system resource utilization within specified bounds
• Application performance
• Ensure desired application performance by tuning different QoS parameters
• Pluggable adaptation algorithmsApplicationComponent
Target Domain
Monitor Monitor Monitor
Data Ready
Target Manager
Deployment Manager
ApplicationComponent
Utilization Data
10RACERACE
Detailed RACE Architecture•Target Manager• CCM component that receives periodic resource
updates from monitors• One per domain• Tracks resource usage of all resources in the
domain• Uniform interfaces for retrieving information
• From individual components• From the whole component assembly
•Resource Monitors• CORBA components/objects• >= 1 monitor per domain resource• Periodically observe resource utilization per
application and/or overall system utilization• e.g. of resource monitors
• CPU utilization monitor• Network bandwidth utilization monitor• Memory utilization monitor
ApplicationComponent
Target Domain
Monitor Monitor Monitor
Data Ready
Target Manager
Deployment Manager
ApplicationComponent
Utilization Data
11RACERACE
Deployment Manager
Core
Assembly FeatureLookupTable
Allocators Adapters
Allocation HistoryDecorators
• Implemented as CCM assembly-based component containing the following individual (monolithic) components
• Allocators• Plug-in points for Resource Allocation
algorithms• Adapters
• Plug-in point for Adaptation algorithms• Manage system/application performance
• Lookup Table • Associates assembly with the allocation &
adaptation algorithm• Decorators
• Weave resource/application monitors into assembly
• Allocation History & System State• History of previous allocation & current
resource allocation
Deployment Manager Design
12RACERACE
Application components from Mission Planner
Descriptors of assembly/components
to be deployed
CIAO/DAnCE
Component Information
Ready
Fetch Component Information
Deployment Plan
Deploy Components
Application Data
Modify Application Property
ResourceUtilization
Ready
SystemResourceUtilization
XML Parser
ResourceUtilization
Deploy Components/Modify Components
Domain Resources
Target Manager
Deployment Manager
CoreAssembly FeatureLookupTable
Allocators Adapters
RACE Runtime View• Receives component assembly to
deploy from the planning module in the form of XML descriptors & parses those descriptors.
• Decorate assembly with application monitors & QoS decorators
• Determine allocation & adaptation algorithm based on assembly information
• Consider CPU or network or both?
• Use allocation & adaptation algorithm that considers all dimensions
• Obtain current resource utilization from Target Manager
• Prepare allocation plan using allocation history
13RACERACE
Application components from Mission Planner
Descriptors of assembly/components
to be deployed
CIAO/DAnCE
Component Information
Ready
Fetch Component Information
Deployment Plan
Deploy Components
Application Data
Modify Application Property
ResourceUtilization
Ready
SystemResourceUtilization
XML Parser
ResourceUtilization
Deploy Components/Modify Components
Domain Resources
Target Manager
Deployment Manager
CoreAssembly
FeatureLookupTable
AllocatorsAdapters
• Deploy component assembly using generated deployment plan
• Monitor system performance
• Target Manager
• Compute modifications to individual components or the whole assembly using adaptation algorithms
• Modify component assembly properties
RACE Runtime View
14RACERACE
Deployment Manager Actors (1/2)
RepositoryManager(from Component)
<<Manager>>
PackageConfiguration(from Component)
<<Description>>
*+package *
Domain(from Target)
<<DomainAdministrator>>
Resource Allocator
*
+searchPath
*
1
+application Resource Requirement Data
1 1
+resourceData
1
DeploymentPlan(from Execution)
<<Planner>>
<<create>>
Plans allocation of resources to application based on resource Data
from resource Data Provider. Resolves packages using search
Path. Produces compatible resource
allocation plan.
.
TargetManager(from Target)
<<Manager>>1
1
1
1
1
+resourceDataProvider
1
15RACERACE
Deployment Manager Actors (2/2)
Condition Monitor(from Application)
<<Monitor>>
Determinator(from AppString)
<<Description>>Domain
(from Target)
<<DomainAdministrator>>
Application Manager
*+application Performance
Data Provider
*
1
+application Performance Data
1 1
+resourceData
1
Adaptation Plan(from Execution)
<<Manager>>
<<create>>
Plans modification to applications and resource allocation to applications based on resource Data
from resource Data Provider and application Performance Data from application performance
data providers. Computes compatible modification to application and resource
allocation to applications and produces an
adaptation plan.
.
TargetManager(from Target)
<<Manager>>1
1
1
1
1
+resourceDataProvider
1
1*
16RACERACE
Current Status & Implementation PlanCompleted• CIAO/DAnCE infrastructure
middleware
In design phase• Architecture of RACE• CCM interfaces of RACE• Allocation & adaptation algorithms
Plan of action• Implement
• Resource monitors• Target Manager• RACE• Allocation & Adaptation algorithms
• Integrate with Intelligent Mission Planner to achieve science mission goals
Deployment Plan
Intelligent Mission Planner
RACE
CIAO/DAnCE
Target Domain
Deploy Components
What to Deploy
Resource Monitors
Target Manager
AllocationAlgorithms
AdaptationAlgorithmsAllocation
Algorithms
AdaptationAlgorithms
RACE
17RACERACE
Existing ARMS Architecture
ASM Local
Pool Manager
Pool Layer
Resource Allocator
Node Provisioner
Node Layer
Infrastructure Allocator
ASM Global
Infrastructure Layer
RSS
• Non standard entities• Custom built for ARMS
• Monolithic implementation of each layer
• Reduced flexibility• Increases complexity
• Number of layers in MLRM is fixed to three
• Infrastructure Layer• Pool Layer• Node Layer
• Possibly limits scalability• Roles performed by entities at
Infrastructure Layer and Pool Later are similar, but differ only in “scope”
18RACERACE
Proposed MLRM Architecture with RACE/DnC
• DnC Spec compliant entities• Wide applicability• Can be reused outside ARMS
• Pluggable Framework• Supports multiple
• Allocation Algorithms• Adaptation Algorithms
• Number of layers in MRLM architecture is flexible
• Increases scalability
• Logical grouping of related entities• Provides a template template for each
(higher) layers in the MLRM architecture
• MLRM is truly a Multi-Layer Resource Management Middleware, and not limited to three layers
Resource Allocator
Application Manager
Deployment Manager
RSS / Target Manager
DnC Node Manager
Node Layer
Resource Allocator
Application Manager
Deployment Manager
DM
DM
19RACERACE
Architectural ComparisonExisting ARMS Entity Proposed RACE/DAnCE Entity
Pool Manager Deployment Manager Core
Resource Allocator Deployment Manager Pluggable Allocation Algorithm
Response Coordinator Deployment Manager Pluggable Adaptation Algorithm
Determinator Target Manager
Condition Monitor hard-coded into AIM
Resource Monitor dynamically added to Assembly by Pluggable Weaving algorithm
Node Provisioner Standard DnC Node Daemon
20RACERACE
ARMS RACE/DAnCE Transition Milestones
Milestone Status POC
Deploy existing MLRM components using DAnCE
Fixed all compile-time errors.
Deployed Global Assembly at Vanderbilt.
Deployed global and pool assemblies and exercised components in EMULAB
Ed (ATL), Will (Vandy)
Convert the AIM to DAnCE descriptors. Josh, Will, Kitty, and Jai had a working group and came up with preliminary plans.
Josh (ATL)
Convert the DIM to DAnCE descriptors and
convert the NodeProvisioner to standard DAnCE tools.
Task has been assigned to Will Otte for his internship at ATL
Will (Vandy)
Implement Deployment Manager:
1. Deployment manager core
2. Allocation Algorithms
3. Control Algorithms
TBD Nishanth / BBN folks?
Implement Target Manager:
1. Determine whether RSS can be leveraged.
2. Implement Resource Monitors
TBD Jai (Vandy)
21RACERACE
Milestones Details (1/2)
• Deploy existing MLRM components using DAnCEPort MLRM Components to DAnCEDeploy MLRM Components using DnC Tools (Node Daemon,
Execution Manager, and Plan Launcher) instead of P&D tools (CIAO Daemon, Assembly Manager, and Assembly Deployer)
Test Phase I GM2 Experiment (formerly GM3) on EMULAB (and at six machines set up at ISIS in an Emulab-like environment)
• Convert the AIM to DAnCE descriptorsVerify that generic property facility is sufficiently rich to capture AIM-like
information• Determine mapping of AIM-like properties to generic DAnCE properties• Customize PICML user interface to support intuitive entry and
manipulation of AIM-like properties• Develop the RT-HIGH2.1 application string using the new DAnCE
descriptors and the new component workload generators• Convert the DIM to DAnCE descriptors
• Convert the DIM_Writer and DIM_Reader (XML handling façade classes) so that they produce and consume DAnCE descriptors
22RACERACE
Milestones Details (2/2)
• Convert the NodeProvisioner to standard DnC entity Node Daemon• Migrate proxy objects to mandatory component facets for component
applications; and proxy components for non-component applications• Implement the Target Manager
• Map the OMG standard Target Manager IDL interface for resource monitoring to the functionality provided by RSS
• Determine interface between Target Manager and Deployment Manager• Implement Resource Monitors and determine an interface between
them and the Target Manager• Implement the Deployment Manager
• Determine external interfaces (with other MLRM components)• Determine internal interfaces (among Deployment Manager Core,
Allocators, and Adapters)• Implement Deployment Manager Core and sample instances of
Allocators and Adapters• Parallel development of specialized allocation and adaptation
algorithms, adhering to the agreed-upon interface
23RACERACE
Proposed Plan of Action
Deploy existing MLRM components using DAnCE 100% Completed!
Convert the AIM to DAnCE descriptors 10% finish by July 1
Convert the DIM to DAnCE descriptorsConvert the NodeProvisioner to
standard DAnCE toolsfinish by July 1
Implement Deployment Manager& Target Manager finish by September 1
Integrate RACE into ARMS MLRM finish by October 1