Invited talk by Prof. Suresh Purini onPhase Ordering in Compilers and Distributed Virtual Machine Co-scheduling
Title of the Talk:Phase Ordering in Compilers and Distributed Virtual Machine Co-scheduling
Speaker:Prof. Suresh Purini
Date &Time:Wednesday April 2, 2014 2pm – 3pm
This will be a two part talk, the first part is on the phase ordering problem in compilers, and the second part is on a distributed approach for co-scheduling virtual machines across a set of physical machines in a data center. First Part: Modern compilers support many program transformations, also called as compiler optimizations, to improve the quality of the generated machine code with respect to the program runtime. However, the improvement in the program runtime depends on the compiler optimizations enabled and the order in which they are applied. Finding a best optimization sequence for a given input program is a huge combinatorial search problem and as such heuristic search techniques such as genetic algorithms have to be applied. Heuristic search techniques are not practical as they require large number of program evaluations. An alternate approach based on machine learning based techniques can potentially reduce the number of program evaluations. However, this path is fraught with difficulties such as not having enough training data, suitable choice of program features and predictive models. In this talk, I will present a new technique which requires few number of program evaluations and still bypasses the hurdles posed by the machine learning based approaches. Second Part: When multiple virtual machines (VMs) are co scheduled on the same physical machine, they may undergo a performance degradation. The performance degradation is due to the contention for shared resources like last level cache, hard disk, network bandwidth etc. This can lead to service-level agreement violations and thereby customer dissatisfaction. The classical approach to solve the coscheduling problem involves a central authority which decides a co schedule by solving a constrained optimization problem with an objective function such as average performance degradation. In this part of the talk, I will present a new game theoretic perspective to the co scheduling problem wherein each VM selfishly tries to minimize its performance degradation. We will see how the theory of stable matching due to Gale and Shapley comes in handy in formulating the selfish co scheduling problem
Suresh Purini is an Assistant Professor in IIIT-H since 2008. He is associated with the Center for VLSI and Embedded Systems Technologies (CVEST). He obtained his PhD and M.Tech in Computer Science from University of Maryland, Baltimore County and Indian Institute of Science, Bangalore respectively. His research interests include studying rapid design space exploration techniques for various problems in compilers, architectures and high performance computing; and application of game theoretical ideas for understanding cloud computing frameworks.