SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentorchiportal
 
Reliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on LinuxReliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on LinuxSamsung Open Source Group
 
Lesson 1 introduction to real time
Lesson 1 introduction to real timeLesson 1 introduction to real time
Lesson 1 introduction to real timePramod Pbkr
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systemsPradeep Kumar TS
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems mentoresd
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesigndestruck
 
Pipelining, processors, risc and cisc
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and ciscMark Gibbs
 
Instruction pipeline
Instruction pipelineInstruction pipeline
Instruction pipelineajay_a
 
TI TechDays 2010: swiftBoot
TI TechDays 2010: swiftBootTI TechDays 2010: swiftBoot
TI TechDays 2010: swiftBootandrewmurraympc
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipeliningTech_MX
 
Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardrakeshrakesh2020
 

Mais procurados (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
 

Semelhante a Jpcm

Semelhante a 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
 

Último

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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...Jeffrey Haguewood
 
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
 
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...apidays
 
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 FMESafe Software
 
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 FresherRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
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
 
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...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
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 - 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...
 
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
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
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...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

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