|Ph.D Student||Morad Tomer|
|Subject||Energy- Efficient System Resource Allocation|
|Department||Department of Electrical Engineering||Supervisors||Professor Emeritus Uri Weiser|
|Professor Emeritus Avinoam Kolodny|
|Full Thesis text|
The ever increasing power and energy consumption of servers is becoming a major challenge in designing and maintaining modern data centers. The infrastructure required for supplying high amounts of power to servers and for dissipating the heat they generate is complex and expensive. Each Joule consumed by the servers for computation requires additional energy for the supporting infrastructure. The impact of data center power consumption on the environment is also becoming a major concern. It is thus imperative that computations in data centers become as energy-efficient as possible.
Mainstream multicore CPUs have emerged after it was no longer possible to improve performance in uniprocessors within a practical power budget of a single chip. Finding the best allocation of resources among cores in order to achieve higher performance within a power budget is difficult due to the huge design space of multicores. Some resources, such as chip area, must be allocated at design time. Other resources, such as compute cores and memory bandwidth, are allocated to applications at runtime by the operating system. Poor resource allocation can have an adverse effect on energy efficiency.
The goal of this research is to provide frameworks for allocating resources in modern server architectures to improve energy efficiency. This goal is achieved by developing analytical models for performance and power, and validating the results with proof-of-concept implementations on real systems.
Three aspects of energy savings are evaluated in this thesis. The first part of this thesis is dedicated to analysis of resource allocation among cores in a multicore chip at design time. A model for power and performance of symmetric and asymmetric multiprocessors is developed. Using the model, it is shown that asymmetric multiprocessors outperform any symmetric multiprocessor configuration when running a multithreaded workload.
The second part of this thesis is devoted to studying energy-efficient allocation of shared resources to applications running on a multicore. Models are developed for contention on a shared resource by several threads and for power consumption of multicore processors. Energy Friendly Scheduler (EFS), a new scheduler that uses these models is presented. EFS schedules threads only when the additional performance gained by adding another thread outweighs the associated power costs. EFS is implemented in Linux on a real system, and exhibits up to 32% energy improvements as measured using an external power meter. The evaluation is extended for distribution of compute resources among multithreaded programs that run concurrently. A scheduler that favors critical-serial threads of multithreaded programs is shown to achieve up to 16% speedup with higher server utilization.
The third part of this thesis is dedicated to optimizing big data applications with a dominant Read-Once access pattern, by correctly allocating server resources. Current memory hierarchies are tuned for workloads with high temporal locality. In these architectures, read-once data is copied to all hierarchy levels without ever being used again. A framework for bypassing DRAM is provided, which demonstrates up to 5% of server power savings in read-once dominated big data applications.