CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Sensor Network Platforms and Tools
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
11/14/05ELEC Fall Multi-processor SoCs Yijing Chen.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Figure 1.1 Interaction between applications and the operating system.
OPERATING SYSTEMS Introduction
Interface-based Design Donald Chai EE249. Outline Orthogonalization of concerns Formalisms Interface-based Design Example Cheetah Simulator Future Inroads.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Automotive Software Integration
Efficient Hardware dependant Software (HdS) Generation using SW Development Platforms Frédéric ROUSSEAU CASTNESS‘07 Computer Architectures and Software.
Role of Standards in TLM driven D&V Methodology
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Chapter 1 Introduction. Computer Architecture selecting and interconnecting hardware components to create computers that meet functional, performance.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Priority Research Direction Key challenges Fault oblivious, Error tolerant software Hybrid and hierarchical based algorithms (eg linear algebra split across.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
SHAPES scalable Software Hardware Architecture Platform for Embedded Systems Hardware Architecture Atmel Roma, INFN Roma, ST Microelectronics Grenoble,
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
CML SSDM: Smart Stack Data Management for Software Managed Multicores Jing Lu Ke Bai, and Aviral Shrivastava Compiler Microarchitecture Lab Arizona State.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
The influence of system calls and interrupts on the performances of a PC cluster using a Remote DMA communication primitive Olivier Glück Jean-Luc Lamotte.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Teaching The Principles Of System Design, Platform Development and Hardware Acceleration Tim Kranich
Introduction Why are virtual machines interesting?
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
1 WRB 09/02 HPEC Lincoln Lab Sept 2002 Poster B: Software Technologies andSystems W. Robert Bernecky Naval Undersea Warfare Center Ph: (401) Fax:
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
1 of 14 Lab 2: Design-Space Exploration with MPARM.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
Chapter 1 Introduction.
The Multikernel: A New OS Architecture for Scalable Multicore Systems
Chapter 1 Introduction.
Structural Simulation Toolkit / Gem5 Integration
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
CMSC 611: Advanced Computer Architecture
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
CS703 - Advanced Operating Systems
Mark McKelvin EE249 Embedded System Design December 03, 2002
CSE 542: Operating Systems
Presentation transcript:

CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU Professor at University Joseph Fourier – Grenoble (France) TIMA Lab - SLS 46 av. Félix Viallet – Grenoble – France Communication Synthesis in Low Level Software for Hierarchical Heterogeneous Systems

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th Context of MPSoC  An increasing number of processors: 380 processors on chip in 2015 (ITRS)  Heterogeneity is the trend (good ratio FLOPS/W) In the High Performance Computing  TOP500 (Nov. 2010): 2 heterogeneous architectures in the top 3  GREEN500 (June 2010): 3 heterogeneous architectures in the top 3 In the embedded world  TI OMAP, Nexperia, D940, …  A hierarchical structure is mandatory 3 levels: tile, chip, system (multi-chip) 2 System

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th Communication in hierarchical structure  Challenges in communication synthesis Hierarchy and HW should be transparent for the system designer Complexity of the infrastructure and abstraction  Heterogeneity of tile, chip and system  Specific processor (VLIW)  Non Uniform Memory Access  Multiple hierarchy  Use of complex network interfaces Efficient use of communication infrastructure Control of the limited resources (memory)  TIMA is in charge of providing low level software that includes communication synthesis 3

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th Binary code generation flow 4 Application & Source code of task Application & Source code of task Architecture Mapping Parsing of input models Parsing of input models SW component selection SW component selection Compilation and linking tools Com OS FRONT-END BACK-END Y-CHART Binary SW component libraries

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th Binary code generation flow 5 Application & Source code of task Application & Source code of task Architecture Mapping Parsing of input models Parsing of input models SW component selection SW component selection Compilation and linking tools Com OS FRONT-END BACK-END Y-CHART Binary SW component libraries Communication paths FIFO in KPN model Association path FIFO

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 6 Outline  Introduction  HW communication paths  Software components for communication  Conclusion

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 7 The need of HW paths  Introduction to HW paths HW components used for communications (data transfers) Use or not of specific components (DMA, …) Intermediate memories These HW paths are given by the architecture designer  Why do we need these HW paths ? Communication synthesis System designers want to have a control on communication  Where do we use these HW paths ? Used in simulation (architecture exploration, CF DOL methodology) Mapping Perspectives: analyze and verification …

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 8 Read and Write paths for intra-tile CPU3 Mem3 Mem2NI2 NI3 NI4 Tile CPU1CPU2 Mem1NI1 Network 3 Network 2 Network 4 Network 1

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 9 Read and Write paths for inter-tile Multi-Tile Network 1 9 CPU1CPU2 CPU3 Mem1 Mem3 Mem2 NI1 NI2 NI3 NI4 Network 1 Network 2 Network 3 Network 4 NI6 Multi-Tile Network 2 NI5 Tile

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th How to use these HW paths ?  Hypothesis All HW paths are listed in the architecture model In the mapping, each channel from the application model should be associated with one HW path  A protocol may be given  The communication synthesis consists in Parsing architecture and mapping models Selecting the SW components Specializing SW components (ex: FIFO size, base address, …) And then providing a source code ready to be compiled and linked 10

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 11 Outline  Introduction  HW communication paths  Software components for communication  Conclusion

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 12 Software stack  Application 1 task per process Source code of task  OS Task and driver management Virtual file system (VFS) HW access only via HAL  COM Based on VFS  HAL Interface for HW access: Interrupts, locks, caches, endianess, …

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 13 Software stack: write function function t1_behavior(Channel c1) begin … channel_write(c1, buffer, len); end int main() { Channel c1; Thread t1; // Communication channel initialization c1= channel_init(“/dev/fifo.0”); // Task initialization t1 = thread_create(…, t1_behavior); …}

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 14 Software stack: write function function channel_write(Channel c, char *buffer, int len) begin … vfs_write(c->desc, buffer, len); end function t1_behavior(Channel c1) begin … channel_write(c1, buffer, len); end

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 15 Software stack: write function function vfs_write(Vfile f, char *buffer, int len) begin … f->stream->write(desc->id,buffer, len); end Driver choice (Software FIFO inter-CPU, Rendez-vous,…) function channel_write(Channel c, char *buffer, int len) begin … vfs_write(c->desc, buffer, len); end

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 16 Software stack: write function function vfs_write(Vfile f, char *buffer, int len) begin … f->stream->write(desc->id,buffer, len); end function fifo_write(char *buffer, int len) begin config = getConfiguration(); … HAL_WRITE (buffer, config->writeptr, len); end

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th function fifo_write(char *buffer, int len) begin config = getConfiguration(); … HAL_WRITE (buffer, config->writeptr, len); end 17 Software stack: write function function HAL_WRITE(char *from, char *to, int len) begin // May use of DMA end

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 18 The need of driver library  One driver for each HW path is not realist Too much development  Only few drivers corresponding to few HW paths Need of driver configurability  Memory addresses  Platform resources: locks, timer, …  Exotic configurations while using specific network interfaces (DNP !) => Tradeoff efficiency/number of paths represented

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 19 About the HW path selected  Each driver should be specialized To respect the selected HW path Right configuration To access all HW components mentioned in the HW path  BUT it has to be compatible with the HAL HAL has a limited number of interfaces (and limited HW access)  Efficiency  Ease the porting to another platform  Difficult to respect HW paths given in the mapping  Due to HAL (usually minimal but expected as optimal)  Local memory not necessary respected by compilers

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 20 Available protocols  For the D940 platform (ARM & mAgicV processors)  Intra-tile  SW FIFO  Rendez-vous in synchronous mode  Inter-tile  Sockets  RDMA protocols (eager and Rendez-vous)

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th 21 Example of results  LQCD application (from INFN) About 50 processes and 100 channels  Protocols used Intra-tile: Rendez-vous Inter-tile: Eager for small message, Rendez-vous otherwise Mapping Intra-procIntra-tile Inter-proc Inter-tiles#Drivers Specializations 1 tile, ARM tile, ARM+DSP tiles, ARM tiles, ARM+DSP tiles, ARM tiles, ARM+DSP

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th What next for EURETILE ?  WP4: Distributed Hardware Dependant Software Generation OS, HAL, communication mechanisms 3 main topics  Brain-inspired many processes SW requirements  Fault tolerance aware capabilities provided by HW  Real-time aspect Interesting solution: task migration, but it is challenging  Heterogeneity of the architecture  NUMA  Message passing  Semi-centralized architecture 22

TIMA Laboratory- Frédéric ROUSSEAU - CASTNESS’11 Roma January 18 th Conclusion & perspectives  Communication synthesis in multi-tile platform Formalization of multi-tile communications Introduction of HW paths Development of communication driver library Automatic selection and configuration of drivers  What is really implemented may not be what has been decided HAL constraints  Communication are the basics for task migration in a message passing system 23

CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU Professor at University Joseph Fourier – Grenoble (France) TIMA Lab - SLS 46 av. Félix Viallet – Grenoble – France Communication Synthesis in Low Level Software for Hierarchical Heterogeneous Systems