15
QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Embed Size (px)

Citation preview

Page 1: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

QUINN GAUMERECE 259/CPS 221

Improving Performance Isolation on Chip

Multiprocessors via on Operating System Scheduler

Page 2: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Outline

DefinitionsMotivationAlgorithmEvaluation

Page 3: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Definitions

Definitions Fair xyz: xyz under fair cache allocation Slow Schedule: Thread run with high miss rate co-

runners Fast Schedule : Thread run with low miss rate co-

runners

Page 4: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Motivation

Programs running on multiprocessors depend on co-runners

Shared caches aren’t necessarily shared fairly

Does it really matter? If one process suffers then another gains…

Page 5: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Cache Fair Algorithm

Guarantees program runs as fast as it would if resources split equally

Does not actually affect the cache allocationThreads with less cache space will have

lower IPCThreads with IPC higher than Fair should run

for less timeIf a thread’s IPC is lower than its Fair IPC it

should be kept on the processor longer

Page 6: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Cache Fair Algorithm

What does it actually need to do? Maintain approximate fair IPC Keep track of current IPC Scheduler Compensation

Page 7: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Cache Fair Algorithm

Two classes of threads: Cache Fair: threads regulated so that their IPC is

equivalent to their Fair IPC Best Effort: threads where compensatory effects for

Cache Fair threads occur.

Page 8: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Fair IPC Model

For each Cache Fair Thread determine Fair Cache Miss Rate Run with several Co-runners Determine Cache Miss Rates Use Linear Regression

Fair Cache Miss Rate ->Fair IPCDone Online

Page 9: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Implementation

Sampling Run thread with various co-runners Determine Cache Miss Rate for all threads Use Linear Regression to determine Fair IPC

Scheduling Checks IPC and Fair IPC Modifies Cache Fair Thread CPU slice Adjusts Best Effort Thread to compensate

Page 10: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Evaluation

What should our performance metric be? IPC can’t be used, only the scheduler is being changed

Performance variability Difference between running with high and low cache

contention threads

Absolute Performance Difference between normal scheduler and Cache Fair

Scheduler

Page 11: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Program Isolation

Difference between programs run on fast and slow schedule

Cache-Fair is always less than Default

Cache-Fair variability always less than 4%

Page 12: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Absolute Performance

Normalized to fast schedule in Default Scheduler

High IPC programs experience speedup.

Low IPC programs experience slow down

What causes this?Overall absolute

performance is competitive

Page 13: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Aggregate IPC

All programs are run on the slow schedule

When they do not meet their Fair IPC they get compensated

Slow schedule means co-runners utilize more of cache

Page 14: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Side Effects

Best effort threads are also effectedSide effects can be limited by increasing

number of Cache Fair and Best Effort Threads.

Page 15: QUINN GAUMER ECE 259/CPS 221 Improving Performance Isolation on Chip Multiprocessors via on Operating System Scheduler

Questions?