Parallel Distributed Programming Introduction.

Slides:



Advertisements
Similar presentations
Distributed Snapshots: Determining Global States of Distributed Systems - K. Mani Chandy and Leslie Lamport.
Advertisements

Impossibility of Distributed Consensus with One Faulty Process
Global States in a Distributed System By John Kor and Yvonne Cheng.
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Uncoordinated Checkpointing The Global State Recording Algorithm.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Parallel Programming Motivation and terminology – from ACM/IEEE 2013 curricula.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
OSU CIS Lazy Snapshots Nigamanth Sridhar and Paul A.G. Sivilotti Computer and Information Science The Ohio State University
1 Principles of Reliable Distributed Systems Lecture 6: Synchronous Uniform Consensus Spring 2005 Dr. Idit Keidar.
Reference: Message Passing Fundamentals.
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
CPSC 668Set 1: Introduction1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Ordering and Consistent Cuts Presented By Biswanath Panda.
1 Principles of Reliable Distributed Systems Lecture 3: Synchronous Uniform Consensus Spring 2006 Dr. Idit Keidar.
Asynchronous Consensus (Some Slides borrowed from ppt on Web.(by Ken Birman) )
Distributed Systems Fall 2009 The assignment Fall 20095DV0203 Introduction GCom – group communication middleware Apply concepts from theory –Group handling.
CS603 Advanced Topics in Distributed Systems MWF 13:30-14:30 RHPH 162 Professor Chris Clifton.
CS533 - Concepts of Operating Systems
Gradient Methods Yaron Lipman May Preview Background Steepest Descent Conjugate Gradient.
Cloud Computing Concepts
Distributed Systems Tutorial 4 – Solving Consensus using Chandra-Toueg’s unreliable failure detector: A general Quorum-Based Approach.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Project Proposal (Title + Abstract) Due Wednesday, September 4, 2013.
Advances in Language Design
What is Concurrent Programming? Maram Bani Younes.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
SBSE Course 4. Overview: Design Translate requirements into a representation of software Focuses on –Data structures –Architecture –Interfaces –Algorithmic.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
The Program Development Cycle
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
AN EXTENDED OPENMP TARGETING ON THE HYBRID ARCHITECTURE OF SMP-CLUSTER Author : Y. Zhao 、 C. Hu 、 S. Wang 、 S. Zhang Source : Proceedings of the 2nd IASTED.
Consensus and Its Impossibility in Asynchronous Systems.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 1: Introduction 1.
MATRIX MULTIPLY WITH DRYAD B649 Course Project Introduction.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
“Virtual Time and Global States of Distributed Systems”
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Memory Consistency Models. Outline Review of multi-threaded program execution on uniprocessor Need for memory consistency models Sequential consistency.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
ICFEM 2002, Shanghai Reasoning about Hardware and Software Memory Models Abhik Roychoudhury School of Computing National University of Singapore.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
Joint Moments and Joint Characteristic Functions.
Failure Detectors n motivation n failure detector properties n failure detector classes u detector reduction u equivalence between classes n consensus.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
1 Chapter 11 Global Properties (Distributed Termination)
Agenda  Quick Review  Finish Introduction  Java Threads.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
1 Fault Tolerance and Recovery Mostly taken from
Chapter 4 – Thread Concepts
Parallel Programming By J. H. Wang May 2, 2017.
Chapter 4 – Thread Concepts
CS60002: Distributed Systems
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
COMP60621 Fundamentals of Parallel and Distributed Systems
Abstraction.
COMP60611 Fundamentals of Parallel and Distributed Systems
Presentation transcript:

Parallel Distributed Programming Introduction

Course Plan (1)  Introduction to parallel problem solving programming models standard APIs  A model of parallel/distributed computation state transition system  Proving correctness of parallel/distributed algorithms Proof by hand Proof by tools (model checker)

Course Plan (2)  Calculating global state of distributed computation consistent snapshot, checkpointing  Shared memory consistency models sequential/relaxed consistency emulating shared memory  Fault tolerance impossibility of consensus in asynchronous message passing

Parallel Programming Models  Message passing, shared memory, multithreading, object-oriented, etc. Different in what are done by the system and what are left to programmers Communication, task mapping, memory management, etc.  Popular libraries MPI, Pthreads, OpenMP, Java, PVM

Very Very Brief Introductions to Important Concepts

Model of Computation  To rigorously discuss correctness/incorrectness of a program, a formal model is necessary  A formal model is a state transition graph A program describes all possible state transitions of an individual process The entire system is a composition of many such processes and thus modeled by a large state transition graph

; ; -----; Compose N processes + communication channels State transition of a process State transition of the system local state global state

Proving the Correctness  Proving the correctness of a program boils down to proving some desired properties of the state transition graph derived from the program  E.g., Do all state satisfy X + Y  1? Does the program always terminate?

Model Checking Tools  State transition graph is usually large, but it is in theory possible to mechanize proofs of many properties as long as the graph is finite  Model checkers are tools based on this idea, with many ideas to deal with large graphs

Calculating Global State  Capturing global state of a distributed computation is not easy  Many algorithms need calculate/detect a property of the global state termination deadlock etc.  There is a general algorithm to calculate global state of a computation  Moreover, it is a general method for fault tolerance by rollback

Sequential Consistency  Sequential consistency (SC) is a formal definition of what one usually calls “shared memory”  Again, a formal model is required to reason about the correctness of programs  Moreover, it is required to discuss whether a protocol implementing shared memory actually guarantees SC

Relaxed Consistency  SC turns out costly to implement many communication optimizations break SC  Modern multiprocessors thus do not guarantee SC, but instead some of relaxed consistency models

Software Shared Memory  A memory is said “shared” as long as it behaves according to a shared memory consistency model (SC or not)  It is therefore possible to implement shared memory in software

Fault Tolerance  There are many types of faults (crash, Byzantine, etc.), which are modeled differently  In pure asynchronous models, many simple problems turn out impossible

 1/15 ふじた はやつ  10/18 加藤 ( 数理 ), …  11/29 吉本 ( 電子情報 ) ,吉田  12/6 初田, 豊島  10/25 今竹,堀田  11/22 林