Renaissance: Benchmarking Suite for Parallel Applications on the JVM

被引:72
作者
Prokopec, Aleksandar [1 ]
Rosa, Andrea [2 ]
Leopoldseder, David [3 ]
Duboscq, Gilles [1 ]
Tuma, Petr [4 ]
Studener, Martin [3 ]
Bulej, Lubomir [4 ]
Zheng, Yudi [1 ]
Villazon, Alex [5 ]
Simon, Doug [1 ]
Wurthinger, Thomas [1 ]
Binder, Walter [2 ]
机构
[1] Oracle Labs, Zurich, Switzerland
[2] Univ Svizzera Italiana, Lugano, Switzerland
[3] Johannes Kepler Univ Linz, Linz, Austria
[4] Charles Univ Prague, Prague, Czech Republic
[5] Univ Privada Boliviana, Colcapirhua, Bolivia
来源
PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19) | 2019年
关键词
benchmarks; JIT compilation; parallelism; concurrency; JVM; object-oriented programming benchmarks; functional programming benchmarks; Big Data benchmarks;
D O I
10.1145/3314221.3314637
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Established benchmark suites for the Java Virtual Machine (JVM), such as DaCapo, ScalaBench, and SPECjvm2008, lack workloads that take advantage of the parallel programming abstractions and concurrency primitives offered by the JVM and the Java Class Library. However, such workloads are fundamental for understanding the way in which modern applications and data-processing frameworks use the JVM's concurrency features, and for validating new just-in-time (JIT) compiler optimizations that enable more efficient execution of such workloads. We present Renaissance, a new benchmark suite composed of modern, real-world, concurrent, and object-oriented workloads that exercise various concurrency primitives of the JVM. We show that the use of concurrency primitives in these workloads reveals optimization opportunities that were not visible with the existing workloads. We use Renaissance to compare performance of two state-of-the-art, production-quality JIT compilers (HotSpot C2 and Graal), and show that the performance differences are more significant than on existing suites such as DaCapo and SPECjvm2008. We also use Renaissance to expose four new compiler optimizations, and we analyze the behavior of several existing ones. Evaluating these optimizations using four benchmark suites shows a more prominent impact on the Renaissance workloads than on those of other suites.
引用
收藏
页码:31 / 47
页数:17
相关论文
共 94 条
[1]  
AKRAM S, 2018, PLDI, V53, P62, DOI DOI 10.1145/3192366.3192392
[2]  
Basin D, 2017, ACM SIGPLAN NOTICES, V52, P357, DOI [10.1145/3018743.3018761, 10.1145/3155284.3018761]
[3]  
Bateman Alan, 2011, JAVA SPECIFICATION R
[4]   Lightweight Data Race Detection for Production Runs [J].
Biswas, Swarnendu ;
Cao, Man ;
Zhang, Minjia ;
Bond, Michael D. ;
Wood, Benjamin P. .
CC'17: PROCEEDINGS OF THE 26TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, 2017, :11-21
[5]   The DaCapo benchmarks: Java']Java benchmarking development and analysis [J].
Blackburn, Stephen M. ;
Garner, Robin ;
Hoffmann, Chris ;
Khan, Asjad M. ;
McKinley, Kathryn S. ;
Bentzur, Rotem ;
Diwan, Amer ;
Feinberg, Daniel ;
Frampton, Daniel ;
Guyer, Samuel Z. ;
Hirzel, Martin ;
Hosking, Antony ;
Jump, Maria ;
Lee, Han ;
Moss, J. Eliot B. ;
Phansalkar, Aashish ;
Stefanovic, Darko ;
VanDrunen, Thomas ;
von Dincklage, Daniel ;
Wiedermann, Ben .
ACM SIGPLAN NOTICES, 2006, 41 (10) :169-190
[6]  
Bronson Nathan, 2011, SCALASTM EXPERT GROU
[7]   A Practical Concurrent Binary Search Tree [J].
Bronson, Nathan G. ;
Casper, Jared ;
Chafi, Hassan ;
Olukotun, Kunle .
PPOPP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2010, :257-268
[8]  
Bronson Nathan G, 2010, 1 ANN SCAL WORKSH SC
[9]   POLM2: Automatic Profiling for Object Lifetime-Aware Memory Management for HotSpot Big Data Applications [J].
Bruno, Rodrigo ;
Ferreira, Paulo .
PROCEEDINGS OF THE 2017 INTERNATIONAL MIDDLEWARE CONFERENCE (MIDDLEWARE'17), 2017, :147-160
[10]  
Calciu Irina, 2017, ACM SIGOPS Operating Systems Review, V51, P24, DOI 10.1145/3139645.3139650