Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine



Ähnliche Dokumente
Lizenzierung von System Center 2012

Projekte für reale Herausforderungen Projektarbeit: Einleitung und Gliederung. Projekte für reale Herausforderungen

Java Garbage Collector: Funktionsweise und Optimierung. Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, )

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Zeichen bei Zahlen entschlüsseln

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Managementprozesse und Performance

Kapitel 6: Graphalgorithmen Gliederung

Java Performance Tuning

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

G1 reif für den großen Auftritt?

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Optimierung von Heizungsanlagen. Hydraulischer Abgleich Arbeitsweise der Software

Grundbegriffe der Informatik

Erstellen einer digitalen Signatur für Adobe-Formulare

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ClubWebMan Veranstaltungskalender

VECTRON. Technische Produktdokumentation. Leading in POS Technology. Vectron Systems AG Kassenschublade Vectron DR20

Java-Optimierung Grundlagen, Konfiguration, Methoden und Werkzeuge zur Optimierung von Oracle-Java

DURCH VIDA ERZEUGTE PROTOKOLLDATEIEN 1 EINFÜHRUNG

Welche GC-Strategie ist die richtige?

Abacus Formula Compiler (AFC)

Internet Explorer Version 6

Fragebogen zur Anforderungsanalyse

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Performance Analyse in einem komplexen Softwaresystem Gebhard Ebeling

Theoretische Informatik SS 04 Übung 1

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Java Virtual Machine (JVM) Bytecode

SAFEYTEAMS-Newsletter Nr. 5

itestra Software Tuning Mehr Leistung. Weniger Kosten. Software Productivity

lldeckblatt Einsatzszenarien von SIMATIC Security-Produkten im PCS 7-Umfeld SIMATIC PCS 7 FAQ Mai 2013 Service & Support Answers for industry.

CADEMIA: Einrichtung Ihres Computers unter Windows

Mediator 9 - Lernprogramm

Kapiteltests zum Leitprogramm Binäre Suchbäume

Erstellen eines Formulars

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

Agile Softwareentwicklung

Praktikum Nr. 3. Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum

BÜRO MAYER GmbH & Co. KG

Die AIXTHOR-Software zur DIN EN / VDE 0185 Teil 305-2: Risk-Management zum Schutz baulicher Anlagen

Anleitung für IQES-Verantwortliche Persönliche Konten verwalten

Übung - Arbeiten mit Android

Installationsanleitung LogControl DL-Software

Zentrum. Zentrum Ideenmanagement. Zentrum Ideenmanagement. Umfrage zur Nutzung von mobilen Endgeräten im Ideenmanagement

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Professionelle Seminare im Bereich MS-Office

HOW TO Word- und PowerPoint- Export

Anwenderdokumentation PersoSim

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Hilfe zur Urlaubsplanung und Zeiterfassung

Dokumentation: ZIBXL - Auswertung der internen Umbuchungen

telemed Desktop-VPN Hinweise zur Installation und Einrichtung

Installation und Inbetriebnahme von SolidWorks

Funktionaler Zusammenhang. Lehrplan Realschule

Leitfaden für die Installation der freien Virtual Machine C-MOR Videoüberwachung auf XenServer ab Version 6.2

Terminologie zwischen normativer Referenz und deskriptiver Dokumentation. Dr. Birte Lönneker-Rodman, Across Systems GmbH

Virtual Private Network. David Greber und Michael Wäger

Auslobung des Wettbewerbs Reinickendorfer Frauen in Führung

JIRA-Speicher erhoehen

Upgrade von Windows Vista auf Windows 7

Fragebogen: Abschlussbefragung

Secure Network Communications (BC-SEC-SNC)

Karten-Freischaltung mit dem UNLOCK MANAGER

Deckblatt. Wie kann WinAC MP mit PC oder SPS Daten austauschen? Multi Panel mit WinAC MP. FAQ Januar Service & Support. Answers for industry.

HVB globaltrxnet Installationsanleitung

C# im Vergleich zu Java

1) Mit welcher Zahl muss 18 multipliziert werden, um 234 zu erhalten? Kontrolliere! 2) Finde die Zahl, mit der 171 multipliziert werden muss, um 4104

Anleitung zur Einrichtung von Kontoweckern im Online Banking

Qualitätsmanagement im Projekt

Einrichten von Benutzergruppen und Benutzern

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Lichtbrechung an Linsen

Leitfaden für die Installation der Videoüberwachung C-MOR

Eine Bürokratiekostenfolgenabschätzung zum zweiten Gesetz für moderne Dienstleistungen am Arbeitsmarkt im Hinblick auf die Einführung einer Gleitzone

Installationsanweisung JavaHelp

Statistik II. Statistik II, SS 2001, Seite 1 von 5

Statistikausbildung mit R und SPSS aus der Sicht der Studierenden

Übungen zur Softwaretechnik

WARENWIRT- SCHAFT UND ERP BERATUNG Mehr Sicherheit für Ihre Entscheidung

ProfileXT HR HORIZONTE PERSONALBERATUNG. Diagnostik Training Systeme

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

1 Was ist das Mediencenter?

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Installation und Inbetriebnahme von Microsoft Visual C Express

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

Part-Of-Speech-Tagging mit Viterbi Algorithmus

Quicken Anleitung zum Rechnerwechsel

e-serve UPSM Version 7.1

Handbuch Offline-Abgleich

Klassenstufe 6.1 Licht und Schatten

Transkript:

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine Michael Schmeißer michael@skamandros.de 25. September 2012

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 2 Ziel Programm Optimierungsziel Nebenbedingungen? Garbage Collector Empfehlung

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 3 Motivation Realbeispiel Komponente zur Extraktion von Informationen aus HTML-Dokumenten Eingabe: HTML-Dokument Ausgabe: Informationen über das Dokument Fragestellung Mit welchem Garbage Collector wird der beste Durchsatz erzielt, wenn 512 MiB RAM zur Verfügung stehen?

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 4 Was ist Garbage? x c d y z a b e Wurzeln f g lebende Objekte Müll Abbildung: Betrachtung des Heaps als Graph

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 5 Garbage Collectoren der Java HotSpot Virtual Machine Serial Collector Parallel Compacting (PC) Collector Concurrent Mark-Sweep (CMS) Collector Junge Generation Allokation Eden From-Space To-Space leer Alte Generation Beförderung Abbildung: Heap-Layout der betrachteten Garbage Collectoren, vgl. [1, Abb. 1 u. 2, S. 6f.]

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 6 Kriterien für die Unterscheidung von Szenarien Allokationsgeschwindigkeit Frage: Wie schnell füllt sich der Heap? Allokationsgeschwindigkeit relativ zur verfügbaren Heap-Größe relevant Metrik: Anzahl Aufräumzyklen pro Sekunde multipliziert mit Verhältnis der Größe der Allokationsregion zum gesamten Heap v a = n T se (1) s Bei konstantem Verhältnis s E s : v a = n T (2)

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 7 Kriterien für die Unterscheidung von Szenarien Lebenszeit der Objekte Schwache generationale Hypothese [2] Die meisten Objekte sterben jung. Garbage Collectoren für schwache generationale Hypothese optimiert Frage: Wie lange leben die Objekte? Problem: Große Aufräumzyklen führen zu schlechter Performance bei pausierenden Kollektoren Metrik: relative Häufigkeit großer Aufräumzyklen Γ = H(G) H(G) + H(K ) (3)

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 8 Gesamtprozess Optimierungsziel Nebenbedingungen Programm Nebenbedingungen Garbage Collector Empfehlung Messplattform Auswahlverfahren Programmeigenschaften

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 9 Ermittlung optimaler Einsatzszenarien Methodik Durchführung mehrerer Experimente mit verschiedenen Programmen Beeinflussung der Allokationsgeschwindigkeit und Lebenszeit der Daten Gruppierung der Ergebnisse in verschiedene Intervalle für v a und Γ Gesamtergebnis: schlechtestes relatives Ergebnis ++ stets bestes Ergebnis + nie mehr als 10% schlechter Symbol = nie mehr als 20% schlechter - nie mehr als 30% schlechter - - sonst (4)

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 10 Einordnung des Realbeispiels Heap-Größe [MiB] v a [ ] Aufräumzyklen Sekunde Γ [%] 512 4,6 0,3 Tabelle: Eigenschaften des Realbeispiels Serial Collector PC Collector CMS Collector + ++ Tabelle: Gesamtergebnisse der Garbage Collectoren bezüglich Gesamtausführungszeit bei 2, 5 < v a 10, 0 Γ 0, 5%

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 11 Auswahl eines Garbage Collectors für das Realbeispiel Serial Collector PC Collector CMS Collector + ++ Tabelle: Gesamtergebnisse der Garbage Collectoren bezüglich Gesamtausführungszeit bei 2, 5 < v a 10, 0 Γ 0, 5% Serial Collector PC Collector CMS Collector T σ T T σ T T σ T 4 773 32 4 681 12 4 919 32 Tabelle: Gesamtausführungszeit T in Millisekunden ermittelt bei 512 MiB Heap-Größe in 240 Versuchen mit Entfernung von jeweils 34 Minima und Maxima

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 12 Zusammenfassung Ziel: Auswahl eines geeigneten Garbage Collectors mit möglichst wenig Aufwand Vorgehen: Durchführung verschiedener Experimente Gruppierung der Ergebnisse zur Verallgemeinerung Ergebnis: Optimale Einsatzszenarien für die Garbage Collectoren der HotSpot JVM Anwendung: Auswahl eines GCs durch Bestimmung von v a und Γ Optimierungsziel Nebenbedingungen Programm Nebenbedingungen Garbage Collector Empfehlung Messplattform Auswahlverfahren Programmeigenschaften

25.09.2012 Michael Schmeißer, Auswahl eines Garbage Collectors der HotSpot JVM Seite 13 Literatur SUN MICROSYSTEMS: Memory Management in the Java HotSpot TM Virtual Machine. http://java.sun.com/j2se/reference/whitepapers/ memorymanagement_whitepaper.pdf, April 2006 UNGAR, David M.: Generation Scavenging: A Non-Disruptive High Performance Storage Reclamation Algorithm. In: ACM/SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments. Pittsburgh, PA : ACM Press, April 1984 (ACM SIGPLAN Notices 19(5)), S. 157 167