Two significant revolutions are underway in computing. (1) On the hardware side, exponentially growing transistor counts in the same area, limited power budget and the breakdown of MOSFET voltage scaling are forcing power to be the first order constraint of computer architecture design. Data center electricity costs are billions of dollars each year in the U.S. alone. To address power constraints and energy cost, industry and academia propose asymmetric multicore processors (AMP) that integrate...[Show more] general-purpose big (fast, high power) cores and small (slow, low power) cores. They promise to improve both single-thread performance and multi-threaded throughput with lower power and energy consumption. (2) On the software side, managed languages, such as Java and C#, and an entirely new software landscape of web applications have emerged. This has revolutionized how software is deployed, is sold, and interacts with hardware, from mobile devices to large servers. Managed languages abstract over hardware using Virtual Machine (VM) services (garbage collection, interpretation, and/or just-in-time compilation) that together impose substantial power and performance overheads. Thus, hardware support for managed software and managed software utilization of available hardware are critical and pervasive problems. However, hardware and software researchers often examine the changes arising from these on going revolutions in isolation. Architects mostly grapple with microarchitecture design through the narrow software context of native sequential SPEC CPU benchmarks, while language researchers mostly consider microarchitecture in terms of performance alone. This dissertation explores the confluence of the two trends. My thesis is that there exists a synergy between managed software and AMP architectures that can be automatically exploited to reduce VM overheads and deliver the efficiency promise of AMP architectures while abstracting over hardware complexity. This thesis identifies a synergy between AMP and managed software, and addresses the challenge of exploiting it through the following three steps. (1) It first systematically measures and analyzes the power, performance, and energy characteristics of managed software compared to native software on current mainstream symmetric hardware, which motivates the next part of the thesis. (2) It next demonstrates that VM services fulfil the AMP workload requirements and tailored small cores for VM services deliver improvements in performance and energy. (3) Finally, it introduces a dynamic scheduling algorithm in the VM that manages parallelism, load balance and core sensitivity for efficiency. This thesis is the first to quantitatively study measured power and performance at the chip level across hardware generations using managed and native workloads, revealing previously unobserved hardware and software trends. This thesis proposes solutions to the 40% overhead of VM services by using tailored small cores in AMP architectures. This thesis introduces a new dynamic VM scheduler that offers transparency from AMP heterogeneity and substantial performance and energy improvements. Those contributions show that the opportunities and challenges of AMP architectures and managed software are complementary. The conjunction provides a winwin opportunity for hardware and software communities now confronted with performance and power challenges in an increasingly complex computing landscape.
Items in Open Research are protected by copyright, with all rights reserved, unless otherwise indicated.