Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computing System

Embed Size (px)

Citation preview

Twitter

Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computing System

I am Sugree Phatanapherom from Kasetsart University.

This research is a co-work with Asst. Prof. Putchong Uthayopas.

Ready, steady, go.

What is batch scheduler?

Batch scheduler is responsible to schedule jobs to execute on resources at the right time.

Why do we need batch scheduler?

To utilize resources efficiently.

To finish all jobs as fast as possible.

To minimize power consumption.

In general, it is so called "resource scheduling problem".

Jobs, Resources and Time

timeresources

In this research, main criteria is to minimize cost to run the resources.

Back to the past, most works focused on improving algorithms.

To simplify the problem, this research limits scope job characteristics to independent sequential jobs.

In short, a job contains the one and only one task.

In other words, job = task.

Scheduling Algorithms

SchedulingOn-lineBatchRROLBMETMCTMinMinMaxMinSufferageXSufferage

CMinMinCMaxMinCSufferage

There are on-line and batch scheduling.

The most simple algorithm is "Round Robin".

"Opportunistic Load Balancing" assigns job to the next available machine.

"Minimum Execution Time" assigns job to the fastest machine.

"Minimum Completion Time" assigns job to the machine with minimum completion time for that job.

Next are batch scheduling algorithms.

"MinMin" assigns shortest job to the fastest machine.

"MaxMin" assign longest job to the fastest machine.

"Sufferage" is reassignable MaxMin.

"XSufferage" is Sufferage with data locality.

CMinMin, CMaxMin and CSufferage are derivative with costing.

How to verify? How to evaluate?

The answer is simulation. Why?

Closed. Controllable. Reproducible.

Simulation is assumption and modeling.

Grid is a meta-scheduler and underlying cluster schedulers managing hosts.

Grid

Grid SchedulerClusterSchedulerHostClusterSchedulerClusterScheduler

jobsHost

Interconnection between scheduler and processors are dedicated.

Network

SchedulerProcessorStorage

ProcessorProcessorProcessor

Job consists of inputs, outputs and executable.

Job

Executable

InputOutput

Machine

Operations are 2 steps; mapping and scheduling.

Mapping "job" to "machine".

Schedule "job" to the exact time.

In short, the result is generic priority index.

Time

time

ready time

execution time

deadline

period before deadline

Cost

cost

cumulative cost

cost

Experimented based on GAMESS job log in ThaiGrid to assume a small and a big system and named them, KUGrid and ThaiGrid, respectively.

Makespan and cost are observed.

Makespan is the period of time from when the first job submitted to the last job finished.

Price-Performance

Cost

Makespan

Looks great! Any problems? Yes!

Priority index contains 5 factors. What are the right values?

What are the factors of those factors?

There are so many dependencies. Job characteristics. Resource characteristics. User characteristics.

This problem is so called "Multi-variate Optimization".

Plus, a bit more complex with evaluation in simulator.

How to solve?

Optimization Architecture

OptimizerSimulatorSimulatorSimulatorSimulator

BatchScheduler

MonitoringSystemAccountingSystem

Optimization Algorithm?

Particle Swarm Optimization is selected as the first one to try.

The position of each particle in n-dimension plane represents solution.

PSO is social influence in various scopes.

Local, neighbor and global.

Usually, one trust oneself, friends and the world, respectively. The level of trust.

PSO

How to fully automate self-tuning process?

Historical data are the key.

The quality of solution depends on optimizer.

Running optimizer longer may return better solution.

Precision of using historical data depends on data period and amount of data.

How to use historical data? Log replay or estimation.

How to maximize solution quality to near optimal?

Just run more simulations using the whole grid system to optimize itself at night!

Results? Please accept my apologize. They are not published yet.

Conclusion.

Flexible algorithms introduce more adjustable factors.

The factors are vary from time to time.

In other view, these algorithms are improved by external optimization periodically.

Particle swarm optimization is selected to solve multi-variate optimization.

Improve scheduler by scheduler itself.

Any questions?

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

sugree