Top Banner
Multicore...Manycore... Many Challenges in Computer Architecture Mohamed Zahran (aka Z) [email protected] http://www.mzahran.com
43

Alexandria ACM SC | Challenges in Computer Architecture

Jan 03, 2016

Download

Documents

Instructed by Prof. Mohamed Zahran | http://goo.gl/jnWIc1

Multicore processors are already mainstream and the movement from single core to multicore and then manycore is already a bedtime story to toddlers in Silicon Valley!

Computer Architecture is the art of building the inside world of the ruling power to our worlds now. It depicts the relations and parts of computer systems. For ages since the very start of computer science the general architecture of computers resided as constant categorizations. The Dependency on a Central Processing Units and their use of Memory Units remained the core of most astonishing developments in the inside of this world.

The seminar is going to circle around how changeable and justifiable what we already know about computer architecture is changing. How this residual conceptual art of computer science is moving to match the needs of today. It shall also extend to explain how the most advanced technologies such as some fashionable computer architectures include cluster computing and Non-Uniform Memory Access. Today achieve great reflections on our ways of living and they are still built on these definitions and methodologies that branched out from Von Neumann Architecture to the technology of multicores and atomic processors now.
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: Alexandria ACM SC | Challenges in Computer Architecture

Multicore...Manycore...Many Challenges in Computer

Architecture

Mohamed Zahran (aka Z)

[email protected]

http://www.mzahran.com

Page 2: Alexandria ACM SC | Challenges in Computer Architecture

Multicore...Manycore...Many Challenges in Computer

Architecture

Mohamed Zahran (aka Z)

[email protected]

http://www.mzahran.com

Page 3: Alexandria ACM SC | Challenges in Computer Architecture

A Very Basic Question

What is computer architecture?

Computer Architecture is the science and art of selectingand interconnecting hardware components to create computers that meet functional, performance and cost goals.

Computer architecture is NOT about using computers to design buildings!

Page 4: Alexandria ACM SC | Challenges in Computer Architecture

High Level Language

Assembly Language

Machine Language

Microarchitecture

Logic Level

Problem Algorithm Development Programmer

Compiler (translator)

Assembler (translator)

Control Unit (Interpreter)

Microsequencer (Interpreter)

Device Level Semiconductors Quantum

Page 5: Alexandria ACM SC | Challenges in Computer Architecture

High Level Language

Assembly Language

Machine Language

Microarchitecture

Logic Level

Problem Algorithm Development Programmer

Compiler (translator)

Assembler (translator)

Control Unit (Interpreter)

Microsequencer (Interpreter)

Device Level Semiconductors Quantum

We play here!And talk to neighborsabove and below.

Page 6: Alexandria ACM SC | Challenges in Computer Architecture

Pentium 4

IBM Power 7

Core 2 Duo (Merom)

Montecito (Itanium 2) Cell Processor

Niagara(SUN UltraSparc T2)

Intel Core i7 (Nehalem)

Page 7: Alexandria ACM SC | Challenges in Computer Architecture

The Famous Moore’s Law

Enabling technology: Dennard scaling

Page 8: Alexandria ACM SC | Challenges in Computer Architecture

Hardware Improvement

Better Software

People get used to the software

People ask for moreimprovements

Positive Cycle of Computer Industry

Page 9: Alexandria ACM SC | Challenges in Computer Architecture

How Did These Advances Happen?

Computer Architecture

SoftwareCommunity

ProcessTechnology

Wishes

• Performance• Restrictions

• Restrictions • Capabilities

Design

Page 10: Alexandria ACM SC | Challenges in Computer Architecture
Page 11: Alexandria ACM SC | Challenges in Computer Architecture
Page 12: Alexandria ACM SC | Challenges in Computer Architecture

New Issues

• Previous– Performance– Power– Cost

• Now– Reliability– Security– Programmability – Testing

Page 13: Alexandria ACM SC | Challenges in Computer Architecture

Two Main Goals

•Maintain execution speed of oldsequential programs

•Increase throughput of parallelprograms

All within technological and cost constraints!

Page 14: Alexandria ACM SC | Challenges in Computer Architecture

•Maintain execution speed of oldsequential programs

•Increase throughput of parallelprograms

CPU

GPU

The Rise of General Purpose GPUs: GPGPUs

Two Main Goals

Page 15: Alexandria ACM SC | Challenges in Computer Architecture

Figure 1.1. Enlarging Performance Gap between GPUs and CPUs.

Multi-core CPU

Many-core GPU

Courtesy: John Owens

Page 16: Alexandria ACM SC | Challenges in Computer Architecture

DRAM

Cache

ALU

Control

ALU

ALU

ALU

DRAM

CPU GPU

Page 17: Alexandria ACM SC | Challenges in Computer Architecture

CPU is optimized for sequential code performance

DRAM

Cache

ALU

Control

ALU

ALU

ALU

DRAM

CPU GPU

Page 18: Alexandria ACM SC | Challenges in Computer Architecture

Almost 10x the bandwidth of multicore(relaxed memory model)

DRAM

Cache

ALU

Control

ALU

ALU

ALU

DRAM

CPU GPU

Page 19: Alexandria ACM SC | Challenges in Computer Architecture

Walls

The Memory Wall– Gap between compute and memory speed

Bandwidth Wall– Coming soon and very fast

The Power Wall– Dynamic and static power dissipation

• The ILP Wall– Limited ILP in applications

• The Frequency Wall– Not much headroom

Page 20: Alexandria ACM SC | Challenges in Computer Architecture

µProc60%/yr.

DRAM7%/yr.

1

10

100

10001980

1981

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

DRAM

CPU

1982

Processor-MemoryPerformance Gap:(grows 50% / year)

Pe

rfo

rman

ce

“Moore’s Law”

Memory Wall

Page 21: Alexandria ACM SC | Challenges in Computer Architecture

100 On-Chip Cores

• Technologically possible

• Near-future usage:– Massively parallel applications

• Multithreading

• On the long run– Day to day use

• Hybrid multithreading + multiprogramming

Page 22: Alexandria ACM SC | Challenges in Computer Architecture

Cache Hierarchies

• Multi-level caches consume more than 60% of die area

• Power consumption and dissipation are significant

• Performance losses are significant– Cache miss penalties

– Bandwidth bottlenecks

How to make the best use of the cache hierarchy?

Page 23: Alexandria ACM SC | Challenges in Computer Architecture

Bandwidth Wall

• Increasing number of on-chip cores

• Not-very-scalable chip pins

• Big pressure on buses, memory ports, …

Page 24: Alexandria ACM SC | Challenges in Computer Architecture

24

Wa

tts

/cm

2

1

10

100

1000

1.5m 1m 0.7m 0.5m 0.35m 0.25m 0.18m 0.13m 0.1m 0.07m

i386

i486

Pentium®

Pentium® Pro

Pentium® II

Pentium® IIIHot plate

Nuclear Reactor

RocketNozzle

* “New Microarchitecture Challenges in the Coming Generations of CMOS Process Technologies” –

Fred Pollack, Intel Corp. Micro32 conference key note - 1999.

Pentium® 4

Power Wall

Page 25: Alexandria ACM SC | Challenges in Computer Architecture

Power Wall

• Static and dynamic power dissipation

• Temperature -> hot spot

• Cannot turn-on all transistors in a chip – Dark silicon

• This problem cannot be solved at one level alone

• Good research: propose a solution in one level

• Better research: take level interactions into account

Page 26: Alexandria ACM SC | Challenges in Computer Architecture

Effect of Technology on Architecture Research: Examples

• 3D Stacking

• New storage/memory technology

Page 27: Alexandria ACM SC | Challenges in Computer Architecture

Source: http://www3.pucrs.br/pucrs/files/uni/poa/facin/pos/relatoriostec/tr060.pdf

Page 28: Alexandria ACM SC | Challenges in Computer Architecture

New Memory Technology:Research Questions

• How can you make use of the new technologies to design a near optimal memory and storage hierarchy?

• How can the software help?

• Can we gain something if we combine this with 3D stacking?

Page 29: Alexandria ACM SC | Challenges in Computer Architecture

More Research Topics

• Hardware supported security• Get the user into the loop• NoC• Heterogeneous multicore• Optical interconnection• What can we learn from nature?• One billion dollar question: we need an

easy parallel programming model

Page 30: Alexandria ACM SC | Challenges in Computer Architecture

Keep Your Eyes Open

• http://www.itrs.net

• http://arch-www.cs.wisc.edu/home

• Morganclaypool: lecture series in computer architecture

Page 31: Alexandria ACM SC | Challenges in Computer Architecture

A Quick Look At Tools

Page 32: Alexandria ACM SC | Challenges in Computer Architecture

What Do You Need to Do Your Computer Architecture Research?

• Simulators:– At different levels of details

• Compilation infrastructure

• Binary instrumentation

• Benchmarks

• Misc tools for graphs/writing/references

Page 33: Alexandria ACM SC | Challenges in Computer Architecture

Simulator

• Full-system simulators

• Cycle-accurate simulators

• Functional simulator

• Simulator of some specific architectures or issues only

Page 34: Alexandria ACM SC | Challenges in Computer Architecture

Full-System Simulators

• Simulate the full system (processors, memory, etc).

• Some are faithful and can boot an OS

• Examples:– COTSon from HP-Labs

– gem5

Page 35: Alexandria ACM SC | Challenges in Computer Architecture

Cycle-Accurate and Timing Simulators

• Simulate every cycle and instruction• Can switch to functional when needed• Must pick based on your needs• Examples

– multi2sim– mv5– sniper multicore simulator– MACSim– zesto (http://zesto.cc.gatech.edu/)

Page 36: Alexandria ACM SC | Challenges in Computer Architecture

GPU Simulators

• Attila Project

• http://attila.ac.upc.edu/wiki/index.php/Attila_Project

• GPGPU-sim

• http://www.gpgpu-sim.org/

Page 37: Alexandria ACM SC | Challenges in Computer Architecture

Special Simulator

• DRAM simulator: – DRAMSIM2– https://wiki.umd.edu/DRAMSim2/index.php?title=Main_Page

• Disk simulator:– disksim: http://www.pdl.cmu.edu/DiskSim/

• NoC simulator:– CINSIM: http://www.lfa.uni-wuppertal.de/forschung/simulator-cinsim-engl/download.html

– Netrace: http://www.cs.utexas.edu/~netrace/

– Noxim: http://noxim.sourceforge.net/

Page 38: Alexandria ACM SC | Challenges in Computer Architecture

Tools

• Measuring power in memory systems– CACTI: from HP Labs– 3DCACTI : http://www.cse.psu.edu/~yuanxie/3Dcacti.html

• Power, area, and timing modeling:– McPAT from HP-labs

• Power simulators– Hotspot– HotLeakage– Wattch

Page 39: Alexandria ACM SC | Challenges in Computer Architecture

Binary Instrumentation

• Ocelot– http://code.google.com/p/gpuocelot/

• PIN– http://www.pintool.org/

Page 40: Alexandria ACM SC | Challenges in Computer Architecture

Compiler Infrastructure

• ROSE– Easy to use, even for non-compiler audience

– http://www.rosecompiler.org/

Page 41: Alexandria ACM SC | Challenges in Computer Architecture

Benchmarks

• SPEC (Standard Performance Evaluation Corporation):

http://www.spec.org/

• PARSEC:

http://parsec.cs.princeton.edu/

• BioBench:

http://www.ece.umd.edu/biobench/

• ALPBench: Media and multithreaded

http://rsim.cs.illinois.edu/alp/alpbench/index.html

• …

Page 42: Alexandria ACM SC | Challenges in Computer Architecture

Takeaways

• Multicore and manycore processors are here

• GPGPUs are becoming mainstream

• For your ideas in architecture to be meaningful you need to look up (compilers, OS, and libraries) and down (devices, VLSI, …)

Page 43: Alexandria ACM SC | Challenges in Computer Architecture

Be In Touch!

http://www.mzahran.com

[email protected]