JPCM - JDC121 JPCM. Agenda JPCM - JDC122 3 Software performance is Better Performance tuning requires accurate Measurements. JPCM - JDC124 Software.

Slides:



Advertisements
Similar presentations
Computer Organization CS224 Fall 2012 Lesson 44. Virtual Memory  Use main memory as a “cache” for secondary (disk) storage l Managed jointly by CPU hardware.
Advertisements

CSIE30300 Computer Architecture Unit 10: Virtual Memory Hsin-Chou Chi [Adapted from material by and
Virtual Memory Hardware Support
S.1 Review: The Memory Hierarchy Increasing distance from the processor in access time L1$ L2$ Main Memory Secondary Memory Processor (Relative) size of.
Computer Architecture, Memory Hierarchy & Virtual Memory
Computer System Overview
Embedded Computing From Theory to Practice November 2008 USTC Suzhou.
Virtual Memory and Paging J. Nelson Amaral. Large Data Sets Size of address space: – 32-bit machines: 2 32 = 4 GB – 64-bit machines: 2 64 = a huge number.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy (Part II)
Cache Memory By Sean Hunter.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Different CPUs CLICK THE SPINNING COMPUTER TO MOVE ON.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
CSE431 L22 TLBs.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 22. Virtual Memory Hardware Support Mary Jane Irwin (
Copyright © 2013, SAS Institute Inc. All rights reserved. MEMORY CACHE – PERFORMANCE CONSIDERATIONS CLAIRE CATES DISTINGUISHED DEVELOPER
The Memory Hierarchy 21/05/2009Lecture 32_CA&O_Engr Umbreen Sabir.
IT253: Computer Organization
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui COMP 203 / NWEN 201 Computer Organisation / Computer Architectures Virtual.
Virtual Memory Expanding Memory Multiple Concurrent Processes.
Performance of mathematical software Agner Fog Technical University of Denmark
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-8 Memory Management (2) Department of Computer Science and Software.
Srihari Makineni & Ravi Iyer Communications Technology Lab
* Third party brands and names are the property of their respective owners. Performance Tuning Linux* Applications LinuxWorld Conference & Expo Gary Carleton.
SYNAR Systems Networking and Architecture Group CMPT 886: Computer Architecture Primer Dr. Alexandra Fedorova School of Computing Science SFU.
Computer Organization and Architecture Tutorial 1 Kenneth Lee.
Transmeta’s New Processor Another way to design CPU By Wu Cheng
Chapter 91 Logical Address in Paging  Page size always chosen as a power of 2.  Example: if 16 bit addresses are used and page size = 1K, we need 10.
Software Performance Monitoring Daniele Francesco Kruse July 2010.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
Memory Hierarchy: Terminology Hit: data appears in some block in the upper level (example: Block X)  Hit Rate : the fraction of memory access found in.
CS2100 Computer Organisation Virtual Memory – Own reading only (AY2015/6) Semester 1.
A Software Performance Monitoring Tool Daniele Francesco Kruse March 2010.
Virtual Memory Ch. 8 & 9 Silberschatz Operating Systems Book.
Virtual Memory Review Goal: give illusion of a large memory Allow many processes to share single memory Strategy Break physical memory up into blocks (pages)
Additional Cache Notes Dan Nguyen Spring Lee.
Test for timestamp : measure code execution time.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
1 How will execution time grow with SIZE? int array[SIZE]; int sum = 0; for (int i = 0 ; i < ; ++ i) { for (int j = 0 ; j < SIZE ; ++ j) { sum +=
SYNAR Systems Networking and Architecture Group CMPT 886: Computer Architecture Primer Dr. Alexandra Fedorova School of Computing Science SFU.
Virtual Memory 1 Computer Organization II © McQuain Virtual Memory Use main memory as a “cache” for secondary (disk) storage – Managed jointly.
Software Design and Development Computer Architecture Computing Science.
CPU Central Processing Unit
Patrick Lu, Intel DCG/NPG/ASE
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
ECE232: Hardware Organization and Design
Operating Systems CMPSC 473
CS161 – Design and Architecture of Computer
Computer Memory.
Central Processing Unit- CPU
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
INTEL HYPER THREADING TECHNOLOGY
Assembly Language for Intel-Based Computers, 5th Edition
QuickPath interconnect GB/s GB/s total To I/O
Architecture Background
CS-301 Introduction to Computing Lecture 17
Intel’s Core i7 Processor
Hyperthreading Technology
What we need to be able to count to tune programs
Patrick Lu, Intel DCG/NPG/ASE
CMPT 886: Computer Architecture Primer
Tools.
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
TLB Performance Seung Ki Lee.
Tools.
Virtual Memory Lecture notes from MKP and S. Yalamanchili.
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
Presentation transcript:

JPCM - JDC121 JPCM

Agenda JPCM - JDC122

3

Software performance is Better Performance tuning requires accurate Measurements. JPCM - JDC124 Software Performance Software profiling tools tell you a lot bout memory, But what about CPU?

CPU has three types of Cache: 1.Data Cache 2.Instructions Cache 3.(TLB) Translation Lookaside Buffer Smaller and faster memory that has a copy of data that is most frequently used. Saves a lot of latency time consumed in accessing RAM. Data Cache is leveled up to three layer (L1,L2,L3).... CPU Cache JPCM - JDC125

CPU RAM Core1Core2Core3Core4 L1 L2 L3 CPU Cache JPCM - JDC126

7 CPU Utilization(OS tools) Shows the portion of time slots that the CPU scheduler in the OS could assign to execution of running programs or the OS itself

JPCM - JDC128 Intel PCM & JPCM PCM is a C++ code from Intel to read data from PMU (Performance Monitoring Unit) Supports Intel Xeon 5500, 5600, 7500, E7 and Core i7 processor 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

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

10 L2/L3 Metrics Cycles lost due to cache misses Cache hits Caches misses Cache hit ratio Other Metrics Execution usage Total Execution usage Cycles Instructions retried Around 24 metrics are exposed What can you do with JPCM?

Come out with the CPU counters JPCM - JDC1211 How it can be used? Take a snapshot (Before) Run your code Take another snapshot (After)

Native C++ JAVA JMXJMX JNI PCM Under the Hood! JPCM - JDC1212

DEMO

JPCM - JDC1214