The P-Calculus Supratik Mukhopadhyay PEMWS-2 April 6 th 2011.

Slides:



Advertisements
Similar presentations
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Programming in Occam-pi: A Tutorial By: Zain-ul-Abdin
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Models of Concurrency Manna, Pnueli.
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
Architecture Representation
Formal Semantics of Programming Languages 虞慧群 Topic 6: Advanced Issues.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
Software Requirements Engineering
1 FLACOS Malta October 2008 Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin Theory of Programming.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Overview of OASIS SOA Reference Architecture Foundation (SOA-RAF)
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
A denotational framework for comparing models of computation Daniele Gasperini.
Business Process Orchestration
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
ECE669 L5: Grid Computations February 12, 2004 ECE 669 Parallel Computer Architecture Lecture 5 Grid Computations.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Models of Computation for Embedded System Design Alvise Bonivento.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
OpenCL Introduction A TECHNICAL REVIEW LU OCT
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
POAD Distributed System Case Study: A Medical Informatics System Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Web Services Glossary Summary of Holger Lausen
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
An Introduction to Petri Nets Marjan Sirjani Formal Methods Laboratory University of Tehran.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa,
Denis Caromel1 Troisieme partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Group-oriented Modelling Tools with Heterogeneous Semantics Niels Pinkwart COLLIDE Research Group University of Duisburg, Germany.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Programmability Hiroshi Nakashima Thomas Sterling.
A Functional Language for Departmental Metacomputing Frederic Gava & Frederic Loulergue Universite Paris Val de Marne Laboratory of Algorithms, Complexity.
An Overview of Scientific Workflows: Domains & Applications Laboratoire Lorrain de Recherche en Informatique et ses Applications Presented by Khaled Gaaloul.
Secure Composition of Untrusted Code: Wrappers and Causality Types Kyle Taylor.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Brief Introduction to Software Connectors Software Architecture.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Models of the OASIS SOA Reference Architecture Foundation Ken Laskey Chair, SOA Reference Model Technical Committee 20 March 2013.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
ASYNCHRONOUS AND DETERMINISTIC OBJECTS ASP: Asynchronous Sequential Processes l Distributed objects l Asynchronous method calls l Futures and Wait-by-necessity.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Object-Oriented Analysis and Design
2. Specification and Modeling
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
Concurrency Specification
Model Checking for an Executable Subset of UML
Defining A Formal Semantics For The Rosetta Specification Language
Model Transformation with the Ptera Controller
The George Washington University
Presentation transcript:

The P-Calculus Supratik Mukhopadhyay PEMWS-2 April 6 th 2011

Introduction & Motivation Next generation data-intensive exascale computing architectures will have significantly different execution models: –Instead of data moving to work, work should move to data –Execution should be message-driven –Need to expose different granularities of parallelism: determinism, non-determinism, dataflow, globally asynchronous locally synchronous (GALS) semantics, … –Security & Reliability –Fault-tolerance

Motivation (Contd.) Communicating Sequential Processes (CSP: Hoare 1978) served as the foundation for MPI Limitations of CSP limit existing models with respect to expressiveness in terms of fine granularities of parallelism, fault-tolerance, security, localities, hierarchical partitioning of address spaces, … Next generation ubiquitous high performance computing needs new execution models What is the CSP for next generation exascale computing? –Abstract formal specification of parallel execution

Existing Specification Formalisms Petri Nets -calculus, CSP, CCS, Pi Calculus, Ambient Calculus, Actors, Kahn Process Networks, … –Do not support globally asynchronous locally synchronous semantics –Not message driven –Cannot expose different granularities of parallelism (deterministic/dataflow, nondeterministic, fine-grained, coarse-grained) –Does not support work moving to data

The P-calculus: A Specifcation Formalism for Exascale Computation Nominal process calculus as a formal execution model for future-generation exascale computation –Has formal operational semantics involving interactions of external and internal actions Allows answering questions about the execution models unambigously Allows (automatic) checking for inconsistencies and incompleteness in the execution model Allows checking (automatically) whether a claimed implementation of an execution model such as ParalleX or Codelets really implements it

The P-calculus (contd.) Uniform representation of synchronous and asynchronous semantics Has an equational theory that allows comparison of different implementations of an execution model Equipped with a type system (the first order P-calculus) for correctness, security, …

The Untyped P-calculus Chromosomes: Primitive computing elements in the P-calculus –Internal Actions –External Actions Chromatins Regulators Boards Nucleus

Chromosomes Chromosomes are the most basic kind of computational entity defined in the P- Calculus. Their role is to execute fundamental computations.

Chromosomes (Contd.) Chromosomes may also declare methods: –The set of declared methods is partitioned into private and public methods. Formal Parameters

Internal Actions A chromosome may perform either an internal or external action.

Chromatins Chromosomes are only capable of performing sequential computations. A Chromatin is defined as a group of coexisting chromosomes organized together by parallel composition.

Regulators Aside from being executed computations need to be managed. Managing computations involves: –Controlling and synchronizing data access –Moving work to data y

Regulators – Guarded Commands Each regulator is denoted by a deterministic state machine that is defined by a set of guarded commands. Each guard is denoted by an event which triggers an action. At most one of the guards can be triggered by an event

Regulators – Event Language Each event can be an atomic event (extending Parnas). Or an event could also be a complex event. An action (for now) is the creation of a chromosome.

Board Regulators can coexist may be composed A “parallel” composition of regulators is known as a @F(z)

Nucleus We can perform computations (via chromatins and chromosomes) We can manage computations (via boards and regulators). A nucleus is a composition of coexisting chromatins and @F(z) Nucleus

Activity Space Computations need a context i.e. a place in which they take place. An Activity Space is the context in which a cooperating and coexisting chromatin and a board interacts (i.e., a nucleus exists).

AS1 Example – Activity Spaces and Nuclei let z = …. > let x = ….let y = @F(z)

System A System is a composition of Activity Spaces Multilevel hierarchy

External Actions Boards and chromatins were capable of performing and coordinating/managing internal computations. External actions coordinate computations across Activity Spaces.

Example – External Actions AS1 let z = …. > let x = ….let y = @F(z) > (foo) AS3 In AS3 out AS1.in AS2

Operational Semantics – Visual let x = getInput() let y = sort(x)^f(sort,cont) >^cont’^^ ’ (y^cont) let z = shuffle(y) >^cont^^ ’’ ’

Example – Operational Semantics

Example (Cont’d)

Future Work First Order P-calculus Confluence Properties Tool Building Query Languages

Questions?