Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CHAIMS: Compiling High-level Access Interfaces for Multisite Software Neal Sample Stanford University."— Presentation transcript:

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

2 2 Coding Integration/Composition 1970 1990 2010 Shift in Programming Tasks

3 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 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 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 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 7 Architecture composer megaprogram CLAM megamodules compiler/interpreter CPAM JavaCORBACOM

8 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 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 10 Process Scheduling Objectives Maximize response time Maximize throughput “Fairness” … Techniques Round robin Shortest job first Longest job first … CPU

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

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

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

14 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 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 16 Cost Model hold fee lateearlyon time target start/run reservation finish client ready for data client ready to start +-+ ++ data transportation costs +

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

18 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 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


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

Similar presentations


Ads by Google