Bilkent University
Department of Computer Engineering


Abstract for Hardware Sensitive Job Scheduling for Cloud Computing


Tuncer Turhan
MSc Student Student
Computer Engineering Department
Bilkent University

Cloud Computing provides on-demand computing resources in pay-per use basis which is becoming more and more popular each day since it provides its clients a cheap and fast way to acquire required computing resources. From clients’ point of view, the services provided should be as easy as possible. However, while the client is isolated from all the complexity, service providers should handle the management of the hardware resources available. One of the common issues is the scheduling of the jobs assigned by the clients, to achieve better utilization of the computing hardware. Currently there are different range of software in the market that handles the scheduling of the jobs using various techniques like FIFO, FAIR scheduling, static scheduling, GA-based scheduling and Ant Colony Optimization techniques. TORQUE for instance is an open-source resource manager for Cloud Computing Systems. Although, TORQUE offers many features for resource management, it does not provide a hardware sensitive job scheduling mechanism. When there are many different hardware resources available, the jobs should be scheduled in accommodation with the underlying hardware so that the best performance can be achieved using cheaper hardware and the job can be successfully handled using less electrical power, overall achieving a better price/performance for the hardware used. In the last decade, General Purpose usage of GPU hardware became very popular and in case of highly parallelizable data applications, it provides great level of performance, price and power usage advantages against CPU. In fact, in our project for course Chip Multiprocessors, we used GPU for Matrix Multiplication problem and achieved around 35x speed up when single GPU is used and around 80x speed up when two GPUs are used at the same time. This indicates that, when scheduled correctly the jobs will be handled in a faster and cheaper manner. This can be done by profiling of the jobs according to its characteristic features and so the scheduler can make an informed decision whether the job is more suitable for CPU, GPU, field-programmable gate array (FPGA) hardware available etc… I am planning to use TORQUE software as a baseline and extend its features by providing it a hardware sensitive mechanism. As for future work, I want to handle the profiling and feature extraction of the scheduled jobs by software, and even provide a mechanism to perceive the job behavior on runtime and schedule dynamically. Additionally, the increase in the number of features for a job will provide better distinction of job characteristics and achieve better performance.


DATE: 02 April, 2012, Monday @ 15:40