Science vs. Innovation in computer architecture...
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/1.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/2.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/3.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/4.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/5.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/6.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/7.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/8.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/9.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/10.jpg)
“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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/11.jpg)
“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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/12.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/13.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/14.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/15.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/16.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/17.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/18.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/19.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/20.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/21.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/22.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/23.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/24.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/25.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/26.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/27.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/28.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/29.jpg)
“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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/30.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/31.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/32.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/33.jpg)
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 ... •](https://reader034.fdocuments.us/reader034/viewer/2022051602/5ae4d0427f8b9a0d7d8f73f8/html5/thumbnails/34.jpg)
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