Oracle Jrockit Real Time & Jrockit Mission Control

Total Page:16

File Type:pdf, Size:1020Kb

Oracle Jrockit Real Time & Jrockit Mission Control <Insert Picture Here> Overview: Oracle JRockit Real Time & JRockit Mission Control Mark Prichard & Erik Bergenholtz Java Products Group The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. © 2010 Oracle Corporation Proprietary and Confidential Agenda • Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework) BEA Confidential. | 3 Oracle Application Grid Custom Packaged SOA C /C++ / Appliance Legacy App App Service Cobol Application Grid WebLogic Server Tuxedo Coherence Enterprise Manager JRockit / Hotspot Virtual Physical Efficiency Competitiveness Simplification Lowest operational Outperform with speed and Best foundation for costs flexibility entire software stack JRockit Basic Facts • Complete implementation of Java – 100% compatible with the Sun Java SE implementation • Underpins Oracle Fusion Middleware product stack – Optimized stack • Architeched and optimized for server-side Java – High Performance – ”Zero downtime” tooling (value-add through Mission Control) – Real-time GC (through JRockit Real Time) JRockit Main Features • No byte-code interpreter – All methods are compiled • Advanced JIT compiler – Hot methods are optimized and inlined • Concurrent and parallel garbage collection – Both generational and single-spaced – Garbage collection of code and classes – Real-time garbage collection Agenda • Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework) BEA Confidential. | 7 Oracle JRockit Real Time • Use Case -Extreme low latency and predictability for Java applications – Time Critical • Benefits – Guaranteed maximum response times • Single-digit ms GC pause times definition • Enhanced Mission Control Eclipse-based Integration • Deterministic QoS under heavy load • No code re-writes “At first, we doubted BEA's performance claims for JRRT After all, if it were possible to lose the garbage-collection latency, wouldn't Sun have done it already? After testing JRRT in several scenarios, we concluded Oracle's solution works.” -Network Computing Typical Pain Points • “We have problems with long GC pauses in our Java application” • “We are going to build an application which requires millisecond response times, and want to do it in Java” • “We have a response time SLA to our customers. If we don’t meet it, we have to pay fines.” • “We would like to migrate our C application to Java, but we are concerned about Garbage Collection pauses.” • “Every millisecond delay means we lose money due to losing deals or increase arbitrage costs.” BEA Confidential. | 9 Standard JVM Unpredictable Response Times due to GC Application startup JRockit Real Time in Action Avoid Latency Spikes with Deterministic GC Application startup Throughput and Latency Tradeoffs Parallel GC – Optimized to increase throughput Java application threads Garbage Collector threads (1 per processor) Concurrent GC – Optimized to reduce pause time Java application threads Garbage Collector thread Concurrent GC consumes additional resources WLRT – Deterministic GC • Provides QoS guarantees – Usage: ”-Xgcprio:deterministic –XpauseTarget=10ms • Highly tuned mostly concurrent mark-n-sweep GC – Most work done concurrently, pauses are frequent but very short – Back off, split work and reschedule if nearing QoS limit (divide and conquer) One GC cycle (phases 0-2, 2-4, 4-5, 5 visible) 500 ms 20 s JRockit Mission Control • Monitor health & performance in production • Visualize application & JVM events per thread – Nanosecond granularity (subject to OS limitations) • Identify and remedy latency issues Mission Control Architecture Mission Control GUI Deploy Mission Control Server Standard APIs (JMX, XML) Built into JRockit Console (jrcmd) java –Xmanagement:port=7091 Hello Agenda • Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework) BEA Confidential. | 16 Agenda • Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework) BEA Confidential. | 17 Oracle JRockit Virtual Edition Optimized Java Infrastructure • Runs natively on hypervisor TraditionalOptimized Virtualized Java Java – More efficient use of hardware Execution Stack resources WebLogic Server with WebLogic Server – Higher density JRockit Virtual Edition – Better performance Java Virtual Machine • Reduced operational cost Guest Operating System – Simpler patching JRockit Virtual Edition – Improved security HypervisorOracle VM • Custom Java appliances – Building blocks for larger Bare Metal Hardware assemblies – Simple deployment JRockit Virtual Edition How does it work? JRockit –VE OS Layer TCP/IP File System Scheduler H/W WebLogic Server with JRockit Virtual Edition WebLogic Server • TCP/IP: Network communication JRockit –VE f • Scheduler: Runs Java threads. Single process Oracle VM • File System: Local [virtual] disk • HW: Hardware device interaction. Network Bare Metal Hardware card, virtual screen, etc. WebLogic Server with JRockit Virtual Edition • Standard WebLogic Server – Running on JRockit VE • Simplified and efficient WebLogic Cluster virtualized Java EE Virtualized Virtualized Virtualized Managed Managed Managed – Administration and management Server Server Server is virtualization aware JRockit VE JRockit VE JRockit VE • Increased performance Hypervisor and density – Virtualized Java EE Virtualized Resource Pool applications run faster and with more instances on the same hardware Simplified: JRockit Virtual Edition (Approximate JRockit Linux JeOS Numbers) Virtual Edition Config. Files 1000 200 1 Commands 3000 500 10 Command Params. 50,000 10,000 100 Admin Tools 500 200 1 Boot Time (s) 50 30 1 Size (MB) 1000 200 2 Reduction Ratio from Linux 1 ~2 ~300 Performance: JRockit Virtual Edition Performance Issue Standard WebLogic on JVM / OS JRockit Virtual Edition Java Aware Scheduling? No Yes Kernel Mode Transitions? Many Very few Shorter Switching Times? No Yes Optimize size of Heap No Yes Shorter I/O Path? No Yes Virtualized Performance: WebLogic Server on JRockit Virtual Edition WebLogic WebLogic Server on WebLogic Server Configuration Server on JRockit Virtual on Guest OS Physical OS Edition WebLogic Server 10.3.2 GA 10.3.2 GA 10.3.2 GA Clock Speed 2.8 GHz 2.8 GHz 2.8 GHz Memory 24GB 4GB33% increased6GB Memory Speed (MHz) 1066 1066performance1066 over Operating System OEL5.4 OVM/JRVEa guestOVM/OEL5.4 OS PV JRockit R27.6.2-20 R27.6.3-40 R27.6.2-20 Heap (GB) 3.6 3.3 3.6 Operations / Sec 348 300 225 Agenda • Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder & WLDF • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework) BEA Confidential. | 24 What is the JRockit Flight Recorder • New in JRockit R28 New Data • “Circular buffer” in JRockit JVM that stores diagnostic data – Always on – New data comes in and is stored, old data dropped off • Built-in integration with JRMC Time – Replaces JRMC Runtime Analyzer and Latency Analyzer • Very low/near zero overhead – Uses data already used by JVM Flight Recording • Data can include events from the JVM and from any other event producer – WebLogic Server (WLDF) Old Data – Fusion Middleware (DMS) JRockit Flight Recorder Use Cases • What it is designed for? – Provide diagnostic information in running production systems – Capture most recent activity to enable analysis leading up to an issue – Capture data from all levels JVM, WLS, DMS, etc… – Offline/offsite analysis can be done using the JRMC GUI – JRockit dumps capture information to assist in crash-analysis • What it is not designed for? – Large event payloads or very high volumes of events – Long history – Not a replacement for Debug logging or the server logging WLDF/JFR Integration Overview • JRockit R28 added JRockit Flight Recorder (JFR) capability – Similar in concept to aircraft black box – Designed for fulltime use in production systems – Rolling window of most recent diagnostic event data (circular buffer) – Provides overall view activity, top to bottom • API allows others to produce JFR event data (WLDF, DMS, etc…) • Tooling support for the customers to view/use the JFR (JRMC GUI, JRCMD) • WLDF/JFR Integration – Provides JFR events to highlight activity in Weblogic Server – Records JFR data in WLDF Image Captures – Provides enhanced WLST access to WLDF Image Captures WLDF/JFR Integration Features • WLDF Image capture – Records all JFR data that is available from all producers – WLST Helper APIs for listing and copying captured diagnostic image data • WLDF JFR event production for WLS component usages – WebApp, EJB, JDBC, JTA, JMS, Web Services, Connector, … – WLDF automatically throttles event production (non-intrusive) • WLDF Diagnostic Volume control (Off, Low, Medium, High) – 1 simple control (no need to configure a WLDF module) – PS2 default volume is Off, default may change to Low – Volume may be used in the future for more general WLDF feature coverage Agenda • Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework) BEA Confidential. | 29 .
Recommended publications
  • Apache Harmony Project Tim Ellison Geir Magnusson Jr
    The Apache Harmony Project Tim Ellison Geir Magnusson Jr. Apache Harmony Project http://harmony.apache.org TS-7820 2007 JavaOneSM Conference | Session TS-7820 | Goal of This Talk In the next 45 minutes you will... Learn about the motivations, current status, and future plans of the Apache Harmony project 2007 JavaOneSM Conference | Session TS-7820 | 2 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 3 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 4 Apache Harmony In the Beginning May 2005—founded in the Apache Incubator Primary Goals 1. Compatible, independent implementation of Java™ Platform, Standard Edition (Java SE platform) under the Apache License 2. Community-developed, modular architecture allowing sharing and independent innovation 3. Protect IP rights of ecosystem 2007 JavaOneSM Conference | Session TS-7820 | 5 Apache Harmony Early history: 2005 Broad community discussion • Technical issues • Legal and IP issues • Project governance issues Goal: Consolidation and Consensus 2007 JavaOneSM Conference | Session TS-7820 | 6 Early History Early history: 2005/2006 Initial Code Contributions • Three Virtual machines ● JCHEVM, BootVM, DRLVM • Class Libraries ● Core classes, VM interface, test cases ● Security, beans, regex, Swing, AWT ● RMI and math 2007 JavaOneSM Conference | Session TS-7820 |
    [Show full text]
  • Oracle Lifetime Support Policy for Oracle Fusion Middleware Guide
    ORACLE INFORMATION-DRIVEN SUPPORT Oracle Lifetime Support Policy Oracle Fusion Middleware Oracle Fusion Middleware 8 Oracle Fusion Middleware Releases 8 Application Development Tools 9 Oracle’s Application Development Tools 9 Oracle’s GraalVM Enterprise Releases 9 Oracle Cloud Application Foundation Releases 10 Oracle’s Sun and Glassfish Application Server Releases 12 Oracle’s Java Releases 13 Oracle’s Sun JDK Releases 13 Oracle’s Blockchain Platform Releases 14 Business Intelligence 14 Oracle Business Intelligence EE Releases 14 Oracle’s HyperRoll Releases 21 Oracle’s Siebel Technology Releases 22 Oracle’s Siebel Applications Releases 22 Oracle Big Data Discovery Releases 23 Oracle Endeca Information Discovery Releases 23 Oracle’s Endeca Releases 25 Master Data Management and Data Integrator 26 Oracle’s GoldenGate Releases 26 Oracle Data Integrator Releases 28 Oracle Data Integrator (Formerly Sunopsis) Releases 28 Oracle’s Sun Master Data Management and Data Integrator Releases 28 Oracle’s Silver Creek and EDQP Releases 29 Oracle's Datanomic and EDQ Releases 30 Oracle WebCenter Portal Releases 31 Oracle’s Sun Portal Releases 32 Oracle WebCenter Content Releases 32 Oracle’s Stellent Releases (Enterprise Content Management) 34 Oracle’s Captovation Releases (Enterprise Content Management) 35 Oracle WebCenter Sites Releases 36 Oracle FatWire Releases (WebCenter Sites) 36 Oracle Identity and Access Management Releases 37 Oracle’s Bharosa Releases 40 Oracle’s Passlogix Releases 41 Oracle’s Bridgestream Releases 41 Oracle’s Oblix Releases 42
    [Show full text]
  • Thread Scheduling in Multi-Core Operating Systems Redha Gouicem
    Thread Scheduling in Multi-core Operating Systems Redha Gouicem To cite this version: Redha Gouicem. Thread Scheduling in Multi-core Operating Systems. Computer Science [cs]. Sor- bonne Université, 2020. English. tel-02977242 HAL Id: tel-02977242 https://hal.archives-ouvertes.fr/tel-02977242 Submitted on 24 Oct 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Ph.D thesis in Computer Science Thread Scheduling in Multi-core Operating Systems How to Understand, Improve and Fix your Scheduler Redha GOUICEM Sorbonne Université Laboratoire d’Informatique de Paris 6 Inria Whisper Team PH.D.DEFENSE: 23 October 2020, Paris, France JURYMEMBERS: Mr. Pascal Felber, Full Professor, Université de Neuchâtel Reviewer Mr. Vivien Quéma, Full Professor, Grenoble INP (ENSIMAG) Reviewer Mr. Rachid Guerraoui, Full Professor, École Polytechnique Fédérale de Lausanne Examiner Ms. Karine Heydemann, Associate Professor, Sorbonne Université Examiner Mr. Etienne Rivière, Full Professor, University of Louvain Examiner Mr. Gilles Muller, Senior Research Scientist, Inria Advisor Mr. Julien Sopena, Associate Professor, Sorbonne Université Advisor ABSTRACT In this thesis, we address the problem of schedulers for multi-core architectures from several perspectives: design (simplicity and correct- ness), performance improvement and the development of application- specific schedulers.
    [Show full text]
  • Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine
    Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine Entwurf und Analyse einer Scala Benchmark Suite für die Java Virtual Machine Zur Erlangung des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) genehmigte Dissertation von Diplom-Mathematiker Andreas Sewe aus Twistringen, Deutschland April 2013 — Darmstadt — D 17 Fachbereich Informatik Fachgebiet Softwaretechnik Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine Entwurf und Analyse einer Scala Benchmark Suite für die Java Virtual Machine Genehmigte Dissertation von Diplom-Mathematiker Andreas Sewe aus Twistrin- gen, Deutschland 1. Gutachten: Prof. Dr.-Ing. Ermira Mezini 2. Gutachten: Prof. Richard E. Jones Tag der Einreichung: 17. August 2012 Tag der Prüfung: 29. Oktober 2012 Darmstadt — D 17 For Bettina Academic Résumé November 2007 – October 2012 Doctoral studies at the chair of Prof. Dr.-Ing. Er- mira Mezini, Fachgebiet Softwaretechnik, Fachbereich Informatik, Techni- sche Universität Darmstadt October 2001 – October 2007 Studies in mathematics with a special focus on com- puter science (Mathematik mit Schwerpunkt Informatik) at Technische Uni- versität Darmstadt, finishing with a degree of Diplom-Mathematiker (Dipl.- Math.) iii Acknowledgements First and foremost, I would like to thank Mira Mezini, my thesis supervisor, for pro- viding me with the opportunity and freedom to pursue my research, as condensed into the thesis you now hold in your hands. Her experience and her insights did much to improve my research as did her invaluable ability to ask the right questions at the right time. I would also like to thank Richard Jones for taking the time to act as secondary reviewer of this thesis.
    [Show full text]
  • Virtual Appliances for Applications High Performance, High Density & Operationally Efficient Java Virtualization
    Virtual Appliances for Applications High Performance, High Density & Operationally Efficient Java Virtualization Axel Grosse Principal Sales Consultant Server Technologies Competence Center – FMW Mitte 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2 Cloud auf dem Peak der Hype Kurve Source: Gartner "Hype Cycle for Cloud Computing, 2009" Research Note G00168780 3 SaaS, PaaS und IaaS Anwendungen als Service für Software as a Service Endbenutzer im Netzwerk Entwicklungs- und Deployment Platform as a Service Plattformen als Service im Netzwerk Server, Storage und Netzwerk Infrastructure as a Service Hardware samt dazugehöriger Software als Service im Netzwerk 4 Public Clouds und Private Clouds Public Clouds Private Cloud • Externer Anbieter • Eigene IT als Anbieter • Weniger Aufwand I I SaaS SaaS N N • Mehr Aufwand • Weniger Einfluss T T PaaS auf PaaS E R • Mehr Einfluss A R IaaS •Sicherheit N N IaaS •Verfügbarkeit E E T T •... Benutzer 5 Cloud Computing: Oracle’s Perspektive • Basiert auf neuen Ideen und Möglichkeiten, basiert jedoch auf etablierter Technologie • Interessante Vorteile begleitet von ernstzunehmenden Bedenken • Unternehmen werden einen
    [Show full text]
  • Jikes RVM and IBM DK for Java ƒ Understanding System Behavior ƒ Other Issues 4
    Dynamic Compilation and Adaptive Optimization in Virtual Machines Instructor: Michael Hind Material contributed by: Matthew Arnold, Stephen Fink, David Grove, and Michael Hind © 2006 IBM Corporation IBM Research Who am I? Helped build Jikes RVM (1998-2006) – GC Maps, live analysis, dominators, register allocation refactoring – Adaptive optimization system – Management, project promotion, education, etc. Work for IBM, home of 2 other Java VMs – IBM DK for Java, J9 In previous lives, worked on – Automatic parallelization (PTran) – Ada implementation (Phd Thesis) – Interprocedural ptr analysis – Professor for 6 years Excited to share what I know – And learn what I don’t! 2 ACACES’06 | Dynamic Compilation and Adaptive Optimization in Virtual Machines | July 24-28, 2006 © 2006 IBM Corporation IBM Research Course Goals Understand the optimization technology used in production virtual machines Provide historical context of dynamic/adaptive optimization technology Debunk common misconceptions Suggest avenues of future research 3 ACACES’06 | Dynamic Compilation and Adaptive Optimization in Virtual Machines | July 24-28, 2006 © 2006 IBM Corporation IBM Research Course Outline 1. Background 2. Engineering a JIT Compiler 3. Adaptive Optimization 4. Feedback-Directed and Speculative Optimizations 5. Summing Up and Looking Forward 4 ACACES’06 | Dynamic Compilation and Adaptive Optimization in Virtual Machines | July 24-28, 2006 © 2006 IBM Corporation IBM Research Course Outline 1. Background Why software optimization matters Myths, terminology, and historical context How programs are executed 2. Engineering a JIT Compiler What is a JIT compiler? Case studies: Jikes RVM, IBM DK for Java, HotSpot High level language-specific optimizations VM/JIT interactions 3. Adaptive Optimization Selective optimization Design: profiling and recompilation Case studies: Jikes RVM and IBM DK for Java Understanding system behavior Other issues 4.
    [Show full text]
  • Acknowledgments Diagnosing and Tolerating Bugs in Deployed Systems
    The Dissertation Committee for Michael David Bond certifies that this is the approved version of the following dissertation: Acknowledgments Diagnosing and Tolerating Bugs in Deployed Systems I am deeply grateful to Kathryn McKinley for supporting and mentor- by ing me in many ways. Kathryn has provided invaluable technical expertise Diagnosing and Tolerating Bugs in Deployed Systems and feedback even as we worked in new areas. She has been unwaveringly Michael David Bond, B.S., M.C.S. enthusiastic and positive about students and ideas and projects, and she has been a strong advocate, putting my and other students’ interests first. I en- tered graduate school uncertain about getting a Ph.D., and I leave inspired to pursue an academic career because of Kathryn. Committee: Steve Blackburn has been an enthusiastic supporter and has devoted a lot of his time to solving problems and giving advice, both solicited and unso- Copyright DISSERTATION Kathryn S. McKinley, Supervisor licited. Steve, Keshav Pingali, Peter Stone, and Emmett Witchel have given by Presented to the Faculty of the Graduate School of helpful feedback and spent a lot of time reading long documents and attending Michael David Bond Stephen M. Blackburn The University of Texas at Austin long talks. Vitaly Shmatikov and Steve Keckler have provided valuable advice 2008 in Partial Fulfillment and mentoring. David Padua and Craig Zilles were supportive advisors when Keshav Pingali of the Requirements I was a master’s student at the University of Ilinois. for the Degree of The graduate student community at UT has been incredibly support- Peter Stone ive.
    [Show full text]
  • A Comparative Study of Garbage Collection Techniques in Java Virtual Machines
    Sindh Univ. Res. Jour. (Sci. Ser.) Vol.44 (4) 667- 672 (2012) SINDH UNIVERSITY RESEARCH JOURNAL (SCIENCE SERIES) A Comparative Study of Garbage Collection Techniques in Java Virtual Machines S. IQBAL, M.A. KHAN, I.A. MEMON* Department of Computer Science, Bahauddin Zakariya University, Pakistan. Received 07th February 2012 and Revised 12th July 2012 Abstract: Garbage collection mechanisms implemented in Java Virtual Machines (JVMs) are used to reclaim memory allocated to the objects that become inaccessible during program execution. An efficient garbage collection mechanism certainly facilitates in smooth running of an application. This paper performs a comparative analysis of garbage collection techniques implemented in Sun HotSpot, Oracle JRockit and IBM J9 virtual machines. We perform experiments with several benchmarks containing dynamic creation for objects of TreeMap, ArrayList and String array data types. Due to the creation of a large number of big sized memory objects and loss of references, the garbage is created that is collected by the garbage collectors implemented in the virtual machines. The experiments are carried out on different hardware architectures including Intel Core 2 Quad and Intel Xeon based systems. The performance of each garbage collector is computed in terms of the rate of garbage collection that mainly depends upon the strategy implemented for garbage collection. Our results show that the Sun HotSpot garbage collector performs 4.66 times better than the Oracle JRockit and 144.06 times better than the IBM J9 garbage collectors. Keywords: Garbage Collection, Java Virtual Machines, JRockit, IBM J9, Sun HotSpot, Bytecode. This paper contributes towards a performance 1. INTRODUCTION Java is a widely used language that is analysis of the garbage collection approaches implemented on a large variety of platforms ranging implemented in virtual machines.
    [Show full text]
  • Using HPM-Sampling to Drive Dynamic Compilation
    Using HPM-Sampling to Drive Dynamic Compilation Dries Buytaerty Andy Georgesy Michael Hind∗ Matthew Arnold∗ Lieven Eeckhouty Koen De Bosscherey y Department of Electronics and Information Systems, Ghent University, Belgium ∗IBM T.J. Watson Research Center, New York, NY, USA fdbuytaer,[email protected], fhindm,[email protected], fleeckhou, [email protected] Abstract guage require a dynamic execution environment called a All high-performance production JVMs employ an adaptive virtual machine (VM). To achieve high performance, pro- strategy for program execution. Methods are first executed duction Java virtual machines contain at least two modes unoptimized and then an online profiling mechanism is used of execution: 1) unoptimized execution, using interpreta- to find a subset of methods that should be optimized during tion [21, 28, 18] or a simple dynamic compiler [16, 6, 10, 8] the same execution. This paper empirically evaluates the de- that produces code quickly, and 2) optimized execution us- sign space of several profilers for initiating dynamic com- ing an optimizing dynamic compiler. Methods are first ex- pilation and shows that existing online profiling schemes ecuted using the unoptimized execution strategy. An online suffer from several limitations. They provide an insufficient profiling mechanism is used to find a subset of methods to number of samples, are untimely, and have limited accu- optimize during the same execution. Many systems enhance racy at determining the frequently executed methods. We de- this scheme to provide multiple levels of optimized execu- scribe and comprehensively evaluate HPM-sampling, a sim- tion [6, 18, 28], with increasing compilation cost and bene- ple but effective profiling scheme for finding optimization fits at each level.
    [Show full text]
  • Security Policy Level 1
    20.10.20 RSA® BSAFE® Crypto-J JSAFE and JCE Software Module 6.2 and 6.2.1.1 Security Policy Level 1 This document is a non-proprietary security policy for RSA BSAFE Crypto-J JSAFE and JCE Software Module 6.2 and 6.2.1.1 (Crypto-J JSAFE and JCE Software Module) security software. This document may be freely reproduced and distributed whole and intact including the copyright notice. Note: Refer to the Change Summary for the location of the latest change to this document. Contents: Preface .............................................................................................................2 Terminology .............................................................................................2 Document Organization .........................................................................2 1 The Cryptographic Module .........................................................................3 1.1 Introduction ........................................................................................3 1.2 Module Characteristics .....................................................................3 1.3 Module Interfaces ............................................................................10 1.4 Roles and Services ......................................................................... 11 1.5 Cryptographic Key Management ..................................................23 1.6 Cryptographic Algorithms ...............................................................26 1.7 Self-tests ...........................................................................................28
    [Show full text]
  • SIMD Intrinsics on Managed Language Runtimes
    1 56 2 SIMD Intrinsics on Managed Language Runtimes 57 3 58 4 Anonymous Author(s) 59 5 60 6 Abstract speedup, but neither languages like Java, JavaScript, Python, 61 7 Managed language runtimes such as the Java Virtual Ma- or Ruby, nor their managed runtimes, provide direct access 62 8 chine (JVM) provide adequate performance for a wide range to SIMD facilities. This means that SIMD optimizations, if 63 9 of applications, but at the same time, they lack much of the available at all, are left to the virtual machine (VM) and the 64 10 low-level control that performance-minded programmers built-in just-in-time (JIT) compiler to carry out automatically, 65 11 appreciate in languages like C/C++. One important example which often leads to suboptimal code. As a result, developers 66 12 of such a control is the intrinsics interface that expose in- may be pushed to use low-level languages such as C/C++ to 67 13 structions of SIMD (Single Instruction Multiple Data) vector gain access to the intrinsics API. But leaving the high-level 68 14 ISAs (Instruction Set Architectures). In this paper we present ecosystem of Java or other languages also means to abandon 69 15 an automatic approach for including native intrinsics in the many high-level abstractions that are key for the produc- 70 16 runtime of a managed language. Our implementation con- tive and efficient development of large-scale applications, 71 17 sists of two parts. First, for each vector ISA, we automatically including access to a large set of libraries.
    [Show full text]
  • Trace Register Allocation
    Submitted by DI Josef Eisl, BSc. Submitted at Institute for System Software Supervisor and First Examiner o.Univ.-Prof. DI Dr.Dr.h.c. Hanspeter Mössenböck Second Examiner Ao.Univ.-Prof. DI Dr. Andreas Krall October 2018 Trace Register Allocation Doctoral Thesis to obtain the academic degree of Doktor der technischen Wissenschaften in the Doctoral Program Technische Wissenschaften JOHANNES KEPLER UNIVERSITY LINZ Altenbergerstraße 69 4040 Linz, Österreich www.jku.at DVR 0093696 Oracle, Java, HotSpot, and all Java-based trademarks are trademarks or registered trademarks of Oracle in the United States and other countries. All other product names mentioned herein are trademarks or registered trademarks of their respective owners. In memory of my brother. (Wolfgang Eisl, 1973–2016) v Abstract Register allocation, i.e., mapping the variables of a programming language to the physical reg- isters of a processor, is a mandatory task for almost every compiler and consumes a significant portion of the compile time. In a just-in-time compiler, compile time is a particular issue because compilation happens during program execution and contributes to the overall application run time. Compilers often use global register allocation approaches, such as graph coloring or linear scan, which only have limited potential for improving compile time since they process a whole method at once. With growing methods sizes, these approaches are reaching their scalability boundary due to their limited flexibility. We developed a novel trace register allocation framework, which competes with global approaches in both, compile time and code quality. Instead of processing a whole method at once, our al- locator processes linear code segments (traces) independently and is therefore able to (1) select different allocation strategies based on the characteristics of a trace in order to control thetrade- off between compile time and peak performance, and (2) to allocate traces in parallel inorderto reduce compilation latency, i.e., the time until the result of a compilation is available.
    [Show full text]