Professional Documents
Culture Documents
Ruth Aydt Pablo Research Group Department of Computer Science University of Illinois at Urbana-Champaign http://www-pablo.cs.uiuc.edu
Pablo Research Group - Department of Computer Science - UIUC
Presentation Outline
Requirements for successful performance tuning Pablo toolkit components - how we got here Autopilot
Basic concepts Component interactions Fuzzy Logic decision infrastructure
Libraries linked with application to trace generic events and also loops, message passing, procedure calls, Unix I/O, MPI I/O, HDF routines Standard function names (e.g. read) replaced with tracing version (e.g. traceREAD) by preprocessor for C codes. For Fortran, calls bracketed by traceReadBegin / traceReadEnd manually Timestamped event data written to buffer and flushed periodically to per-processor files
Pablo Research Group - Department of Computer Science - UIUC
SvPablo
A graphical source code browser and performance capture/correlation tool Allows user to select loops and procedures to instrument in C, F77, F90 code. Automatic instrumentation for HPF via PGI performance interface. Collects performance data and later displays it relative to source code line Option for real-time data transmission via Autopilot tagged sensors (more later)
Pablo Research Group - Department of Computer Science - UIUC
SvPablo GUI
Virtue
software structure, dynamics, and performance Manipulation tools for augmented interactions with the virtual environment Annotation tools for distributed, collaborative exploration and recording
Uses OpenGL and EVL CAVE library for 3-d effects in CAVE, ImmersaDesk, and desktop environments
Pablo Research Group - Department of Computer Science - UIUC
Autopilot :
Performance Tuning in Distributed Computing Environments
Autopilot Toolkit
Provides a framework for the capture and analysis of real-time application and infrastructure data in a multi-threaded distributed environment Offers the ability to control volume of performance data through
Includes a control interface to allow steering of infrastructure policies and applications, either interactively or via automated decision procedures
Pablo Research Group - Department of Computer Science - UIUC
selective registration and property matching analysis and data reduction at point of collection constant, periodic, or on-demand transmission of data ability to dynamically enable/disable data collection
intrinsic (procedural - push) extrinsic (threaded - push) transfer data when requested by remote process (pull)
Sensor Attached Functions: transform sensed data via user-defined functions before it is recorded by the sensor, providing an important data-reduction technique
Pablo Research Group - Department of Computer Science - UIUC
Actuators: provide remote processes the ability to invoke local functions or update data, allowing remote steering
synchronous (application controls when updates are made; requests may be held in pending buffer) asynchronous (updates are made when request received from external agent)
Properties: key-value pairs that are associated with and used to identify a sensor or actuator, allowing remote processes to be selective about the sensors and actuators they connect to
Pablo Research Group - Department of Computer Science - UIUC
Sensor Client: a process that connects to one or more sensors with matching properties and receives data from those sensors Actuator Client: a process that connects to one or more actuators with matching properties and sends data to those actuators, causing application variables controlled by the actuators to be updated or functions to be invoked
Pablo Research Group - Department of Computer Science - UIUC
Autopilot Manager: a daemon process that is responsible for handling registration requests from sensors and actuators, and matching sensor client and actuator client requests to registered sensors and actuators.
hosts throughout the computational grid, allowing sensors, actuators, and clients to tailor data transfer volumes to appropriate levels for local and distant tasks.
Pablo Research Group - Department of Computer Science - UIUC
Information about the structure of the data is forwarded when a client first connects to a matching sensor or actuator, allowing the client to perform verification checks and ignore unwanted data. Tagged data sets map naturally into what we normally think of as event trace records. Sometimes called SDDF-enabled because the buffer contents can easily be translated to SDDF
Nexus creates a global address space that encompasses all processes executing on a distributed network Nexus Remote Service Requests (RSRs) used by Autopilot classes to transmit messages, insuring optimal underlying transfer protocol Nexus multi-threaded handlers used by Autopilot classes to process RSRs Most Nexus details hidden by Autopilot classes
Pablo Research Group - Department of Computer Science - UIUC
Instrumented Task
Monitor/Control Task
5. sensor data
Instrumented Tasks
actuators Many instrumented tasks may be active at any given time May register sensors and actuators with multiple Autopilot Managers running on different hosts
Monitor/Control Tasks
actuator clients Many monitor/control tasks may be active at any given time May query multiple Autopilot Managers running on different hosts May implement human in the loop (Autodriver, Virtue) or automated fuzzy logic decision server (PPFS II) Monitor/Control May be monitor only, Task writing collected data to a file or displaying it
Defuzzifier
Fuzzifier
Sensors Sensors
System
Instrumented Task(s)
Actuators Actuators
Outputs
Inputs
10
20
30
40
50
60
70
80
90
100
// if if if
the rules ( roomtemp == cold ) { furnace = full; } ( roomtemp == medium ) { furnace = half; } ( roomtemp == hot ) { furnace = off; }
Instrumented Task
Autopilot Manager
Autodriver Startup
User specifies hosts for Autopilot Manager and, if remote, Adapter Main window displays currently registered sensors and actuators User selects sensors and/or actuators they are interested in
Pablo Research Group - Department of Computer Science - UIUC
Multiple fields can be plotted to a single window User can control number of points to display in window and zoom in on area of graph
Pablo Research Group - Department of Computer Science - UIUC
Virtue
Actuator controls
Instrumented Task
Autopilot Manager
lmon collects processor utilization data and makes it available via sensors
Virtue maps the data to the display Data transmission frequency can be adjusted via slider connected to lmon actuator
Pablo Research Group - Department of Computer Science - UIUC
Init
Fluids Code (10 fluid iterations) Interpolation Solids Code Do 3:1 Multigrid Solution for Each of the Meshes
Convergence Test
Y
Output
Execution Environment
Running on SGI Octane and Immersadesk in Pablo group Virtue
Running on systems around the country Lmons on Lmons on systems across lmon gathering systems across the country network data the country
CSAR code instrumented via SvPablo Autopilot Manager Running on SGI Origin at NCSA Running on SPARC in Pablo group
Pablo Research Group - Department of Computer Science - UIUC
Current Efforts
SvPablo: version with output via Autopilot sensors generally available Virtue: new displays and controls for interacting with Autopilot sensors and actuators Autodriver: integrated event definition, recognition, adaptation, and notification Trace Library and Extensions: rework to use Autopilot as infrastructure, providing automatic instrumentation of I/O, MPI I/O, and HDF calls with corresponding well-defined sensor data structures
Pablo Research Group - Department of Computer Science - UIUC
Current Efforts
Integrate sensors and actuators into Globus infrastructure Provide translators from
Continue to explore analysis, visualization, and control techniques in dynamic, distributed environments
Pablo Research Group - Department of Computer Science - UIUC
(appropriate) tagged sensor data to NetLogger format Netlogger format to SDDF SDDF to XML XML to SDDF