SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Group photograph at Linaro Connect in Copenhagen
Monday 29 Oct 2012
Why? What? How? Who? Where? When?
LCE-13
OpenJDK
www.linaro.org
Meet the team
• RedHat
o Andrew Haley (Template Interpreter & C1 Compiler)
o Andrew Dinn (C2 Compiler)
• Linaro
o Andrew Johnson (Test and Benchmarking)
o Ed Nevill (General dogsbody)
• With thanks to
o Riku Voipio (help with OpenEmbedded)
o Andrew McDermott (help with CI loop integration)
• Management
o Andrea Gallo (LEG Director)
o Ilias Biris (Project Manager)
www.linaro.org
Why Java
• Java is the most popular programming language!
– Or maybe 2nd most popular
– Depending who you talk to
• Java is used in servers – a lot
• Tends to be used in performance critical database apps.
• Tier 1 Java support is a requirement
Why Java
www.linaro.org
Java terminology
• J2ME – Java 2 Micro Edition
– Opensource implementation by phoneMe
• J2SE – Java 2 Standard Edition
– Opensource implementation by OpenJDK
• J2EE – Java 2 Enterprise Edition
– OpenJDK + Jboss
• OpenJDK
– Hotspot – The VM
– JDK – The Java runtime
– Other components (corba, jaxp, jaxws, nashorn)
www.linaro.org
Inside Hotspot
• Zero
– C++ bytecode interpreter – veerrrryy sloooowww
– Useful as a reference implementation only
• Template Interpreter
– Chunk of assembler (template) for each bytecode
– Templates copied and modified depending on entry
conditions (atos, itos, vtos, dtos)
– Computed goto at end of each loop removes loop
overhead.
– Performance improvement 3-5x over Zero
www.linaro.org
Inside Hotspot
• C1 (Client) Compiler
– Simple register allocator
– Simple straight line compilation
– Simple optimisation across bytecodes
– Assumed 32 bit!
– Performance ~10 x Template interpreter
• C2 (Server) Compiler
– Aggressive global optimisation
– Predictive optimisation / deoptimisation
– Performance ~2 X C1
www.linaro.org
Inside Hotspot
• Tiered compilation
– Start executing in Template interpreter
– Compile with C1 if method is hot
– Compile with C2 if method is still hot
– Tiered compilation good for dynamically changing loads
– If load is static, may as well just use C2
– But C2 will give very slow startup,
www.linaro.org
Current Status
• AARCH64 initial released pushed Monday
– Announcement on aarch64 mailing list
• Template Interpreter
– Code complete
– Fails 2 more Mauve tests compared to Zero
– “Pretty Rock Solid”
• C1 Compiler
– Compiling 100s of methods
– Not quite code complete – nearly
• C2 Compiler
– Work in progress
www.linaro.org
Next Steps
• Template Interpreter
– Continue testing with JTReg & fix faults
– Integrate build into OE & develop CI loop
• C1 Compiler
– Fix existing faults to get to code complete
– Once code complete move to testing
– Not yet stable enough to test
• C2 Compiler
– Under development adinn @ redhat
www.linaro.org
Resources
• Source mercurial
– http://hg.openjdk.java.net/aarch64-port/jdk8
• Mailing list
– aarch64-port-dev@openjdk.java.net
• IRC
– Server: irc.oftc.net Channel: #openjdk
Group photograph at Linaro Connect in Copenhagen
Monday 29 Oct 2012
Test and Benchmark Status
LCE-13
OpenJDK
www.linaro.org
Available Validation Tests
● Mauve
○ Developed for "clean room" implementations of Java
○ Maintained through Java 6
○ Uses a Java test harness
■ Tests can be run on the same Java that runs the harness or a
designated JVM
■ Over 5000 tests, covering both java and javax packages
○ Tests run on several ports
■ OpenJDK 7 Zero port
■ OpenJDK 8 Zero port
■ OpenJDK 8 Template interpreter
■ OpenJDK 8 Client compiler (C1)
● JTREG
○ Unit tests supplied with OpenJDK
○ Current with OpenJDK
○ Over 3000 tests in combined "core" and "default" suites
○ Same harness used to run JCK when available
www.linaro.org
Test Results
OpenJDK 7 x86-64 aarch64 Zero
Mauve Fail Total Tests Fail Total Tests
Totals 773 5267 800 5261
OpenJDK8 x86-64
Zero
aarch64
Zero
aarch64
Template
aarch64
Client
Mauve Fail Total Fail Total Fail Total Fail Total
Totals 554 5119 752 5114 570 5112 581 5112
OpenJDK 8 x86-64
Zero
aarch64
Zero
aarch64
Template
JTREG Pass Fail Pass Fail Pass Fail
Totals 2957 78 2638 381 2638 381
www.linaro.org
Benchmarks
● Embedded Caffeinemark
○ Developed for Java ME
○ Small enough to run on emulator
● SPECjvm2008
○ Freely available
○ Single subset run on emulator as proof of concept
○ More complete runs when hardware available
● SPECjbb2013
○ Newly released
○ Designed specifically for Java server performance
○ Available under license - will obtain when all components are
ready

Weitere ähnliche Inhalte

Mehr von Linaro

OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...Linaro
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramLinaro
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNLinaro
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...Linaro
 

Mehr von Linaro (20)

OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready Program
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
 

Kürzlich hochgeladen

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Kürzlich hochgeladen (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

LCE13: LEG - OpenJDK

  • 1. Group photograph at Linaro Connect in Copenhagen Monday 29 Oct 2012 Why? What? How? Who? Where? When? LCE-13 OpenJDK
  • 2. www.linaro.org Meet the team • RedHat o Andrew Haley (Template Interpreter & C1 Compiler) o Andrew Dinn (C2 Compiler) • Linaro o Andrew Johnson (Test and Benchmarking) o Ed Nevill (General dogsbody) • With thanks to o Riku Voipio (help with OpenEmbedded) o Andrew McDermott (help with CI loop integration) • Management o Andrea Gallo (LEG Director) o Ilias Biris (Project Manager)
  • 3. www.linaro.org Why Java • Java is the most popular programming language! – Or maybe 2nd most popular – Depending who you talk to • Java is used in servers – a lot • Tends to be used in performance critical database apps. • Tier 1 Java support is a requirement Why Java
  • 4. www.linaro.org Java terminology • J2ME – Java 2 Micro Edition – Opensource implementation by phoneMe • J2SE – Java 2 Standard Edition – Opensource implementation by OpenJDK • J2EE – Java 2 Enterprise Edition – OpenJDK + Jboss • OpenJDK – Hotspot – The VM – JDK – The Java runtime – Other components (corba, jaxp, jaxws, nashorn)
  • 5. www.linaro.org Inside Hotspot • Zero – C++ bytecode interpreter – veerrrryy sloooowww – Useful as a reference implementation only • Template Interpreter – Chunk of assembler (template) for each bytecode – Templates copied and modified depending on entry conditions (atos, itos, vtos, dtos) – Computed goto at end of each loop removes loop overhead. – Performance improvement 3-5x over Zero
  • 6. www.linaro.org Inside Hotspot • C1 (Client) Compiler – Simple register allocator – Simple straight line compilation – Simple optimisation across bytecodes – Assumed 32 bit! – Performance ~10 x Template interpreter • C2 (Server) Compiler – Aggressive global optimisation – Predictive optimisation / deoptimisation – Performance ~2 X C1
  • 7. www.linaro.org Inside Hotspot • Tiered compilation – Start executing in Template interpreter – Compile with C1 if method is hot – Compile with C2 if method is still hot – Tiered compilation good for dynamically changing loads – If load is static, may as well just use C2 – But C2 will give very slow startup,
  • 8. www.linaro.org Current Status • AARCH64 initial released pushed Monday – Announcement on aarch64 mailing list • Template Interpreter – Code complete – Fails 2 more Mauve tests compared to Zero – “Pretty Rock Solid” • C1 Compiler – Compiling 100s of methods – Not quite code complete – nearly • C2 Compiler – Work in progress
  • 9. www.linaro.org Next Steps • Template Interpreter – Continue testing with JTReg & fix faults – Integrate build into OE & develop CI loop • C1 Compiler – Fix existing faults to get to code complete – Once code complete move to testing – Not yet stable enough to test • C2 Compiler – Under development adinn @ redhat
  • 10. www.linaro.org Resources • Source mercurial – http://hg.openjdk.java.net/aarch64-port/jdk8 • Mailing list – aarch64-port-dev@openjdk.java.net • IRC – Server: irc.oftc.net Channel: #openjdk
  • 11. Group photograph at Linaro Connect in Copenhagen Monday 29 Oct 2012 Test and Benchmark Status LCE-13 OpenJDK
  • 12. www.linaro.org Available Validation Tests ● Mauve ○ Developed for "clean room" implementations of Java ○ Maintained through Java 6 ○ Uses a Java test harness ■ Tests can be run on the same Java that runs the harness or a designated JVM ■ Over 5000 tests, covering both java and javax packages ○ Tests run on several ports ■ OpenJDK 7 Zero port ■ OpenJDK 8 Zero port ■ OpenJDK 8 Template interpreter ■ OpenJDK 8 Client compiler (C1) ● JTREG ○ Unit tests supplied with OpenJDK ○ Current with OpenJDK ○ Over 3000 tests in combined "core" and "default" suites ○ Same harness used to run JCK when available
  • 13. www.linaro.org Test Results OpenJDK 7 x86-64 aarch64 Zero Mauve Fail Total Tests Fail Total Tests Totals 773 5267 800 5261 OpenJDK8 x86-64 Zero aarch64 Zero aarch64 Template aarch64 Client Mauve Fail Total Fail Total Fail Total Fail Total Totals 554 5119 752 5114 570 5112 581 5112 OpenJDK 8 x86-64 Zero aarch64 Zero aarch64 Template JTREG Pass Fail Pass Fail Pass Fail Totals 2957 78 2638 381 2638 381
  • 14. www.linaro.org Benchmarks ● Embedded Caffeinemark ○ Developed for Java ME ○ Small enough to run on emulator ● SPECjvm2008 ○ Freely available ○ Single subset run on emulator as proof of concept ○ More complete runs when hardware available ● SPECjbb2013 ○ Newly released ○ Designed specifically for Java server performance ○ Available under license - will obtain when all components are ready