GridModelica High Level Modeling on the Grid Kaj Nyström Dept. of Computer and Information Science, Linköping University MathCore Engineering.

Slides:



Advertisements
Similar presentations
CPSCG: Constructive Platform for Specialized Computing Grid Institute of High Performance Computing Department of Computer Science Tsinghua University.
Advertisements

Kensington Oracle Edition: Open Discovery Workflow Meets Oracle 10g Professor Yike Guo.
Digital Fountains: Applications and Related Issues Michael Mitzenmacher.
1 Optimizing compilers Managing Cache Bercovici Sivan.
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
ECE-777 System Level Design and Automation Hardware/Software Co-design
1 Using Octave to Introduce Programming to Technical Science Students Nuno C. Marques Francisco Azevedo CENTRIA, DI-
Peter Aronsson Automatic Parallelization of Simulation Code from Equation Based Simulation Languages Peter Aronsson, Industrial phd student, PELAB SaS.
Attention as a Performance Measure for Control System Design Congratulations Marc Q. Jacobs April 27, 2002 Roger Brockett Engineering and Applied Sciences.
HPC - High Performance Productivity Computing and Future Computational Systems: A Research Engineer’s Perspective Dr. Robert C. Singleterry Jr. NASA Langley.
Parallel Computation of the 2D Laminar Axisymmetric Coflow Nonpremixed Flames Qingan Andy Zhang PhD Candidate Department of Mechanical and Industrial Engineering.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
ProActive Task Manager Component for SEGL Parameter Sweeping Natalia Currle-Linde and Wasseim Alzouabi High Performance Computing Center Stuttgart (HLRS),
March 18, 2008SSE Meeting 1 Mary Hall Dept. of Computer Science and Information Sciences Institute Multicore Chips and Parallel Programming.
Reference: Message Passing Fundamentals.
{kajny, GridModelica: Modeling and Simulating on the Grid Håkan Mattsson, Christoph W. Kessler, Kaj Nyström, Peter Fritzson Programming.
Overview of Programming Paradigms
Telescoping Languages: A Compiler Strategy for Implementation of High-Level Domain-Specific Programming Systems Ken Kennedy Rice University.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
1 Compiling with multicore Jeehyung Lee Spring 2009.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space Cracow Grid Workshop’10 Kraków, October 11-13,
A.V. Bogdanov Private cloud vs personal supercomputer.
G RID R ESOURCE BROKER FOR SCHEDULING COMPONENT - BASED APPLICATIONS ON DISTRIBUTED RESOURCES Reporter : Yi-Wei Wu.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
WEB ENGINEERING LECTURE 4 BY Kiramat Rahman. outline  In this Lecture you will learn about:  Term “Software” and its relationship with “Hardware” 
Design-Making Projects Work (Chapter7) n Large Projects u Design often distinct from analysis or coding u Project takes weeks, months or years to create.
University of Toronto Department of Computer Science CSC444 Lec05- 1 Lecture 5: Decomposition and Abstraction Decomposition When to decompose Identifying.
UNIT - 1Topic - 3. Computer software is a program that tells a computer what to do. Computer software, or just software, is any set of machine-readable.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Integrating HPC into the ATLAS Distributed Computing environment Doug Benjamin Duke University.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
07/06/11 New Features of WS-PGRADE (and gUSE) 2010 Q Q2 Miklós Kozlovszky MTA SZTAKI LPDS.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
E-science grid facility for Europe and Latin America E2GRIS1 Gustavo Miranda Teixeira Ricardo Silva Campos Laboratório de Fisiologia Computacional.
SEE-GRID-SCI The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research Infrastructures contract no.
Algorithm and Programming Considerations for Embedded Reconfigurable Computers Russell Duren, Associate Professor Engineering And Computer Science Baylor.
Learners Support Publications Object Oriented Programming.
1 HPC Middleware on GRID … as a material for discussion of WG5 GeoFEM/RIST August 2nd, 2001, ACES/GEM at MHPCC Kihei, Maui, Hawaii.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Watching the movie the hard way…. Page 256 – Head First Design Patterns.
The article collection PRIS F7 Fredrik Kilander. Content “On agent-based software engineering” Nick Jennings, 1999 “An agent-based approach for building.
CS223: Software Engineering Lecture 15: Software construction.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
Solving equations with variable on both sides Part 1.
Background Computer System Architectures Computer System Software.
PYTHON FOR HIGH PERFORMANCE COMPUTING. OUTLINE  Compiling for performance  Native ways for performance  Generator  Examples.
1 Programming and problem solving in C, Maxima, and Excel.
Processor Level Parallelism 1
Sub-fields of computer science. Sub-fields of computer science.
Review of last class Software Engineering Modeling Problem Solving
Xing Cai University of Oslo
Web: Parallel Computing Rabie A. Ramadan , PhD Web:
Design Pattern: Facade
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Numerical Approximation
Objective of This Course
GENERAL VIEW OF KRATOS MULTIPHYSICS
Overview of big data tools
Introduction to Object-Oriented Programming
Presented By: Darlene Banta
Algorithms Presented By:- Mr. Anup Ashok Shinde BBA (C.A) Dept.
Presentation transcript:

GridModelica High Level Modeling on the Grid Kaj Nyström Dept. of Computer and Information Science, Linköping University MathCore Engineering AB

Modeling – The way of doing things Modeling (like talk) is cheap, considering the alternatives Modeling is almost always possible Modeling gives extensive data even where physical measuring might not always be possible, or is too expensive. Modeling is fast, especially on large systems Limiting factors: Model complexity Computational power

Modeling – The way of doing things(2) Factors limiting usage of modeling Conservative engineers Domain knowledge Model complexity Computational power

Modeling – Dealing with complexity Traditionally high performance models have been written in C or Fortran. The Modelica language provides an object oriented approach to modeling. Main benefits from our point of view: Acausal: No need to do the mathematical dirtywork yourself anymore. Connection oriented: Well defined interface between all components (very useful for parallelization). Reusable: Extensive object libraries exists.

Modeling – Dealing with complexity(2) Example: The DC-motor

Modeling – Dealing with complexity(3) Example: The DC-motor, modelica source code model dcmotor Modelica.Electrical.Analog.Basic.Resistor Resistor1; Modelica.Electrical.Analog.Basic.Ground Ground1; Modelica.Electrical.Analog.Basic.Inductor Inductor1; Modelica.Electrical.Analog.Basic.EMF EMF1; Modelica.Electrical.Analog.Sources.ConstantVoltage ConstantVoltage1; Modelica.Electrical.Analog.Basic.Resistor Resistor2(R=10); equation connect(Resistor1.p, ConstantVoltage1.p) ; connect(Resistor1.n, Inductor1.p); connect(Inductor1.n, EMF1.p); connect(ConstantVoltage1.n, Ground1.p); connect(EMF1.n, Ground1.p); connect(EMF1.flange_b, Inertia1.flange_a); connect(Resistor2.p, Resistor1.p); connect(Resistor2.n, Resistor1.n); end dcmotor;

Modeling – Dealing with complexity(4) Another example: A robot, including visualization

Problem 2: Computational Power The Grid is the solution (?) – Computational power for the masses. Nordugrid middleware Resources: Nordugrid and our own cluster This provides the computational power we need but it also just brings us to the next (big) problem:

Problem no 2: Computational Power The Grid is the solution (?) – Computational power for the masses. Nordugrid middleware Resources: Nordugrid and our own cluster This provides the computational power we need but it just brings us to the next (big) problem: Partitioning!

An example: a+b+c+d=10 a+b+c=2 c-d=-2 a+b-d=4 How would you solve this system? Partitioning models on the Grid

The grid has special features/misfeatures: Latency, latency, latency, latency… Heterogenity Close to infinite resources Unpredictability Unreliability Partitioning models on the Grid (2)

We attack the problem on different levels High level partitioning - New Modelica constructs to enable parallelism. Medium level partitioning - Shared level memory model (GridNestStep). Low level partitioning – Parallelizing the generated C-code. Partitining the models

Partitioning at Modelica model level Done by adding partitioning constructs to the language and modification of the Modelica compiler. Considered methods are: Weak Operators/Variables (Francesco Casella) Transmission Line Modeling method (Christos Christopoulos) Modelica specific ideas High Level Partitioning

High Level Partitioning (2) The weak variables method 1. Partition the model into physical domains 2. Identify boundary variables 3. Treat these variables as parameters on both sides of boundary. 4. Use fast fixed step solvers but with different step- size for both subsystems

The transmission line modeling method 1. Partition the model fast and slow subsystems 2. Insert delaying TLM-element between subsystems 3. Calculate approximate loss in precision and compensate if possible High Level Partitioning (3)

Grid level parallelization with GridNestStep Shared memory model for the grid Specific adaption for the grid is neccesary, maximize time between syncs is absolutely vital. Medium Level Partitioning

Primarily by task merging and common parallelization techniques in parallel solvers Task merging: Partition code very fine grained Achive parallelism by a sequence of duplicating tasks and merging very small jobs, depending on computational and communication cost. This can be done adaptively for large jobs Low Level Partitioning

Parallelizing solving of large equation systems is hard. Latency is our worst enemy Different variants of speculative execution might be our best friends The grid might be a hype, but it is a useful hype. Wrap up

Thank you for your attention Questions?