Science vs. Innovation in computer architecture...

34
Science vs. Innovation in computer architecture research Raphael ‘kena’ Poss University of Amsterdam, the Netherlands IvI Colloquium May 31st, 2012

Transcript of Science vs. Innovation in computer architecture...

Page 1: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Science vs. Innovationin computer architecture research

Raphael ‘kena’ PossUniversity of Amsterdam, the Netherlands

IvI ColloquiumMay 31st, 2012

Page 2: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Recent thesis “On the

realizability of hardware

microthreading”

Page 3: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Current on-chip parallelism is based on legacy

• Historical focus on single-thread performance(developments in general-purpose processors: registers, branch prediction, prefetching, out-of-order execution, superscalar issue, trace caches, etc.)

• Legacy heavily biased towards single threads:• Symptom: interrupts are the only way to signal

asynchronous external events• Retro-fitting hardware multithreading is difficult

because of the sequential core’s complexity

• What if... we redesigned general-purpose processors,assuming concurrency is the norm in software?

Page 4: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Microgrids of D-RISC cores

• D-RISC cores: hardware multithreading + dynamic dataflow scheduling

• fine-grained threads: 0-cycle thread switching, <2 cycles creation overhead

• ISA instructions for thread management

• dedicated hardware processes for bulk creation and synchronization

• No preemption/interrupts;events create new threads

MEMORY

MEMORY

ACTIVEMESSAGES

DECODE & REGADDR

RF

ALU

LSU

FETCH & SWITCH

L1D & MCU

ALU (async)

L1I

WB

TMU & SCHEDULER

READ & ISSUE

TT & FT NCU

In-order, single-issue RISC: small, cheaper, faster/watt

Page 5: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Example 128-coreMicrogrid

• 32000+ hw threads

• 5MB distributed cache

• shared MMU= single virtual address space, protection using capabilities

• Weak cache coherency

• no support for global memory atomics – instead synchronization using remote register writes

Root directory

DDR ChannelRoot directory

DDR Channel

Root directory

DDR ChannelRoot directory

DDR Channel

Off-chipI/O network

Off-chipI/O network

Area estimates with CACTI: 100mm2 @ 35nm

Approximate size of one Nehalem (i7) core for comparison

Page 6: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A perspective shift

CORE I7

Function call

with 4 registers spilled

30-100 cycles

Predictable loop

requires branch predictor+ cache prefetching

to maximize utilization

1+ cycles per iteration overhead

D-RISCWITH TMU

IN HARDWARE

Bulk thread creation

of 1 thread, 31 “fresh” registers

~15 cycles(7c sync, ~8c async)

Thread family

1 thread / “iteration”reuses common TMU

and pipelineno BP nor prefetch needed

no per-iteration overhead

Page 7: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Results, what’s next?

✓ built enough infrastructure to fit the F/OSS landscape – yet can’t reuse most existing OS code: no interrupts, no traps

✓ as planned, higher performance per area and per watt – via hand-coded benchmarks: granularity in SPEC is too coarse

• Follow-up research areas:

• Internal issues: memory consistency, scalable cache protocols, ISA semantics, etc.

• External issues from outside architecture: how to virtualize? how to map tasks over so many “workers”? how to port existing OS code?

• Fundamental issues: concurrent complexity theory?

Page 8: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Preliminary outcome

• We can make smarter processors but they look & feel different to system developers.• Analogy: a new hexagonal Lego unit

• To gain traction: demonstrate the benefits in applied problems

• But this seems hard to all actors in our field, why is that?

Page 9: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Generative computer

architecture

Page 10: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

“Ideas vs. realization”- not!

• Common fallacy: “coming up with an idea ≠ implementing this idea”“Ideas are free, but execution is priceless” – Scott Ginsberg

• In computer architecture:• some people specify components

• often using smaller components as sub-parts• other people integrate designs into systems• other people deploy/validate systems to applications

• Computer architecture is an ecosystem...different people, different responsibilities

• ... in symbiosis with software ecosystems

Page 11: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

“Ideas vs. realization”- not!

• Common fallacy: “coming up with an idea ≠ implementing this idea”“Ideas are free, but execution is priceless” – Scott Ginsberg

• In computer architecture:• some people specify components

• often using smaller components as sub-parts• other people integrate designs into systems• other people deploy/validate systems to applications

• Computer architecture is an ecosystem...different people, different responsibilities

• ... in symbiosis with software ecosystems

by the way we do that at CSA!

Page 12: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Computer engineering at a glance

SYSTEMS ARCHITECTURESOFTWARE ENGINEERING

ELECTRONIC ENGINEERING COMPUTER ARCHITECTURE

metaloxides

semi-conductors

CMOS

Processors

Storage

metals Links

Embeddedsystems

NMOSmagneticsubstrates

Backplanes

refined matter

petro-chemicalspackaging

FunctionalUnits

Memories

Caches

electronics logic circuits components platforms

layers of composition and complexity: from parts to whole

Softwareprograms

Computingplatforms

Algorithms

Frameworks

Operatingsoftware

systems

Networks

Computationalclusters

Personal computers

Game consoles

GaA/Si/SiGe/SiCcrystals

Page 13: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Computer engineering at a glance

SYSTEMS ARCHITECTURESOFTWARE ENGINEERING

ELECTRONIC ENGINEERING COMPUTER ARCHITECTURE

metaloxides

semi-conductors

CMOS

Processors

Storage

metals Links

Embeddedsystems

NMOSmagneticsubstrates

Backplanes

refined matter

petro-chemicalspackaging

FunctionalUnits

Memories

Caches

electronics logic circuits components platforms

layers of composition and complexity: from parts to whole

Softwareprograms

Computingplatforms

Algorithms

Frameworks

Operatingsoftware

systems

Networks

Computationalclusters

Personal computers

Game consoles

GaA/Si/SiGe/SiCcrystals

we are herewith Microgrids

Page 14: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Invention vs. application

• Two major types of personality profiles

• “Inventive” types

• creative, restless• “if I know how it works, it’s not interesting any more”

• reward system based on abstraction & variety

• “Applicative” types

• dedicated, focused

• “will put hours in it until it works and looks nice”• reward system based on finished products & fame

Page 15: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Optimization vs. generation

• Two major types of research in computer architecture• Optimization – most common

eg. pipelines, new silicon technology, branch predictors, etc.

• Mostly uses the scientific methodobserve-hypothesise-predict-test-analyze

• Incrementalnew components comparable to previous generations

• “Generation” (for lack of a better word) – less commoneg. processor registers, RISC, VLIW, hardware multithreading, GPU accelerators

• Profundly non-scientific: irrational human creativity

• Disruptive: not comparable, creates new areas for further work• Test to distinguish: can we exploit the outcome using the same software?

• Generation: “no”, large software investment necessary to demonstrate

Page 16: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

Page 17: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

Page 18: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

Page 19: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

Page 20: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

Page 21: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

Traditional “sciences”(incl. TCS)

Computer engineering“Innovation”

Page 22: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

Traditional “sciences”(incl. TCS)

Computer engineering“Innovation”

most of computer architecturehappens here

Page 23: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

Page 24: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

optimization

Page 25: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

optimization generation

Page 26: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

A model for the activities of computer science

phenomena analysis & modeling knowledge

abstractderivation abstract ideas

refined matter foundational engineering tools, machines

inspiration

appliedengineering

applied systemshuman concerns

optimization generation

missing link: application

Page 27: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Missing link: from generation to acceptance

• Main issue here becomes engineering:• meticulousness in the realization

(eg. automated testing, documentation)

• scrupulousness in recognizing and following audiences (customer) expectations(eg. check corner cases, provide autonomous demos, provide relevant tutorials)

• thus awareness of how technology fits into the larger picture of a market

• Best done by “applicative” people• Activity traditionally under responsibility of “industry”:

private enterprises, high risk but potentially high ROI.

Page 28: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Outcome so far

• “Computer science”= computer engineering / “innovation” (do)inspired/sustained by theoretical computer science (think)

• “Innovation” = foundational engineering (invent)+ applicative engineering (make)

• Optimization vs. generative CSare different paths through these activities

• Followed by different groups of people (different distributions of personality profiles)

• In “science organizations” we have an excess of thinkers and inventors, lack of applicative engineers – short on “make”

Page 29: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

“Science vs. Innovation”a.k.a.

Politics in computer engineering

Page 30: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Landscape 2005-2015

• All fields of IT rely on computer engineering• And so does pretty much everyone’s life at least in

the Western world

• Computers are invented and made by humans, not nature or other computers

• There are currently HUGE challenges in computer architecture – likely not solvable with optimization only

• Who will solve these problems? How can we facilitate generative CS?

Page 31: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Computer architecture enablers

• Things innovators must do to succeed in computer architecture:• a priori analysis & modeling of system behavior• develop complex & computationally expensive experiments

towards validation of new/optimized computers• specify components, implement simulators• for generative CS, implement new software infrastructure

(libraries, operating systems, compilers)

• rewrite and re-run programs written by other people and see how to make them run “better”

• In other words the people in charge must be both• competent scientists • and seasoned system and software engineers

Page 32: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

The challenge of foundational CS

• Core issue, not specific to comp. arch.: creation is non-scientific

• not incremental, not falsifiable, not verifiable

• cannot compare at a small scale with previous generations(cf earlier Lego brick analogy)

• need to build larger systems using the invention to demonstrate/see “what it’s good for”

• success is measurable only in hindsight – sometimes years afterwards• cannot “measure” progress incrementally – huge management risk

• Therefore, no short-term incentive to promote and facilitate gen. CS• Unclear how to train and reward the right personality & skills in

people

Page 33: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Issues of morals and politics

• The elephant in the room:Why not delegate innovation entirely to industry? Industry is good at applied CS, why not foundational CS too?

• Morals: generative CS is increasingly captured behind corporate closed doors (Samsung, Apple, ARM, Intel, ...)

• our descendants will ask what did we do to foster openness, transparency & democracy?

• Politics: what should be the role of research organizations? Is it only to produce abstract models models and human-tools for corporations?

• There is more money to be gotten for new technology than for academic papers – we may want a slice of that!

Page 34: Science vs. Innovation in computer architecture researchscience.raphael.poss.name/files/20120531-ivi-seminar.pdf · Science vs. Innovation in computer architecture research ... •

Partnerships & education(conclusion)

• The “meat” of our job is computer engineering • However our students currently don’t have balanced skills, and

seasoned professionals are expensive to hire locally• The working strategy so far has been publicly-funded partnerships• However public money is “drying up” too

• Acknowledge that ⇒ enhance autonomy of public research groups

• Acknowledge that innovation is carried out by different types of people working together; “think” vs. “invent” vs. “make” is also a matter of personality, not only separate skills

• Educate “inventors” and “applicative engineers” separately+ mix and match personality types in research groups

• But all should know how to write system/infrastructure software– otherwise, no way to demonstrate inventions in architecture

• ⇒ room for improvement in the Dutch higher education programs