簡易檢索 / 詳目顯示

研究生: 陳國益
Chen, Kuo-Yi
論文名稱: 基於Java虛擬機器的應用程式伺服器之省電技術
Toward a Green (Java) Virtual Machine, the Power-Efficient Technique for Application Servers
指導教授: 侯廷偉
Hou, Ting-Wei
學位類別: 博士
Doctor
系所名稱: 工學院 - 工程科學系
Department of Engineering Science
論文出版年: 2011
畢業學年度: 99
語文別: 英文
論文頁數: 95
中文關鍵詞: 節能省電應用程式伺服器Java虛擬機器多核心處理器.
外文關鍵詞: Energy-efficiency, Application server, Java Virtual Machine, Multi-core processor.
相關次數: 點閱:165下載:7
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著網路的普及化,多執行緒網路應用程式(Web applications)的重要性逐漸提高。而在環保節能的趨勢下,必須長時間運作的應用程式伺服器(Application server)之節能省電需求日益顯著。另一方面,隨著多核心CPU廣泛的應用於伺服器,多個CPU核心造成的耗能問題,更凸顯了控管應用程式在伺服器執行時消耗能量的需求。本研究的目標即針對多執行緒Java程式在多核心平台的執行效能進行分析。在保持應用程式伺服器的執行效能的前提下,以精確的CPU頻率管理達到減少應用程式伺服器能源耗用的目的。
    為分析多執行緒Java程式在多核心平台上的執行效能,我們使用硬體效能計數器,記錄並分析每一程式在不同數量的執行緒與CPU核心組態下執行的結果。針對不同的硬體組態,提出一基於處理器週期(CPU cycles)的詳細分析。藉以瞭解多執行緒程式的效能瓶頸與改善方式,並提出改善方案。
    基於分析結果,我們對多執行緒Java程式提出一新穎的省電方式。該省電方式利用應用程式伺服器的核心軟體元件:Java虛擬機器(Java Virtual Machine, JVM),在執行期間所產生的動態資訊,精確判斷應用程式伺服器的狀態。並據此調整CPU的電壓及頻率。同時達到省電與維持伺服器執行效能之目的。
    為驗證在此所提出的新穎省電方式,我們使用包括了一系列基於Java虛擬機器(Sun’s Hotspot)以及Decapo、SPECjAppServer2004與 RUBiS效能評估程式的實驗。實驗結果顯示,相對於動態偵測硬體事件省電方式所能節省的10–16%耗電與僅剩88%的伺服器執行效能,新提出之方法可節省約14–23%的耗電,同時仍保有96%的伺服器執行效能。此一研究結果證明所提出的省電方法確實可有效降低應用程式伺服器的耗能。

    With the trend of energy saving and carbon reduction, the energy wastage of the long-running application server is becoming an important issue, since web applications have become a popular choice for service providers. Moreover, with the wide deployment of multi-core processors, the power consumption of multiple processor cores increases the energy issue of an application server. Therefore, the research goal of this study is to develop a new power-saving strategy of the application server with the minimum performance degradation.
    In order to analyze the performance and scalability issues of multithreaded Java programs on multi-core systems, we examine the performance scaling of benchmarks with various numbers of processor cores and application threads. By correlating low-level hardware performance data to Java threads and system components, the detail analysis of performance and scalability are presented, such as the hardware stall events and memory system latencies. Thirdly, the usages of memory resource are detailed to observe the potential bottlenecks.
    Based on this analysis, our motivation is to develop a new power-saving strategy which is based on the Java Virtual Machine(JVM), the base software component of Java application servers. The experimental result shows that the phases of an application server are related to the run-time information of a JVM. With the run-time information of a JVM, the voltage of processors can be adjusted precisely to match the demand of an application server. Thus the energy wastage can be reduced with well performance maintenance.
    To evaluate the effectiveness of the proposed power-saving approach, a set of experiments are conducted based on the Hotspot JVM, and benchmark suits of Decapo, SPECjAppServer2004 and RUBiS. The experimental result shows that proposed power-saving approach saves energy 14 to 23 percent with only four percent performance degradation, which is better than the 10 to 16 percent energy saving and 12 percent performance degradation of the use of performance monitors. The result validates the proposed power-saving approach can reach the research goal of this study.

    中文摘要 III ABSTRACT IV ACKNOWLEDGEMENTS V LIST OF FIGURES VII LIST OF TABLES IX CHAPTER 1 INTRODUCTION 1 CHAPTER 2 BACKGROUND AND RELATED WORK 6 2.1 The Structure of Application Servers 6 2.2 The Structure of a JVM 7 2.3 Related works 9 CHAPTER 3 THE ANALYSIS OF MULTITHREADED JAVA APPLICATIONS 12 3.1 Methodology 15 3.2 The Throughput Analysis 17 3.3 Distributions of CPU cycles 22 3.4 Memory System Performance 30 3.5 The Bottlenecks 33 3.6 JVM Tuning Techniques 38 3.7 The Validation of JVM tuning Techniques 45 CHAPTER 4 THE STUDY OF JVM'S SOFTWARE COMPONENTS 49 4.1 The Setup of Experiments 49 4.2 Multi-threaded Java Benchmarks 51 4.3 The behavior analysis of the Garbage Collector 51 4.4 The Study of JVM's Software Components with the single core 58 4.5 The Study of JVM's Software Components with multiple cores 65 4.6 The Summary of Studies 71 CHAPTER 5 THE POWER-SAVING STRATEGY OF A JVM 72 5.1 The Algorithms of GVM power-saving approach 72 5.2 The Advantages of GVM Power-saving approaches 77 CHAPTER 6 THE EXPERIMENTAL RESULTS 80 6.1 The Comparing of Power-saving Techniques 80 6.2 The Validation with the use of the Web Application Benchmarks 85 CHAPTER 7 CONCLUSIONS AND FUTURE WORK 89 REFERENCES 91

    [1] J. Battelle, The search: How Google and its rivals rewrote the rules of business and transformed our culture. New York: Portfolio Hardcover, September 8, 2005.
    [2] S. Swoyer, "Impressive Growth Ahead for Application Server Market," On-line article. http://www.adtmag.com/article.aspx?id=19970, January, 2007, last retrieved May, 2010.
    [3] K. G. Brill, "Data center energy efficiency and productivity," The Uptime Institute, On-line article. http://www.cio.co.uk/whitepapers/index.cfm?whitepaperid=4241, 2007, last retrieved May, 2010.
    [4] M. D. Hill and M. R. Marty, "Amdahl's law in the multicore era," Computer, vol. 41, pp. 33-38, 2008.
    [5] R. Bianchini and R. Rajamony, "Power and energy management for server systems," Computer, vol. 37, pp. 68-76, 2004.
    [6] S. Herbert and D. Marculescu, "Analysis of dynamic voltage/frequency scaling in chip-multiprocessors," Proceedings of the 2007 international symposium on Low power electronics and design, pp. 38-43, 2007.
    [7] C. Isci, A. Buyuktosunoglu, et al., "Long-term workload phases: Duration predictions and applications to DVFS," Micro, IEEE, vol. 25, pp. 39-51, 2005.
    [8] W. Fornaciari, M. Polentarutti, et al., "Power optimization of system-level address buses based on software profiling," Proceedings of the eighth international workshop on Hardware/software codesign, pp. 29-33, 2000.
    [9] T. Sherwood, S. Sair, et al., "Phase tracking and prediction," SIGARCH Comput. Archit. News, vol. 31, pp. 336-349, 2003.
    [10] J. R. Lorch and A. J. Smith, "Improving dynamic voltage scaling algorithms with PACE," Proceedings of SIGMETRICS/Performance, pp. 50-61, 2001.
    [11] H. Aydin, P. Mejia-Alvarez, et al., "Dynamic and aggressive scheduling techniques for power-aware real-time systems," Real-Time Systems Symposium, pp. 95-105, Dec 2001.
    [12] P. Pillai and K. G. Shin, "Real-time dynamic voltage scaling for low-power embedded operating systems," Proceedings of the eighteenth ACM symposium on Operating systems principles pp. 89-102, 2001.
    [13] M. Weiser, B. Welch, et al., "Scheduling for reduced CPU energy," Mobile Computing, pp. 449-471, 1996.
    [14] T. D. Burd and R. W. Brodersen, "Energy efficient CMOS microprocessor design," Proceedings of the Twenty-Eighth Hawaii International Conference on System Sciences, vol. 1, pp. 288-297, 1995.
    [15] J. Pouwelse, K. Langendoen, et al., "Dynamic voltage scaling on a low-power microprocessor," Proceedings of the 7th annual international conference on Mobile computing and networking, pp. 251-259, 2001.
    [16] K. Flautner, S. Reinhardt, et al., "Automatic performance setting for dynamic voltage scaling," Wireless networks, vol. 8, pp. 507-520, 2002.
    [17] V. Delaluz, M. Kandemir, et al., "Dram energy management using sofware and hardware directed power mode control," Proceedings of the 7th international conference on high performance computer architecture, pp. 159-169, 2001.
    [18] C. H. Hsu, U. Kremer, et al., "Compiler-directed dynamic frequency and voltage scheduling," Power-Aware Computer Systems, pp. 65-81, 2001.
    [19] C. H. Hsu and U. Kremer, "The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction," ACM SIGPLAN Notices, vol. 38, pp. 38-48, 2003.
    [20] R. Ge, X. Feng, et al., "CPU miser: A performance-directed, run-time system for power-aware clusters," Proceedings of International Conference on Parallel Processing, pp. 18-26, 2007.
    [21] X. Wang, X. Fu, et al., "Power-aware CPU utilization control for distributed real-time systems," Proceedings of the 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium, vol. 0, pp. 233-242, 2009.
    [22] S. Rivoire, P. Ranganathan, et al., "A comparison of high-level full-system power models," Proceedings of the conference on Power aware computing and systems, pp. 3-3, 2008.
    [23] N. E. Pettis and Y. H. Lu, "A homogeneous architecture for power policy integration in operating systems," IEEE Transactions on Computers, pp. 945-955, 2008.
    [24] M. Curtis-Maury, K. Singh, et al., "Identifying energy-efficient concurrency levels using machine learning," Proceedings of the 2007 IEEE International Conference on Cluster Computing, pp. 488-495, 2007.
    [25] A. Merkel and F. Bellosa, "Balancing power consumption in multiprocessor systems," ACM SIGOPS Operating Systems Review, vol. 40, pp. 403-414, 2006.
    [26] F. J. Mesa-Martinez, J. Nayfach-Battilana, et al., "Power model validation through thermal measurements," SIGARCH Comput. Archit. News, vol. 35, pp. 302-311, 2007.
    [27] R. Rao, S. Vrudhula, et al., "Throughput of multi-core processors under thermal constraints," Proceedings of the 2007 international symposium on Low power electronics and design, pp. 201-206, 2007.
    [28] Y. Liu, H. Yang, et al., "Thermal vs energy optimization for dvfs-enabled processors in embedded systems," Proceedings of 8th International Symposium on Quality Electronic Design (ISQED'07), pp. 204-209, 2007.
    [29] W. Kim, M. S. Gupta, et al., "System level analysis of fast, per-core DVFS using on-chip switching regulators," Proceedings of IEEE 14th International Symposium on High Performance Computer Architecture, pp. 123-134, 2008.
    [30] L. Niu and G. Quan, "System Wide Dynamic Power Management for Weakly Hard Real-Time Systems," Journal of Low Power Electronics, vol. 2, pp. 342-355, 2006.
    [31] C. Gniady, A. R. Butt, et al., "Program counter-based prediction techniques for dynamic power management," IEEE Transactions on Computers, pp. 641-658, 2006.
    [32] H. Kweon, Y. Do, et al., "An efficient power-aware scheduling algorithm in real time system," Proceedings of IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, pp. 350-353, 2007.
    [33] R. Teodorescu and J. Torrellas, "Variation-Aware Application Scheduling and Power Management for Chip Multiprocessors," SIGARCH Comput. Archit. News, vol. 36, pp. 363-374, 2008.
    [34] R. M. Fries, "Virtual Machine Placement Based on Power Calculations," US Patent App. 20,090/293,022, 2008.
    [35] G. Khanna, K. Beaty, et al., "Application performance management in virtualized server environments," Proceedings of Network Operations and Management Symposium, pp. 373-381, 2006.
    [36] M. Steinder, I. Whalley, et al., "Server virtualization in autonomic management of heterogeneous workloads," Proceedings of Integrated Network Management, IM '07. 10th IFIP/IEEE International Symposium, pp. 139-148, 2007.
    [37] "OpenJDK," http://openjdk.java.net/.
    [38] S. M. Blackburn, R. Garner, et al., "The DaCapo benchmarks: Java benchmarking development and analysis," ACM SIGPLAN Notices, vol. 41, pp. 169-190, 2006.
    [39] R. Morin, A. Kumar, et al., "A multi-level comparative performance characterization of specjbb2005 versus specjbb2000," Proceedings of the IEEE Workload Characterization Symposium, pp. 67-75, 2005.
    [40] J. M. Bull, L. A. Smith, et al., "A benchmark suite for high performance Java," Concurrency - Practice and Experience, vol. 12, pp. 375-388, 2000.
    [41] J. Donnell, "Java Performance Profiling using the VTune Performance Analyzer," On-line article. http://software.intel.com/file/29675, 2004, last retrieved May, 2010.
    [42] D. Levinthal, "Cycle Accounting Analysis on Intel® Core™2 Processors," On-line article. http://assets.devx.com/goparallel/18027.pdf, last retrieved May, 2010.
    [43] T. Domani, G. Goldshtein, et al., "Thread-local heaps for Java," ACM SIGPLAN Notices, vol. 38, pp. 76-87, 2002.
    [44] A. W. Appel, "Simple generational garbage collection and fast allocation," Software: Practice and Experience, vol. 19, pp. 171-183, 1989.
    [45] N. Sankaran, "A bibliography on garbage collection and related topics," ACM SIGPLAN Notices, vol. 29, pp. 149-158, 1994.
    [46] M. A. Cirit, "Estimating dynamic power consumption of CMOS circuits," Proceedings of International Conference on Computer-Aided Design, pp. 534-537, Nov 1987.
    [47] R. Gonzalez and M. Horowitz, "Energy dissipation in general purpose microprocessors," IEEE Journal of Solid-State Circuits, vol. 31, pp. 1277-1284, 2002.
    [48] "SPECjAppServer2004," http://www.spec.org/jAppServer2004/.
    [49] "RUBiS: Rice University Bidding System," http://rubis.ow2.org/.

    下載圖示 校內:2016-07-20公開
    校外:2016-07-20公開
    QR CODE