9
1 MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017 Evolution of Computing Pedro Moura Trancoso CASPER Research Group Department of Computer Science University of Cyprus 1 Computer Science & Engineering Chalmers University of Technology MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017 Evolution… 2

Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

1

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Evolution of Computing

Pedro Moura TrancosoCASPER Research Group

Department of Computer ScienceUniversity of Cyprus

1

Computer Science & EngineeringChalmers University of Technology

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Evolution…

2

Page 2: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

2

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

CPU Evolution

3

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

CPU Evolution (part 2)

4

Page 3: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

3

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

CPU Evolution (part 3)

5

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

CPU Evolution (part 4)

6

Page 4: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

4

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

CPU Evolution (part 5)

7

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

CPU Evolution (part 6)

8

Page 5: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

5

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Multicore – Manycore - Manytype

9

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

• Use GPUs to drive cars!• Use mobile phone CPUs to build supercomputers!

What to do?

• Ignore all! • Continue to develop more complex and

sophisticated architectures…• Languages and systems that are more

difficult to use…• Crazy ideas:

10

Page 6: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

6

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Possible Solutions

• Get lower – Near-Threshold Computing• Get closer – Near-Memory Computing

• Get parallel – Lightweight Runtime• Get tolerant – Approximate Computing• Get smarter – Cognitive Computing

11

HW

SW

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Get Parallel –Lightweight Runtime

• Dataflow… and Tasks on commodity systems• Yet another language/system? Not really

• Research Work:– TFlux, TFluxSoft, TFluxHard, TFluxCell, TFluxSCC…– New scalable (manycore) lightweight system under

review! (no impact on productivity)12

Sequential program Code with directives

User

TFlux parallel

Code

High Level Code

Parallel Binary

Preprocessor Compiler

TFlux Parallel Code

#include <stdio.h>

int main(){ int i=0; int a[10000];

#pragma ddm for for(i=0;i<100;i++) { a[i]=i*i+i; } #pragma ddm endfor

printf(“DONE”);}

#include <stdio.h>

int main(){ int i=0; int a[10000];

for(i=0;i<100;i++) { a[i]=i*i+i; }

printf(“DONE”);}

Page 7: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

7

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Get lower – Near-Threshold Computing

• Reduce energy consumption• Work with aggressive margins• Logic voltage-frequency and Memory refresh

rate• Close feedback loops for error detection and

correction• May lead to errors, faults (see approximate

computing)• Project:

– UniServer (H2020)13

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Get closer – Near-Memory Computing• Improve memory bandwidth and latency• Move computation into memory• Challenge:

– Computation elements - granularity, capabilities, placement, visibility, access

– Detect regions of code that can operate in memory• Project:

– Memoryland (CF15), determine computation requirements and memory allocation/placement

– Future directions: non-von Neumann in-memory processing with large number of small processing elements.

14

Page 8: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

8

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Get tolerant – Approximate Computing

• System aging, process, near-threshold operation may result in errors

• Tolerate errors at application level• Avoid correction cost/overhead• Projects:

– Getting Ready for Approximate Computing: Trading Parallelism for Accuracy for DSS Workloads (CF14),

– UniServer (H2020)

15

MULTIPROG 2017, HiPEAC 2017, Stockholm, 24 January 2017

Get smarter – Cognitive Computing

• Use prediction and cognitive methods to drive all of the above!– Determine safe and efficient thresholds– Assign code for in memory execution– Parallelizing code– Estimate tolerable errors– Estimate error propagation and selection factor– …

16

Page 9: Evolution of Computingresearch.ac.upc.edu/multiprog/multiprog2017/... · LightningTalk-Multiprog2017-v2 copy Author: Pedro Trancoso Created Date: 1/30/2017 3:26:18 PM

9

CASPER GROUPComputer Architecture Systems Performance Evaluation Researchwww.cs.ucy.ac.cy/carch/casper

Tack så mycket !

17