|
|
 |
|
 |
Volume 39, Number 1, 2000
Java Performance |
|
Table of contents: HTML PDF ASCII |
|
This article: HTML PDF ASCII |
Copyright info |
 |
 |
 |
 |
| |
|
Java server performance: A case study of building efficient, scalable Jvms - References
|
 |
by
R. Dimpsey, R. Arora, and K. Kuiper |
 |
 |
 |
Cited references and notes
-
S. J. Baylor, M. Devarakonda, S. Fink, E. Gluzberg, M. Kalantar, P. Muttineni, E. Barsness, R. Arora, R. Dimpsey, and S. J. Munroe, Java Server Benchmarks, IBM Systems Journal 39, No. 1, 5781, (2000, this issue).
-
J. Neffenger, The Volano Report: Which Java Platform Is the Fastest, Most Scalable? JavaWorld (March 1999).
-
T. Young, No More Mr. Slow for Java, InfoWorld (September 1998).
-
SPEC JVM98 Results, Standard Performance Evaluation Corporation (SPEC), Manassas, VA, http://www.spec.org/osg/jvm98/results/index.html.
-
IBM Java Performance Update, IBM Corporation, http://www.software.ibm.com/os/warp/performance/javaperf_1298_update.htm.
-
W. Gu, N. A. Burns, M. Collins, and W. Y. P. Wong, The Evolution of a High-Performing Java Virtual Machine, IBM Systems Journal 39, No. 1, 135150 (2000, this issue).
-
E. Armstrong, HotSpot: A New Breed of Virtual Machine, JavaWorld (March 1998).
-
D. Bacon, R. Konuru, C. Murthy, and M. Serrano, Thin Locks: Featherweight Synchronization for Java, ACM Conference on Programming Language Design and Implementation (June 1998), pp. 258268.
-
J. M. Mellor-Crummey and M. L. Scott, Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors, ACM Transactions on Computer Systems 9, No. 1, 120 (February 1991).
-
All IBM Jvms are based on a handleless object model. The handleless design, along with other optimizations, freed enough space per object to provide room in the header for the 24-bit lock.
-
W. Alexander, R. Dimpsey, and B. Olszewski, AIX Operating System SMP Performance, AIXpert, 3542 (November 1994).
-
B. Mukherjee and K. Schwan, Experiments with Configurable Locks for Multiprocessors, International Conference on Parallel Processing (1993).
-
B. Mukherjee and K. Schwan, Improving Performance by Use of Adaptive Objects: Experimentation with a Configurable Multiprocessor Thread Package, Proceedings of High Performance and Distributed Computing (July 1993).
-
J. Zahorjan, E. Lazowska, and D. Eager, Spinning Versus Blocking in Parallel Systems with Uncertainty, University of Washington Technical Report 88-03-01 (March 1988).
-
A. Karlin, K. Li, M. Manasse, and S. Owicki, Empirical Studies of Competitive Spinning for a Shared-Memory Multiprocessor, Proceedings of ACM Symposium on Operating Systems Principles (1991), pp. 4155.
-
T. E. Anderson, The Performance of Spin Lock Alternatives for Shared Memory Multiprocessors, IEEE Transactions on Parallel and Distributed Systems (January 1990), pp. 616.
-
This characteristic is most likely a result of both the implementation of the Java classes and the propensity of Java programmers to over-synchronize access to data because of the coarseness of locking granularity provided by the Java language.
-
M. Campbell et al., The Parallelization of UNIX System V Release 4.0, USENIX (Winter 1991).
-
As of the writing of this paper, the Jvm in the IBM DK, v 1.1.8 was to have a third quarter 1999 release date.
-
VolanoMark 2.1.2 Benchmark, Volano LLC, San Francisco, http://www.volano.com/benchmarks.html.
-
R. Jones and R. Lins, Garbage Collection, John Wiley & Sons Ltd., West Sussex, England (1996).
-
It should be noted that not all objects are eligible for movement during the compaction phase. For instance, objects referenced from the stack, class objects, and objects referenced by native code are all prohibited from being moved. These objects are referred to as being pinned in the Java heap.
-
Chet Murthy, IBM Corporation, private correspondence.
-
C. J. Cheney, A Non-Recursive List Compacting Algorithm, Communications of the ACM 13, No. 11, 677678 (November 1970).
-
P. R. Wilson, M. S. Johnstone, M. Neely, and D. Boles, Dynamic Storage Allocation: A Survey and Critical Review, International Workshop on Memory Management, Kinross, Scotland, UK (September 1995).
-
M. S. Johnstone, Non-Compacting Memory Allocation and Real Time Garbage Collection, Ph.D. thesis, University of Texas at Austin, Austin, TX (1997).
-
D. G. Korn and K.-P. Vo, In Search of a Better Malloc, Proceedings of USENIX (Summer 1995), pp. 489506.
-
SockPerf: A Peer-to-Peer Socket Benchmark Used for Comparing and Measuring Java Socket Performance, IBM Corporation, http://www.alphaWorks.ibm.com/formula/sockperf.
-
The common case referred to here is when running on a recent version of the operating system (Fixpack 3 or greater for OS/2 Warp and Fixpack 33 or greater for Warp Server). In this case, the Jvm uses a mechanism called hard suspend to stop all threads for garbage collection. Under this scheme, preBlock( ) does not need to obtain the thread context. A more detailed description of this scheme is beyond the scope of this paper.
-
T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani, Overview of the IBM Java Just-In-Time Compiler, IBM Systems Journal 39, No. 1, 175193 (2000, this issue).
-
O. Agesen, D. Detlefs, and J. E. B. Moss, Garbage Collection and Local Variable Type-Precision and Liveness in Java Virtual Machines, ACM SIGPLAN Conference on Programming Language Design and Implementation, Montreal, Quebec, Canada (June 1998), pp. 269279.
|
 |
|
|