Some Opportunities and Obstacles in Cross-Layer and Cross-Component (Power) Management

15
Some Opportunities and Obstacles in Cross-Layer and Cross-Component (Power) Management Onur Mutlu [email protected] F CPOM Workshop, 2/10/2012

description

Some Opportunities and Obstacles in Cross-Layer and Cross-Component (Power) Management. Onur Mutlu [email protected]. NSF CPOM Workshop, 2/10/2012. What Are These Layers and Components?. Problem. - PowerPoint PPT Presentation

Transcript of Some Opportunities and Obstacles in Cross-Layer and Cross-Component (Power) Management

Page 1: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

Some Opportunities and Obstacles in Cross-Layer and Cross-Component (Power) Management

Onur [email protected]

NSF CPOM Workshop, 2/10/2012

Page 2: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

What Are These Layers and Components?

Well-defined (mostly) interfaces between transformation layers and components/resources create abstractions

2

MicroarchitectureISA

Program/LanguageAlgorithmProblem

Runtime System(VM, OS, MM)

User

Logic

CircuitsElectrons

ComputationCommunication

Storage/Memory

Page 3: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Advantages of abstraction layers Improved productivity at each layer/component

No need to worry about decisions made in higher/lower levels

Designer sanity

Disadvantages Overall suboptimal design

Uncoordinated decisions contradict each other, degrade efficiency

Layers and Components: Pros and Cons

3

Microarchitecture

Runtime System(VM, OS, MM)

Page 4: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

An Example: Lack of OS-Architecture Coordination

4

Low OS-level priority

High OS-level priority

(Core 0) (Core 1)

Moscibroda and Mutlu, “Memory performance attacks: Denial of memory service in multi-core systems,” USENIX Security 2007.

Page 5: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Advantages of abstraction layers Improved productivity at each layer/component

No need to worry about decisions made in higher/lower levels Designer sanity

Disadvantages Overall suboptimal design

Uncoordinated decisions contradict each other, degrade efficiency

Waste due to overprovisioning at each level System-level metrics hard to optimize

Application-level QoS, user experience, TCO, total energy, … Minimize energy while satisfying QoS

Research question: How do we eliminate disadvantages without sacrificing the advantages of layers?

Layers and Components: Pros and Cons

5

ComputationCommunication

Storage/MemoryMicroarchitecture

Runtime System(VM, OS, MM)

Page 6: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Local optimizations relatively easy to think of; local metrics easy to optimize

Global optimization much less so

We may be lacking unifying principles that span across layers to Coordinate information flow and policies across layers

Guide/ease the co-design and management of resources within and across layers

One General Problem

6

Page 7: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Find and employ cross-cutting (unifying) design and resource management principles Ensure these principles are conveyed in the interfaces

Design and enhance interfaces (driven by principles) E.g., the application-OS-architecture interface for resource

management

Develop design tools to enable global optimization Cross-layer evaluation infrastructures

Change mentality Be open-minded to proposals that co-design multiple layers Performance- vs energy- vs user-centric design Provide commensurate focus on important subsystems: memory and

interconnect develop new execution models

How Do We Fix The Problem?

7

Page 8: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Interconnect Energy Scaling

8Chart courtesy of Shekhar Borkar, Intel

Page 9: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Dynamically identify critical/bottleneck tasks (pieces of work) and spend most of the energy on them Not all instructions are equally important [Fields+ ISCA’01,02] Not all network packets are equally important [Das+ ISCA’10] Not all useful cache blocks are equally important [Qureshi+

ISCA’06] Not all threads are equally important [Bhattacherjee+ ISCA’09] Not all queries are equally important Not all applications are equally important

Create a criticality interface between layers and components Application/compiler OS/runtime hardware Enable ways of discovering and expressing task criticality and managing resources based on criticality/slack

One Unifying Principle: Criticality/Slack

9

Page 10: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Identify the criticality/slack present in each task

Convey criticality information across layers/components

Co-design the layers and resources such that they can prioritize tasks based on criticality/slack

Manage execution to minimize slack and spend little energy on non-critical tasks

Exploiting Criticality/Slack

10

Identify bottleneck threads that cause serialization and dynamically ship them to high-power high-performance cores[Suleman+ ASPLOS’09, Joao+ ASPLOS’12]

Page 11: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Identify critical instructions and execute them in fast pipelines [Fields+ ISCA’02]

Identify critical threads and slow down others [Bhattacherjee+ ISCA’09]

Identify critical/limiter threads in a parallel application and prioritize them in the memory controller [Ebrahimi+ MICRO’11]

Identify latency-sensitive applications/threads and prioritize them in the memory controller [Kim+ MICRO’10] or entire shared memory system [Ebrahimi+ ASPLOS’10]

Identify critical interconnect requests from core’s point of view and prioritize them in routers [Das+ ISCA’10]

Exploiting Dynamic Criticality: Other Examples

11

Page 12: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

Thread Cluster Memory Scheduling [Kim+ MICRO’10]

1. Group threads into two clusters2. Prioritize non-intensive cluster3. Different policies for each cluster

12

thread

Threads in the system

thread

thread

thread

thread

thread

thread

Non-intensive cluster

Intensive cluster

thread

thread

thread

Memory-non-intensive

Memory-intensive

Prioritized

higherpriority

higherpriority

Throughput

FairnessTCM, a heterogeneous scheduling policy,

provides the best fairness and system throughput

Page 13: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

Consolidate many tasks to maximize efficiency and provide the QoS each task needs QoS interface across layers

Application OS/runtime architecture uarch.

Coordinate the management of shared resources across components and layers Goal: no efficiency loss due to contradictions in policies

Policy co-design (e.g., between cores, interconnect, memory controllers, memory): criticality can again help here

Exploit heterogeneity at all layers Both architectural/microarchitectural and technology heterogeneity can provide large efficiency gains

Other Unifying Principles and Research Issues

13

Page 14: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

NSF CPOM Workshop, 2/10/2012

We need to break the layers in education first, to be truly successful Cross-layer undergraduate courses

Fund both within-layer and cross-layer approaches

Fund widely many areas – there is likely no silver bullet

Role of Education and Funding

14

Page 15: Some Opportunities and Obstacles in Cross-Layer and Cross-Component  (Power) Management

Some Opportunities and Obstacles in Cross-Layer and Cross-Component (Power) Management

Onur [email protected]

NSF CPOM Workshop, 2/10/2012