Managing multicore shared resources in consolidated environments
by Rafique, Nauman, Ph.D., PURDUE UNIVERSITY, 2008, 136 pages; 3373223

Abstract:

The number of available cores on multicore processors is increasing at a significant rate. This trend has encouraged enterprises to consolidate multiple workloads on single server to improve the utilization of their servers and reduce total power consumption. Unfortunately, the performance of individual workloads in consolidated environment is often unpredictable and sometimes even significantly worse than on dedicated servers. Thus there is a need to manage the shared resources in multicore processors including lower level hardware caches, DRAM bandwidth and on-chip interconnect. It is undesirable to manage these resources entirely in hardware (no policy flexibility) or software (high overhead).

I solve the problem of managing multicore shared resources by dividing the problem into software driven macro-management and hardware-driven micro-management by using “quotas”—minimum resource allocation guarantees—as an intermediate abstraction. The software macromanages resource sharing by assigning resource quotas to sharers without participating in individual resource allocation/deallocation decisions. The quotas are communicated by the software to the architecture layer via a well-defined interface. The hardware micro-management mechanism guarantees that software-specified quotas are enforced, thus eliminating the need for (and the performance penalty of) temporally fine-grained software intervention.

I propose hardware mechanisms and interfaces required for quota enforcement and communication for L2 caches and DRAM bandwidth. I have implemented the software framework required for managing these resources in a popular operating system (Linux) and hypervisor (XEN). My implementation allows arbitrary grouping of threads and processes for the purpose of resource management. It also allows hierarchical resource distribution where resources can be allocated to Virtual Machines (VMs), individual applications within VMs, and threads within an individual application. Sophisticated application level resource managers can be trivially created using this framework; an example would be managers which can dynamically allocate resource based on application level performance feedback like transaction throughput. I have tested my implementation in a full system simulator (SIMICS) with workloads including industry standard commercial and scientific benchmarks. My results show that my implementation achieves all the desired goals with little overheard.

 
AdviserMithuna S. Thottethodi
SchoolPURDUE UNIVERSITY
SourceDAI/B 70-09, p. , Nov 2009
Source TypeDissertation
SubjectsElectrical engineering; Computer science
Publication Number3373223
Adobe PDF Access the complete dissertation:
 

» Find an electronic copy at your library.
  Use the link below to access a full citation record of this graduate work:
  http://gateway.proquest.com/openurl%3furl_ver=Z39.88-2004%26res_dat=xri:pqdiss%26rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation%26rft_dat=xri:pqdiss:3373223
  If your library subscribes to the ProQuest Dissertations & Theses (PQDT) database, you may be entitled to a free electronic version of this graduate work. If not, you will have the option to purchase one, and access a 24 page preview for free (if available).

About ProQuest Dissertations & Theses
With over 2.3 million records, the ProQuest Dissertations & Theses (PQDT) database is the most comprehensive collection of dissertations and theses in the world. It is the database of record for graduate research.

The database includes citations of graduate works ranging from the first U.S. dissertation, accepted in 1861, to those accepted as recently as last semester. Of the 2.3 million graduate works included in the database, ProQuest offers more than 1.9 million in full text formats. Of those, over 860,000 are available in PDF format. More than 60,000 dissertations and theses are added to the database each year.

If you have questions, please feel free to visit the ProQuest Web site - http://www.proquest.com - or call ProQuest Hotline Customer Support at 1-800-521-3042.