CHAIMS: Compiling High-level Access Interfaces for Multisite Software Neal Sample Stanford University.

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

Database Architectures and the Web
1 Mariposa system Witold Litwin. 2 Basic goals WAN oriented DDBS Multiple sites –e.g., 1000 Scalable Locally autonomous Easy to evolve.
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.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Parallel Programming Models and Paradigms Prof. Rajkumar Buyya Cloud Computing and Distributed Systems (CLOUDS) Lab. The University of Melbourne, Australia.
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
Short Term Scheduling Introduction What – Scheduling or timing of operations Where – Timing of operations affects the overall strategy Why – Reduce costs,
Technical Architectures
Lecture 1: History of Operating System
Chapter 3 Operating Systems. Chapter 3 Operating Systems 3.1 The Evolution of Operating Systems 3.1 The Evolution of Operating Systems 3.2 Operating System.
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.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
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.
April 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, Composing Autonomous Internet Services with CHAIMS CHAIMS Objective: Using and composing.
University of Kansas Construction & Integration of Distributed Systems Jerry James Oct. 30, 2000.
January 1999 CHAIMS1 Repository add information to e b CORBA / Process - Providing Megamodules writes CPAM compliant megamodules from scratch d MEGA Modules.
Scheduling Under Uncertainty: Planning for the Ubiquitous Grid Neal Sample Pedram Keyani Gio Wiederhold Stanford University.
Megamodules domain expert writes megaprogram for composition CHAIMS automizes generation of client for distributed system megamodule provider provides.
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
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 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
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:
A Statistical Scheduling Technique for a Computational Market Economy Neal Sample Stanford University.
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.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
June 1998 CHAIMS1 CLAM Why new language? –complexity: not all facilities of a common language –new paradigm: inhibiting traditional computational programming.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Self Adaptivity in Grid Computing Reporter : Po - Jen Lo Sathish S. Vadhiyar and Jack J. Dongarra.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Operating Systems Part III: Process Management (CPU Scheduling)
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Computer Software Chapter 4.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
CIS250 OPERATING SYSTEMS Chapter One Introduction.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
1 Copyright © 2005, Oracle. All rights reserved. Following a Tuning Methodology.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Lecture 12 Scheduling Models for Computer Networks Dr. Adil Yousif.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Applied Operating System Concepts
Database Architectures and the Web
Processes and Threads Processes and their scheduling
Chapter 20 Object-Oriented Analysis and Design
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
CHAIMS January 1999 CHAIMS.
Operating System Overview
Presentation transcript:

CHAIMS: Compiling High-level Access Interfaces for Multisite Software Neal Sample Stanford University

2 Coding Integration/Composition Shift in Programming Tasks

3 Sample Tasks Logistics Reservation and distribution systems, “find the best transportation route from A to B” Genomics Framework for composing various processing tools and repositories Modeling Weather prediction, complex chemical systems, basin modeling Etc.

4 large: computation intensive, data intensive, ongoing processes (monitoring services) distributed: to be used by more than one client heterogeneous: accessible by various distribution protocols autonomous: maintenance and control over resourses remains with provider, differing ontologies Megamodules

5 CLAM Composition Language Purely compositional no primitives for arithmetic no primitives for input/output Splitting up CALL-statement parallelism by asynchrony in sequential program novel possibilities for optimizations reduction of complexity of invoke statements Higher-level language assembly  HLLs HLLs  composition/megamodule paradigm

6 CLAM Primitives Pre-invocation: SETUP: set up the connection to a megamodule SET-, GETPARAM: in a megamodule ESTIMATE: for optimization Invocation and result gathering: INVOKE EXAMINE: test progress of an invoked method EXTRACT: extract results from an invoked method Termination: TERMINATE: terminate a method invocation/connection to a megamodule

7 Architecture composer megaprogram CLAM megamodules compiler/interpreter CPAM JavaCORBACOM

8 Services are not free for a client Effort: service fee Time: pre- and post- execution delays Volume: Network and transfer fees What we have in CHAIMS: monitoring progress of a service choosing among equivalent services based on estimated waiting time and fees parallelism among services novel optimization techniques Heavyweight Services

9 Scheduling To benefit from CHAIMS’ capabilities, we need a strong scheduler There are lessons from other scheduling domains Process Job shop Real-time Soft real-time

10 Process Scheduling Objectives Maximize response time Maximize throughput “Fairness” … Techniques Round robin Shortest job first Longest job first … CPU

11 Job Shop Scheduling Objectives Minimize overall time Maximize throughput … Techniques A priori analysis Heuristics Case-based reasoning …

12 Real-time Scheduling Objectives Mission critical control tasks Techniques Redundant parallel hardware Excess capacity (over specification) Tight controls Cacheless CPUs Strict compilers

13 Soft Real-time Scheduling Objectives Multimedia scheduling User interaction, etc. Techniques Reservations Synchronization rules …

14 CHAIMS Scheduling Closest to Soft Real-time, Job Shop Objectives Minimize transaction time Minimize transaction cost Differences No control over service availability No control over resource allocation No control over workplace loads => Schedules become inaccurate

15 Scheduling Difficulties Adaptation: Schedules must be adaptive Schedules for T 0 are only guesses Estimates for multiple stages may become invalid => Schedules must be revised during runtime Allocation: The scheduler does not handle resource allocation Means: Competing objectives have orthogonal scheduling techniques Changing goals for tasks or users means vastly increased scheduling complexity

16 Cost Model hold fee lateearlyon time target start/run reservation finish client ready for data client ready to start data transportation costs +

17 Simple Relationship Support simple dependencysimple loops multiple dependency ABA A B C C A B

18 Tying It All Together Have Language and runtime support for module examination and steering Complete cost model Heuristics for primitive relationships Need Runtime analysis module Goal-based replanner

19 Conclusions Without control over service availability and resource allocation, traditional scheduling is useless Schedules are “moving targets” that must be changed at runtime With external actors in control of allocation, the best we can do is plan for time and fee, simultaneously