Active Harmonys Plug-in Interface A World of Possibilities Ray S. Chen Jeffrey K. Hollingsworth Paradyn/Dyninst Week 2013 April 30, 2013.

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

Enhancing Productivity with MySQL 5.6 New Features
An IMS testbed for SIP applications
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Copyright © 2003 Pearson Education, Inc. Slide 1.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Introduction to Rails.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Servlets and Java Server Pages.
Doc.: IEEE /0165r1 SubmissionPäivi Ruuska, NokiaSlide 1 Implementation aspects of a coexistence system Notice: This document has been.
Tom Sugden EPCC OGSA-DAI Future Directions OGSA-DAI User's Forum GridWorld 2006, Washington DC 14 September 2006.
and 6.855J Cycle Canceling Algorithm. 2 A minimum cost flow problem , $4 20, $1 20, $2 25, $2 25, $5 20, $6 30, $
© 1998, Progress Software Corporation 1 Migration of a 4GL and Relational Database to Unicode Tex Texin International Product Manager.
17. Data Access ADO.Net Architecture New Features of ADO.NET
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
11 Copyright © 2005, Oracle. All rights reserved. Using Arrays and Collections.
0 - 0.
ALGEBRAIC EXPRESSIONS
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
ADDING INTEGERS 1. POS. + POS. = POS. 2. NEG. + NEG. = NEG. 3. POS. + NEG. OR NEG. + POS. SUBTRACT TAKE SIGN OF BIGGER ABSOLUTE VALUE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Relational operators 1 Lecture 7 Relational Operators.
Relational data integrity
Normal forms - 1NF, 2NF and 3NF
Making the System Operational
Database Design: ER Modelling (Continued)
1 ShareGeo Discovering and Sharing Geospatial Data
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Active Harmony and the Chapel HPC Language Ray Chen, UMD Jeff Hollingsworth, UMD Michael P. Ferguson, LTS.
1 Automating Auto Tuning Jeffrey K. Hollingsworth University of Maryland
Database Performance Tuning and Query Optimization
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS TE Overview Configuring MPLS TE on Cisco IOS Platforms.
Copyright © 2011 by the Commonwealth of Pennsylvania. All Rights Reserved. Load Test Report.
ITEC200 Week04 Lists and the Collection Interface.
Eiffel: Analysis, Design and Programming Bertrand Meyer (Nadia Polikarpova) Chair of Software Engineering.
MySQL Access Privilege System
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
4 Oracle Data Integrator First Project – Simple Transformations: One source, one target 3-1.
the Entity-Relationship (ER) Model
Database System Concepts and Architecture
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
Processes Management.
Processes Management.
Executional Architecture
Addition 1’s to 20.
Test B, 100 Subtraction Facts
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT ACCESS Lesson 3 – Creating and Modifying Forms.
11 = This is the fact family. You say: 8+3=11 and 3+8=11
What’s New in WatchGuard Dimension v1.2
Week 1.
ICD 9 to 10 Translation Tool Slide 1. Agenda Framework Overview Functional Coverage Feature List Screenshots Conversion Approach Framework Architecture.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
We will resume in: 25 Minutes.
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
Distributed DBMS©M. T. Özsu & P. Valduriez Ch.15/1 Outline Introduction Background Distributed Database Design Database Integration Semantic Data Control.
Chapter 11 Component-Level Design
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Personalized Navigation in the Semantic Web: An Enhanced Faceted Browser Michal Tvarožek FIIT STU BA.
Computer Net Lab/Praktikum Datenverarbeitung 2 1 Overview Sockets Sockets in C Sockets in Delphi.
CSCI3170 Introduction to Database Systems
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Workflow Manager and General Tuning Tips. Topics to discuss… Working with Workflows Working with Tasks General Tuning Tips.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Session 1 Module 1: Introduction to Data Integrity
Aggregator  Performs aggregate calculations  Components of the Aggregator Transformation Aggregate expression Group by port Sorted Input option Aggregate.
Data Transport for Online & Offline Processing
Presentation transcript:

Active Harmonys Plug-in Interface A World of Possibilities Ray S. Chen Jeffrey K. Hollingsworth Paradyn/Dyninst Week 2013 April 30, 2013

Overview and Motivation Auto-tuning has a broad range of applications o Optimization of run-time, throughput, energy, etc. Supporting new features increasingly difficult due to monolithic internals o 10+ years of non-structured development o Core search logic implemented in Tcl Reorganization produced a generalized auto- tuning framework o Á la componentization of Dyninst API o Eases integration with other projects 2

Auto-tuning Basics Empirically test configurations for performance o Searches a set of valid configurations for optimal Valid configurations defined by tuning variables o Variables can be integer, real, or enumerated strings o Each variable bound by minimum, maximum, and step Set of tuning variables define a parameter space o N variables create an N-dimensional space o Cartesian coordinates represent unique configurations 3

Parameter Space Example Variable 1 o Name: Tile o Min: 2 o Max: 16 o Step: 2 Variable 2 o Name: Unroll o Min: 0 o Max: 10 o Step: 1 4

Auto-Tuning Feedback Loop Auto Tuner Client Application Candidate Points Evaluated Performance 5.1 Search Strategy 5

Search Strategies Drives the feedback loop Pluggable module with two major interfaces o Fetch: Generates a new point for client o Report: Accepts a point/performance pair from client Four strategies included in Active Harmony o Brute Force o Random o Nelder-Mead o Parallel Rank Order (PRO) 6

Generalized Auto-Tuning Active Harmony Client Application Candidate Points Evaluated Performance Search Strategy FETCH REPORT

Onion Model Workflow Allows for paired functionality, but either hook is optional. Fetch hooks executed in ascending order. Report hooks executed in descending order. Point values cannot be modified (directly). 8 Search Strategy FETCH REPORT 123

Plug-in Workflow: ACCEPT Indicates successful processing at this level. Plug-in relinquishes control of the point to entity below. 9 Search Strategy 123

Plug-in Workflow: RETURN Allows a short-circuit in the feedback loop. Plug-in must provide the performance value. Processing resumes at the same level from the report workflow. 10 Search Strategy 123

Plug-in Workflow: REJECT Allows modification of the search indirectly. Plug-in must provide an alternate valid point. o Search strategy is not obligated to use it. Processing jumps directly back to search strategy. 11 Search Strategy 123

Plug-in Example: Point Logger logger_init() { outfd = open(performance.log); } logger_report(flow_t *flow, point_t *pt, double perf) { fprintf(outfd, %s -> %lf\n, string(pt), perf); flow->type = ACCEPT; } logger_fini() { close(outfd); } logger_init() { outfd = open(performance.log); } logger_report(flow_t *flow, point_t *pt, double perf) { fprintf(outfd, %s -> %lf\n, string(pt), perf); flow->type = ACCEPT; } logger_fini() { close(outfd); } 12

Plug-in Workflow: WAIT Allows asynchronous point processing Plug-in sends point to external process Other points processed in the mean time Processing resumes at the same level upon return 13 Search Strategy 123 External Process

Plug-in Example: Code Server cs_init() { sockfd = tcp_connect(CODE_SERVER); register_fetch_callback(sockfd, code_ready); } cs_fetch(flow_t *flow, hpoint_t *pt) { send_point(sockfd, pt); flow->type = WAIT; } code_ready(flow_t *flow, hpoint_t *pt_list[]) { recv_completed_id(sockfd, id); flow->point = find_point_in_list(pt_list, id); flow->type = ACCEPT; } cs_init() { sockfd = tcp_connect(CODE_SERVER); register_fetch_callback(sockfd, code_ready); } cs_fetch(flow_t *flow, hpoint_t *pt) { send_point(sockfd, pt); flow->type = WAIT; } code_ready(flow_t *flow, hpoint_t *pt_list[]) { recv_completed_id(sockfd, id); flow->point = find_point_in_list(pt_list, id); flow->type = ACCEPT; } 14

Plug-in Example: Constraints 15 Search Strategy 12 3

Plug-in Example: TAUdb Integration with TAU via TAUdb. o Tuning and Analysis Utilities Search data stored in persistent database Adds parameter analysis to any tuning session. Can potentially be used as result cache 16

Specifying Plug-ins Pluggable modules read from configuration o Unstructured key/value pair system queried at launch Directly from the command-line o Tuna to accept in-line configuration directives o Syntax to be determined 17 > cat harmony.cfg SESSION_STRATEGY=pro.so SESSION_PLUGIN_LIST=logger.so:taudb.so > cat harmony.cfg SESSION_STRATEGY=pro.so SESSION_PLUGIN_LIST=logger.so:taudb.so

Availability Current release is Active Harmony 4.0 o Includes Tuna and preliminary plug-in interface Upcoming release to include o Improved plug-in interface o Library of basic strategies and plug-ins o No more Tcl code! 18

Summary and Next Steps Generalized auto-tuning framework presented o Variety of systems possible with minimal coding o Functionality encapsulated to simplify development Next steps o Develop library of search strategies and plug-ins o Hierarchical search? o We could use your help! o Investigation of further abstractions o Parameter spaces 19