DOC PREVIEW
UMD CMSC 714 - Autopilot: Adaptive Control of Distributed Applications

This preview shows page 1-2-3-4-5 out of 16 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1Autopilot: Adaptive Control of Distributed ApplicationsR. L. Ribler, J. S. Vetter, H. Simitci, and D. A. ReedDepartment of Computer Science University of IllinoisPresenter:Chia-Jui HsuNovember 10, 2005CMSC714Nov. 10, 2005Autopilot• Autopilot is a software infrastructure for dynamic performance tuning of heterogeneous computational grids based on closed loop control.2CMSC714Nov. 10, 2005Outline• Introduction• Autopilot Overview• Autopilot Software Components• Fuzzy Logic Control• Autopilot Performance• PPFS II: An Autopilot Testbed• Current StatusCMSC714Nov. 10, 2005Software Performance Tuning• Traditional a posteriori approach1. Application instrumentation– Instrumented automatically by object code patching or compiler.– Manually insert instrumentation library calls.2. Execute, measure, and extract performance data3. Analysis and visualization– Identify performance bottlenecks4. Application optimization– Modify program, adjust runtime policies• This tuning model presumes repeatability– Application has repeatable behavior.3CMSC714Nov. 10, 2005Heterogeneous Computational Grids•Grids– Hardware and software infrastructure.– Provide access to computational capabilities.– Integrate large numbers of geographically distributed resources.• Grid application behavior is rarely repeatable– Complex and multidisciplinary.– Time varying resource demands / requirements.– Dynamically changing resource availability.• The a posteriori performance tuning model is not suited to heterogeneous computational grids applications.CMSC714Nov. 10, 2005Real-time Adaptation• Applying real-time adaptive control techniques to dynamically adapt the system to different resource demands and resource availability.• Autopilot– Integrate dynamic performance instrumentation.– Configurable resource management algorithms.– Real-time adaptive control mechanisms.– Based on application request patterns and observed performance.– Automatically configure and manage resources.4CMSC714Nov. 10, 2005Autopilot Software Components• Distributed sensors– Capture run-time data and send data to clients.• Software actuators– Receive commands from clients, and adjust application behavior (parameter values) and resource policies.• Clients (sensor and actuator clients)– Monitor sensor data and issue commands to actuators.• Distributed name servers (Autopilot manager)– Remote sensors and actuators register in name servers.– Clients request for sensors and actuators (based on their properties) through name servers.• Decision mechanism– Select right resource management policies (fuzzy logic) based onapplication requests and sensor data.CMSC714Nov. 10, 2005Autopilot Adaptive Control Infrastructure5CMSC714Nov. 10, 2005Close Loop Control• Sensor: sense and transmit data to client.• Client: decide and send commands to actuator.• Actuator: actuate application behavior and resource policies.CMSC714Nov. 10, 2005Nexus Toolkit• The Autopilot software is built on Nexus Toolkit (communication substrate).• Endpoint (Nexus term) refers to a global address and specifies a set of message handlers.• Startpoint (Nexus term) identifies a pointer to an endpoint.• The Autopilot manager is a daemon name server process.• Sensors and actuators register at the Autopilot manager.• A client obtains startpoints to sensors and actuators through the Autopilot manager, then it can communicate to sensors and actuators.• Sensors and actuators also need to obtain startpoint to their clients before communication.6CMSC714Nov. 10, 2005Autopilot ManagerCMSC714Nov. 10, 2005Autopilot Sensor Design Principles• Autopilot sensors should be lightweight, low overhead, minimallyperturbing, remotely accessible, and applicable to multiple architectures and programming models.• Minimize data capture / extraction / transmission overhead in order to less perturb the system.• To avoid oscillating decision due to stale sensor data, the latency between data collection and decision making must be small.• Transmit raw data v.s. compute and transmit derived metrics.• Balance transmission frequency v.s. buffer size– Transmission Frequency ↓, transmission overhead ↓, buffer size ↑, latency ↑.7CMSC714Nov. 10, 2005Autopilot Sensor / Actuator Features• Property list– Every sensor and actuator is associated with a set of properties.• Name, type, network address, and user-defined attribute-value pairs.– Clients specify property lists in queries to the Autopilot manager. The manager then replies startpoints that satisfy the query. • Activation modes– Threaded mode: a monitoring thread records data at specified interval.– Non-threaded mode: it relies on insertion of sensor monitoring calls.• Attached functions– Sensors can have attached functions for data reduction.• E.g., Computing sliding window average.– Actuators can have attached functions to mediate remote commands.• Dynamic activation and deactivation.CMSC714Nov. 10, 2005Distributed Name Servers• Autopilot managers act as name servers and coordinate connections between sensors, actuators, and clients.• Sensors and actuators register their properties and Nexus startpoints with an Autopilot manager after creation, and also inform the manager when they are destroyed.• Clients specify a set of desired properties, and the manager provides startpoints to the sensors or actuators that match the request.– Clients can acquire remote sensors and actuators without knowledge of their location.– Clients can dynamically attach to distributed software components, exercise control, then relinquish the attachment.8CMSC714Nov. 10, 2005Clients• Clients establish direct communications to sensors and actuators.• Sensors send data to all the connected remote clients.• Clients process data, make decisions, and issue commands to remove actuators to implement decisions.• Clients can change sensor / actuator behaviors.– Activation, buffer size, sampling rate.CMSC714Nov. 10, 2005Sensor Registration Code// Define Properties for RequestSize SensorApProperties RequestSizeProperties(progName, mgrName);RequestSizeProperties.addProperty("Name", "RequestSizeSensor");RequestSizeProperties.addProperty("Application", "PPFS II");// Construct RequestSizeSensor.ApIntegerSensor RequestSizeSensor("RequestSizeSensor", RequestSizeProperties, requestSize, variableCount=1, bufferSize=8);// Register Sensor with Autopilot


View Full Document

UMD CMSC 714 - Autopilot: Adaptive Control of Distributed Applications

Documents in this Course
MTOOL

MTOOL

7 pages

BOINC

BOINC

21 pages

Eraser

Eraser

14 pages

Load more
Download Autopilot: Adaptive Control of Distributed Applications
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Autopilot: Adaptive Control of Distributed Applications and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Autopilot: Adaptive Control of Distributed Applications 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?