Java']Java server performance: A case study of building efficient, scalable Jvms

被引:35
作者
Dimpsey, R [1 ]
Arora, R [1 ]
Kulper, K [1 ]
机构
[1] IBM Corp, Network Comp Software Div, Austin, TX 78758 USA
关键词
Algorithms - Client server computer systems - Codes (symbols) - Computer systems programming - Data communication systems - Program compilers - Response time (computer systems) - Software engineering - Virtual reality;
D O I
10.1147/sj.391.0151
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The importance of the Java(TM) platform has shifted from a client-centered paradigm to the server. In particular, the Java language has matured into a viable programming model for server applications. Correspondingly, the requirements on the Java virtual machine (Jvm) have shifted This paper details the server-specific performance enhancements made to the core Jvm and just-in-time (JIT) compiler, which have allowed the IBM Developer Kits that implement Java code for Intel processors to become industry performance leaders. The paper focuses on synchronization implementation and granularity improvements that have greatly increased the scalability of the Java language on multiprocessor machines. Focus is also given to memory management, specifically, object allocation, garbage collection, and heap management Details of communication and connection scaling are also provided. Finally, server-specific enhancements to the JIT compiler are discussed. All component enhancements in the paper are explained, and their performance implications are quantified with results from representative multithreaded server workloads. The paper summarizes work from across IBM The authors' specific contributions include the three-tier spin lock, the thread local heap and freelist merge, the dynamic heap growth algorithm, bitwise sweep, compaction avoidance, and the suite of network enhancements.
引用
收藏
页码:151 / 174
页数:24
相关论文
共 26 条
[1]   Garbage collection and local variable type-precision and liveness in Java']Java™ virtual machines [J].
Agesen, O ;
Detlefs, D ;
Moss, JEB .
ACM SIGPLAN NOTICES, 1998, 33 (05) :269-279
[2]  
ALEXANDER W, 1994, AIXPERT NOV, P35
[3]  
Anderson T. E., 1990, IEEE Transactions on Parallel and Distributed Systems, V1, P6, DOI 10.1109/71.80120
[4]  
ARMSTRONG E, 1998, JAVAWORLD MAR
[5]   Thin locks: Featherweight synchronization for Java']Java [J].
Bacon, DF ;
Konuru, R ;
Murthy, C ;
Serrano, M .
ACM SIGPLAN NOTICES, 1998, 33 (05) :258-268
[6]   Java']Java server benchmarks [J].
Baylor, SJ ;
Devarakonda, M ;
Fink, SJ ;
Gluzberg, E ;
Kalantar, M ;
Muttineni, P ;
Barsness, E ;
Dimpsey, R ;
Munroe, SJ .
IBM SYSTEMS JOURNAL, 2000, 39 (01) :57-81
[7]  
CAMPBELL M, 1991, USENIX WIN
[8]   NONRECURSIVE LIST COMPACTING ALGORITHM [J].
CHENEY, CJ .
COMMUNICATIONS OF THE ACM, 1970, 13 (11) :677-&
[9]  
CHET M, COMMUNICATION
[10]   The evolution of a high-performing Java']Java virtual machine [J].
Gu, W ;
Burns, NA ;
Collins, MT ;
Wong, WYP .
IBM SYSTEMS JOURNAL, 2000, 39 (01) :135-150