Top Banner
Operating System Kernels 1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book
14

Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 1

Operating System Support for Performance Monitoring

Witawas Srisa-an

Chapter: not in the book

Page 2: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 2

Imagine … Tom is deploying a new server program for his

client. During the field test, he notices that its performance is below his expectation. How would he identify the main causes?

A company is planning to upgrade the server systems. You are asked to analyze which systems and which configurations will perform best when executing its main point-of-sale application. How would you perform the analysis?

Page 3: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 3

Imagine … You are deploying an embedded computer

system that will run only 3 applications simultaneously. You are asked to hand tuned these three applications to minimize: Instruction count Execution time in cycles L1 data cache misses Pipeline stalls, etc.

You want to compare the performance of your very own malloc function to existing techniques. How would you conduct the comparison?

Page 4: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 4

Remember?

Page 5: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 5

Outline

What are Model Specific Registers (MSRs) Why are they there? How do we use them in the OS context?

Page 6: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 6

MSRs

Programmable registers to satisfy performance cognizant consumers A small number (2 in P1, 4 in Athlon, 8 in P4) Can count several on-going events Each counter has a control register

Set interrupts on overflow Cycle detection versus event detection Work in various privilege levels Set the event(s) to monitor

Page 7: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 7

MSRs

Currently supported by many architectures AMD Athlon, Opteron HP (DEC or Compaq) Alpha Intel Itanium, Pentium Sun UltraSparc II Many more

Page 8: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 8

MSRs

Intel P1: RDTSC and 2 MSRs P4: RDTSC and 9 registers to monitor 48

events AMD

Athlon & Opteron: RDTSC and 4 registers to monitor 58+ events

Page 9: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 9

MSRs

L1 Misses Load-Store Buffer Full Dispatched Floating Point Unit operations Cycle counter many many more events

Page 10: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 10

MSRs

RDTSC (in X86) A special 64 bit register Stored the cycle counter value in eax and ecx Start from zero when the machine is booted

For a 3GHz, takes about 195 years to roll over

Page 11: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 11

MSRs

Not well documented No APIs support Change frequently Last thing on the (long) to-do list of the

hardware engineers

Sounds great! What’s the catch?

Page 12: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 12

No More Wall Clock Time?

Yes, cycle counting is more accurate Yes, monitoring micro-architecture events

give us more insights No, the information is still system wide.

Getting L1 misses in a system with 105 processes. What does that tell you about each process?

Page 13: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 13

Performance Monitoring in the OS Context

The focus of Programming Assignment 2 To obtain events information per process

Simplified by using RDTSC Create new system calls to provide per process information

What do we need from the OS?

Page 14: Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.

Operating System Kernels 14

OS support

new ready running exit

blocked