Title: AutoMate : Enabling Autonomic Computational Applications on the Grid M' Agarwal, V' Bhat, Z' Li, H'
1AutoMate Enabling Autonomic Computational
Applications on the GridM. Agarwal, V. Bhat, Z.
Li, H. Liu, V. Matossian, V. Putty, C. Schmidt,
G. Zhang, M. Parashar, B. Khargharia and S.
HaririThe State University of New Jersey,
University of Arizona 5th Annual International
Active Middleware Services Workshop (AMS2003),
Jan. 2003
Date Oct. 24 2007 Chang-Keun
Park pck1982_at_postech.ac.kr DPNM Lab., Dept. of
CSE, POSTECH
2Content
- Background
- Grid Computing and AutoMate
- Introduction
- Motivation
- Goal
- The architecture of AutoMate
- The key components of AutoMate
- ACCORD
- RUDDER
- SESAME
- Pawn
- SQUID
- Conclusion
3Grid Computing
- Computing model that provides the ability to
perform higher throughput computing - Distributed computing such as virtual
supercomputer" by using a network of computers
which is like a grid - Functionally, there are several types of grids
- Computational grids
- Data grids
- Open Grid Service Architecture (OSGA)
- an architecture for a service-oriented grid
computing environment for business and scientific
use - developed within the Global Grid Forum (GGF).
- based on several other Web service technologies
such as WSDL and SOAP
4AutoMate
- Enabling Autonomic Applications on the Grid
- The State University of New Jersey
- TASSL (The Applied Software Systems Laboratory)
- Director Manish Parashar
- http//automate.rutgers.edu
- Research
- Autonomic Computing
- Parallel and Distributed Computing
- Grid Computing
- Peer-to-Peer Computing
- Distributed Computational Collaboratories
- Adaptive Computational Engines and Runtime
Systems - Adaptive QoS Management
- Scientific Computing
- Collaboration Groupware
5Introduction
- The emergence of computational Grids has made it
possible to conceive a new generation of
realistic, scientific and engineering simulations
of complex physical phenomena - Existing Problem
- the phenomenon being modeled by Grid applications
is multi-phased, dynamic and heterogeneous
requiring large numbers of software components
and dynamic compositions and interactions between
these components - the underlying Grid infrastructure is also
heterogeneous and dynamic, globally aggregating
large numbers of independent computing and
communication resources, data stores and sensor
networks - These application development, configuration and
management complexities break current paradigms
based on passive components and static
compositions
6Motivation
- A need for a fundamental change in how grid
applications are formulated, composed and managed
has been increasing - In fact, our programming environments and
infrastructure are becoming unmanageable and
insecure because of complexity, heterogeneity,
and dynamism - This has led researchers to consider alternative
programming paradigms and management techniques
of biological systems to deal with complexity,
heterogeneity and uncertainty - The approach is autonomic computing
7Goal
- Investigate key technologies to enable the
development of autonomic Grid applications that
are context aware and are capable of
self-configuring, self-composing, self-optimizing
and self-adapting - Specific Issues
- Definition of Autonomic Components
- definition of programming abstractions and
supporting infrastructure that will enable the
definition of autonomic components - Dynamic Composition of Autonomic Applications
- mechanisms and supporting infrastructure to
enable autonomic applications to be dynamically
composed from autonomic components - compositions will be based on context information
such as policies and constraints and their
current states - Autonomic Middleware Services
- design, development, and deployment of key
services on top of the Grid middleware
infrastructure to support autonomic applications - a key requirements for autonomic behavior and
dynamic compositions is the ability of the
components, applications and resources to
interact as peers
8AutoMate Architecture
9The key components of AutoMate
- ACCORD
- Autonomic component framework
- programming framework for enabling the
development and management of autonomic
applications - RUDDER
- Decentralized deductive engine
- coordination middleware with intelligent
deductive capabilities for Autonomic Applications - SESAME
- Dynamic role-based access control engine
- provides dynamic context-aware control
- Pawn
- Peer-to-Peer messaging infrastructure
- provides high-level messaging abstractions in a
decentralized environment - SQUID
- Decentralized discovery service
- provide efficient information discovery
10ACCORD - Autonomic components
- Autonomic components export information and
policies about their behavior, resource
requirement and so on
- AutoMate components provide theirs profiles or
contracts that encapsulate functional,
operational, and control aspects - functional aspects abstracts component
functionality - operational aspects abstracts a component's
operational behavior - control aspects describes the adaptability of the
component and defines sensors/actuators and
policies for management
- Access agent
- is a part of the AutoMate access control engine
- manages access to the component based on its
current context and state - Rule agent
- is part of RUDDER, the AutoMate deductive engine
- manages local rule definition, evaluation and
execution
11ACCORD - Autonomic Compositions
12RUDDER - The Deductive Engine
- a decentralized deductive engine composed of
distributed specialized agents - component rule agents, composition agents,
context agents and system agents - Objective
- provide mechanisms for dynamically defining,
configuring, deploying rules, and rule conflicts
management - provide the core capabilities for supporting
autonomic compositions, adaptations, and
optimizations
13RUDDER - The Deductive Engine
- Rules can be dynamically injected into the system
and are routed by the messaging substrate to the
appropriate agents. - the agents may hierarchically decompose a rule
and distribute it to peer agents
14RUDDER - Rules
- use an XML rule schema and consists of the
following tags - ltRULE identifiergt, ltprioritygt, ltON eventsgt, ltUSE
component/servicegt, ltIF conditionsgt, ltTHEN
actionsgt, and ltELSE default actionsgt - Sample RUDDER Rule
15SESAME
- Dynamic role-based access control engine
- provide dynamic access control to users,
applications, services, components and resources - extend Role Based Access Control (RBAS) to make
access control decision based on dynamic context
information - dynamically adjust Role Assignments and
Permission Assignments based on context - Objective
- support dynamic, seamless and secure interactions
between the participating entities (i.e.
components, services, application, data,
instruments, resources and users)
16SESAME - Dynamic Access Control Model
- Subject
- the entity which requests service from another
entity - user, application, service or component
- context agent
- collect an entitys current context information
such as the state and current execution
environment of a component or an application - Based on this context information, the access
control agent dynamically adjusts the user-role
and role- permission relationships
17SESAME - Operation
- Access control agent
- maintains the role state machine for each
component and defines its active role based on
its current context
18PAWN
- a peer-to-peer messaging substrate that builds on
project JXTA - provides a stateful and guaranteed messaging to
enable key application-level interactions - synchronous/asynchronous communication, dynamic
data injection, and remote procedure calls
19SQUID
- Decentralized discovery service
- supports decentralized information discovery in
AutoMate - Motivation
- Efficient information discovery in the absence of
global knowledge of naming conventions - The overall architecture of SQUID is a
distributed hash table (DHT), similar to typical
data lookup systems - Key innovation
- locality preserving, dimension reducing indexing
scheme that effectively maps the multidimensional
information space to physical peers
20Conclusion
- Autonomic applications is necessary to address
scale, complexity, heterogeneity, dynamism and
reliability challenges - AutoMate addresses fundamental issues and
provides key solutions in the autonomic
formulation, composition, and runtime management
of applications on the Grid - ACCORD Autonomic application framework
- RUDDER Decentralized deductive engine
- SESAME Dynamic access control engine
- Pawn P2P messaging substrate
- SQUID P2P discovery service