High Level Mathematical Modeling and Parallel/GRID Computing with Modelica. Peter Fritzson

Size: px
Start display at page:

Download "High Level Mathematical Modeling and Parallel/GRID Computing with Modelica. Peter Fritzson"

Transcription

1 High Level Mathematical Modeling and Parallel/GRID Computing with Modelica PELAB Programming Environment Laboratory Department of Computer and Information Science, PELAB Linköping University, SE Linköping, Sweden Parallel Programming Workshop Linköping 2006 June 3 Outline Complex Systems and High Performance Simulations Introduction to Modelica Overview of OpenModelica Environment Automatic fine-grained parallelization Explicit model-based parallelization Explicit parallel programming 2 Parallel Programming Workshop Linköping 2006 June 3

2 Examples of Complex Systems Robotics Automotive Aircraft Living organisms Power plants Heavy Vehicles 3 Parallel Programming Workshop Linköping 2006 June 3 Objectives Convenient high level mathematical modeling and simulation of complex systems High performance computation using parallel computers 4 Parallel Programming Workshop Linköping 2006 June 3

3 Towards High-Level Parallel Modeling and Simulation Simulations are time-consuming Moore s Law : (since 965) #devices per chip area doubles every 8 months CPU clock rate also doubled every 8 months until 2003, 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) Need parallel programming/modeling Automatic parallelization Explicit parallel modeling and parallel programming Log2 Speedup Single-processor Performance Scaling Throughput incr. 55%/year Device speed Limit: Clock rate Pipelining Parallelism Assumed increase 7%/year possible 2.0 Limit: RISC ILP RISC/CISC CPI 0.0 then: heat and power issues, limited ILP, Source: Doug Burger, UT Austin nm 65 nm45 nm 32nm 22nm Parallel Programming Workshop Linköping 2006 June 3 Three Approaches to Parallel Computation in Mathematical Modeling with Modelica Automatic fine-grained parallelization of mathematical models (ModPar) Coarse-Grained Explicit Parallelization Using Components (GRIDMOdelica) Explicit Parallel Programming Constructs in Modelica (NestStepModelica) 6 Parallel Programming Workshop Linköping 2006 June 3

4 Background Modelica the Next Generation Modeling Language 7 Parallel Programming Workshop Linköping 2006 June 3 Stored Scientific and Engineering Knowledge Model knowledge is stored in books and human minds which computers cannot access The change of motion is proportional to the motive force impressed Newton 8 Parallel Programming Workshop Linköping 2006 June 3

5 The Form Equations Equations were used in the third millennium B.C. Equality sign was introduced by Robert Recorde in 557 Newton still wrote text (Principia, vol., 686) The change of motion is proportional to the motive force impressed CSSL (967) introduced a special form of equation : variable = expression v = INTEG(F)/m Programming languages usually do not allow equations! 9 Parallel Programming Workshop Linköping 2006 June 3 Modelica The Next Generation Modeling Language Declarative language Equations and mathematical functions allow acausal modeling, high level specification, increased correctness Multi-domain modeling Combine electrical, mechanical, thermodynamic, hydraulic, biological, control, event, real-time, etc... Everything is a class Strongly typed object-oriented language with a general class concept, Java & MATLAB-like syntax Visual component programming Hierarchical system architecture capabilities Efficient, non-proprietary Efficiency comparable to C; advanced equation compilation, e.g equations, ~ lines on standard PC 0 Parallel Programming Workshop Linköping 2006 June 3

6 Modelica Language Properties Declarative and Object-Oriented Equation-based; continuous and discrete equations Parallel process modeling of real-time applications, according to synchronous data flow principle Functions with algorithms without global side-effects (but local data updates allowed) Type system inspired by Abadi/Cardelli Everything is a class Real, Integer, models, functions, packages, parameterized classes... Parallel Programming Workshop Linköping 2006 June 3 Object Oriented Mathematical Modeling with Modelica The static declarative structure of a mathematical model is emphasized OO is primarily used as a structuring concept OO is not viewed as dynamic object creation and sending messages Dynamic model properties are expressed in a declarative way through equations. Acausal classes supports better reuse of modeling and design knowledge than traditional classes 2 Parallel Programming Workshop Linköping 2006 June 3

7 Brief Modelica History First Modelica design group meeting in fall 996 International group of people with expert knowledge in both language design and physical modeling Industry and academia Modelica Versions.0 released September released March 2002 Latest version, 2.2 released March 2005 Modelica Association established 2000 Open, non-profit organization 3 Parallel Programming Workshop Linköping 2006 June 3 Modelica Conferences The st International Modelica conference October, 2000 The 2 nd International Modelica conference March 8-9, 2002 The 3 rd International Modelica conference November 5-6, 2003 in Linköping, Sweden The 4 th International Modelica conference March 6-7, 2005 in Hamburg, Germany The 5 th International Modelica conference September 4-5, 2006 in Vienna, Austria 4 Parallel Programming Workshop Linköping 2006 June 3

8 Modelica Class Libraries - for Reuse Visual View Info R= C= L= G Info bar= body= bodybar= AC= DC= Info Vs shaft= shaft3ds= shaft3d= S Is S gear2= shafts= inertial S cylbody=bodyshape= S revs= S prisms= S screw S= cyls= S D T - + diff= Op gear= V i planet= planetary= ring= univs S planars= spheres S S frees S rev= prism= E : bearing sun= fixtooth S moves c= d= move screw = barc= y cyl= univ planar= sphere spherec free c= d= cser= torque fric= C x barc2= C frictab clutch= converter r force lineforce= sensor linesensor torque linetorque= s sd S state w a t fixedbase advanced drive translation Library Library Library 5 Parallel Programming Workshop Linköping 2006 June 3 Modelica Model Example Industry Robot k2 i qddref qdref S qref S k i r3control r3motor r3drive cut joint qd tn axis6 axis5 l qdref Kd 0.03 S rel qref psum - Kv 0.3 sum + + w Sum - rate2 b(s) a(s) rate S iref Jmotor=J spring=c fric=rv0 gear=i joint=0 S axis4 axis3 rate tacho2 tacho b(s) a(s) b(s) a(s) PT g5 axis2 q qd Rd=00 Rp2=50 C=0.004*D/w m Rp=200 Ra=250 axis Rd2= diff Ri=0 - + OpI - + pow er La=(250/(2*D*wm)) Rd4=00 Srel = n*transpose(n)+(identity(3)- n*transpose(n))*cos(q)- skew(n)*sin(q); g3 wrela = n*qd; zrela = n*qdd; g Sb = Sa*transpose(Srel); r0b = r0a; hall vb = Srel*va; wb = Srel*(wa + wrela); ab = Srel*aa; g4 g2 qd zb = Srel*(za + zrela + cross(wa, wrela)); Vs Rd3=00 hall2 emf w r q y x inertial Courtesy of ABB Corp. Research and of Martin Otter, DLR 6 Parallel Programming Workshop Linköping 2006 June 3

9 Modelica Model Example GTX Gas Turbine Power Cutoff Mechanism Hello Courtesy of Siemens Industrial Turbomachinery AB 7 Parallel Programming Workshop Linköping 2006 June 3 Graphical Modeling /Visual Programming View 8 Parallel Programming Workshop Linköping 2006 June 3

10 Multi-Domain (Electro-Mechanical) Modelica DCMotor Model A DC motor can be thought of as an electrical circuit which also contains an electromechanical component. model DCMotor Resistor R(R=00); Inductor L(L=00); VsourceDC DC(f=0); Ground G; ElectroMechanicalElement EM(k=0,J=0, b=2); Inertia load; equation R L connect(dc.p,r.n); connect(r.p,l.n); DC connect(l.p, EM.n); connect(em.p, DC.n); connect(dc.n,g.p); connect(em.flange,load.flange); G end DCMotor EM load 9 Parallel Programming Workshop Linköping 2006 June 3 Corresponding DCMotor Model Equations The following equations are automatically derived from the Modelica model: (load component not included) Automatic transformation to ODE or DAE for simulation: 20 Parallel Programming Workshop Linköping 2006 June 3

11 The Translation Process Modelica Graphical Editor Modelica Textual Editor Modelica Model Modelica Source code Modelica Model Translator Analyzer Optimizer Code generator C Compiler Simulation Flat model Sorted equations Optimized sorted equations C Code Executable 2 Parallel Programming Workshop Linköping 2006 June 3 Modelica Acausal Modeling What is acausal modeling/design? Why does it increase reuse? The acausality makes Modelica library classes more reusable than traditional classes containing assignment statements where the input-output causality is fixed. Example: a resistor equation: R*i = v; 22 can be used in three ways: i := v/r; v := R*i; R := v/i; Parallel Programming Workshop Linköping 2006 June 3

12 Visual Model Design Using Connector Classes, Components and Connections Connector Pin Voltage v; flow Current i; End Pin; Keyword flow indicates that currents of connected pins sums to zero. A connect statement in Modelica connect(pin,pin2) corresponds to Pin.v = Pin2.v Pin.i + Pin2.i = 0 23 Connection between Pin and Pin2 Parallel Programming Workshop Linköping 2006 June 3 Common Component Structure as SuperClass model TwoPin Superclass of elements with two electrical pins Pin p,n; Voltage v; Current i; equation v = p.v n.v; 0 = p.i + n.i; i = p.i; end TwoPin; 24 Parallel Programming Workshop Linköping 2006 June 3

13 Electrical Components Reuse TwoPin SuperClass model Resistor Ideal electrical resistor extends TwoPin; parameter Real R Resistance ; equation R*i = u end Resistor; model Inductor Ideal electrical inductor extends TwoPin; parameter Real L Inductance ; equation L*der(i) = u end Inductor; 25 Parallel Programming Workshop Linköping 2006 June 3 Discrete-time time vs. Continuous-time time Continuous-time variables: change at any point in time Discrete-time variables only change at certain points in time y,z y z event event 2 event 3 time 26 Parallel Programming Workshop Linköping 2006 June 3

14 Modelica Discrete and Hybrid Properties Discrete event semantics based on conditional equations (if conditions..., when conditions..., etc.) Discrete event model follows synchronous data flow principle events take no time Efficient hybrid modeling and simulation possible Can handle most discrete formalisms: FSA, DEVS, Petri Nets, State Charts, Queuing models, Parallel Programming Workshop Linköping 2006 June 3 Recent Book, 2004 Principles of Object Oriented Modeling and Simulation with Modelica 2. Wiley-IEEE Press 940 pages Book web page: 28 Parallel Programming Workshop Linköping 2006 June 3

15 The OpenModelica Environment 29 Parallel Programming Workshop Linköping 2006 June 3 OpenModelica Environment The goals of the OpenModelica project is to: Create a complete Modelica modeling, compilation and simulation environment. Provide free software distributed in binary and source code form. Provide a modeling and simulation environment for research, teaching, and industrial purposes. Reference implementation of Modelica in Modelica 30 Parallel Programming Workshop Linköping 2006 June 3

16 OpenModelica End-Users vs. Developers OpenModelica End-Users People who use OpenModelica for modeling and simulation OpenModelica Developers People who develop/contribute to parts in the OpenModelica environment including the OpenModelica compiler 3 Parallel Programming Workshop Linköping 2006 June 3 OpenModelica Environment Architecture Eclipse Plugin Editor/Browser Emacs Editor/Browser Interactive session handler Graphical Model Editor/Browser Textual Model Editor DrModelica OMNoteBook Model Editor Execution Modelica Compiler Modelica Debugger 32 Parallel Programming Workshop Linköping 2006 June 3

17 OpenModelica Client-Server Architecture Callable via CORBA API Server: Main Program Including Compiler, Interpreter, etc. Parse Corba Client: Graphic Model Editor Client: OMShell Interactive Session Handler SCode Inst Ceval Interactive system Untyped API Typed Checked Command API plot etc. Client: Eclipse Plugin MDT 33 Parallel Programming Workshop Linköping 2006 June 3 Interactive Session Handler on dcmotor Example (Session handler called OMShell OpenModelica Shell) >>simulate(dcmotor,starttime=0.0,stoptime=0.0) >>plot({load.w,load.phi}) model dcmotor Modelica.Electrical.Analog.Basic.Resistor r(r=0); Modelica.Electrical.Analog.Basic.Inductor i; Modelica.Electrical.Analog.Basic.EMF emf; Modelica.Mechanics.Rotational.Inertia load; Modelica.Electrical.Analog.Basic.Ground g; Modelica.Electrical.Analog.Sources.ConstantVoltage v; equation connect(v.p,r.p); connect(v.n,g.p); connect(r.n,i.p); connect(i.n,emf.p); connect(emf.n,g.p); connect(emf.flange_b,load.flange_a); end dcmotor; 34 Parallel Programming Workshop Linköping 2006 June 3

18 Event Handling by OpenModelica BouncingBall >>simulate(bouncingball, stoptime=3.0); >>plot({h,flying}); model BouncingBall parameter Real e=0.7 "coefficient of restitution"; parameter Real g=9.8 "gravity acceleration"; Real h(start=) "height of ball"; Real v "velocity of ball"; Boolean flying(start=true) "true, if ball is flying"; Boolean impact; Real v_new; equation impact=h <= 0.0; der(v)=if flying then -g else 0; der(h)=v; when {h <= 0.0 and v <= 0.0,impact} then v_new=if edge(impact) then -e*pre(v) else 0; flying=v_new > 0; reinit(v, v_new); end when; end BouncingBall; 35 Parallel Programming Workshop Linköping 2006 June 3 OpenModelica Eclipse Plugin in Action Browsing and Building OpenModelica Compiler Browsing of Modelica/MetaMode lica packages, classes, functions Automatic building of executables Separate compilation Syntax highlighting Code completion, Code query support for developers Automatic Indentation 36 Parallel Programming Workshop Linköping 2006 June 3

19 Graphic Modelica Model Editor (From MathCore; runs on Windows, Linux) Runs together with OpenModelica Free for university usage 37 Parallel Programming Workshop Linköping 2006 June 3 OpenModelica OMNotebook Electronic Notebook with DrModelica Primarily for teaching Interactive electronic book Platform independent OMNotebook Does not need Mathematica 38 Parallel Programming Workshop Linköping 2006 June 3

20 Interactive Contents in DrModelica Contains Examples and Exercises from Modelica Book 39 Parallel Programming Workshop Linköping 2006 June 3 Cells with both Text and Graphics 40 Parallel Programming Workshop Linköping 2006 June 3

21 OpenModelica MetaModelica Compiler Supports extended subset of Modelica Used for development of OpenModelica compiler in Modelica Some MetaModelica Language properties: Modelica syntax and base semantics Pattern matching (named/positional) Local equations (local within expression) Recursive tree data structures Lists and tuples Garbage collection of heap-allocated data Arrays (with local update as in standard Modelica) Polymorphic functions Function parameters to functions Simple builtin exception (failure) handling mechanism 4 Parallel Programming Workshop Linköping 2006 June 3 Parallelism in Modelica 42 Parallel Programming Workshop Linköping 2006 June 3

22 Integrating Parallelism and Mathematical Models Three Approaches Automatic Parallelization of Mathematical Models (ModPar) Parallelism over the method. Parallelism over time. Parallelism over the model equation system... with fine-grained task scheduling [Peter Aronsson s PhD thesis June 4, 2006] Coarse-Grained Explicit Parallelization Using Components Programmer structures the application into computational components using strongly-typed communication interfaces. Co-Simulation, Transmission-Line Modeling (TLM) Our GridModelica project Explicit Parallel Programming Providing general, easy-to-use explicit parallel programming constructs within the algorithmic part of the modeling language. NestStepModelica 43 Parallel Programming Workshop Linköping 2006 June 3 Automatic Parallelization of Mathematical Models (ModPar) (with Peter Aronsson) Parallelism over the method. Parallelism over time. Parallelism over the model equation system... with fine-grained task scheduling [Peter Aronsson s PhD thesis June 4, 2006] 44 Parallel Programming Workshop Linköping 2006 June 3

23 Modelica Simulations 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 X in g (and Y in h) Parallelization approach: perform the calculation of in parallel Called parallelization over the system. X 45 Parallel Programming Workshop Linköping 2006 June 3 Automatic Generation of Parallel Code from Modelica Equation-Based Models Speedup # Proc Clustered Task Graph Thermofluid Pipe Application 46 Parallel Programming Workshop Linköping 2006 June 3

24 Multiprocessor Scheduling Problem Given Task Graph G = (V,E,τ, c) A fixed number of processors P,..P N Find for each task A processor assignment (or several) and a starting time such that Overall execution time is minimized Problem: Known scheduling algorithms perform bad on very fine grained task graphs. Solution : Increase granularity by merging tasks 47 Parallel Programming Workshop Linköping 2006 June 3 Clustering v.s. Merging Clustered Task Graph merging ,4, ,6 6 Merged Task Graph 0 48 Parallel Programming Workshop Linköping 2006 June 3

25 Fine-Grained Automatic Parallelization Summary A task merging algorithm using graph rewrite system has been proposed and used Improved patterns to increase applicability Can easily be integrated in existing scheduling tools. Successfully merges tasks considering Bandwidth & Latency Task duplication Merging criterion: decrease Parallel Time, by decreasing tlevel (PT) Tested on examples from simulation code Speedup (on current examples) e.g. up to Parallel Programming Workshop Linköping 2006 June 3 GridModelica Coarse-Grained Component-Level Parallel Simulation (with Kaj Nyström) Very large system of equations with computational models from several domains: Mechanical domain Electrical domain Chemical domain 50 Parallel Programming Workshop Linköping 2006 June 3

26 Outline of a Partitioned Model SubSystem 3 Solver: Euler Stepsize:0.00 TLM TLM SubSystem 4 Solver: LAPACK Stepsize:.0 TLM TLM SubSystem Solver: Dassl Stepsize:0. SubSystem 2 Solver: Lsode2 Stepsize:0.0 5 Parallel Programming Workshop Linköping 2006 June 3 Transmission Line Modeling Connections in Modelica are ideal and information exchange takes no time In the real world, this is not the case. The Idea: Let us use this time delay to decouple a model into smaller pieces Instead of one large equation system, we get two (or more). The solution to these systems is dependent only of the previous solutions to neighbouring systems. Result: Many smaller systems which can be solved independently 52 Parallel Programming Workshop Linköping 2006 June 3

27 Transmission Line Modeling (2) c, c2 are the TLM-parameters Ttlm is the information propagation time Zf is the implicit impedance c2 v,i v2,i2 c 53 Parallel Programming Workshop Linköping 2006 June 3 Advantages Partitioning at model level using drag and drop No knowledge in parallelization techniques needed Reduces model stiffness Domain independent (the Modelica way!) Separate solvers and settings possible... and of course, better performance 54 Parallel Programming Workshop Linköping 2006 June 3

28 Small Example Application (To SubSystem2) 55 Parallel Programming Workshop Linköping 2006 June 3 NestStepModelica Explicit Parallel Programming in Modelica (w. Christoph Kessler and Mattias Eriksson) Introduce simple explicit parallel programming model in Modelica algorithmic code BSP Bulk Synchronous Parallel Programming (master-slave) NestStep: BSP + Nested parallelism NestStepModelica: Modelica + NestStep runtime 56 Parallel Programming Workshop Linköping 2006 June 3

29 BSP Bulk Synchronous Parallelism BSP Model (Bulk-Synchronous Parallelism) [Valiant 990] BSP computer: abstract MIMD parallel computer (p, L, g) Group of p processors / threads (SPMD) Message passing Barrier synchronisation, overhead: L Communication data rate: g BSP program: Sequence of supersteps t (prog) = Σ step t (step) Superstep: Max. Computation time per processor: w Max. Communication volume per proc.: h t (step) = w + h g + L w 57 Parallel Programming Workshop Linköping 2006 June 3 NestStep BSP + shared variables / arrays + nested parallelism Set of extensions to existing languages NestStep-Java [K. 99] NestStep-C [K. 00, K. 04] NestStep-Modelica 58 Parallel Programming Workshop Linköping 2006 June 3

30 NestStep-Modelica Modelica: : step statement Shared Variables Integer x ( mem = shared );... step();... =... x x =... endstep(); Invariants: Superstep synchronicity: All processors of an (active) group work on the same superstep at the same time Superstep memory consistency: At entry and exit from a superstep, all copies of a shared variable have the same value on all processors of the group. Within a superstep, only its local value is visible. 59 Parallel Programming Workshop Linköping 2006 June 3 Implementation Issues Spanning tree over all processors of the group P 0 P P P 4 7 P 2 P 3 P 5 P6 2 Phases: combine Communication upwards commit Communication downwards Barrier synchronisation included ;-) Binomial trees better than d-ary trees [Sohl 06] 60 Parallel Programming Workshop Linköping 2006 June 3

31 Example: Parallel Prefix Sums i- prefix i = Σ j= a j for i =,...,N Example: a = {, 3,, 4 } prefix = { 0,, 4, 5 }, sum = 9 // Sequential in linear time: sum := 0; for i in :N loop prefix[i] := sum; sum := sum + a[i]; end for; 6 Parallel Programming Workshop Linköping 2006 June 3 Parallel Prefix Sums in NestStepModelica () function parprefix "Compute prefix sums in parallel" input Integer[:] arr ( mem="shared", distr="block ); output Integer[size(arr,)] arr ( mem="shared", distr="block") := arr; protected parameter Integer p = nprocessors(); Integer Ndp = N div p; // Assume p divides N for simplicity Integer[Ndp] prefix; // Local prefix array Integer mypresum; // Local prefix offset for this processor Integer sum ( mem="shared ); // Shared, consistent at superstep boundary Integer i, j; algorithm... // the parallel code comes here, see next slide end parprefix; 62 Parallel Programming Workshop Linköping 2006 June 3

32 Parallel Prefix Sums in NestStepModelica (2) 63 a: a: P0 P P0: prefix P: prefix P0: sum: P: sum: sum: mypresum: sum: mypresum: Parallel Programming Workshop Linköping 2006 June 3 algorithm j := ; // In Modelica, arrays start at >= step(); // Start of BSP superstep for i in arr loop // Iterate over local elements prefix[j] := sum; sum := sum + arr[i]; j:= j + ; end for; endstepreduce ( result=sum, op=operators.plus, prefixvar=mypresum ); endstep(); // End of BSP superstep j:= ; step(); for i in arr loop // Put prefix sum results into arr arr[i] := prefix[j] + mypresum; j := j + ; end for; endstep(); end parprefix; Speedup for Parallel prefix sums Xeon cluster Monolith, NSC Linköping 64 Parallel Programming Workshop Linköping 2006 June 3 [Sohl 06]

33 Nested BSP-Parallelism Parallelism Parallelism-creating constructs can be nested: statically: e.g. nested parallel loops dynamically: e.g. parallel divide-and-conquer computations generates massive parallelism In NestStep: split the group (= fork a parallel process) neststep( nsubgroups = 2, mysubgroup =... );... if (thisgroup().gid==0) foo(); else bar();... endneststep(); 65 Parallel Programming Workshop Linköping 2006 June 3 Summary NestStepModelica NestStep Run-time Shared-Memory Programming on Message-Passing Systems Alternative to OpenMP and UPC Simple, deterministic memory consistency and synchronization model Structured parallelism Run-time system on top of MPI on Linux clusters [Sohl 06]: Scalable implementation, up to 30x faster than OpenMP on Cluster-DSM with 32 processors NestStepModelica Expose explicit parallelism at the language level Encapsulated in the imperative parts of Modelica code Front-end (NestStep-Modelica C + NestStep RTS) as Modelica-Metamodel extension, under development Plans for further targets: CC-NUMA Chip multiprocessors, e.g. IBM CELL 66 Parallel Programming Workshop Linköping 2006 June 3

34 Conclusions Finegrained automatic parallelization of models Now operational and give speedups. Could give more for larger applications and if solver sould not be a single-processor bottleneck Coarse-grained manual component-oriented model parallelization on the GRID (GRIDModelica) Preliminary prototype started running. Explicit parallel programming in Modelica algorithmic code (NestStepModelica) Run-time system gives speedups compared to OpenMP. Integration with OpenModelica compiler under way. 67 Parallel Programming Workshop Linköping 2006 June 3 Contact Download OpenModelica and drmodelica Book web page, Download book chapter, DrModelica Modelica Association peter.fritzson@ida.liu.se.com OpenModelica@ida.liu.se 68 Parallel Programming Workshop Linköping 2006 June 3

MetaModelica A Unified Equation-Based Semantical and Mathematical Modeling Language

MetaModelica A Unified Equation-Based Semantical and Mathematical Modeling Language MetaModelica A Unified Equation-Based emantical and Mathematical Modeling Language Adrian Pop and Peter Fritzson Programming Environment Laboratory Department of Computer and Information cience Linköping

More information

OpenModelica Environment and Modelica Overview

OpenModelica Environment and Modelica Overview OpenModelica Environment and Modelica Overview, Adrian Pop OpenModelica Course, 2007 03 19 1 OpenModelica Goal: comprehensive modeling and simulation environment for research, teaching, and industrial

More information

OpenModelica OMShell and OMNotebook Introduction and Exercises

OpenModelica OMShell and OMNotebook Introduction and Exercises OpenModelica OMShell and OMNotebook Introduction and Exercises, Adrian Pop, Peter Aronsson OpenModelica Course at INRIA, 2006 06 08 1 OMShell and OMNotebook OpenModelica End- User Subsystems OMShell interactive

More information

Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages

Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages Adrian Pop Programming Environment Laboratory Department of Computer and Information Science Linköping University

More information

Modelica Environments and OpenModelica

Modelica Environments and OpenModelica Environments and Open 1 Peter Fritzson Dymola Dynasim (Dassault Systemes) Sweden First tool on the market Main focus on automotive industry www.dynasim.com 2 Peter Fritzson 1 Simulation X ITI Germany Mechatronic

More information

Towards Unified System Modeling with the ModelicaML UML Profile

Towards Unified System Modeling with the ModelicaML UML Profile Towards Unified System Modeling with the ModelicaML UML Profile Adrian Pop, David Akhvlediani, Peter Fritzson Programming Environments Lab, Department of Computer and Information Science Linköping University,

More information

Modelica Language Concepts. Classes and Inheritance

Modelica Language Concepts. Classes and Inheritance Modelica Language Concepts and Textual Classes and Inheritance Typed Declarative Equation-based Textual Language 1 Peter Fritzson Hybrid Acausal The order of computations is not decided at modeling time

More information

Towards Run-time Debugging of Equation-based Object-oriented Languages

Towards Run-time Debugging of Equation-based Object-oriented Languages Towards Run-time Debugging of Equation-based Object-oriented Languages Adrian Pop and Peter Fritzson Programming Environments Laboratory Department of Computer and Information cience Linköping University

More information

Increasing programmability

Increasing programmability Increasing programmability with domain- specific languages Kris6an Sandahl, Peter Fritzson, Christoph Kessler PELAB Department of Computer and Informa6on Science Linköping University PELAB at a Glance

More information

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

Automatic Parallelization of Mathematical Models Solved with Inlined Runge-Kutta Solvers Automatic Parallelization of Mathematical Models Solved with Inlined Runge-Kutta Solvers Håkan Lundvall and Peter Fritzson PELAB Programming Environment Lab, Dept. Computer Science Linköping University,

More information

AUTOMATIC PARALLELIZATION OF OBJECT ORIENTED MODELS ACROSS METHOD AND SYSTEM

AUTOMATIC PARALLELIZATION OF OBJECT ORIENTED MODELS ACROSS METHOD AND SYSTEM AUTOMATIC PARALLELIZATION OF OBJECT ORIENTED MODELS ACROSS METHOD AND SYSTEM Håkan Lundvall and Peter Fritzson PELAB Programming Environment Lab, Dept. Computer Science Linköping University, S-581 83 Linköping,

More information

The OpenModelica Modeling, Simulation, and Development Environment

The OpenModelica Modeling, Simulation, and Development Environment The OpenModelica Modeling, Simulation, and Development Environment Peter Fritzson, Peter Aronsson, Håkan Lundvall, Kaj Nyström, Adrian Pop, Levon Saldamli, David Broman PELAB Programming Environment Lab,

More information

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

INTRODUCTION TO OBJECT-ORIENTED MODELING AND SIMULATION WITH MODELICA USING THE OPENMODELICA ENVIRONMENT INTRODUCTION TO OBJECT-ORIENTED MODELING AND SIMULATION WITH MODELICA USING THE OPENMODELICA ENVIRONMENT Peter Fritzson 1, Adrian Pop 1, Peter Aronsson 2, Håkan Lundvall 1, David Broman 1, Daniel Hedberg

More information

Vice Chairman of Modelica Association Director of Open Source Modelica Consortium

Vice Chairman of Modelica Association Director of Open Source Modelica Consortium Introduction to Modelica modeling and the OpenModelica and MathModelica tools Invited talk to workshop "Can Systems biology aid personalized medication?" December 5, 2011 Peter Fritzson Professor at Linköping

More information

Parallel Computing Using Modelica

Parallel Computing Using Modelica Parallel Computing Using Modelica Martin Sjölund, Mahder Gebremedhin, Kristian Stavåker, Peter Fritzson PELAB, Linköping University ModProd Feb 2012, Linköping University, Sweden What is Modelica? Equation-based

More information

CIM 2 Modelica Factory

CIM 2 Modelica Factory CIM 2 Modelica Factory Automated Equation-Based Cyber-Physical Power System Modelica Model Generation and Time-Domain Simulation from CIM luigiv@kth.se, fragom@kth.se Electric Power Systems Dept. KTH Stockholm,

More information

OpenModelica Compiler (OMC) Overview

OpenModelica Compiler (OMC) Overview OpenModelica Compiler (OMC) Overview, Adrian Pop, Peter Aronsson OpenModelica Course, 2006 11 06 1 OpenModelica Environment Architecture Eclipse Plugin Editor/Browser Emacs Editor/Browser Interactive session

More information

OpenModelica Compiler (OMC) Overview

OpenModelica Compiler (OMC) Overview OpenModelica Compiler (OMC) Overview, Adrian Pop, Peter Aronsson OpenModelica Course at INRIA, 2006 06 08 1 OpenModelica Environment Architecture Eclipse Plugin Editor/Browser Emacs Editor/Browser Interactive

More information

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

OpenModelica Development Environment with Eclipse Integration for Browsing, Modeling, and Debugging OpenModelica Development Environment with Eclipse Integration for Browsing, Modeling, and Debugging Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani PELAB Programming Environment

More information

Dynamic Load Balancing in Parallelization of Equation-based Models

Dynamic Load Balancing in Parallelization of Equation-based Models Dynamic Load Balancing in Parallelization of Equation-based Models Mahder Gebremedhin Programing Environments Laboratory (PELAB), IDA Linköping University mahder.gebremedhin@liu.se Annual OpenModelica

More information

Oriented Modeling and Simulation with Modelica

Oriented Modeling and Simulation with Modelica Principles of Object-Oriented Oriented Modeling and Simulation with Modelica Mini-Tutorial for MODPROD Workshop 2009 Peter Fritzson Linköping University, Dept. of Comp. & Inform. Science SE 581-83, Linköping,

More information

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

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing CIT 668: System Architecture Parallel Computing Topics 1. What is Parallel Computing? 2. Why use Parallel Computing? 3. Types of Parallelism 4. Amdahl s Law 5. Flynn s Taxonomy of Parallel Computers 6.

More information

MathWorks Technology Session at GE Physical System Modeling with Simulink / Simscape

MathWorks Technology Session at GE Physical System Modeling with Simulink / Simscape SimPowerSystems SimMechanics SimHydraulics SimDriveline SimElectronics MathWorks Technology Session at GE Physical System Modeling with Simulink / Simscape Simscape MATLAB, Simulink September 13, 2012

More information

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

int a; class x { public int a; class x { float b; Asda ad public int a; Asa asad Aac sdscfcc c a 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

More information

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

Parallel Code Generation in MathModelica / An Object Oriented Component Based Simulation Environment Parallel Code Generation in MathModelica / An Object Oriented Component Based Simulation Environment Peter Aronsson, Peter Fritzson (petar,petfr)@ida.liu.se Dept. of Computer and Information Science, Linköping

More information

MathModelica An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming

MathModelica An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming - 1 - MathModelica An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming A short version of this paper in Proceedings of the 2:nd International Modelica Conference,

More information

Modelica. Language, Libraries, Tools, Workshop and EU-Project RealSim

Modelica. Language, Libraries, Tools, Workshop and EU-Project RealSim Modelica Language, Libraries, Tools, Workshop and EU-Project RealSim by Martin Otter 1, Hilding Elmqvist 2 German Aerospace Center, Oberpfaffenhofen, Germany and Dynasim AB, Lund, Sweden December 18, 2000

More information

Rotational3D Efficient modelling of 3D effects in rotational mechanics

Rotational3D Efficient modelling of 3D effects in rotational mechanics Rotational3D - Efficient Modelling of 3D Effects in Rotational Mechanics Rotational3D Efficient modelling of 3D effects in rotational mechanics Johan Andreasson Magnus Gäfvert Modelon AB Ideon Science

More information

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

Simulation and Benchmarking of Modelica Models on Multi-core Architectures with Explicit Parallel Algorithmic Language Extensions Simulation and Benchmarking of Modelica Models on Multi-core Architectures with Explicit Parallel Algorithmic Language Extensions Afshin Hemmati Moghadam Mahder Gebremedhin Kristian Stavåker Peter Fritzson

More information

MapleSim User's Guide

MapleSim User's Guide MapleSim User's Guide Copyright Maplesoft, a division of Waterloo Maple Inc. 2001-2009 MapleSim User's Guide Copyright Maplesoft, MapleSim, and Maple are all trademarks of Waterloo Maple Inc. Maplesoft,

More information

An Easy-to-use Generic Model Configurator for Models in Multiple Tool Formats

An Easy-to-use Generic Model Configurator for Models in Multiple Tool Formats An Easy-to-use Generic Model Configurator for Models in Multiple Tool Formats Vadim Engelson 1, Peter Fritzson 1, Ulf Sellgren 2 1 Department of Computer and Information Science Linköping University SE-58183

More information

6.1 Multiprocessor Computing Environment

6.1 Multiprocessor Computing Environment 6 Parallel Computing 6.1 Multiprocessor Computing Environment The high-performance computing environment used in this book for optimization of very large building structures is the Origin 2000 multiprocessor,

More information

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

Research in Model-Based Product Development at PELAB in the MODPROD Center 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

More information

Parallel Architectures

Parallel Architectures Parallel Architectures Part 1: The rise of parallel machines Intel Core i7 4 CPU cores 2 hardware thread per core (8 cores ) Lab Cluster Intel Xeon 4/10/16/18 CPU cores 2 hardware thread per core (8/20/32/36

More information

An Introduction to Parallel Programming

An Introduction to Parallel Programming An Introduction to Parallel Programming Ing. Andrea Marongiu (a.marongiu@unibo.it) Includes slides from Multicore Programming Primer course at Massachusetts Institute of Technology (MIT) by Prof. SamanAmarasinghe

More information

Wolfram SystemModeler. Getting Started

Wolfram SystemModeler. Getting Started Wolfram SystemModeler Getting Started i Contents 1 Introduction 1 2 Hello World 5 2.1 Hello World Model.................................... 5 2.1.1 Exercise...................................... 11 3 Multidomain

More information

16/10/2008. Today s menu. PRAM Algorithms. What do you program? What do you expect from a model? Basic ideas for the machine model

16/10/2008. Today s menu. PRAM Algorithms. What do you program? What do you expect from a model? Basic ideas for the machine model Today s menu 1. What do you program? Parallel complexity and algorithms PRAM Algorithms 2. The PRAM Model Definition Metrics and notations Brent s principle A few simple algorithms & concepts» Parallel

More information

Technical Overview of OpenModelica and its Development Environment

Technical Overview of OpenModelica and its Development Environment Technical Overview of OpenModelica and its Development Environment Adrian Pop 2010-02-08 Open Source Modelica Consortium Programming Environment Laboratory Department of Computer and Information Science

More information

Improving the Practicality of Transactional Memory

Improving the Practicality of Transactional Memory Improving the Practicality of Transactional Memory Woongki Baek Electrical Engineering Stanford University Programming Multiprocessors Multiprocessor systems are now everywhere From embedded to datacenter

More information

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

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) A Siemers, I Nakhimovski, D Fritzson Linköping University, Sweden Meta-modelling of Mechanical

More information

Modeling Kernel Language (MKL)

Modeling Kernel Language (MKL) Modeling Kernel Language (MKL) A formal and extensible approach to equation-based modeling languages Guest Talk, EECS, Chess, UC Berkeley February 17, 2011 Department of Computer and Information Science

More information

Design optimisation of industrial robots using the Modelica multi-physics modeling language

Design optimisation of industrial robots using the Modelica multi-physics modeling language Design optimisation of industrial robots using the Modelica multi-physics modeling language A. Kazi, G. Merk, M. Otter, H. Fan, (ArifKazi, GuentherMerk)@kuka-roboter.de (Martin.Otter, Hui.Fan)@dlr.de KUKA

More information

Predictable Timing of Cyber-Physical Systems Future Research Challenges

Predictable Timing of Cyber-Physical Systems Future Research Challenges Predictable Timing of Cyber- Systems Future Research Challenges DREAMS Seminar, EECS, UC Berkeley January 17, 2012 David Broman EECS Department UC Berkeley, USA Department of Computer and Information Science

More information

A brief introduction to OpenMP

A brief introduction to OpenMP A brief introduction to OpenMP Alejandro Duran Barcelona Supercomputing Center Outline 1 Introduction 2 Writing OpenMP programs 3 Data-sharing attributes 4 Synchronization 5 Worksharings 6 Task parallelism

More information

The Modelica Object-Oriented Equation-Based Language and Its OpenModelica Environment with MetaModeling, Interoperability, and Parallel Execution

The Modelica Object-Oriented Equation-Based Language and Its OpenModelica Environment with MetaModeling, Interoperability, and Parallel Execution The Modelica Object-Oriented Equation-Based Language and Its OpenModelica Environment with MetaModeling, Interoperability, and Parallel Execution Peter Fritzson PELAB Programming Environments Lab, Department

More information

EE/CSCI 451: Parallel and Distributed Computation

EE/CSCI 451: Parallel and Distributed Computation EE/CSCI 451: Parallel and Distributed Computation Lecture #7 2/5/2017 Xuehai Qian Xuehai.qian@usc.edu http://alchem.usc.edu/portal/xuehaiq.html University of Southern California 1 Outline From last class

More information

Behavioral Model Composition in Simulation-Based Design

Behavioral Model Composition in Simulation-Based Design Behavioral Model Composition in Simulation-Based Design Rajarishi Sinha 1, Student Member, IEEE, Christiaan J.J. Paredis 1,2, Member, IEEE, and Pradeep K. Khosla 1,2, Fellow, IEEE 1 Institute for Complex

More information

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11 Preface xvii Acknowledgments xix CHAPTER 1 Introduction to Parallel Computing 1 1.1 Motivating Parallelism 2 1.1.1 The Computational Power Argument from Transistors to FLOPS 2 1.1.2 The Memory/Disk Speed

More information

COMP Parallel Computing. SMM (2) OpenMP Programming Model

COMP Parallel Computing. SMM (2) OpenMP Programming Model COMP 633 - Parallel Computing Lecture 7 September 12, 2017 SMM (2) OpenMP Programming Model Reading for next time look through sections 7-9 of the Open MP tutorial Topics OpenMP shared-memory parallel

More information

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

This is the published version of a paper presented at IEEE PES General Meeting 2013. http://www.diva-portal.org This is the published version of a paper presented at IEEE PES General Meeting 2013. Citation for the original published paper: Vanfretti, L., Li, W., Bogodorova, T., Panciatici,

More information

Quick Start Training Guide

Quick Start Training Guide Quick Start Training Guide Table of Contents 1 INTRODUCTION TO MAPLESIM... 5 1.1 USER INTERFACE... 5 2 WORKING WITH A SAMPLE MODEL... 7 2.1 RUNNING A SIMULATION... 7 2.2 GRAPHICAL OUTPUT... 7 2.3 3D VISUALIZATION...

More information

Physical Modelling with Simscape

Physical Modelling with Simscape Physical Modelling with Simscape Rick Hyde Control Electrical Embedded Software Mechanical 2015 The MathWorks, Inc. 1 Presentation overview Modelling physical systems Why model a physical system? Network

More information

COSC 6374 Parallel Computation. Parallel Design Patterns. Edgar Gabriel. Fall Design patterns

COSC 6374 Parallel Computation. Parallel Design Patterns. Edgar Gabriel. Fall Design patterns COSC 6374 Parallel Computation Parallel Design Patterns Fall 2014 Design patterns A design pattern is a way of reusing abstract knowledge about a problem and its solution Patterns are devices that allow

More information

Performance of computer systems

Performance of computer systems Performance of computer systems Many different factors among which: Technology Raw speed of the circuits (clock, switching time) Process technology (how many transistors on a chip) Organization What type

More information

Introduction to Physical Modelling Rory Adams Senior Application Engineer

Introduction to Physical Modelling Rory Adams Senior Application Engineer Introduction to Physical Modelling Rory Adams Senior Application Engineer 2014 The MathWorks, Inc. 1 Creating Reusable Physical Models What you should walk away with Increased knowledge of: What is meant

More information

Introduction to OpenMP. OpenMP basics OpenMP directives, clauses, and library routines

Introduction to OpenMP. OpenMP basics OpenMP directives, clauses, and library routines Introduction to OpenMP Introduction OpenMP basics OpenMP directives, clauses, and library routines What is OpenMP? What does OpenMP stands for? What does OpenMP stands for? Open specifications for Multi

More information

Computing architectures Part 2 TMA4280 Introduction to Supercomputing

Computing architectures Part 2 TMA4280 Introduction to Supercomputing Computing architectures Part 2 TMA4280 Introduction to Supercomputing NTNU, IMF January 16. 2017 1 Supercomputing What is the motivation for Supercomputing? Solve complex problems fast and accurately:

More information

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

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications SOS 2006 Preliminary Version An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications Adrian Pop 1,2 Peter Fritzson 3 Programming Environments Laboratory

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

ADMINISTRATIVE MANAGEMENT COLLEGE First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and

More information

1st Annual OpenModelica Workshop Feb 2, 2009

1st Annual OpenModelica Workshop Feb 2, 2009 1st Annual OpenModelica Workshop Feb 2, 2009 Workshop Opening OpenModelica Status and Directions 1 To All Participants! Very Welcome to this First Annual OpenModelica Workshop! 2 Goals for the OpenModelica

More information

Barbara Chapman, Gabriele Jost, Ruud van der Pas

Barbara Chapman, Gabriele Jost, Ruud van der Pas Using OpenMP Portable Shared Memory Parallel Programming Barbara Chapman, Gabriele Jost, Ruud van der Pas The MIT Press Cambridge, Massachusetts London, England c 2008 Massachusetts Institute of Technology

More information

Master Class: Diseño de Sistemas Mecatrónicos

Master Class: Diseño de Sistemas Mecatrónicos Master Class: Diseño de Sistemas Mecatrónicos Luis López 2015 The MathWorks, Inc. 1 Key Points Create intuitive models that all teams can share Requirements 1. Mechanical System Simulate system in one

More information

The Art of Parallel Processing

The Art of Parallel Processing The Art of Parallel Processing Ahmad Siavashi April 2017 The Software Crisis As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a

More information

Fall 2018 Updates. Materials and Energy Balances. Fundamental Programming Concepts. Data Structure Essentials (Available now) Circuits (Algebra)

Fall 2018 Updates. Materials and Energy Balances. Fundamental Programming Concepts. Data Structure Essentials (Available now) Circuits (Algebra) Fall 2018 Updates Materials and Energy Balances New Sections Solver and least squares fits Error and statistics Interpolation 9.9 Integration and numerical integration 9.10 Math functions 9.11 Logical

More information

The Bulk Synchronous Parallel Model (PSC 1.2) Lecture 1.2 Bulk Synchronous Parallel Model p.1

The Bulk Synchronous Parallel Model (PSC 1.2) Lecture 1.2 Bulk Synchronous Parallel Model p.1 The Bulk Synchronous Parallel Model (PSC 1.2) Lecture 1.2 Bulk Synchronous Parallel Model p.1 What is a parallel computer? switch switch switch switch PC PC PC PC PC PC PC PC A parallel computer consists

More information

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

Parallel Programming Principle and Practice. Lecture 9 Introduction to GPGPUs and CUDA Programming Model Parallel Programming Principle and Practice Lecture 9 Introduction to GPGPUs and CUDA Programming Model Outline Introduction to GPGPUs and Cuda Programming Model The Cuda Thread Hierarchy / Memory Hierarchy

More information

A Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004

A Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004 A Study of High Performance Computing and the Cray SV1 Supercomputer Michael Sullivan TJHSST Class of 2004 June 2004 0.1 Introduction A supercomputer is a device for turning compute-bound problems into

More information

Online Course Evaluation. What we will do in the last week?

Online Course Evaluation. What we will do in the last week? Online Course Evaluation Please fill in the online form The link will expire on April 30 (next Monday) So far 10 students have filled in the online form Thank you if you completed it. 1 What we will do

More information

Parallel Programming Concepts. Parallel Algorithms. Peter Tröger

Parallel Programming Concepts. Parallel Algorithms. Peter Tröger Parallel Programming Concepts Parallel Algorithms Peter Tröger Sources: Ian Foster. Designing and Building Parallel Programs. Addison-Wesley. 1995. Mattson, Timothy G.; S, Beverly A.; ers,; Massingill,

More information

CloneCloud: Elastic Execution between Mobile Device and Cloud, Chun et al.

CloneCloud: Elastic Execution between Mobile Device and Cloud, Chun et al. CloneCloud: Elastic Execution between Mobile Device and Cloud, Chun et al. Noah Apthorpe Department of Computer Science Princeton University October 14th, 2015 Noah Apthorpe CloneCloud 1/16 Motivation

More information

CS 475: Parallel Programming Introduction

CS 475: Parallel Programming Introduction CS 475: Parallel Programming Introduction Wim Bohm, Sanjay Rajopadhye Colorado State University Fall 2014 Course Organization n Let s make a tour of the course website. n Main pages Home, front page. Syllabus.

More information

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,

More information

Modeling Technical Systems [ ] Mag MA MA Schweiger Gerald TU Graz Spring 2017

Modeling Technical Systems [ ] Mag MA MA Schweiger Gerald TU Graz Spring 2017 1 Modeling Technical Systems [716.055] Mag MA MA Schweiger Gerald TU Graz Spring 2017 Outline Scope of the course Introduction Modelica Basics Introduction to Dymola Scope of the course Introduction to

More information

Parallel Computing. Slides credit: M. Quinn book (chapter 3 slides), A Grama book (chapter 3 slides)

Parallel Computing. Slides credit: M. Quinn book (chapter 3 slides), A Grama book (chapter 3 slides) Parallel Computing 2012 Slides credit: M. Quinn book (chapter 3 slides), A Grama book (chapter 3 slides) Parallel Algorithm Design Outline Computational Model Design Methodology Partitioning Communication

More information

HPX. High Performance ParalleX CCT Tech Talk Series. Hartmut Kaiser

HPX. High Performance ParalleX CCT Tech Talk Series. Hartmut Kaiser HPX High Performance CCT Tech Talk Hartmut Kaiser (hkaiser@cct.lsu.edu) 2 What s HPX? Exemplar runtime system implementation Targeting conventional architectures (Linux based SMPs and clusters) Currently,

More information

Modeling Structural - Dynamics Systems in MODELICA/Dymola, MODELICA/Mosilab and AnyLogic

Modeling Structural - Dynamics Systems in MODELICA/Dymola, MODELICA/Mosilab and AnyLogic Modeling Structural - Dynamics Systems in MODELICA/Dymola, MODELICA/Mosilab and AnyLogic Günther Zauner 1,2, Daniel Leitner 3, Felix Breitenecker 1 1 Vienna University of Technology, Wiedner Hauptstr.

More information

Parallel Computer Architecture Concepts

Parallel Computer Architecture Concepts Outline Parallel Computer Architecture Concepts TDDD93 Lecture 1 Christoph Kessler PELAB / IDA Linköping university Sweden 2017 Lecture 1: Parallel Computer Architecture Concepts Parallel computer, multiprocessor,

More information

Workloads Programmierung Paralleler und Verteilter Systeme (PPV)

Workloads Programmierung Paralleler und Verteilter Systeme (PPV) Workloads Programmierung Paralleler und Verteilter Systeme (PPV) Sommer 2015 Frank Feinbube, M.Sc., Felix Eberhardt, M.Sc., Prof. Dr. Andreas Polze Workloads 2 Hardware / software execution environment

More information

Michel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1)

Michel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1) THE ARCHITECTURE OF A HIGHLY INTEGRATED SIMULATION SYSTEM Michel Heydemann Alain Plaignaud Daniel Dure EUROPEAN SILICON STRUCTURES 72-78 Grande Rue - 92310 SEVRES - FRANCE tel : (33-1) 4626-4495 Abstract

More information

THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT HARDWARE PLATFORMS

THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT HARDWARE PLATFORMS Computer Science 14 (4) 2013 http://dx.doi.org/10.7494/csci.2013.14.4.679 Dominik Żurek Marcin Pietroń Maciej Wielgosz Kazimierz Wiatr THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT

More information

10th August Part One: Introduction to Parallel Computing

10th August Part One: Introduction to Parallel Computing Part One: Introduction to Parallel Computing 10th August 2007 Part 1 - Contents Reasons for parallel computing Goals and limitations Criteria for High Performance Computing Overview of parallel computer

More information

A Proposal for Verified Code Generation from Modelica

A Proposal for Verified Code Generation from Modelica A Proposal for Verified Code Generation from Modelica Bernhard Thiele PELAB Linköping University 04. February 2015-9th MODPROD Workshop on Model-Based Product Development 1 / 22 Goals of this presentation

More information

Scalable Multi Agent Simulation on the GPU. Avi Bleiweiss NVIDIA Corporation San Jose, 2009

Scalable Multi Agent Simulation on the GPU. Avi Bleiweiss NVIDIA Corporation San Jose, 2009 Scalable Multi Agent Simulation on the GPU Avi Bleiweiss NVIDIA Corporation San Jose, 2009 Reasoning Explicit State machine, serial Implicit Compute intensive Fits SIMT well Collision avoidance Motivation

More information

Introduction to Parallel Programming

Introduction to Parallel Programming Introduction to Parallel Programming Linda Woodard CAC 19 May 2010 Introduction to Parallel Computing on Ranger 5/18/2010 www.cac.cornell.edu 1 y What is Parallel Programming? Using more than one processor

More information

Software-Entwicklungswerkzeuge

Software-Entwicklungswerkzeuge Software-Entwicklungswerkzeuge Kapitel 41: Werkzeuge zur Simulation dynamischer Systeme Prof. Uwe Aßmann Softwaretechnologie TU Dresden Version 0.1, WS 09/10, 1/16/10 Modelica Overview by Martin Otter

More information

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectural Styles Software Architecture Lecture 5 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Object-Oriented Style Components are objects Data and associated

More information

A Test Suite for High-Performance Parallel Java

A Test Suite for High-Performance Parallel Java page 1 A Test Suite for High-Performance Parallel Java Jochem Häuser, Thorsten Ludewig, Roy D. Williams, Ralf Winkelmann, Torsten Gollnick, Sharon Brunett, Jean Muylaert presented at 5th National Symposium

More information

Software-Entwicklungswerkzeuge. Modelica Overview. Contents. 1. Modelica Introduction. 2. Modelica Users View. 3. Modelica Libraries

Software-Entwicklungswerkzeuge. Modelica Overview. Contents. 1. Modelica Introduction. 2. Modelica Users View. 3. Modelica Libraries Software-Entwicklungswerkzeuge Kapitel 41: Werkzeuge zur Simulation dynamischer Systeme Prof. Uwe Aßmann Softwaretechnologie TU Dresden Version 0.1, WS 09/10, 1/16/10 Modelica Overview by Martin Otter

More information

Parallel DBMS. Parallel Database Systems. PDBS vs Distributed DBS. Types of Parallelism. Goals and Metrics Speedup. Types of Parallelism

Parallel DBMS. Parallel Database Systems. PDBS vs Distributed DBS. Types of Parallelism. Goals and Metrics Speedup. Types of Parallelism Parallel DBMS Parallel Database Systems CS5225 Parallel DB 1 Uniprocessor technology has reached its limit Difficult to build machines powerful enough to meet the CPU and I/O demands of DBMS serving large

More information

High Performance Computing on GPUs using NVIDIA CUDA

High Performance Computing on GPUs using NVIDIA CUDA High Performance Computing on GPUs using NVIDIA CUDA Slides include some material from GPGPU tutorial at SIGGRAPH2007: http://www.gpgpu.org/s2007 1 Outline Motivation Stream programming Simplified HW and

More information

Parallel Computing Introduction

Parallel Computing Introduction Parallel Computing Introduction Bedřich Beneš, Ph.D. Associate Professor Department of Computer Graphics Purdue University von Neumann computer architecture CPU Hard disk Network Bus Memory GPU I/O devices

More information

Outline Marquette University

Outline Marquette University COEN-4710 Computer Hardware Lecture 1 Computer Abstractions and Technology (Ch.1) Cristinel Ababei Department of Electrical and Computer Engineering Credits: Slides adapted primarily from presentations

More information

What is a parallel computer?

What is a parallel computer? 7.5 credit points Power 2 CPU L 2 $ IBM SP-2 node Instructor: Sally A. McKee General interconnection network formed from 8-port switches Memory bus Memory 4-way interleaved controller DRAM MicroChannel

More information

OpenMP Algoritmi e Calcolo Parallelo. Daniele Loiacono

OpenMP Algoritmi e Calcolo Parallelo. Daniele Loiacono OpenMP Algoritmi e Calcolo Parallelo References Useful references Using OpenMP: Portable Shared Memory Parallel Programming, Barbara Chapman, Gabriele Jost and Ruud van der Pas OpenMP.org http://openmp.org/

More information

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

SMP and ccnuma Multiprocessor Systems. Sharing of Resources in Parallel and Distributed Computing Systems Reference Papers on SMP/NUMA Systems: EE 657, Lecture 5 September 14, 2007 SMP and ccnuma Multiprocessor Systems Professor Kai Hwang USC Internet and Grid Computing Laboratory Email: kaihwang@usc.edu [1]

More information

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems V Brazilian Symposium on Computing Systems Engineering Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems Alessandro Trindade, Hussama Ismail, and Lucas Cordeiro Foz

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

Parallel Computing. Hwansoo Han (SKKU)

Parallel Computing. Hwansoo Han (SKKU) Parallel Computing Hwansoo Han (SKKU) Unicore Limitations Performance scaling stopped due to Power consumption Wire delay DRAM latency Limitation in ILP 10000 SPEC CINT2000 2 cores/chip Xeon 3.0GHz Core2duo

More information

CDA3101 Recitation Section 13

CDA3101 Recitation Section 13 CDA3101 Recitation Section 13 Storage + Bus + Multicore and some exam tips Hard Disks Traditional disk performance is limited by the moving parts. Some disk terms Disk Performance Platters - the surfaces

More information

EE382N (20): Computer Architecture - Parallelism and Locality Lecture 13 Parallelism in Software IV

EE382N (20): Computer Architecture - Parallelism and Locality Lecture 13 Parallelism in Software IV EE382 (20): Computer Architecture - Parallelism and Locality Lecture 13 Parallelism in Software IV Mattan Erez The University of Texas at Austin EE382: Parallelilsm and Locality (c) Rodric Rabbah, Mattan

More information