SlideShare a Scribd company logo
1 of 15
JPCM
               Amr ElAdawy




JPCM - JDC12                 1
Agenda
 Software Performance.
 CPU Utilization
 CPU Cache
 JPCM
 What you can Do with JPCM and How?
 DEMO
 Under the Hood!
 Future Roadmap




                   JPCM - JDC12       2
Software Performance
 Software performance is:
               Minimize the amount of time and resources needed to
                             complete a unit of work


 Effective performance requires right measurements.



 Software profiling tools tell you a lot bout what your application is doing,

                 But what about CPU?


                                      JPCM - JDC12                              4
CPU Utilization(OS tools)
Shows the portion of time slots
to which a hardware thread is
executing a user or OS task…




CPU does not spend all the time
running your code…
Some good time is spent also in
communicating with RAM.




                                  JPCM - JDC12   5
CPU Cache
   Smaller and faster memory that has a copy of data that is most
frequently used.

  Reduces latency by avoiding trips to RAM.


  CPU has three types of Cache:
1. Data Cache
2. Instructions Cache
3. (TLB) Translation Lookaside Buffer


                    Data Cache is leveled up to three layer (L1,L2,L3)....




                                         JPCM - JDC12                        6
CPU Cache
                          RAM




                            L3

            L2                                  L2
                           CPU
     L1           L1                     L1           L1

    Core1        Core2                  Core3        Core4




                         JPCM - JDC12                        7
JPCM
JPCM is a Java wrapper over PCM, C++ code from Intel that reads performance
counters built into the hardware.

The following metrics are supported:
  Core:
     1. Instructions retired
     2. Elapsed core clock ticks
     3. Core frequency.
     4. L2 cache hits and misses, L3 cache misses and hits.
 Uncore:
     1. Read bytes from memory controller(s).
     2. Bytes written to memory controller(s).
     3. Data traffic transferred by the Intel® QuickPath Interconnect links
Supports Intel Xeon 5500, 5600, 7500, E7 and Core i7 processor




                                        JPCM - JDC12                          8
What can you do with JPCM?
   Get The CPU info                     Get counter State
     CPU Family                           Core Counter State
     CPU Model                            Socket Counter State
     Threads Per Core                     System Counter State
     Number of Cores
     Number of Sockets




                         JPCM - JDC12                            9
What can you do with JPCM?
                   Around 24 metrics are exposed


  L2/L3 Metrics                                      Other Metrics
    Cycles lost due to cache misses                   Execution usage
    Cache hits                                        Total Execution usage
    Caches misses                                     Cycles
    Cache hit ratio                                   Instructions retried




                                      JPCM - JDC12                            10
How it can be used?
      Take a                        Take another
    snapshot      Run your            snapshot
     (Before)       code               (After)




                Come out with the
                  CPU counters




                    JPCM - JDC12                   11
DEMO
Under the Hood!
       J
       M     JAVA
       X


              JNI




             PCM
           Native C++




               JPCM - JDC12   13
Future Roadmap
   Moving into a pure Java code

   Integration into

   Exposing TLAB hits/misses

   Supporting more CPUs and platforms




                        JPCM - JDC12    14
Get Involved!
  Please visit our project on java.net




            http://java.net/projects/jpcm

               http://www.jpcm.net




                                JPCM - JDC12   15
JPCM - JDC12   16

More Related Content

What's hot

Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
chiportal
 
Lesson 1 introduction to real time
Lesson 1 introduction to real timeLesson 1 introduction to real time
Lesson 1 introduction to real time
Pramod Pbkr
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
Pradeep Kumar TS
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
destruck
 
Instruction pipeline
Instruction pipelineInstruction pipeline
Instruction pipeline
ajay_a
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipelining
Tech_MX
 
Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazard
rakeshrakesh2020
 

What's hot (20)

Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
 
pipelining
pipeliningpipelining
pipelining
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Risc processors
Risc processorsRisc processors
Risc processors
 
Reliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on LinuxReliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on Linux
 
Lesson 1 introduction to real time
Lesson 1 introduction to real timeLesson 1 introduction to real time
Lesson 1 introduction to real time
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
 
Cp uarch
Cp uarchCp uarch
Cp uarch
 
Chip morphing
Chip morphingChip morphing
Chip morphing
 
Pipelining1
Pipelining1Pipelining1
Pipelining1
 
Pipelining, processors, risc and cisc
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and cisc
 
Risc & cisk
Risc & ciskRisc & cisk
Risc & cisk
 
Instruction pipeline
Instruction pipelineInstruction pipeline
Instruction pipeline
 
TI TechDays 2010: swiftBoot
TI TechDays 2010: swiftBootTI TechDays 2010: swiftBoot
TI TechDays 2010: swiftBoot
 
Risc and cisc
Risc and ciscRisc and cisc
Risc and cisc
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipelining
 
Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazard
 

Similar to Jpcm

emips_overview_apr08
emips_overview_apr08emips_overview_apr08
emips_overview_apr08
Neil Pittman
 
Os Madsen Block
Os Madsen BlockOs Madsen Block
Os Madsen Block
oscon2007
 
OCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFTOCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFT
Barbara Aichinger
 

Similar to Jpcm (20)

No[1][1]
No[1][1]No[1][1]
No[1][1]
 
emips_overview_apr08
emips_overview_apr08emips_overview_apr08
emips_overview_apr08
 
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
 
The Spectre of Meltdowns
The Spectre of MeltdownsThe Spectre of Meltdowns
The Spectre of Meltdowns
 
System Benchmarking
System BenchmarkingSystem Benchmarking
System Benchmarking
 
Java Memory Model
Java Memory ModelJava Memory Model
Java Memory Model
 
Introduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSPIntroduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSP
 
Choosing the right processor
Choosing the right processorChoosing the right processor
Choosing the right processor
 
Os Madsen Block
Os Madsen BlockOs Madsen Block
Os Madsen Block
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptx
 
System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.ppt
 
OCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFTOCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFT
 
TMS320C5x
TMS320C5xTMS320C5x
TMS320C5x
 
Zpu
ZpuZpu
Zpu
 
Intel Optane Data Center Persistent Memory
Intel Optane Data Center Persistent MemoryIntel Optane Data Center Persistent Memory
Intel Optane Data Center Persistent Memory
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
 
CPU Architecture
CPU ArchitectureCPU Architecture
CPU Architecture
 
Coa presentation3
Coa presentation3Coa presentation3
Coa presentation3
 
Balancing Power & Performance Webinar
Balancing Power & Performance WebinarBalancing Power & Performance Webinar
Balancing Power & Performance Webinar
 
Phytium 64 core cpu preview
Phytium 64 core cpu previewPhytium 64 core cpu preview
Phytium 64 core cpu preview
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Jpcm

  • 1. JPCM Amr ElAdawy JPCM - JDC12 1
  • 2. Agenda Software Performance. CPU Utilization CPU Cache JPCM What you can Do with JPCM and How? DEMO Under the Hood! Future Roadmap JPCM - JDC12 2
  • 3. Software Performance Software performance is: Minimize the amount of time and resources needed to complete a unit of work Effective performance requires right measurements. Software profiling tools tell you a lot bout what your application is doing, But what about CPU? JPCM - JDC12 4
  • 4. CPU Utilization(OS tools) Shows the portion of time slots to which a hardware thread is executing a user or OS task… CPU does not spend all the time running your code… Some good time is spent also in communicating with RAM. JPCM - JDC12 5
  • 5. CPU Cache Smaller and faster memory that has a copy of data that is most frequently used. Reduces latency by avoiding trips to RAM. CPU has three types of Cache: 1. Data Cache 2. Instructions Cache 3. (TLB) Translation Lookaside Buffer Data Cache is leveled up to three layer (L1,L2,L3).... JPCM - JDC12 6
  • 6. CPU Cache RAM L3 L2 L2 CPU L1 L1 L1 L1 Core1 Core2 Core3 Core4 JPCM - JDC12 7
  • 7. JPCM JPCM is a Java wrapper over PCM, C++ code from Intel that reads performance counters built into the hardware. The following metrics are supported: Core: 1. Instructions retired 2. Elapsed core clock ticks 3. Core frequency. 4. L2 cache hits and misses, L3 cache misses and hits. Uncore: 1. Read bytes from memory controller(s). 2. Bytes written to memory controller(s). 3. Data traffic transferred by the Intel® QuickPath Interconnect links Supports Intel Xeon 5500, 5600, 7500, E7 and Core i7 processor JPCM - JDC12 8
  • 8. What can you do with JPCM? Get The CPU info Get counter State CPU Family Core Counter State CPU Model Socket Counter State Threads Per Core System Counter State Number of Cores Number of Sockets JPCM - JDC12 9
  • 9. What can you do with JPCM? Around 24 metrics are exposed L2/L3 Metrics Other Metrics Cycles lost due to cache misses Execution usage Cache hits Total Execution usage Caches misses Cycles Cache hit ratio Instructions retried JPCM - JDC12 10
  • 10. How it can be used? Take a Take another snapshot Run your snapshot (Before) code (After) Come out with the CPU counters JPCM - JDC12 11
  • 11. DEMO
  • 12. Under the Hood! J M JAVA X JNI PCM Native C++ JPCM - JDC12 13
  • 13. Future Roadmap Moving into a pure Java code Integration into Exposing TLAB hits/misses Supporting more CPUs and platforms JPCM - JDC12 14
  • 14. Get Involved! Please visit our project on java.net http://java.net/projects/jpcm http://www.jpcm.net JPCM - JDC12 15