250 likes | 352 Views
Dynamic Resource Management and Automatic Configuration of Distributed Component Systems. Fabio Kon Tomonori Yamane Christopher Hess Roy Campbell M. Dennis Mickunas Departments of Computer Science University of São Paulo University of Illinois at Urbana-Champaign
E N D
Dynamic Resource Management and Automatic Configuration of Distributed Component Systems Fabio Kon Tomonori Yamane Christopher Hess Roy Campbell M. Dennis Mickunas Departments of Computer Science University of São Paulo University of Illinois at Urbana-Champaign http://choices.cs.uiuc.edu/2K
Introduction • Modern Society requires software developers to • produce large quantities of programs • write large, complex programs • support different OSes • support different machine architectures • Partial solution: Component Technologies • Enterprise Java Beans • ActiveX Controls, COM • CORBA Component Model
Problems in Existing Component Technologies • Lack support for representing dependencies among components • Difficult to support • Automatic Configuration • Dynamic Reconfiguration • Fault-tolerance • Adaptation, etc...
Lack of Proper Dependence Management in Existing Operating Systems 1. Administration / Configuration • Junk libraries left on Windows after uninstall 2. System Architecture • Different (static) instances of same OS • Configuration of Microkernels 3. Fault-tolerance • Module failure not handled by others
Our Solution • Infrastructure for Dependence Management supporting • Automatic Configuration • Dynamic Reconfiguration • Code Distribution • Dynamic Resource Management • Help developers to support • Fault-Tolerance • Consistent Reconfiguration • Adaptation
Automatic Configuration Service • Automatically instantiates applications and services by assembling their components. • Based on • Prerequisites : static representation of dependencies. • ComponentConfigurators : dynamic representation of dependencies.
Prerequisites • What a component needs to run: • nature of hardware resources • share of the hardware resources • software services (i.e., components) it requires • Video Client example: • PC with Sound card • 50% of CPU >400MHz • MPEG decoder, CORBA Video Service
Simple Prerequisite Description Format (SPDF) # Video Client application :hardware requirements machine_type x86 os_name Linux os_version 2.2 min_ram 5MB optimal_ram 40MB cpu_speed >400MHz cpu_share 50% :software requirements Decoder CR:/video/decoders/MPEG VideoServer NS:/local/MPEGVideoServer
Automatic Configuration Process 1. Fetches component code and prerequisites from the Component Repository. 2. Dynamically links component code into the application address-space. 3. Based on the prerequisites, repeats the process for other components.
Automatic Configuration Architectural Framework fetch prerequisites load application Prerequisite Resolver Component Repository fetch components return reference Prerequisite Parser QoS-Aware Resource Manager Cache
Component Configurators • Reify dynamic inter-component dependencies. • Created on-the-fly by the Prerequisite Resolver. • System and application software can inspect and reconfigure the Dependence Graph.
ComponentConfiguratorFramework • Allows browsing, inspection, and reconfiguration • Can be customized through inheritance • Clear separation of concerns
QoS-Aware Distributed Resource Management • Global Resource Manager (GRM) • one in each cluster • maintains an approximate view of the cluster resource utilization • Local Resource Manager (LRM) • runs in each node • exports the state of the local resources • Has a Real-Time Scheduler (DSRT) • admission control, reservation, and scheduling
Loading an Application with the Resource Management Service 1. Client contacts local LRM, giving application name and QoS requirements 2. LRM performs admission test 3. Request forwarded to GRM 4. GRM forwards request to best candidate 5. Remote LRM performs admission test, reservation, and runs AutoConfig.
Experimental Results • Testbed: • 2 Sun Sparc Ultra-60, two 360MHz CPUs • Solaris 7 OS • 100Mbps Fast Ethernet
Related Work • Automatic Configuration: • Customizable Operating Systems • Java/Jini • Prerequisites: • SOS operating system [Shapiro 94] • QoS description languages [Frølund 99] • Distributed Resource Management: • Globus [Foster and Kesselman 98] • Legion [Grimshaw 97]
Future Work • Apply the framework to the Gaia project (Active Spaces, Ubiquitous Computing). • Enhance version control: • Example: component A v. 1.2 may require (component B v. 2.x) or (component B v. 1.x and component C v. 2.3) • Performance Analysis of the Resource Management Service.
Conclusions • As computing devices become pervasive in our society, we will encounter • highly dynamic, heterogeneous environments • complex dependencies • difficult management • 2K presents an integrated architecture that helps managing this complexity in a clean and efficient way.
Fabio Kon kon@ime.usp.br http://www.ime.usp.br/~kon Christopher Hess ckhess@cs.uiuc.edu http://choices.cs.uiuc.edu/2k How to Contact Us
Mobile Configuration Agents • Suitable for Large-Scale Systems • Useful for • code distribution • dynamic reconfiguration • inspection