T.J Brown, I. Spence, P. Kilpatrick, C. Gillan, N. S. Scott School of Electronics, Electrical Engineering and Computer Science, Queen’s University of Belfast.

Slides:



Advertisements
Similar presentations
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Advertisements

Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Lecture 6: Multicore Systems
Instructor Notes We describe motivation for talking about underlying device architecture because device architecture is often avoided in conventional.
Database Systems: Design, Implementation, and Management Tenth Edition
11 1 Hierarchical Coarse-grained Stream Compilation for Software Defined Radio Yuan Lin, Manjunath Kudlur, Scott Mahlke, Trevor Mudge Advanced Computer.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus.
7M822 UML Class Diagrams advanced concepts 15 September 2008.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Accelerating Machine Learning Applications on Graphics Processors Narayanan Sundaram and Bryan Catanzaro Presented by Narayanan Sundaram.
University of Michigan Electrical Engineering and Computer Science Amir Hormati, Mehrzad Samadi, Mark Woh, Trevor Mudge, and Scott Mahlke Sponge: Portable.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
SEC(R) 2008 Intel® Concurrent Collections for C++ - a model for parallel programming Nikolay Kurtov Software and Services.
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
An Approach to Task Modelling for User Interface Design Costin Pribeanu National Institute for Research and Development in Informatics, Bucureşti, Romania.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
Introduction to MDA (Model Driven Architecture) CYT.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Institute for Software Science – University of ViennaP.Brezany Parallel and Distributed Systems Peter Brezany Institute for Software Science University.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
A language to describe software texture in abstract design models and implementation.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
The Volcano Optimizer Generator Extensibility and Efficient Search.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
OSLC PLM Reference model April Summary of the OSLC PLM Reference Model V0.4 April 4th 2011 Gray Bachelor Mike Loeffler OSLC PLM Workgroup.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Teaching The Principles Of System Design, Platform Development and Hardware Acceleration Tim Kranich
An Unstructured Semantic Mesh Definition Suitable for Finite Element Method Marek Gayer, Hannu Niemistö and Tommi Karhela
A New Class of High Performance FFTs Dr. J. Greg Nash Centar ( High Performance Embedded Computing (HPEC) Workshop.
CS223: Software Engineering
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Reverse Engineering Dept. of I&CT, MIT, Manipal. Aspects To Be Covered Introduction to reverse engineering. Comparison between reverse and forward engineering.
My Coordinates Office EM G.27 contact time:
Department of Mathematics Computer and Information Science1 CS 351: Database Management Systems Christopher I. G. Lanclos Chapter 4.
Reverse Engineered Architecture of the Linux Kernel Kristof De Vos.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
HIERARCHICAL TEMPORAL MEMORY WHY CANT COMPUTERS BE MORE LIKE THE BRAIN?
OSLC PLM Reference model February Summary of the OSLC PLM Reference Model V0.2 February 22 nd 2011 Gray Bachelor Mike Loeffler OSLC PLM Workgroup.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Data Modeling Using the Entity- Relationship (ER) Model
European Monitoring Platform for Mapping of QoS and QoE
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Introduction to Generic Programming in C++
Parallel Patterns.
Pathology Spatial Analysis February 2017
Software Design Methodology
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Analysis models and design models
Chapter 1 Introduction.
Review of Week 1 Database DBMS File systems vs. database systems
Final Project presentation
Chapter 9 Architectural Design.
EE 4xx: Computer Architecture and Performance Programming
About Modelling.
CSE 502: Computer Architecture
Presentation transcript:

T.J Brown, I. Spence, P. Kilpatrick, C. Gillan, N. S. Scott School of Electronics, Electrical Engineering and Computer Science, Queen’s University of Belfast

Software Product Line Engineering High Performance Computing Feature Modelling: An Informal Requirements Modelling Notation Feature Modelling For HPC

 Short Term aim Provide a graphical means of documenting the feature structure of HPC algorithms and their possible mapping to multiple (possibly heterogeneous) computing platforms  Longer Term aim Extend the notation to allow automated performance comparisons between alternative mappings to the same platform, or between mappings to alternative platforms

Feature Modelling: Basic concepts  Originated in early 90’s as an informal modelling notation for families of related software systems (Product Lines)  Designed to allow capture of commonality and variability within the family of systems  Features can be :-  Mandatory (required in all family members)  Optional (supported in some, but not all members)  Alternative (one of several alternatives supported)  OR (one or more alternatives supported)

Feature Modelling: Basic Concepts  Features can be subject to Constraints  Mutual exclusion - inclusion of feature A excludes feature B and vice versa  Feature Dependency - inclusion of feature A requires inclusion of feature B as well  Feature model forms a top-down hierarchy  Use to model any family of products e.g. cars

Feature Modelling: Developments  Many refinements / developments proposed  Our Modelling schema is motivated by the needs of embedded system families and has:  Bi-directional modelling - a conventional top-down tree displays software features - a bottom-up tree has hardware /OS related features  Relationships between features in the two trees  features can have properties (or attributes)  features can have attached behaviour - modelled using UCM (Use Case Maps)  a feature (and its sub-tree) can be replicated

Capturing Behaviour with Use Case Maps  An abstract notation for expressing behaviour  Inspired by the needs of telecoms software  Now a ITU-T Standard  Behaviour represented by a causal path from a single starting point to one or more end points - Path can have: loops, forks and joins, synchronisation points read/write operations, responsibility points etc. - Other element types pools – abstract representation of a data store stubs – ‘holes’ in a path into which another path can plug

Using feature modelling in HPC  multi-core (many-core) chips accelerators (FPGAs) GPUs - heterogeneous/reconfigurable platforms  Use FM as a modelling/analysis tool to:  capture the feature structure of HPC algorithms  explore how an HPC code might be implemented on multiple platforms  Inverted tree models the computing platform  Use Top-Down tree to model algorithm features  Capture mapping of algorithm features to Processing Elements

Performance Comparison/Estimation  Current notation provides some support  use properties to define platform characteristics  number of PEs on GPU  absolute performance of PE (FLOPS)  Replicated feature sub-trees expose possible SIMD parallelism  AND fork within a feature’s UCM path exposes possible MIMD parallelism

What do we need ?  short term:  fully populate features with behavioural detail  annotate UCM paths with basic performance information - expected iterations of a loop - expected branching pattern at a fork - Floating point operations at a responsibility point - access time for read/write

What do we need ?  longer term  fuller description of Processors - cache organisation, times for local/main memory access etc  specification of processor groups - e.g. pipelines  specification of alternative mappings of algorithm features with associated conditions - important in context of dynamic load balancing  handling of time and temporal ordering - only partially managed at present  handling of memory

The end !