int a; class x { public int a; class x { float b; Asda ad public int a; Asa asad Aac sdscfcc c a

Similar documents
Research in Model-Based Product Development at PELAB in the MODPROD Center

Research in Model-Based Product Development at PELAB in the MODPROD Center

Modelica Environments and OpenModelica

Technical Overview of OpenModelica and its Development Environment

1st Annual OpenModelica Workshop Feb 2, 2009

3rd Annual OpenModelica Workshop Feb 7, 2011

Integrated Modeling of CPS including Requirements: Open Source MBSE Tools Based on Modelica and UML

Technical Overview of OpenModelica and its Development Environment

MODPROD'2014 8th International Workshop on Model-Based Product Development

OpenModelica Compiler (OMC) Overview

OpenModelica Compiler (OMC) Overview

Technical Overview of OpenModelica and its Development Environment

Technical Overview of OpenModelica and its Development Environment

To All Participants!

Technical Overview of OpenModelica and its Development Environment

4th Annual OpenModelica Workshop Feb 6, 2012

and its Development Environment

Increasing programmability

ModelicaML: Getting Started Issue April 2012

5th Annual OpenModelica Workshop Feb 4, 2013

Vice Chairman of Modelica Association Director of Open Source Modelica Consortium

The OpenModelica Modeling, Simulation, and Development Environment

Towards Unified System Modeling with the ModelicaML UML Profile

OpenModelica Environment and Modelica Overview

Dynamic Load Balancing in Parallelization of Equation-based Models

AUTOMATIC PARALLELIZATION OF OBJECT ORIENTED MODELS ACROSS METHOD AND SYSTEM

Parallel Computing Using Modelica

9th Annual OpenModelica Workshop Feb 6, 2017

Automatic Parallelization of Mathematical Models Solved with Inlined Runge-Kutta Solvers

45-year CPU Evolution: 1 Law -2 Equations

OpenModelica Development Environment with Eclipse Integration for Browsing, Modeling, and Debugging

Towards Unified System Modeling and Simulation with ModelicaML: Modeling of Executable Behavior Using Graphical Notations

An Overview of the SysML-Modelica Transformation Specification

Introduction to parallel computers and parallel programming. Introduction to parallel computersand parallel programming p. 1

EXPRESSING REQUIREMENTS IN MODELICA

Simulation and Benchmarking of Modelica Models on Multi-core Architectures with Explicit Parallel Algorithmic Language Extensions

Out-of-Order Parallel Simulation of SystemC Models. G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.)

Computing architectures Part 2 TMA4280 Introduction to Supercomputing

Contributions to Parallel Simulation of Equation-Based Models on Graphics Processing Units

6.1 Multiprocessor Computing Environment

Accelerating Implicit LS-DYNA with GPU

Enhancing the RAMSAS method for Systems Reliability Analysis through Modelica

CS 590: High Performance Computing. Parallel Computer Architectures. Lab 1 Starts Today. Already posted on Canvas (under Assignment) Let s look at it

Kaisen Lin and Michael Conley

SMP and ccnuma Multiprocessor Systems. Sharing of Resources in Parallel and Distributed Computing Systems

Performance of computer systems

Modeling Kernel Language (MKL)

Parallel Code Generation in MathModelica / An Object Oriented Component Based Simulation Environment

Institutionen för datavetenskap Department of Computer and Information Science

A Model Driven Approach for Requirements Engineering of Industrial Automation Systems

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

On the link between Architectural Description Models and Modelica Analyses Models

CUDA PROGRAMMING MODEL Chaithanya Gadiyam Swapnil S Jadhav

Higher Level Programming Abstractions for FPGAs using OpenCL

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 1. Copyright 2012, Elsevier Inc. All rights reserved. Computer Technology

Model-Based Dynamic Optimization with OpenModelica and CasADi

Copyright 2012, Elsevier Inc. All rights reserved.

Technology for a better society. hetcomp.com

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Computational Interdisciplinary Modelling High Performance Parallel & Distributed Computing Our Research

Extensible Modeling Languages

CIM 2 Modelica Factory

Fundamentals of Quantitative Design and Analysis

Execution of UML State Machines Using Modelica

This is the published version of a paper presented at IEEE PES General Meeting 2013.

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing

COSC 6385 Computer Architecture - Thread Level Parallelism (I)

Parallel Computer Architecture Concepts

INTRODUCTION TO OBJECT-ORIENTED MODELING AND SIMULATION WITH MODELICA USING THE OPENMODELICA ENVIRONMENT

Course web site: teaching/courses/car. Piazza discussion forum:

Introduction to MDE and Model Transformation

Compositional Model Based Software Development

GENERATING A MODELICA COMPILER FROM NATURAL SEMANTICS SPECIFICATIONS

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap

FYS Data acquisition & control. Introduction. Spring 2018 Lecture #1. Reading: RWI (Real World Instrumentation) Chapter 1.

Task-Graph-Based Parallelization of Modelica-Simulations. Tutorial on the Usage of the HPCOM-Module

Introduction: Modern computer architecture. The stored program computer and its inherent bottlenecks Multi- and manycore chips and nodes

Lecture 1: Introduction

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 6. Parallel Processors from Client to Cloud

Large scale Imaging on Current Many- Core Platforms

Execution of UML models Present and Future of Research and Practice

Design of Parallel and High Performance Computing Fall 2016 About projects. Instructors: Torsten Hoefler & Markus Püschel TAs: Salvatore Di Girolamo

Parallel Programming Principle and Practice. Lecture 9 Introduction to GPGPUs and CUDA Programming Model

Practical Model-based Testing With Papyrus and RT-Tester

Parallel and Distributed Systems. Hardware Trends. Why Parallel or Distributed Computing? What is a parallel computer?

Performance Benefits of NVIDIA GPUs for LS-DYNA

Modelica Based Parser Generator with Good Error Handling

Parallel Computer Architecture Concepts

GMF Tooling 3.0 Vision, Architecture, Roadmap

High Performance Computing (HPC) Introduction

Objective. We will study software systems that permit applications programs to exploit the power of modern high-performance computers.

EECS4201 Computer Architecture

Model driven Engineering & Model driven Architecture

Multiple Issue and Static Scheduling. Multiple Issue. MSc Informatics Eng. Beyond Instruction-Level Parallelism

WHY PARALLEL PROCESSING? (CE-401)

Kernel Synchronization I. Changwoo Min

CIM-Compliant Model-to-Model Transformation

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT

Transcription:

class x { public int a; class x { float b; public int func (int a,int b); int a; class x { Asa asad float b; public Asda ad int func int a; Asd (int ad a,int cc b); class x { Asa asad float b; Aac sdscfcc c a public Asda ad int func (int a,int Ascccv b); ca int a; Asd ad Asa asad Ascc cac float b; Aac sdscfcc Asda ad } c a int func Asd (int ad a,int Ascccv cc b); ca Asa asad Ascc cac Aac sdscfcc c a Asda ad } Ascccv ca Asd ad Ascc cac Aac sdscfcc } c a Ascccv ca Ascc cac } Research in Model-Based Product Development at PELAB in the MODPROD Center Presentation at MODPROD'2011 PELAB Programming Environment Laboratory Department of Computer and Information Science Linköping University 2011-02-0808 Peter Fritzson

Examples of Complex Systems in Engineering g Robotics Automotive Aircraft Mobile Phone Systems Business Software Power plants Heavy Vehicles Process industry 2 Peter Fritzson

Vision of Integrated Model-Based Product Development Business Process Control Process models Feedback Requirements Model-Driven Compilation Capture Design &Code Gen (PIM) (PSM) Requirements Product Platform models models models System Simulation Software & Syst Product Unified Modeling: Meta-modeling& Modelica& UML & OWL Vision of unified modeling framework for model-driven product development from platform independent models (PIM) to platform specific models (PSM) 3 Peter Fritzson

Open Source Modelica Consortium Open Source Effort 4 Peter Fritzson

The OpenModelica Open Source Enviroment www.openmodelica.org Advanced Interactive Modelica compiler (OMC) Supports most of the Modelica Language Basic environment for creating models OMShell an interactive command handler * ModelicaML UML Profile OMNotebook a literate programming notebook * MetaModelica transforms MDT an advanced textual environment in Eclipse * OMEdit graphic editor 5 Peter Fritzson

OSMC International Consortium for Open Source Model-based Development Tools, 32 members Dec 2010 Founded Dec 4, 2007 Open-source community services Website and Support Forum Version-controlled source base Bug database Development courses www.openmodelica.org Code Statistics 6 Peter Fritzson Industrial members (18) ABB Corporate Research, Sweden Bosch Rexroth AG, Germany Siemens Turbo Machinery AB, Sweden CDAC Centre for Advanced Computing, Kerala, India CEIT Institute, Spain Creative Connections, Prague, Czech Republic Frontway AB, Sweden Equa Simulation AB, Sweden University members (14) Evonik Energy Services, India IFP, Paris, France InterCAX, Atlanta, USA MOSTforWATER, Belgium MathCore Engineering AB, Sweden Maplesoft, Canada TLK Thermo, Germany VI-grade, Italy VTT, Finland XRG Simulation, Germany Linköping University, Sweden Hamburg University of Technology/TuTech, Germany FH Bielefeld, ld Bielefeld, ld Germany Technical University of Braunschweig,, Germany Technical University of Dortmund, Germany Université Laval, modeleau, Canada Griffith University, Australia Politecnico di Milano, Italy Mälardalen University, Sweden Technical University Dresden, Germany Telemark University College, Norway Ghent University, Belgium Ecoles des Mines, CEP, Paris, France University of Ljubljana, Slovenia

New OpenModelica Connection Editor OMEdit Supports MSL 3.1 Easy to use Rather stable Implemented in C++ Qt library 7 Peter Fritzson

New Interactive Simulation with OpenModelica Simulation Control Examples of Simulation Visualization Plot View Requirements Evaluation View Liquid Source MaxLevel Level h Level h Domain-Specific Visualization View Tank 1 Tank 2 8 Peter Fritzson

New OpenModelica Optimization Subsystem OMOptim Parameter optimization Currently using genetic optimization algorithms in OMOptim 0.9. 9 Peter Fritzson

New Web Server Based Teaching/Learning Subsystem OMWeb Runs on ordinary web server Teachers provide modeling exercises Students send in solutions Running of simulations through server Lila EU project 10 Peter Fritzson

New DrControl Interactive Electronic Book Examples Theory Questions Experimentation Models 11 Peter Fritzson

Research Modeling-Language Design Modeling Support Environments 12 Peter Fritzson

Important Questions Design of modeling languages for modeling complex (physical) systems (Modelica) d )including precise semantics, extensibility, etc. How to engineer complex engineering systems of both hardware and software in a consistent and safe manner? Compilation of models for efficient (real-time) execution on multi-core architectures Traceability from requirements to models to implementation 13 Peter Fritzson

Context of Using of Semantics for Checking 14 Peter Fritzson

Current Semantics and MetaModelica/Modelica 4 Work Defining Core language MKL (Modeling Kernel Language) and Core MetaModelica for expressing base semantics Other constructs should be expressible in the Core language Defining extensible meta-modeling/meta-programming language primitives (e.g. MetaModelica) Define compiler and core library in MetaModelica, migrated to Modelica 4 15 Peter Fritzson

Integrated Hardware-Software Modeling ModelicaML UML Profile for Modelica SysML-Modelica Modelica Integration 16 Peter Fritzson

Using ECLIPSE as Integration Platform OpenUP/Basic Capacity Sub- Process Areas ECLIPSE Process Framework (EPF) Composer Specific components Graphical Modeling Framework UML-Modelica Modelica Plug-in OpenModelica MDT ECLIPSE Modeling Framework ECLIPSE Rich Client Platform (RCP) Runtime Java runtime C/C++ runtime OpenModelica runtime MetaModelica runtime 17 Peter Fritzson

ModelicaML UML Profile for Modelica 1st Generation (2006-2008) 2008) Extension of SysML subset Features: Supports Modelica constructscts Modelica generic class modeling Modelica syntax in definitions iti Equation-based modeling Simulation modeling 18 Peter Fritzson

ModelicaML UML Profile, 2nd Generation SysML/UML to Modelica OMG Standardization (with Wladimir Schamai, 2009 Now) ModelicaML is a UML Profile for SW/HW modeling Applicable to pure UML or to other UML profiles, e.g. SysML Standardized Mapping UML/SysML to Modelica Defines transformation/mapping for executable models Being standardized by OMG ModelicaML Defines graphical concrete syntax (graphical notation for diagram) for representing Modelica constructs integrated with UML Includes graphical formalisms (e.g. State Machines, Activities, Requirements) Which do not exist in Modelica language Which are translated into executable Modelica code Is defined towards generation of executable Modelica code Current implementation based on the Papyrus UML tool + OpenModelica 19 Peter Fritzson

ModelicaML: Graphical Notation Structure Requirements Bh Behavior 20 Peter Fritzson

Example: Representation of System Structure Interconnections Inheritance Components 21 Peter Fritzson

Example: Representation of System Behavior State Machine of the Controller State Machine of the Tank Conditional Algorithm (Activity Diagram) 22 Peter Fritzson

Example: Representation of System Requirements Textual Requirement Formalized Requirement 23 Peter Fritzson

Example: Simulation and Requirements Evaluation Req. 001 is instantiated 2 times (there are 2 tanks in the system) tank-height is 0.6m Req. 001 for the tank2 is violated Req. 001 for the tank1 is not violated 24 Peter Fritzson

Parallel Execution Compilation to MultiCore 25 Peter Fritzson

Towards High-Level Parallel Modeling and Simulation Simulations are time-consuming Moore s Law : (since 1965) Log2 Spee edup 16.0 14.0 #devices per chip area doubles 4.0 every 18 months CPU clock rate also doubled every 2.0 18 months until 2003, then: heat and power issues, limited ILP,... 0.0 superscalar technology has reached its limits, only (thread-level) parallelism can increase throughput substantially The consequence: Chip multiprocessors (+ clusters) Multi-core, PIM,... (for general-purpose computing) 12.0 10.0 8.0 6.0 Single-processor Performance Scaling Throughput incr. 55%/year Source: Doug Burger, UT Austin 2005 Need parallel programming/modeling/parallelization Automatic parallelization Explicit parallel modeling and parallel programming Limit: RISC ILP Parallelism Assumed increase 17%/year possible Device speed Limit: Clock rate Pipelining RISC/CISC CPI 2006 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 90 nm 65 nm 45 nm 32nm 22nm 26 Peter Fritzson

Towards Easy-to-Use Modeling & Simulation using Parallel Computers Modeling using drag n drop Translation Parallel Execution Visualization Parallel Simulation Code 27 Peter Fritzson

Integrating Parallelism and Mathematical Models Three Approaches Automatic Parallelization of Mathematical Models (ModPar) Parallelism over the numeric solver method. Parallelism over time. Parallelism over the model equation system... with fine-grained task scheduling Coarse-Grained Explicit Parallelization Using Components The programmer partitions the application into computational components using strongly-typed communication interfaces. Co-Simulation, Transmission-Line Modeling g( (TLM) Explicit Parallel Programming Providing general, easy-to-use explicit parallel programming constructs within the algorithmic part of the modeling language. NestStepModelica 28 Peter Fritzson

Modelica Simulations Parallelization Approach Simulation = solution of (hybrid) DAEs from models g( X, X, Y, t) 0 h ( X, Y, t ) 0 In each step of numerical solver: Calculate in g (and Y in h) X g( ) Parallelization approach: perform the calculation of in parallel Called parallelization over the system. X Drawback: Numeric solver might become bottle-neck 29 Peter Fritzson

Example Task Graphs and Parallelized Application 1 5 2 0 2 1 3 2 0 0 0 4 5 6 1 2 2 Speedup 3 2.5 2 1.5 1 0 7 10 8 0 0.5 1 1 1 2 4 8 16 # Proc Clustered Task Graph Thermofluid Pipe Application 30 Peter Fritzson

Modified Approach Inlining and Pipelining Try to keep communication as close as possible Only communicate in one direction inside a time step. Solver Inlining distribute the solver across all the processors Some parallelism across the method parallel evaluation of Runge-Kutta step 31 Peter Fritzson

Task Merging vs S Approach with Pipelining/Inlining g Equatio on tasks S Equation tasks Equation tasks Eq quation ta asks 32 Peter Fritzson Equatio on tasks Equation tasks Use a graph rewriting system to merge tasks into larger tasks, based on latency and bandwidth. Some tasks are duplicated to avoid communication within a step S S S S S S S S S S S Try to keep communication as close as possible Only communicate in one direction inside a time step. Solver Inlining distribute the solver across all the processors

Measurements Pipelined (100000 steps Flexible Shaft Model, Fall 2008) Task-merging, MPI, SGI Altix Pipelined, Pthreads, SGI, Intel Xeon Relative speedup Relative speedup 4 3,5 3 7 6 SGI 5 Speedup 2,5 2 1,5 Speedup 4 3 Intel 1 2 0,5 1 0 0 5 10 15 Number of processors 0 0 2 4 6 8 10 Number of processors SGI Altix 3700 Bx2 Intel Xeon SGI Altix 3700 Bx2 33 Peter 2/14/2011 PELAB - Linköping University Fritzson 33

Speedup Measurements on NVIDIA (nov 2009) Modelica Model, Generated Code, Function of Problem Size New Platform NVIDIA Fermi 2050 2 Teraflop peak In Use from January 2011 34 Peter Fritzson

New Scalable OpenModelica Parallel Code Generator Work in Progress Both task parallelism and data parallelism Handling non-expanded arrays efficiently Planned use of TLM-partitioning for more parallelism Generating OpenCL code for platform independence Template based code generator 35 Peter Fritzson

The OpenModelica Compiler Implemented mainly in MetaModelica and C/C++; 114 packages Main Mod Connect DAE BackendDump Prefix.Pre fix Types.Mod SCode.Mod Exp.Componentre p f DAE Flat Modelica Prefix Lookup BackendDAEEXT.mo ClassLoade r Parser Data Type Modules: Absyn Types SCode DAE Absyn Prefix.Prefix ClassInf.Event SCode Util ClassInf Exp.Ident ClassInf.State SCode Exp.Exp (Env, name) SCode.Class Derive VarTransform (Env, name) Exp.Exp Exp.Exp DAE DAE, DAE: Equations substlist Algorithms SCo de.ex p Inst ( Exp.E xp, T ype s.type) Static Ceval Values.Value Exp.Exp DAE: Functions Patternm DFA Backend SimCode TemplateCodeGen Dump Utility Modules: Debug C code Algorithm Expression Builtin MetaUtil Util ModUtil Print System RTOp ts 36 Peter Fritzson 36

Summary of MODPROD Research in PELAB Modeling language design (semantics, type systems, meta-modeling, extensibility) Modelica-SysML integration Requirements traceability Compilation to multi-core platforms Compilation and performance measurements for real-time simulation Contact: peter.fritzson@liu.se 37 Peter Fritzson