Migrating Java Threads with Fuzzy Control on Asymmetric Multicore Systems for Better Energy Delay Product Hsin-Ching Sun * , Bor-Yeh Shen * , Wuu Yang * , Jenq-Kuen Lee § * Department of Computer Science, National Chiao Tung University Hsinchu City 300, Taiwan hcsun, byshen, wuuyang@cs.nctu.edu.tw § Department of Computer Science, National Tsing Hua University Hsinchu City 300, Taiwan jklee@cs.nthu.edu.tw Abstract—Asymmetric multicore systems had been studied as a new hardware platform toward performance-power effi- ciency for the execution of application programs. Each core in the system has distinct performance and power characteristics. When exploiting asymmetric multicore systems, a major issue is to distribute threads to various cores. In this work, we build a pseudo asymmetric system by the dynamic voltage frequency scaling (DVFS) mechanism on Intel core-i7 920 for physical power measurement and implement a tool agent for regular JVM to form an asymmetric-aware JVM that supervises the execution of Java threads and migrates threads with a fuzzy- control scheduler. For result inspection, we consider energy delay product (EDP) as a metric to reveal the compromise between performance and energy use. Our fuzzy-control sched- uler results in EDP benefit for some benchmarks and lower overall energy consumption. 1 Keywords-Asymmetric multicore; JVM; power efficiency; schedule; I. I NTRODUCTION A. Asymmetric Multicore Systems Computer processor development in the form of single- core systems had reached the limit in terms of power consumption, memory gap, and thermal control. Chip vali- dation also becomes more and more difficult when IC chips get more and more complex. Although multicore systems had then become the solution for single-core development difficulties, a problem concerning energy utilization and per- formance in multicore systems is raised since under-utilized cores waste energy. To address the energy-saving problem, many researchers proposed the asymmetric multicore ar- chitecture in order to achieve better energy-performance efficiency [1]–[6]. Asymmetric multicore systems (ASYMS) consist of sev- eral cores (with identical or different ISA). These cores de- liver different performance and power characteristics. Figure 1 shows a 4-core system. The larger core is usually faster 1 The work reported in this paper is partially supported by National Science Council, Taiwan, Republic of China, under grants NSC 99-2220- E-009-048- and NSC 99-2220-E-009-049-. W. Yang is the corresponding author. Core 3 2.12GHz Dual issue Core 1 1.56GHz Single issue Core 2 1.56GHz Single issue Core 4 2.67GHz Four issue Figure 1. An asymmetric multicore system that consists of four cores in a chip. and more complex and consumes more energy. Different cores fit different performance and/or energy requirements for different applications. B. Toward Better Performance Power Efficiency When it comes to ASYMS, the software or the OS must be aware of this hardware asymmetry [2], [7]–[9]. A more aggressive thread-scheduling policy is required compared to traditional scheduling policies whose sole purpose is load balancing among the identical cores. There are two issues in scheduling ASYMS: performance [4], [8], [10]–[12] and power efficiency [1], [2], [5], [7]. In this work, we propose a new scheduling mechanism based on fuzzy control for ASYMS. Our objective is to achieve better performance and power efficiency. We build a pseudo asymmetric single- ISA multicore system with Intel core-i7 in our experiment. Each core runs in different frequencies, controlled by the dynamic voltage frequency scaling (DVFS) mechanism [13] for physical power measurement. We implement our schedulers through JVM tool inter- face for regular JVM to form an asymmetry-aware JVM. The asymmetry-aware JVM monitors every java threads with hardware performance counters. Two fuzzy-control schedulers are designed for asymmetry-aware JVM to make