Multi. Core and Many. Core vs Data. Flow or Control. Flow vs Data. Flow Veljko Milutinović vm@etf. rs Saša Stojanović stojsasa@etf. rs University of Belgrade 1
Multi. Core Dual. Core? Where are the horses going? 2
Many. Core Is it possible to use 2000 chicken instead of two horses? ? == 3
Many. Core 2 x 1000 chickens 4
a Data. Flow How about 2 000 ants? 5
Data. Flow Big Data Input Results Marmalade 6
Why is Data. Flow so Much Faster? Factor: 20 to 200 Multi. Core/Many. Core Data. Flow Machine Level Code Gate Transfer Level 7
Why are Electricity Bills so Small? Factor: 20 Multi. Core/Many. Core Data. Flow P = C*U 2*f 8
Why is the Cubic Foot so Small? Factor: 20 Multi. Core/Many. Core 1 Data. Flow Data Processing 20 20 Data Processing 1 Process Control 9
Required Programming Effort? Multi. Core: Explain what to do, to the driver Caches, instruction buffers, and predictors needed Many. Core: Explain what to do, to many sub-drivers Reduced caches and instruction buffers needed Data. Flow: No caches, instruction buffers, or predictors needed: Cmin Make a field of processing gates: +5 Java programs 10
Required Debug Effort? Multi. Core: Business as usual Many. Core: More difficult Data. Flow: Much more difficult Debugging both, application and configuration code: 5 Java + Cmin 11
Required Compilation Effort? Multi. Core/Many. Core: Several minutes Data. Flow: Several hours (to configure the FPGA structures) Future: Xilinx, Altera, Achronix (UCB 1 GHz), Tabula (MIT, 1. 6 GHz) 12
Now the Fun Part 13
Required Space? Multi. Core: Horse stable Many. Core: Chicken house Data. Flow: Ant hole 14
Required Energy? Multi. Core: Haystack Many. Core: Cornbits Data. Flow: Crumbs 15
Why Faster? Small Data 16
Why Faster? Medium Data 17
Why Faster? Big Data 18
Q&A = ? 19