phidian
play

phidian Introduction Memory Hierarchy Modularity The - PowerPoint PPT Presentation

How Game Engines Can Inspire EDA Tools Development: A use case for an open-source physical design library Tiago Fontana, Renan Netto, Vinicius Livramento , Chrystian Guth, Sheiny Almeida, La ercio Pilla, Jos e Lu s G untzel Embedded


  1. How Game Engines Can Inspire EDA Tools Development: A use case for an open-source physical design library Tiago Fontana, Renan Netto, Vinicius Livramento , Chrystian Guth, Sheiny Almeida, La´ ercio Pilla, Jos´ e Lu´ ıs G¨ untzel Embedded Computing Lab, Computer Science Department Federal University of Santa Catarina, Brazil ISPD - March, 2017 - Portland, OR phidian

  2. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Outline Introduction 1 Memory Hierarchy 2 Modularity 3 The Entity-Component System Design Pattern 4 Experimental Results 5 Conclusions 6

  3. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modern Game Engines Model realistic physical systems Process huge amount of data Render high-resolution graphics Run artificial intelligence engines Vinicius Livramento ISPD - March, 2017 - Portland, OR 3

  4. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modern Game Engines Parallelism: multithreading and GPU Memory: better cache locality Modularity: few data dependency Testing: small functions Vinicius Livramento ISPD - March, 2017 - Portland, OR 4

  5. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Understanding the Memory Hierarchy Vinicius Livramento ISPD - March, 2017 - Portland, OR 5

  6. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions How Object-Oriented Design (OOD) Leads to More Cache Misses Vinicius Livramento ISPD - March, 2017 - Portland, OR 6

  7. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions How Object-Oriented Design (OOD) Leads to More Cache Misses Vinicius Livramento ISPD - March, 2017 - Portland, OR 6

  8. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions How Data-Oriented Design (DOD) Improves Cache Locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 7

  9. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions How Data-Oriented Design (DOD) Improves Cache Locality Vinicius Livramento ISPD - March, 2017 - Portland, OR 7

  10. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Modeling Nets and Pins N1 P1 N4 P4 B P8 P7 N3 P6 N2 A P2 P3 P5 Vinicius Livramento ISPD - March, 2017 - Portland, OR 8

  11. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Modeling Nets and Pins Using OOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 9

  12. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Modeling Nets and Pins Using OOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 9

  13. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Integrating Placement and Timing Using OOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 10

  14. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Modeling Nets and Pins Using DOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 11

  15. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Modeling Nets and Pins Using DOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 11

  16. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Modularity: Integrating Placement and Timing Using DOD Vinicius Livramento ISPD - March, 2017 - Portland, OR 12

  17. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Entities and Components (Properties) Vinicius Livramento ISPD - March, 2017 - Portland, OR 13

  18. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions The Entity System: find, create, and delete entity in O (1) Vinicius Livramento ISPD - March, 2017 - Portland, OR 14

  19. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions The Entity System: find, create, and delete entity in O (1) Vinicius Livramento ISPD - March, 2017 - Portland, OR 14

  20. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions The Entity System: find, create, and delete entity in O (1) Vinicius Livramento ISPD - March, 2017 - Portland, OR 14

  21. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Relationships Between Entities: aggregation and composition AGGREGATION Entity System: Nets Entity System: Pins Pin 1 Pin 2 - Name: P1 Net 1 - Name: P2 - Net: 1 - Net: 2 - Name: N1 - Pins: 1 4 5 Pin 3 Pin 4 - Name: P3 - Name: P4 Net 2 - Net: 2 - Net: 1 - Name: N2 Pin 5 Pin 6 - Pins: 2 3 6 - Name: P5 - Name: P6 - Net: 1 - Net: 2 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

  22. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Relationships Between Entities: aggregation and composition AGGREGATION Entity System: Nets Entity System: Pins Pin 1 Pin 2 - Name: P1 Net 1 - Name: P2 - Net: 1 - Net: 2 - Name: N1 - Pins: 1 4 5 Pin 3 Pin 4 - Name: P3 - Name: P4 Net 2 - Net: 2 - Net: 1 - Name: N2 Pin 5 Pin 6 - Pins: 2 3 6 - Name: P5 - Name: P6 - Net: 1 - Net: 2 Entity System: Nets Entity System: Pins Pin 1 Pin 2 - Name: P1 Net 2 - Name: P2 - Net: -- - Net: 2 - Name: N2 - Pins: 2 3 6 Pin 3 Pin 4 - Name: P3 - Name: P4 - Net: 2 - Net: -- Pin 5 Pin 6 - Name: P5 - Name: P6 - Net: -- - Net: 2 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

  23. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Relationships Between Entities: aggregation and composition AGGREGATION COMPOSITION Entity System: Nets Entity System: Pins Entity System: Cells Entity System: Pins Pin 1 Pin 1 Pin 2 Pin 2 - Name: P1 - Name: P1 Net 1 - Name: P2 Cell 1 - Name: P2 - Net: 1 - Cell: 1 - Net: 2 - Cell: 2 - Name: N1 - Name: C1 - Pins: 1 4 5 - Pins: 1 4 5 Pin 3 Pin 4 Pin 3 Pin 4 - Name: P3 - Name: P4 - Name: P3 - Name: P4 Net 2 - Net: 2 - Net: 1 Cell 2 - Cell: 2 - Cell: 1 - Name: N2 - Name: C2 Pin 5 Pin 6 Pin 5 Pin 6 - Pins: 2 3 6 - Pins: 2 3 6 - Name: P5 - Name: P6 - Name: P5 - Name: P6 - Net: 1 - Net: 2 - Cell: 1 - Cell: 2 Entity System: Nets Entity System: Pins Pin 1 Pin 2 - Name: P1 Net 2 - Name: P2 - Net: -- - Net: 2 - Name: N2 - Pins: 2 3 6 Pin 3 Pin 4 - Name: P3 - Name: P4 - Net: 2 - Net: -- Pin 5 Pin 6 - Name: P5 - Name: P6 - Net: -- - Net: 2 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

  24. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Relationships Between Entities: aggregation and composition AGGREGATION COMPOSITION Entity System: Nets Entity System: Pins Entity System: Cells Entity System: Pins Pin 1 Pin 1 Pin 2 Pin 2 - Name: P1 - Name: P1 Net 1 - Name: P2 Cell 1 - Name: P2 - Net: 1 - Cell: 1 - Net: 2 - Cell: 2 - Name: N1 - Name: C1 - Pins: 1 4 5 - Pins: 1 4 5 Pin 3 Pin 4 Pin 3 Pin 4 - Name: P3 - Name: P4 - Name: P3 - Name: P4 Net 2 - Net: 2 - Net: 1 Cell 2 - Cell: 2 - Cell: 1 - Name: N2 - Name: C2 Pin 5 Pin 6 Pin 5 Pin 6 - Pins: 2 3 6 - Pins: 2 3 6 - Name: P5 - Name: P6 - Name: P5 - Name: P6 - Net: 1 - Net: 2 - Cell: 1 - Cell: 2 Entity System: Nets Entity System: Pins Entity System: Cells Entity System: Pins Pin 1 Pin 2 Pin 2 Pin 3 - Name: P1 Net 2 - Name: P2 Cell 2 - Name: P2 - Name: P3 - Net: -- - Net: 2 - Cell: 2 - Cell: 2 - Name: N2 - Name: C2 - Pins: 2 3 6 - Pins: 2 3 6 Pin 3 Pin 4 Pin 6 - Name: P3 - Name: P4 - Name: P6 - Net: 2 - Net: -- - Cell: 2 Pin 5 Pin 6 - Name: P5 - Name: P6 - Net: -- - Net: 2 Vinicius Livramento ISPD - March, 2017 - Portland, OR 15

  25. Introduction Memory Hierarchy Modularity The Entity-Component System Design Pattern Experiments Conclusions Infrastructure & Experimental Results ICCAD 2015 infrastructure : 8 circuits with sizes between 768k and 1.93M cells Objective : Analyze cache misses and runtime Scenario A : check if all circuit cells’ positions lie within the circuit’s boundaries Scenario B : computing the interconnection wirelength for all circuit nets Machine (31GB) Processor Cache L3 (6144KB) L2 (256KB) L2 (256KB) L2 (256KB) L2 (256KB) L1d (32KB) L1d (32KB) L1d (32KB) L1d (32KB) L1i (32KB) L1i (32KB) L1i (32KB) L1i (32KB) Processor Elements Core P#0 Core P#1 Core P#2 Core P#3 PU P#0 PU P#1 PU P#2 PU P#3 Vinicius Livramento ISPD - March, 2017 - Portland, OR 16

More recommend