June 1998 CHAIMS1 execution of a remote method invoke a method i e extract results setup / set attributes s s e i time decomposed (no benefit for one.

Slides:



Advertisements
Similar presentations
Chapter 4 Threads Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Advertisements

Module Invocation & Parameters Tracing the Execution of Instructions with the Activation Stack.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Assessments & Accountability v 1.0 ASSESSMENTS & ACCOUNTABILITY Overview.
A Comprehensive Model for Arbitrary Result Extraction Neal Sample, Gio Wiederhold Stanford University Dorothea Beringer Hewlett-Packard.
June 1998 CHAIMS1 Interpreter instead of Compiler CHAIMS execution machine (interpreter and scheduler) user Interpreter: network CHAIMS-protocol complete.
Parallel and Distributed Simulation Time Warp: Other Mechanisms.
Assurance through Enhanced Design Methodology Orlando, FL 5 December 2012 Nirav Davé SRI International This effort is sponsored by the Defense Advanced.
Trace-Based Automatic Parallelization in the Jikes RVM Borys Bradel University of Toronto.
2-1 Scheduling Constraints. 2-2 Outline Activities Temporal constraints Resources Resource constraints (mono-activity) Resource constraints (two activities)
Fall 2008Parallel Query Scheduling1. Fall 2008Parallel Query Scheduling2 Query Processing Queries submitted to the system are queued up and processed.
CHAIMS: Compiling High-level Access Interfaces for Multisite Software Neal Sample Stanford University.
June 1999 EJB1 EJB and CHAIMS Dorothea Beringer Enterprise Java Beans and how to build a CHAIMS infrastructure using the EJB paradigm.
November 1999 CHAIMS1 Compiling High-level Access Interfaces for Multi-site Software Stanford University Objective: Investigate revolutionary approaches.
June 1998 CHAIMS1 Challenge 1: Composition of Processes... versus composition and integration of Data »data-warehouses »wrapping data available on web.
April 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, Composing Autonomous Internet Services with CHAIMS CHAIMS Objective: Using and composing.
June 1998 CHAIMS1 Compiling High-level Access Interfaces for Multi-site Software Stanford University Objective: Investigate revolutionary approaches to.
January 1999 CHAIMS1 Repository add information to e b CORBA / Process - Providing Megamodules writes CPAM compliant megamodules from scratch d MEGA Modules.
CS 347Notes 041 CS 347: Distributed Databases and Transaction Processing Notes04: Query Optimization Hector Garcia-Molina.
Compiling Application-Specific Hardware Mihai Budiu Seth Copen Goldstein Carnegie Mellon University.
Megamodules domain expert writes megaprogram for composition CHAIMS automizes generation of client for distributed system megamodule provider provides.
January 1999 CHAIMS1 Objectives C H A I M S CLAM CPAM Scheduling ESTIMATE EXTRACT Provide high-level, composition-only language (or graphical front-end)
June 1998 CHAIMS1 Compiling High-level Access Interfaces for Multi-site Software Stanford University Objective: Investigate revolutionary approaches to.
June 1999 CHAIMS1 Neal Sample Stanford University Objective: Investigate new approaches to large-scale software composition. Approach: Develop and validate.
January 1999 CHAIMS1 Megamodules - Definition from different providers: several services from different providers available for same tasks autonomous:
March 1999 CHAIMS1 Now: Compiler Compiler: megaprogram in CHAIMS language client code in C, C++, Java, stub code executable client (CSRT) composer CHAIMS.
February 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, several Ph.D. and master students Stanford University
1 Chapter 4 Threads Threads: Resource ownership and execution.
CS294-6 Reconfigurable Computing Day 23 November 10, 1998 Stream Processing.
January 1999 CHAIMS1 Primitives in CPAM Pre-invocation: SETUP: set up a connection to a megamodule SET-, GETPARAM: preset / get parameters in a megamodule.
January 1999 CHAIMS1. January 1999 CHAIMS2 CHAIMS: Compiling High-level Access Interfaces for Multi-site Software CHAIMS Stanford University Objective:
CHAIMS ARCHITECTURE D i s t r i b u t i o n L a y e r ( CORBA, DCE, DCOM, RMI …) Megaprogram C H A I M S - C o m p i l e r M e g a m o d u l e S e r v.
Wrapping a Weather Module into a CHAIMS MegaModule Mike Laskin Tools and Process for Software Stanford University - CS Fall 1998 December 2, 1998.
Threads Chapter 4. Modern Process & Thread –Process is an infrastructure in which execution takes place  (address space + resources) –Thread is a program.
Quick Review of Apr 24 material Sorting (Sections 13.4) Sort-merge Algorithm for external sorting Join Operation implementations (sect. 13.5) –Size estimation.
June 1998 CHAIMS1 CLAM Why new language? –complexity: not all facilities of a common language –new paradigm: inhibiting traditional computational programming.
Multiprocessor Real- Time Scheduling Aaron Harris CSE 666 Prof. Ganesan.
Distributed Real-Time systems 1 By: Mahdi Sadeghizadeh Website: Sadeghizadeh.ir Advanced Computer Networks.
PMIT-6102 Advanced Database Systems
Lecture 5 – Gantt Chart GANTT Charts Constructing GANTT Charts
Distributed Asynchronous Bellman-Ford Algorithm
S. M. Farhad PhD Student Supervisor: Dr. Bernhard Scholz
Master Thesis Defense Jan Fiedler 04/17/98
20 October 2006Workflow Optimization in Distributed Environments Dynamic Workflow Management Using Performance Data David W. Walker, Yan Huang, Omer F.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Java Threads 11 Threading and Concurrent Programming in Java Introduction and Definitions D.W. Denbo Introduction and Definitions D.W. Denbo.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.
Parallel architecture Technique. Pipelining Processor Pipelining is a technique of decomposing a sequential process into sub-processes, with each sub-process.
PARALLEL APPLICATIONS EE 524/CS 561 Kishore Dhaveji 01/09/2000.
Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Configurations Vignesh Ravi, Wenjing Ma, David Chiu.
Operating Systems: Internals and Design Principles
Chapter 3: Real-Time Scheduling and Schedulability Analysis Albert M. K. Cheng.
Module 2.0: Threads.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Operating System Concepts
Workflow Management Concepts and Requirements For Scientific Applications.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
18 May 2006CCGrid2006 Dynamic Workflow Management Using Performance Data Lican Huang, David W. Walker, Yan Huang, and Omer F. Rana Cardiff School of Computer.
CHAIMS: Mega-Programming Research
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Exploratory Decomposition Dr. Xiao Qin Auburn.
C. What is a Feasibility report
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Data Partition Dr. Xiao Qin Auburn University.
6. Software Composition Intelligent Information Systems Gio Wiederhold
CS 258 Reading Assignment 4 Discussion Exploiting Two-Case Delivery for Fast Protected Messages Bill Kramer February 13, 2002 #
Threads Chapter 4.
CHAIMS January 1999 CHAIMS.
An Orchestration Language for Parallel Objects
CS561 Computer Architecture Hye Yeon Kim
Presentation transcript:

June 1998 CHAIMS1 execution of a remote method invoke a method i e extract results setup / set attributes s s e i time decomposed (no benefit for one module) asynchronous s,i e time available for other methods synchronous time e s,i Scheduler - Decomposed Execution

January 1999 CHAIMS2 Scheduling - Exploit Parallelism data dependencies execution of a method a d e b c i1 e1 e2 e3 e4 e5 i2 i3 i4 i5 time non-optimized, or handprogrammed a d (<a+b) e b c (>a+b) i1 e1 e4 e3 e2 i3 i4 i5 i2 e5 time exploring parallelism based on dataflow dependencies, according to estimates or run-time scheduling invoke a method ie extract results

June 1998 CHAIMS3 Scheduling - Possible Actions (1) SETUP: make SETUPs take place in parallel to method executions »call SETUPs well in advance before methods of that megamodule are invoked INVOKE: call INVOKEs as soon as possible »move INVOKEs as far up as possible, considering data dependencies ==> what if INVOKE is in an if-block? »moving it outside of an if-block: depending on cost- function concerning fees and execution times (using ESTIMATE for the method concerned and for all eventual following methods up to if-block).

June 1998 CHAIMS4 Scheduling - Possible Actions (2) EXTRACT: call EXAMINEs and EXTRACTs when results could be ready and are needed »use ESTIMATE to estimate earliest availability of result, only start using EXAMINE then »move EXAMINE/EXTRACT as far down as possible ==> in contradiction to moving up INVOKEs »for overall optimization run-time scheduling is necessary: polling of all active invocations and issuing of next possible invocation as soon as data is ready

June 1998 CHAIMS5 Scheduling - Possible Actions (3) Pre-scheduling: create optimized invocation plan at compile-time »use ESTIMATE to determine most reasonable order of INVOKEs and EXTRACTs »refine at run-time by run-time scheduling TERMINATE: terminate invocations that are no longer needed (save resources) »not every method invocation has an extract (e.g. print-like functions)

June 1998 CHAIMS6 Scheduling - Simple Example 1 cost_ground_ih = cost_mmh.INVOKE ("Cost_for_Ground", 1 List_of_City_Pairs = city_pairs,Goods = info_goods) 2 WHILE (cost_ground_ih.EXAMINE() != DONE) {} 3 (cost_list_ground = cost_ground) = cost_ground_ih.EXTRACT() 3 cost_air_ih = cost_mmh.INVOKE ("Cost_for_Air", 2 List_of_City_Pairs = city_pairs,Goods = info_good) 4 WHILE (cost_air_ih.EXAMINE() != DONE) {} 4 cost_list_air = cost_air_ih.EXTRACT() 5 cost_air_ih = opt_mmh.INVOKE (”Optimum", 5 cost1 = cost_list_ground, cost2 = cost_list_air) order in unscheduled megaprogram order in automatically scheduled megaprogram