Design and Implemention of a Plugin Scheduler for DIET March 11, - - PowerPoint PPT Presentation

design and implemention of a plugin scheduler for diet
SMART_READER_LITE
LIVE PREVIEW

Design and Implemention of a Plugin Scheduler for DIET March 11, - - PowerPoint PPT Presentation

Background on DIET Plugin Scheduler Design and Implemention of a Plugin Scheduler for DIET March 11, 2005 Design and Implemention of a Plugin Scheduler for DIET Background on DIET Plugin Scheduler Outline Background on DIET 1


slide-1
SLIDE 1

Background on DIET Plugin Scheduler

Design and Implemention of a Plugin Scheduler for DIET

March 11, 2005

Design and Implemention of a Plugin Scheduler for DIET

slide-2
SLIDE 2

Background on DIET Plugin Scheduler

Outline

1

Background on DIET Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Design and Implemention of a Plugin Scheduler for DIET

slide-3
SLIDE 3

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Outline

1

Background on DIET Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Design and Implemention of a Plugin Scheduler for DIET

slide-4
SLIDE 4

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

The Computational Grid and DIET

Grid platforms

heterogeneous computational resources irregular network topologies dynamic resource performance

DIET philosophy and design principles

server and broker agent model hierarchical organization flexible deployment options

Design and Implemention of a Plugin Scheduler for DIET

slide-5
SLIDE 5

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Basic progress of a DIET call:

Design and Implemention of a Plugin Scheduler for DIET

slide-6
SLIDE 6

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Basic progress of a DIET call:

Client requests service from the Master Agent (MA)

Design and Implemention of a Plugin Scheduler for DIET

slide-7
SLIDE 7

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Basic progress of a DIET call:

Client requests service from the Master Agent (MA) The MA interrogates the DIET hierarchy

Design and Implemention of a Plugin Scheduler for DIET

slide-8
SLIDE 8

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

E1 E2 E3

Basic progress of a DIET call:

Client requests service from the Master Agent (MA) The MA interrogates the DIET hierarchy Each Server Daemon (SeD) responds with an execution time estimate

Design and Implemention of a Plugin Scheduler for DIET

slide-9
SLIDE 9

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

E3 E1 E2

[ ]

Basic progress of a DIET call:

Client requests service from the Master Agent (MA) The MA interrogates the DIET hierarchy Each Server Daemon (SeD) responds with an execution time estimate Each Local Agent (LA) compiles and sorts the responses by execution time

Design and Implemention of a Plugin Scheduler for DIET

slide-10
SLIDE 10

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

E1 E5 E3

] [

Basic progress of a DIET call:

Client requests service from the Master Agent (MA) The MA interrogates the DIET hierarchy Each Server Daemon (SeD) responds with an execution time estimate Each Local Agent (LA) compiles and sorts the responses by execution time MA returns a list of servers to the client

Design and Implemention of a Plugin Scheduler for DIET

slide-11
SLIDE 11

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

DIET Overview

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Basic progress of a DIET call:

Client requests service from the Master Agent (MA) The MA interrogates the DIET hierarchy Each Server Daemon (SeD) responds with an execution time estimate Each Local Agent (LA) compiles and sorts the responses by execution time MA returns a list of servers to the client Client launches service directly on SeD

Design and Implemention of a Plugin Scheduler for DIET

slide-12
SLIDE 12

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Some Implementation Details

Three primary components of the DIET system:

Design and Implemention of a Plugin Scheduler for DIET

slide-13
SLIDE 13

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Some Implementation Details

Three primary components of the DIET system: Agents (MA and LA)

implemented in C++ scope: DIET internal at runtime, assembled top-down

Design and Implemention of a Plugin Scheduler for DIET

slide-14
SLIDE 14

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Some Implementation Details

Three primary components of the DIET system: Agents (MA and LA)

implemented in C++ scope: DIET internal at runtime, assembled top-down

Servers (SeD)

implemented in either C or C++ scope: application service developer API hierarchy must exist

Design and Implemention of a Plugin Scheduler for DIET

slide-15
SLIDE 15

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Some Implementation Details

Three primary components of the DIET system: Agents (MA and LA)

implemented in C++ scope: DIET internal at runtime, assembled top-down

Servers (SeD)

implemented in either C or C++ scope: application service developer API hierarchy must exist

Client

implemented in either C or C++ scope: application developer or user uses services existing at execution time

Design and Implemention of a Plugin Scheduler for DIET

slide-16
SLIDE 16

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Some Implementation Details

Three primary components of the DIET system: Agents (MA and LA)

implemented in C++ scope: DIET internal at runtime, assembled top-down

Servers (SeD)

implemented in either C or C++ scope: application service developer API hierarchy must exist

Client

implemented in either C or C++ scope: application developer or user uses services existing at execution time

Communication infrastructure CORBA-based model

  • mniORB implementation

Design and Implemention of a Plugin Scheduler for DIET

slide-17
SLIDE 17

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Advantages and Limitations

Advantages: scalability: hierarchy enables parallel server interrogation and distributed scheduling of requests straighforward interface: just the name and the correct number of arguments are needed abstraction: distributed platform details are largely hidden

Design and Implemention of a Plugin Scheduler for DIET

slide-18
SLIDE 18

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Advantages and Limitations

Advantages: scalability: hierarchy enables parallel server interrogation and distributed scheduling of requests straighforward interface: just the name and the correct number of arguments are needed abstraction: distributed platform details are largely hidden Limitations: deployment of appropriate hierarchies for a given grid platform is non-obvious limited consideration of inter-task factors non-standard application-specific performance measures

Design and Implemention of a Plugin Scheduler for DIET

slide-19
SLIDE 19

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Advantages and Limitations

Advantages: scalability: hierarchy enables parallel server interrogation and distributed scheduling of requests straighforward interface: just the name and the correct number of arguments are needed abstraction: distributed platform details are largely hidden Limitations: deployment of appropriate hierarchies for a given grid platform is non-obvious limited consideration of inter-task factors non-standard application-specific performance measures

Design and Implemention of a Plugin Scheduler for DIET

slide-20
SLIDE 20

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

basic DIET deployment

Design and Implemention of a Plugin Scheduler for DIET

slide-21
SLIDE 21

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

basic DIET deployment client application with data dependencies

Design and Implemention of a Plugin Scheduler for DIET

slide-22
SLIDE 22

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

basic DIET deployment client application with data dependencies

Design and Implemention of a Plugin Scheduler for DIET

slide-23
SLIDE 23

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

basic DIET deployment client application with data dependencies

Design and Implemention of a Plugin Scheduler for DIET

slide-24
SLIDE 24

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

Motivation

basic DIET deployment client application with data dependencies “performance” is not well-defined

Design and Implemention of a Plugin Scheduler for DIET

slide-25
SLIDE 25

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

Motivation

basic DIET deployment client application with data dependencies “performance” is not well-defined

Possible meanings for performance

existence of data

  • avail. free memory

specific architecture previous scheduling decisions application-specific measures composite requirements ...

Design and Implemention of a Plugin Scheduler for DIET

slide-26
SLIDE 26

Background on DIET Plugin Scheduler Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

Motivation

basic DIET deployment client application with data dependencies “performance” is not well-defined

Possible meanings for performance

existence of data (GriPPS)

  • avail. free memory (MUMPS?)

specific architecture (TLSE) previous scheduling decisions application-specific measures composite requirements ...

Design and Implemention of a Plugin Scheduler for DIET

slide-27
SLIDE 27

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Outline

1

Background on DIET Computational Grid Computing DIET Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Design and Implemention of a Plugin Scheduler for DIET

slide-28
SLIDE 28

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling

Plugin scheduling facilities to enable application-specific definitions of appropriate performance metrics an extensible measurement system tunable comparison/aggregation routines for scheduling

Design and Implemention of a Plugin Scheduler for DIET

slide-29
SLIDE 29

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling

Plugin scheduling facilities to enable application-specific definitions of appropriate performance metrics an extensible measurement system tunable comparison/aggregation routines for scheduling Design changes Component Before After SeD

automatic performance esti- mate (FAST/NWS) chosen/defined by application programmer

Design and Implemention of a Plugin Scheduler for DIET

slide-30
SLIDE 30

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling

Plugin scheduling facilities to enable application-specific definitions of appropriate performance metrics an extensible measurement system tunable comparison/aggregation routines for scheduling Design changes Component Before After SeD

automatic performance esti- mate (FAST/NWS) chosen/defined by application programmer

Agents

  • exec. time sorting

“menu” of aggregation meth-

  • ds

Design and Implemention of a Plugin Scheduler for DIET

slide-31
SLIDE 31

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling

Plugin scheduling facilities to enable application-specific definitions of appropriate performance metrics an extensible measurement system tunable comparison/aggregation routines for scheduling Design changes Component Before After SeD

automatic performance esti- mate (FAST/NWS) chosen/defined by application programmer

Agents

  • exec. time sorting

“menu” of aggregation meth-

  • ds

Client

CLIENT CODE UNCHANGED

Design and Implemention of a Plugin Scheduler for DIET

slide-32
SLIDE 32

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling Enhancements

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Example: Client request for comparison

  • peration on blue database

request arrives at SeD level

Design and Implemention of a Plugin Scheduler for DIET

slide-33
SLIDE 33

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling Enhancements

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

Example: Client request for comparison

  • peration on blue database

request arrives at SeD level

Design and Implemention of a Plugin Scheduler for DIET

slide-34
SLIDE 34

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling Enhancements

DIET hieararchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

N Y Y

Example: Client request for comparison

  • peration on blue database

request arrives at SeD level

Design and Implemention of a Plugin Scheduler for DIET

slide-35
SLIDE 35

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling Enhancements

DIET hieararchy:

[ Y Y ] LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Example: Client request for comparison

  • peration on blue database

request arrives at SeD level

  • nly positive responses need to be

propagated through the hierarchy

Design and Implemention of a Plugin Scheduler for DIET

slide-36
SLIDE 36

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Plugin Scheduling Enhancements

DIET hieararchy:

[ Y Y ] LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Example: Client request for comparison

  • peration on blue database

request arrives at SeD level

  • nly positive responses need to be

propagated through the hierarchy simple example: client gets random choice of two feasible servers more realistic: other factors used to decide

processor speed, memory database contention future requests

Design and Implemention of a Plugin Scheduler for DIET

slide-37
SLIDE 37

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Implementation Mechanisms

What mechanisms are needed to implement this framework? SeD-level (response to client request)

interrogate the system performance store selected performance metrics

Agent-level (aggregation of server responses)

collect server responses and extract stored performance estimates

  • rder responses from children, based on provided metrics

forward ordered responses to next higher level

Design and Implemention of a Plugin Scheduler for DIET

slide-38
SLIDE 38

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

SeD-level Interface

Estimation Vector Dynamic array of estimation values:

tag (byte) + value (float) estVector t new estVector() int estVector addEstimation(estVector t, diet est tag t, double)

Design and Implemention of a Plugin Scheduler for DIET

slide-39
SLIDE 39

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

SeD-level Interface

Estimation Vector Dynamic array of estimation values:

tag (byte) + value (float) estVector t new estVector() int estVector addEstimation(estVector t, diet est tag t, double)

Tags and access functions for existing performance metrics

FAST/NWS (e.g, int diet estimate fast(estVector t, const diet profile t*)) SeD execution timestamp (to approximate Round-robin scheduling)

Design and Implemention of a Plugin Scheduler for DIET

slide-40
SLIDE 40

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

SeD-level Interface

Estimation Vector Dynamic array of estimation values:

tag (byte) + value (float) estVector t new estVector() int estVector addEstimation(estVector t, diet est tag t, double)

Tags and access functions for existing performance metrics

FAST/NWS (e.g, int diet estimate fast(estVector t, const diet profile t*)) SeD execution timestamp (to approximate Round-robin scheduling)

User-defined tags

Design and Implemention of a Plugin Scheduler for DIET

slide-41
SLIDE 41

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

SeD-level Interface

Estimation Vector Dynamic array of estimation values:

tag (byte) + value (float) estVector t new estVector() int estVector addEstimation(estVector t, diet est tag t, double)

Tags and access functions for existing performance metrics

FAST/NWS (e.g, int diet estimate fast(estVector t, const diet profile t*)) SeD execution timestamp (to approximate Round-robin scheduling)

User-defined tags Equivalent CORBA object and marshalling function

Design and Implemention of a Plugin Scheduler for DIET

slide-42
SLIDE 42

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Agent-level Interface

New Profile Parameters New dynamic array of prioritized optimization directives:

tag: basis for comparison semantics: maximize, minimize, etc.

At service registration time, directives are fixed At runtime, directives used to order server responses

Design and Implemention of a Plugin Scheduler for DIET

slide-43
SLIDE 43

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Modules’ Status

Estimation Vector Fully functional API for storage of raw values Basic library of standard estimators Interface for user-defined metrics to be redesigned DIET Profile Enhancements Existing scheduling strategy (i.e., preference for FAST) re-implemented using estimation vector User-defined metrics currently ignored Providing access to DIET agent hiearchy not previously supported

Design and Implemention of a Plugin Scheduler for DIET

slide-44
SLIDE 44

Background on DIET Plugin Scheduler Design Implementation Current Status (Near-)Future Work

Work in Progress

Near-term Milestones Profile parameter extension to support priority optimization New performance estimator routines

alternative performance measurement systems (e.g., ganglia) emerging DIET functionality (e.g., SeD-level queues)

Initial plugin scheduler: DIET release 2.0 Open Issues Enforcement of optimization strategy over entire hiearchy Evaluate need for more expressive aggregation methods Incorporate runtime scheduling preferences

Design and Implemention of a Plugin Scheduler for DIET