{kajny, GridModelica: Modeling and Simulating on the Grid Håkan Mattsson, Christoph W. Kessler, Kaj Nyström, Peter Fritzson Programming.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Peter Aronsson Automatic Parallelization of Simulation Code from Equation Based Simulation Languages Peter Aronsson, Industrial phd student, PELAB SaS.
Overview Motivations Basic static and dynamic optimization methods ADAPT Dynamo.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster.
Distributed Processing, Client/Server, and Clusters
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
Reference: Message Passing Fundamentals.
ECE669 L4: Parallel Applications February 10, 2004 ECE 669 Parallel Computer Architecture Lecture 4 Parallel Applications.
ECE669 L5: Grid Computations February 12, 2004 ECE 669 Parallel Computer Architecture Lecture 5 Grid Computations.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
An framework for model-driven product design and development using Modelica Adrian Pop, Olof Johansson, Peter Fritzson Programming Environments Laboratory.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Parallel Programming Models and Paradigms
GridModelica High Level Modeling on the Grid Kaj Nyström Dept. of Computer and Information Science, Linköping University MathCore Engineering.
Efficient Parallelization for AMR MHD Multiphysics Calculations Implementation in AstroBEAR.
GHS: A Performance Prediction and Task Scheduling System for Grid Computing Xian-He Sun Department of Computer Science Illinois Institute of Technology.
P.Krusche / A. Tiskin - Efficient LLCS Computation using Bulk-Synchronous Parallelism Efficient Longest Common Subsequence Computation using Bulk-Synchronous.
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
PMIT-6102 Advanced Database Systems
Designing and Evaluating Parallel Programs Anda Iamnitchi Federated Distributed Systems Fall 2006 Textbook (on line): Designing and Building Parallel Programs.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Institute for Mathematical Modeling RAS 1 Dynamic load balancing. Overview. Simulation of combustion problems using multiprocessor computer systems For.
Tools and Utilities for parallel and serial codes in ENEA-GRID environment CRESCO Project: Salvatore Raia SubProject I.2 C.R. ENEA-Portici. 11/12/2007.
Bulk Synchronous Parallel Processing Model Jamie Perkins.
Research, Development, Consulting, Training High Fidelity Modeling and Simulation Where we are going… …future plans.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
Performance Model & Tools Summary Hung-Hsun Su UPC Group, HCS lab 2/5/2004.
Rio de Janeiro, October, 2005 SBAC Portable Checkpointing for BSP Applications on Grid Environments Raphael Y. de Camargo Fabio Kon Alfredo Goldman.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
1 Distributed Energy-Efficient Scheduling for Data-Intensive Applications with Deadline Constraints on Data Grids Cong Liu and Xiao Qin Auburn University.
Definitions Speed-up Efficiency Cost Diameter Dilation Deadlock Embedding Scalability Big Oh notation Latency Hiding Termination problem Bernstein’s conditions.
Bulk Synchronous Processing (BSP) Model Course: CSC 8350 Instructor: Dr. Sushil Prasad Presented by: Chris Moultrie.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
CUDA - 2.
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
Memory Hierarchy Adaptivity An Architectural Perspective Alex Veidenbaum AMRM Project sponsored by DARPA/ITO.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Domain Decomposition in High-Level Parallelizaton of PDE codes Xing Cai University of Oslo.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
International Symposium on Grid Computing (ISGC-07), Taipei - March 26-29, 2007 Of 16 1 A Novel Grid Resource Broker Cum Meta Scheduler - Asvija B System.
Using Charm++ to Mask Latency in Grid Computing Applications Gregory A. Koenig Parallel Programming Laboratory Department.
A Functional Language for Departmental Metacomputing Frederic Gava & Frederic Loulergue Universite Paris Val de Marne Laboratory of Algorithms, Complexity.
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
I MAGIS is a joint project of CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG Efficient Parallel Refinement for Hierarchical Radiosity on a DSM computer.
Design-Directed Programming Martin Rinard Daniel Jackson MIT Laboratory for Computer Science.
A Pattern Language for Parallel Programming Beverly Sanders University of Florida.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
University of Texas at Arlington Scheduling and Load Balancing on the NASA Information Power Grid Sajal K. Das, Shailendra Kumar, Manish Arora Department.
Background Computer System Architectures Computer System Software.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Hybrid BDD and All-SAT Method for Model Checking
Xing Cai University of Oslo
Guoliang Chen Parallel Computing Guoliang Chen
Course Outline Introduction in algorithms and applications
Parallelization of An Example Program
CS 584.
Parallel Programming in C with MPI and OpenMP
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Presentation transcript:

{kajny, GridModelica: Modeling and Simulating on the Grid Håkan Mattsson, Christoph W. Kessler, Kaj Nyström, Peter Fritzson Programming Environments Laboratory PELAB Department of Computer and Information Science Linköping University Sweden

{kajny, Modeling on Linux Clusters Widely used for large models Requires expertise in parallel programming Excellent for run-many-times simulations, not so good for run-once simulations

{kajny, GridModelica Structured modeling on clusters Does not require parallel programming expertise Domain agnostic (multidomain works too!) Graphical programming, close to physical prototyping The magic is done behind the scenes

{kajny, High Level Modeling: Modelica Graphical or textual Acausal General Fast Easy to use Object oriented

{kajny, More on Modelica Graphical representation corresponds 1:1 to textual representation model dcmotor Import Modelica.Electrical.Analog.Basic; Resistor r1(R=10); Inductor i1; EMF emf1; Modelica.Mechanics.Rotational.Inertia load; Ground g; Modelica.Electrical.Analog.Sources.ConstantVoltage v; equation connect(v.p, r1.p); connect(v.n, g.p); connect(r1.n, i1.p); connect(i1.n, emf1.p); connect(emf1.n, g.p); connect(emf1.flange_b, load.flange_a); end dcmotor;

{kajny, Problems 1. Partition the model 2. Structured communication (Håkan Mattsson)

{kajny, Partitioning a model Some observations It is all about solving large systems of equations Parallel solvers exist but can not always be applied (stability issues) and do not always improve speed.

{kajny, Transmission Line Modeling [1] All propagation in a model (waves, force, current etc) is done with a certain delay. Use this delay to send data less frequently. 1. [Johns 1972]

{kajny, Transmission Line Modeling Reuse values Different solvers (and settings) for different parts of a system Communication in bulk The error introduced is well defined and generally very small.

{kajny, Transmission Line Modeling

{kajny, Transmission Line Modeling

{kajny, GridNestStep For grid applications with a non-trivial structure of parallelism, generation of efficient, scalable code is an unsolved problem Goal – to provide an ”easy-to-use” programming environment by introducing a programming language, GridNestStep, that supports –development of applications exploiting less trivial kinds of parallelism –a virtual shared memory view of a grid system

{kajny, GridNestStep –follows the Bulk Synchronous Parallel (BSP) model of computation –will be based on NestStep BSP –cost model for parallel programs –Single Program, Multiple Data execution style, (SPMD) –organizes program in supersteps consisting of 1 – computation 2 – communication

{kajny, NestStep NestStep [Kessler, 2000] –parallel programming language for the BSP model –language extensions for Java / C / C++ Extends BSP by –static and dynamic nesting of supersteps –synchronization of processor subsets (groups) –software emulation of virtual shared memory step { statements statements } } = group id

{kajny, NestStep Variables, arrays and objects are –private to a processor or –shared between a group of processors Modes of sharing: –replicated, local copy on each processor in a group –distributed, an array partitioned between processors in a group NestStep superstep invariants: –superstep synchronicity, all processors of the same group work on same superstep –superstep consistency: entry to a (nest)step statement  equal values for local copies of shared variables

{kajny, NestStep Communication in processor groups organized as trees Superstep consistency maintained by a combine phase at the end of each superstep –upwards combine –downwards commit

{kajny, GridNestStep

{kajny, GridNestStep Some (known) problems to be solved: –superstep analysis and partitioning into workpackages: - how to monitor load and - perform load balancing accordingly –latency –failing grid nodes –code distribution

{kajny, Current status Parameter sweep tool for Modelica works fine (Modelica runs on the grid!) Partial test implementation for TLM in Modelica exists Only very simple examples works for now Partitioning only by hand and only in textual model (no drag’n drop tool support yet) NestStep runs on a single cluster

{kajny, Generalize the partitioning method to all physical domains Automatic partitioning at domain boundaries and natural subsystem borders Automatic solver and step size selection Better scheduling Co-simulation integration (with SKF) Continue with multi-cluster support and transition to SweGrid NestStep front end Future Work

{kajny, Questions?