1 / 25

Fabio Kon Tomonori Yamane Christopher Hess Roy Campbell M. Dennis Mickunas

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

Download Presentation

Fabio Kon Tomonori Yamane Christopher Hess Roy Campbell M. Dennis Mickunas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. Problems in Existing Component Technologies • Lack support for representing dependencies among components • Difficult to support • Automatic Configuration • Dynamic Reconfiguration • Fault-tolerance • Adaptation, etc...

  4. 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

  5. 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

  6. Automatic Configuration Service • Automatically instantiates applications and services by assembling their components. • Based on • Prerequisites : static representation of dependencies. • ComponentConfigurators : dynamic representation of dependencies.

  7. 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

  8. 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

  9. 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.

  10. Automatic Configuration Architectural Framework fetch prerequisites load application Prerequisite Resolver Component Repository fetch components return reference Prerequisite Parser QoS-Aware Resource Manager Cache

  11. 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.

  12. ComponentConfiguratorFramework • Allows browsing, inspection, and reconfiguration • Can be customized through inheritance • Clear separation of concerns

  13. 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

  14. 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.

  15. Experimental Results • Testbed: • 2 Sun Sparc Ultra-60, two 360MHz CPUs • Solaris 7 OS • 100Mbps Fast Ethernet

  16. AutoConfig ServiceLoading Several Components

  17. AutoConfig ServiceLoading Components of Different Sizes

  18. 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]

  19. 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.

  20. 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.

  21. 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

  22. Mobile Configuration Agents • Suitable for Large-Scale Systems • Useful for • code distribution • dynamic reconfiguration • inspection

  23. The 2K Architecture

  24. Overall Architecture(relationships)

More Related