Design and Implemention of a Plugin Scheduler for Diet & - - 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 & - - PowerPoint PPT Presentation

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design and Implemention of a Plugin Scheduler for Diet & Performance Prediction in Diet with CoRI Collectors of Resource Information February 19, 2006 Design and


slide-1
SLIDE 1

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Design and Implemention of a Plugin Scheduler for Diet & Performance Prediction in Diet with CoRI Collectors of Resource Information

February 19, 2006

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-2
SLIDE 2

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Outline

1

Background on Diet Diet Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation

3

CoRI

4

Conclusion & Future Works

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-3
SLIDE 3

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Outline

1

Background on Diet Diet Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation

3

CoRI

4

Conclusion & Future Works

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-4
SLIDE 4

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Grids 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 & Perfo

slide-5
SLIDE 5

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Diet Overview

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

COMP_TIME COMM_TIME TOTAL_TIME AVAIL_MEM SeD response (DIET_profile_t) tcomp tcomm ttotal mavail tcomp

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 a response profile 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

Problem

Non-standard application- and platform-specific performance measures

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-6
SLIDE 6

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

Basic Diet deployment

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-7
SLIDE 7

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

Basic Diet deployment Client application with data dependencies

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-8
SLIDE 8

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Motivation

Basic Diet deployment Client application with data dependencies

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-9
SLIDE 9

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

Diet hierarchy:

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 & Perfo

slide-10
SLIDE 10

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

Diet hierarchy:

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 & Perfo

slide-11
SLIDE 11

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Diet Framework Motivation for Plugin Scheduler

Application-specific Performance Use Case

Diet hierarchy:

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

Context-sensitive performance metrics are needed

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-12
SLIDE 12

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Outline

1

Background on Diet Diet Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation

3

CoRI

4

Conclusion & Future Works

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-13
SLIDE 13

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

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 & Perfo

slide-14
SLIDE 14

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

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 applica- tion programmer

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-15
SLIDE 15

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

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 applica- tion programmer

Agents

  • exec. time sorting

“menu”

  • f

aggregation methods

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-16
SLIDE 16

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

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 applica- tion programmer

Agents

  • exec. time sorting

“menu”

  • f

aggregation methods

Client

CLIENT CODE UNCHANGED

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-17
SLIDE 17

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-18
SLIDE 18

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

EST SeD response (DIET_profile_t)

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Profile is an esimation vector: dynamic array of (tag,value) pairs

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-19
SLIDE 19

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

EST

COMP_TIME COMM_TIME AVAIL_MEM

SeD response (DIET_profile_t) tcomp tcomm mavail

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Profile is an esimation vector: dynamic array of (tag,value) pairs Contains standard performance metrics

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-20
SLIDE 20

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

? ? ?

EST

COMP_TIME COMM_TIME AVAIL_MEM DB_BLUE Y DB_PURPLE Y DB_YELLOW N

SeD response (DIET_profile_t) tcomp tcomm mavail

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Profile is an esimation vector: dynamic array of (tag,value) pairs Contains standard performance metrics and application-specific data

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-21
SLIDE 21

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

N Y Y

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Profile is an esimation vector: dynamic array of (tag,value) pairs Contains standard performance metrics and application-specific data

Custom responses propagated up

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-22
SLIDE 22

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

LA1 SeD1 SeD3 SeD2 MA

. . . . . .

EST

COMP_TIME COMM_TIME AVAIL_MEM DB_BLUE Y DB_PURPLE Y DB_YELLOW N

2 1 SeD response (DIET_profile_t) tcomp tcomm mavail

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Profile is an esimation vector: dynamic array of (tag,value) pairs Contains standard performance metrics and application-specific data

Custom responses propagated up

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-23
SLIDE 23

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

Plugin Scheduling Enhancements

Diet hierarchy:

[ Y Y ] LA1 SeD1 SeD3 SeD2 MA

. . . . . .

Example: Client request for comparison

  • peration on blue database or Juxmem

repository Request arrives at SeD level

Profile is an esimation vector: dynamic array of (tag,value) pairs Contains standard performance metrics and application-specific data

Custom responses propagated up Enables various selection methods

Basic resource availability Processor speed, memory Database contention Future requests

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-24
SLIDE 24

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

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 Order responses from children, based on provided metrics Forward ordered responses to next higher level

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-25
SLIDE 25

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

SeD-level Interface

Estimation Vector Dynamic array of estimation values:

tag (byte) + value (float) estVector t new estVector()

Accessing the EstVector

int diet est set(estVector t ev, int userTag, double value); double diet est get(estVectorConst t ev, int userTag, double errVal); double diet est get system(estVectorConst t ev, int systemTag, double errVal);

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) CoRI (EST NBCPU, EST CPUSPEED, EST FREEMEM, EST FREESIZEDISK, EST DISKACCESSREAD,..)

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-26
SLIDE 26

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works Design Implementation

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 & Perfo

slide-27
SLIDE 27

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Outline

1

Background on Diet Diet Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation

3

CoRI

4

Conclusion & Future Works

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-28
SLIDE 28

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Presentation

Collector: an easy interface to gather performances on a SeD

Load, memory, disk, network, ...

Currently, 2 modules supported: CoRI-Easy and Fast Can be extended: Ganglia, MDS, ... CoRI

CoRI−Easy Fast Other...

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-29
SLIDE 29

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

API

type collector={

EST COLL EASY, EST COLL FAST}

Some functions

int diet estimate cori( estVector t ev, int info type, diet est collect tag t collector type, void* data); int diet estimate cori add collector( diet est collect tag t collector type, void* data);

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-30
SLIDE 30

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

CoRI-Easy

Using fast and basic functions or simple performance tests Keep the independence of Diet Able to run on ”all” operating systems to allow a default scheduling with basic information

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-31
SLIDE 31

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Taking the previous example of the blue database...

The code would look like:

void set up scheduler(char *schedulertype, diet profile desc t* profile){ diet estimate cori add collector(EST COLL EASY,NULL); diet aggregator desc t *agg; agg = diet profile desc aggregator(profile); diet service use perfmetric(performance Load Avg); diet aggregator set type(agg, DIET AGG PRIORITY); diet aggregator priority min(agg, EST AVGFREECPU); } void performance Mem Free(estVector t perfValues){ diet estimate cori(perfValues,

EST FREEMEM, EST COLL EASY, NULL);

}

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-32
SLIDE 32

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Outline

1

Background on Diet Diet Framework Motivation for Plugin Scheduler

2

Plugin Scheduler Design Implementation

3

CoRI

4

Conclusion & Future Works

Design and Implemention of a Plugin Scheduler for Diet & Perfo

slide-33
SLIDE 33

Background on Diet Plugin Scheduler CoRI Conclusion & Future Works

Conclusion & Future Works

Conclusions Plugin schedulers available in Diet A unified perf. prediction CoRI

  • Perf. prediction modules: CoRI-Easy, Fast

Future Works Improve CoRI-Easy: faster and better Implement other collectors, like Ganglia Improve the default Diet scheduling algorithm

Design and Implemention of a Plugin Scheduler for Diet & Perfo