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