the euretile methodology and tools
play

The EURETILE Methodology and Tools Luis Gabriel Murillo, Rainer - PowerPoint PPT Presentation

SW Debugging for Multi-tile Systems: The EURETILE Methodology and Tools Luis Gabriel Murillo, Rainer Leupers MAD Workshop, HiPEAC Fall CSW 9.10.14, Athens, Greece Institute for Communication Technologies and Embedded Systems EURETILE Overview


  1. SW Debugging for Multi-tile Systems: The EURETILE Methodology and Tools Luis Gabriel Murillo, Rainer Leupers MAD Workshop, HiPEAC Fall CSW 9.10.14, Athens, Greece Institute for Communication Technologies and Embedded Systems

  2. EURETILE Overview  EURETILE: EUropean REference TIled architecture Experiment (www.euretile.eu)  FET Concurrent Tera-Device Computing (FP7)  6M EUR  Duration: 2010 – 2014  Partners:  Goal:  Brain-inspired and fault-tolerant foundational innovations on massively parallel tiled architectures  Corresponding programming paradigm 2

  3. EURETILE Overview Architecture DAL Programming Model Proc. Proc. Process Proc. ASIP Cluster DNP Code (C) App. DSE MEM Periph P W C Model Cluster App. Refine- APP2 APP2 APP4 ment Execution Process APP1 Scenarios Duplica- APP3 tion APP3 APP4 Mapping Optimi- zation Process Synthesis Targets Runtime Embedded Style Manager Binary (VEP) SW Bootstrap HPC Style Synthesis Code Binary (QUonG) Component Selection DNA- Driver COM HAL OS 3

  4. EURETILE, How to Debug? Architecture DAL Programming Model Proc. Proc. Process Proc. ASIP Cluster DNP Code (C) App. DSE MEM Periph P W C Model Cluster App. Refine- APP2 APP2 APP4 ment Execution Process APP1 Scenarios Duplica- APP3 tion APP3 APP4 Mapping VP-based Optimi- Debugging zation . . Code High-level Generation Check Process Functional Synthesis Simulation Targets Targets (on host) Runtime Virtual EURETILE Embedded Style Manager Binary Platform (VEP) SW Bootstrap HPC Style Synthesis Code Binary HW Prototype (QUonG) Component Selection DNA- Driver COM HAL OS 4

  5. Agenda Introduction  The Virtual EURETILE Platform Tools for Whole-system Debugging Concurrency Event Monitors and Concurrency Analysis Conclusions 5

  6. VEP: Virtual Platform for SW Development and Debugging  Advantages  Early availability  Run unmodified target SW binary  Optimal for debugging concurrency issues  Non-intrusive inspection and reproducibility [single host] ~4000 tiles AED 1G ~35 tiles  VEP Supporting IAD 130 MIPS 100M Performance [IPS] ~500 tiles IAP Technologies 10M IAF ~200 tiles  Multiple levels of abstraction 1M CA  2 parallel SystemC kernels ~200 tiles 100K  parSC (2.2x in quad-core) 10K  SCope (4x in quad-core) 1K  Distributed SystemC (diSC) 50 60 70 80 90 100  Runs on multiple hosts Accuracy [%]  Fault Injection CA : cycle accurate IAF : instruction accurate JIT-CC, full IAP : instruction accurate JIT-CC, plain (no debug) IAD : instruction accurate, DBT AED : abstract execution device (host-compiled) 6

  7. VP Debugging Features  Traditional debug augmentations  System loggers: single- or multi-file, tile and component filtering, packets over the network, SW, buses, memories, peripherals…  GDB coupling … but many GDB windows, huge traces… System-level correlations Identify VEP problematic Target SW interactions ? Concurrency P W C Analysis APP2 Process APP2 APP4 Runtime COM HAL APP1 Driver Bootstrap APP3 APP3 APP4 Automatic Bug Exploration System GDB System Traces GDB Traces … … 7

  8. Agenda Introduction The Virtual EURETILE Platform  Tools for Whole-system Debugging Concurrency Event Monitors and Concurrency Analysis Conclusions 8

  9. WSDB: Whole-system Debugger  Source Debugger Back-end  Single interface for:  Inspection/control of multiple cores  Different targets, core ABIs, unwinders and OS-trackers  Component-based architecture for portability and extensibility  C++ and SWIG tcl APIs  Command-line interface  Network protocol (with Eclipse CDT/DSF plug-in)  Can be linked into the VP 9

  10. SWAT: Language for System-Wide Assertions  Multi-tile program analysis, concurrency and HW/SW bugs  Easy way to capture user knowledge, covering:  SW contexts ( thread , process ), variables  HW devices , signals, registers  Concurrency-related events (e.g., OS events)  Linear Temporal Logic (LTL) … in a single non -intrusive assertion! HW signals and registers SWAT Compiler debug inspection / control Debugger Cluster Tasks, C threads, software main.c cores elements … Cluster 7:if(tile1) var1 =5; binary else if(tile2) var1 =8; VEP 23:… 10

  11. The SWAT Language  Examples 11

  12. Agenda Introduction The Virtual EURETILE Platform Tools for Whole-system Debugging  Concurrency Event Monitors and Concurrency Analysis Conclusions 12

  13. Concurrency Event Monitors  High-level events for analysis but fully trackable to origins  Approach  Grouping of low level events into programmer-relevant events  Propagation of semantic information to higher-level trace Event Binary ABI DAL App Core Event 2 2 Platform OS Bridge 1 Core App Pthreads Event 1 1 ABI Binary Event trace time PC MEM PC HW … … executed write executed Func New Func … … DNA-OS task call call Process FIFO write DAL app. create Event abstraction 13

  14. Concurrency Analysis: Ordering Constraints Detection  High-level trace reveals the order of dependent events  Analyzes: happens-before, shared resource (visit/modify), dependency, domination, false-dependency Example:  Bug Exploration: ordering constraint swap * 2016 High-level events * 2,3x slowdown  Drawback:  VP slowdown  ~2x-30x for the VEP No source code instrumentation, no changes to target SW… 14

  15. Agenda Introduction The Virtual EURETILE Platform Tools for Whole-system Debugging Concurrency Event Monitors and Concurrency Analysis  Conclusions 15

  16. Conclusions  Debuggers for multi-tile systems:  Facilitate intuitive ways to deal with problems at system-level  Present information to developer at the right abstraction  Consider different concurrent interleavings  EURETILE’s debugging infrastructure:  Virtual Platform in the loop  Debugger able to control/inspect all the tiles and correlate inter- tile data  Framework for non-intrusive system-wide assertions  Programmer-level (DAL) monitoring framework with concurrency analysis 16

  17. Thanks! & Questions? Institute for Communication Technologies and Embedded Systems

  18. References  L. G. Murillo, R. Buecs, R., D. Hincapie, R. Leupers, and G. Ascheid, SWAT: Assertion-based Debugging of Concurrency Issues at System Level, in ASP- DAC‘15, Chiba/Tokyo , Japan, Jan. 2015, (accepted for publication)  L. G. Murillo, R. Buecs, D. Hincapie, R. Leupers and G. Ascheid, Assertion-based Debugging of Concurrency Issues in Many-core Systems across HW/SW Boundaries, in DAC‘14 WIP, June 2014, San Francisco, USA.  L. Schor, I. Bacivarov, L. G. Murillo, et.al., "EURETILE Design Flow: Dynamic and Fault Tolerant Mapping of Multiple Applications onto Many-Tile Systems", in ISPA‘14, , Aug. 2014, Milan, Italy.  L. G. Murillo, S. Wawroschek, J. Castrillon, R. Leupers and G. Ascheid: "Automatic Detection of Concurrency Bugs through Event Ordering Constraints", in DATE’14, Mar. 2014, Dresden, Germany  J. H. Weinstock, C. Schumacher, R. Leupers, et.al.,“ Time-Decoupled Parallel SystemC Simulation" in DATE‘14 , , Mar. 2014, Dresden, Germany  C. Schumacher, J. H. Weinstock, R. Leupers, et.al. legaSCi: Legacy SystemC Model Integration into Parallel Simulators. ACM Transactions on Embedded Computing Systems. 2013  L. Schor, H. Yang, I. Bacivarov and L. Thiele. Expandable Process Networks to Efficiently Specify and Explore Task, Data, and Pipeline Parallelism. In CASES‘13, Montreal, Canada, Oct. 2013  Roberto Ammendola, et.al. “Design and implementation of a modular, low latency, fault-aware, FPGA-based Network Interface" in ReConFig 2013  Paolucci, P.S., Bacivarov, I., Goossens, G., Leupers, R., Rousseau, F., Schumacher, C., Thiele, L., Vicini, P., "EURETILE 2010-2012 summary: first three years of activity of the European Reference Tiled Experiment.", (2013)  C. Schumacher, J. H. Weinstock, R. Leupers and G. Ascheid. Cause and effect of nondeterministic behavior in sequential and parallel SystemC simulators. In HLDVT'12, Nov 2012, Huntington Beach (California-USA)  L. Schor, I. Bacivarov, D. Rai, H. Yang, S.-H. Kang, and L. Thiele. Scenario-Based Design Flow for Mapping Streaming Applications onto On-Chip Many-Core Systems. In CASES‘12, Tampere, Finland, p. 71-80, Oct. 2012.  A. Chagoya-Garzon, F. Rousseau, F. Pétrot. Multi-Device Driver Synthesis Flow for Heterogeneous Hierarchical Systems. Euromicro Conference on Digital System Design, Sept 2012, Izmir, Turkey.  L. G. Murillo, J. Harnath, R. Leupers and G. Ascheid. Scalable and Retargetable Debugger Architecture for Heterogeneous MPSoCs. System, Software, SoC and Silicon Debug Conference (S4D '12), Sep 2012, Vienna Austria  L. G. Murillo, W. Zhou, J. Eusse, R. Leupers, G. Ascheid. Debugging Concurrent MPSoC Software with Bug Pattern Descriptions. System, Software, SoC and Silicon Debug Conference (S4D '11), Oct 2011, Munich (Germany)  C. Schumacher, R. Leupers, D. Petras and A. Hoffmann. parSC: Synchronous Parallel SystemC Simulation on Multi-Core Host Architectures. In CODES/ISSS '10, October, 2010, Scottsdale, Arizona, USA  X. Guerin and F. Petrot, A System Framework for the Design of Embedded Software Targeting Heterogeneous Multi-core SoCs,º in ASAP 2009

Recommend


More recommend