Your SlideShare is downloading. ×
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Jpcm
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Jpcm

322

Published on

test

test

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
322
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JPCM Amr ElAdawyJPCM - 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 slotsto which a hardware thread isexecuting a user or OS task…CPU does not spend all the timerunning your code…Some good time is spent also incommunicating with RAM. JPCM - JDC12 5
  • 5. CPU Cache Smaller and faster memory that has a copy of data that is mostfrequently used. Reduces latency by avoiding trips to RAM. CPU has three types of Cache:1. Data Cache2. Instructions Cache3. (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. JPCMJPCM is a Java wrapper over PCM, C++ code from Intel that reads performancecounters 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 linksSupports 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
  • 15. JPCM - JDC12 16

×