Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid Françoise André, Jérémy Buisson & Jean-Louis Pazat IRISA / INSA de Rennes.

Slides:



Advertisements
Similar presentations
CPSCG: Constructive Platform for Specialized Computing Grid Institute of High Performance Computing Department of Computer Science Tsinghua University.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
AMUSE Autonomic Management of Ubiquitous Systems for e-Health Prof. J. Sventek University of Glasgow In collaboration.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Multiple V-model. Introduction In embedded systems, the test object is not just executable code. First a model of the system is built on a PC, which simulates.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
Adaptability: viewpoint from INRIA-Rennes and the UNIPI-INRIA joint-work CoreGrid WP3 Kraków meeting - June 2006 Françoise André & Jérémy Buisson Subtask.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
CprE 458/558: Real-Time Systems
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
WORKFLOWS IN CLOUD COMPUTING. CLOUD COMPUTING  Delivering applications or services in on-demand environment  Hundreds of thousands of users / applications.
Resource Fabrics: The Next Level of Grids and Clouds Lei Shi.
CHAPTER FIVE Enterprise Architectures. Enterprise Architecture (Introduction) An enterprise-wide plan for managing and implementing corporate data assets.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Optimized Java computing as an application for Desktop Grid Olejnik Richard 1, Bernard Toursel 1, Marek Tudruj 2, Eryk Laskowski 2 1 Université des Sciences.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Low-Power Wireless Sensor Networks
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
ASG - Towards the Adaptive Semantic Services Enterprise Harald Meyer WWW Service Composition with Semantic Web Services
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SmartGRID Ongoing research work in Univ. Fribourg and Univ. Applied Sciences of Western Switzerland (HES-SO) SwiNG Grid Day, Bern, Nov. 26th, 2009 Ye HUANG.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
CPSC 871 John D. McGregor Module 6 Session 3 System of Systems.
The Grid System Design Liu Xiangrui Beijing Institute of Technology.
“DECISION” PROJECT “DECISION” PROJECT INTEGRATION PLATFORM CORBA PROTOTYPE CAST J. BLACHON & NGUYEN G.T. INRIA Rhône-Alpes June 10th, 1999.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
JuxMem: An Adaptive Supportive Platform for Data Sharing on the Grid Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan, France Grid Data.
Enterprise Systems Architectures EGN 5621 Enterprise Systems Collaboration (Professional MSEM) Fall, 2012.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
1 BRUSSELS - 14 July 2003 Full Security Support in a heterogeneous mobile GRID testbed for wireless extensions to the.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
Integration of Workflow and Agent Technology for Business Process Management Yuhong Yan. Maamar, Z. Weiming Shen Enterprise Integration Lab.Toronto Univ.Canada.
1 Analysing system-user cooperation in KADS H. P. de Greef and J. A. Breuker, Department of Social Science Informatics, University of Amsterdam Knowledge.
Jini Architectural Overview Li Ping
Recording Actor Provenance in Scientific Workflows Ian Wootten, Shrija Rajbhandari, Omer Rana Cardiff University, UK.
Mantid Stakeholder Review Nick Draper 01/11/2007.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Protecting The Kernel Data through Virtualization Technology BY VENKATA SAI PUNDAMALLI id :
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Company LOGO Network Architecture By Dr. Shadi Masadeh 1.
MSF and MAGE: e-Science Middleware for BT Applications Sep 21, 2006 Jaeyoung Choi Soongsil University, Seoul Korea
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Introduction to Machine Learning, its potential usage in network area,
CIS 375 Bruce R. Maxim UM-Dearborn
Enterprise Architectures
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
TensorFlow– A system for large-scale machine learning
Software Testing.
Code Optimization.
Introduction to Design Patterns
Architecture Components
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
University of Technology
Basic Grid Projects – Condor (Part I)
Multidisciplinary Optimization
Presentation transcript:

Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid Françoise André, Jérémy Buisson & Jean-Louis Pazat IRISA / INSA de Rennes / Université de Rennes 1

Our view of the Grid Cluster resource WAN Cluster resource Application Our point of interest

Cluster resource Processor resources Our view of the Grid Network resource …

Our view of the Grid Environment that is: –Parallel Grid is built up from parallel machines –Dynamic Resource allocation may change dynamically –Distributed Resources are distributed over a network Resources are in different administration domains Need for a new programming technique Parallel self-adaptable distributed components

Related works Parallel and distributed components / objects exist –Example: GridCCM, PARDIS Self-adaptable components exist –Example: ACEEL, DART But no parallel and self-adaptable distributed component

Principles of parallel components Encapsulation of a parallel code –Collaboration of several communicating processes Goal: allow to easily couple parallel codes

Principles of dynamic adaptation Modification of the executed code –Reflexive programming Goal: better fit to allocated resources Execution flow 1. Event 2. Reaction

Dynamic adaptation Three key questions: – When should the component adapt? – How should the component be modified? – Where can the reaction be executed?

Dynamic adaptation When should the component adapt? –Upon reception of an event from a monitor –According to the policy Adaptation policy Decider Monitor Notifies of events Interprets

Dynamic adaptation How should the component be modified? –Executing special code –Following directives of the policy Reaction Adaptation policy Coordinator Decider Executes Requests execution of reactions Interprets

Dynamic adaptation Where can the reaction be executed? –At the next adaptation point –Approximated prediction of the next point Based on control flow graph Reaction An adaptation point Behavior 1 Not an adaptation point Behavior 2

Dynamic adaptation Behavior Reaction Adaptation policy Coordinator Decider Monitor Modifies Executes Requests execution of reactions Component Platform Interprets Notifies of events

Parallel coordinator Parallel reaction Mixing parallelism and adaptation Parallel behavior Adaptation policy Decider Monitor Modifies Executes Requests execution of reactions Component Platform Interprets Notifies of events Parallel behavior

Mixing parallelism and adaptation Introduction of global adaptation points –All the processes at the same state Need to coordinate all the processes Example: SPMD code –Adaptation point between each phase Local adaptation point Not global adaptation points Global adaptation points

Mixing parallelism and adaptation Need for a distributed algorithm for the parallel coordinator –Only consider globally reachable points In the future of all the processes –Make an agreement of all the processes Choose the same point for all the processes

Mixing parallelism and adaptation Need to control the non-determinism –Due to parallelism Dynamically insert synchronization statements –Due to unpredictable conditional instructions Force the result of the conditions if possible –Example: insertion of empty iterations in loops Otherwise postpone the decision-making

Experiment –Iterative SPMD code Adaptation points between each iteration –Increase of the number of processors Results –Negligible time in adaptation points –Gain thanks to the adaptation –Expected to scale well Adaptation

Related domains Computation steering –Notions equivalent to global adaptation points Need to execute some “special code” at the next “special point” –Particular use of adaptation mechanisms User interface instead of monitors Parallel coordinator Parallel reaction Parallel behavior Adaptation policy Decider Monitor Modifies Executes Requests execution of reactions Component Platform Interprets Notifies of events Parallel behavior Man-Machine Interface

Related domains Fault tolerance –Consider dynamic environment –Need for a global “consistent” state In the past for fault tolerance In the future for dynamic adaptation –Relation to dynamic adaptation An application? A complementary feature?

Work done Design of the overall architecture –Identification of functional “boxes” Distributed algorithm for the coordinator –Automated instrumentation by static behavioral reification –Simple negotiation protocol Demonstration prototype –Ad-hoc mechanisms –Proof of concept

Future work Generalizing the approach –Generic definition of global adaptation points Limits of the “same state” definition Case of non-SPMD codes –Expression of the adaptation policy Limits of explicit event-based rules Need for more sophisticated (intelligent?) policies –Smoothing measures of resource availability –Balancing instabilities

Future work Collaborative adaptation of components –Control side-effects Avoid adaptation cycles –Common policy at the level of: A group of components A composite The whole application –Consider full Grid applications Not only their components

Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid