A Universal Calculus for Stream Processing Languages
|
|
- Tracey Banks
- 5 years ago
- Views:
Transcription
1 1 A Universal Calculus for Stream Processing Languages Robert Soulé, Martin Hirzel, Robert Grimm, Buğra Gedik, Henrique Andrade, Vibhore Kumar, and Kun-Lung Wu New York University and IBM Research
2 2 Stream Processing Is Everywhere Move large amounts of data through several computational steps
3 3 Stream Processing Has Many Flavors StreamIt: synchronous CQL: SQL + streams processing Sawzall: functional data processing in the large
4 4 Stream Processing Has Many Implementations StreamIt: synchronous CQL: SQL + streams processing Sawzall: functional data processing in the large
5 5 Variety Breeds Confusion We want to understand and compare streaming languages What is their expressiveness? How to optimize the data processing steps? How to scale the overall applications? Especially across clusters? Enter our universal calculus: Brooklet Formal foundation for answering the above questions Provably correct optimizations and translations
6 6 Outline of This Talk Motivation Requirements The Brooklet Core Calculus Generality: Translating StreamIt, CQL, and Sawzall to Brooklet Utility: Optimizing Brooklet to Brooklet Outlook and Conclusions
7 7 Elements of a Streaming App State Queue Operator Queue
8 Elements of a Streaming App 8
9 9 Elements of a Streaming App Not all operators have state
10 10 Elements of a Streaming App Operators may share state
11 11 Requirements for Calculus Make trigger Make nondeterministic nondeterministic Make explicit Treat functions as opaque Make explicit and 1-to-1
12 12 Brooklet Syntax $total trades volume Sum (volume, $total) Sum(trades, $total)
13 13 Function Environment $total trades volume Sum Sum F: The function implementations
14 14 Queue Store $total trades trades Sum volume volume Q: The contents of the queues
15 15 Variable Store $total trades volume Sum V: The contents of the variables
16 16 Brooklet Operational Semantics $total trades volume Sum F <Q, V> <Q, V >
17 17 Complete Calculus Brooklet syntax: P b ::= out in op Brooklet program out ::= output q ; Output declaration in ::= input q ; Input declaration op ::= ( q, v ) f ( q, v ); Operator q ::= id Queue identifier v ::= $ id Variable identifier f ::= id Function identifier Brooklet example: IBM market maker. output result; input bids, asks; (ibmbids) SelectIBM(bids); (ibmasks) SelectIBM(asks); ($lastask) Window(ibmAsks); (ibmsales) SaleJoin(ibmBids,$lastAsk); (result,$cnt) Count(ibmSales,$cnt); Brooklet semantics: F b V, Q V,Q d, b = Q(q i ) op = (_, _) f(q, v); (b, d )=F b (f)(d, i, V (v)) V = updatev (op,v,d ) Q = updateq(op, Q, q i, b ) F b V, Q V,Q (E-FireQueue) op = (_, v) f(_, _); updatev (op, V, d) =[v d]v op = (q, _) f(_, _); d f,b f = Q(q f ) Q =[q f b f ]Q Q =[ q i q : q i Q(q i ),b i ]Q updateq(op, Q, q f, b) =Q (E-UpdateV) (E-UpdateQ)
18 18 Example: A Fannie Mae Bid/Ask Join $lastask $total asks SaleJoin trades Sum volume bids $lastbid
19 19 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 1> <FNM,1, 2> $lastbid $lastbid = <FNM,0,0>
20 20 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 1> <FNM,1, 2> $lastbid $lastbid = <FNM,0,0>
21 21 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>
22 22 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>
23 23 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>
24 24 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks SaleJoin trades Sum volume bids <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>
25 25 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks SaleJoin trades Sum volume bids <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>
26 26 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks SaleJoin trades Sum volume bids <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>
27 27 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks bids SaleJoin <FNM,1, 2> trades Sum volume $lastbid $lastbid = <FNM,1, 1>
28 28 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks bids SaleJoin <FNM,1, 2> trades Sum volume $lastbid $lastbid = <FNM,1, 2>
29 29 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $lastask $total = 0 $total asks bids SaleJoin <FNM,1, 2> trades Sum volume $lastbid $lastbid = <FNM,1, 2>
30 30 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks bids SaleJoin trades <FNM,1> Sum volume $lastbid $lastbid = <FNM,1, 2>
31 31 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 1 $lastask $total asks bids SaleJoin trades <FNM,1> Sum volume $lastbid $lastbid = <FNM,1, 2>
32 32 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 1 $lastask $total asks bids SaleJoin trades <FNM,1> Sum volume $lastbid $lastbid = <FNM,1, 2>
33 33 Translations Demonstrating Brooklet s generality by translating three rather diverse streaming languages
34 34 CQL, StreamIt, Sawzall: One Translation Approach Do not model local computations Expose graph topology Expose implicit and explicit state Make queues explicit and 1-to-1 Wrap original operators in higher-order functions Make state explicit <, > Functions Queues Variables
35 35 Example: CQL to Brooklet CQL Brooklet select Sum(shares) from trades where trades.ticker = FNM Make queues explicit and 1-to-1 $total Make state explicit trades Filter FNM-trades Sum volume
36 36 Example: CQL to Brooklet CQL Brooklet select Sum(shares) from trades where trades.ticker = FNM Dynamically adapt runtime arguments $total Statically bind the original function trades Filter FNM-trades volume
37 37 Translation Correctness Theorem CQL/StreamIt Input execute CQL/StreamIt Output translate translate Brooklet Input execute Brooklet Output Results under CQL and StreamIt semantics are the same as the results under Brooklet semantics after translation First formal semantics for Sawzall
38 38 Optimizations Demonstrating Brooklet s utility by realizing three essential optimizations
39 39 Operator Fusion: Eliminate Queueing Delays before after Look for connected operators, whose state isn t used anywhere else
40 40 Operator Fission: Process More Data in Parallel before after Split Join Look for stateless operators
41 41 Operator Reordering: Filter Data Early Filter before after Filter Look for operators whose read/write sets don t overlap [Ghelli et al., SIGMOD 08]
42 42 Outlook More optimizations dynamic operator placement, load balancing, subquery sharing, eliminating spurious synchronization Richer extended calculus Types, verify progress, time constraints Common execution platform Practical challenges: data types, library of operators, serialization, process management, error handling
43 43 Conclusions Streaming is everywhere Media, finance, web applications Need a calculus to understand (distributed) implementations Minimal, non-deterministic, makes state and communication explicit Provide a formal and practical foundation for stream programming Mappings from CQL, StreamIt, and Sawzall Formalizing of Fusion, Fission, and Reordering
44 44
45 45
46 46 CQL Translation Rules CQL program translation: [ F c,p c ] p c = F b,p b [ F c, SName ] p c =, outputsname;inputsname; (T p c -SName) [ F c, RName ] p c =, outputrname;inputrname; (T p c -RName) F b, output q o ; input q; op = [F c,p cs ] p c q o = freshid() v = freshid() F b =[S2R wraps2r(f c(s2r))]f b op = op, (q o,v) S2R(q o,v); [ F c, S2R(P cs ) ] p c = F b, output q o ; input q; op (T p c -S2R) F b, output q o ; input q; op = [F c,p cr ] p c q o = freshid() v = freshid() F b =[R2S wrapr2s(f c(r2s))]f b op = op, (q o,v) R2S(q o,v); [ F c, R2S(P cr ) ] p c = F b, output q o ; input q; op (T p c -R2S) F b, output q o ; input q; op = [ F c,p cr ] p c n = P cr q o = freshid() q = q 1,...,q n i 1...n : v i = freshid() op = op 1,...,op n F b =[R2R wrapr2r(f c(r2r))]( F b ) op = op, (q o, v) R2R(q o, v); [ F c, R2R(P cr ) ] p c = F b, output q o ;input q ;op (T p c -R2R) T T CQL operator wrappers: σ, τ = d q s = d v s = s {e, τ : e σ} σ = f(s, τ) wraps2r(f)(d q, _,d v )=σ, τ,s σ, τ = d q σ = d v σ = f(σ, σ ) (W c -S2R) wrapr2s(f)(d q, _,d v )=σ, τ, σ (W c -R2S) σ, τ = d q d i = d i {σ, τ} j = i 1...n : d j = d j j 1...n : σ : σ, τ d j wrapr2r(f)(d q,i,d) =, d (W c -R2R-Wait) σ, τ = d q d i = d i {σ, τ} j = i 1...n : d j = d j j 1...n : σ j = aux(d j, τ) wrapr2r(f)(d q,i,d) =f(σ), τ, d σ, τ d aux(d, τ) =σ (W c -R2R-Ready) (W c -R2R-Aux)
47 47 Operator Fission i 1...n: q i = freshid() op = (q out ) f(q in ); i 1...n: q i = freshid() F b, op s =[, split roundrobin, q, q in ] p s i 1...n: op i = (q i) f(q i ); F b, op j =[, join roundrobin,q out, q ] p s F b, op N split F b F b F b, op s op op j
Notes from Yesterday s Discussion. Big Picture. CIS 500 Software Foundations Fall November 1. Some lessons.
CIS 500 Software Foundations Fall 2006 Notes from Yesterday s Email Discussion November 1 Some lessons This is generally a crunch-time in the semester Slow down a little and give people a chance to catch
More informationRelational Algebra and Calculus
Topics Relational Algebra and Calculus Linda Wu Formal query languages Preliminaries Relational algebra Relational calculus Expressive power of algebra and calculus (CMPT 354 2004-2) Chapter 4 CMPT 354
More informationBringing class diagrams to life
Bringing class diagrams to life Luis S. Barbosa & Sun Meng DI-CCTC, Minho University, Braga & CWI, Amsterdam UML & FM Workshop 2009 Rio de Janeiro 8 December, 2009 Formal Methods proofs problems structures
More informationModern Functional Programming and Actors With Scala and Akka
Modern Functional Programming and Actors With Scala and Akka Aaron Kosmatin Computer Science Department San Jose State University San Jose, CA 95192 707-508-9143 akosmatin@gmail.com Abstract For many years,
More informationTuple Relational Calculus
Tuple Relational Calculus Université de Mons (UMONS) May 14, 2018 Motivation S[S#, SNAME, STATUS, CITY] P[P#, PNAME, COLOR, WEIGHT, CITY] SP[S#, P#, QTY)] Get all pairs of city names such that a supplier
More informationDatabase Applications (15-415)
Database Applications (15-415) Relational Calculus Lecture 5, January 27, 2014 Mohammad Hammoud Today Last Session: Relational Algebra Today s Session: Relational algebra The division operator and summary
More informationA uniform programming language for implementing XML standards
A uniform programming language for implementing XML standards Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France Sofsem 2015 Motivation Different data
More informationVerified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017
Verified Characteristic Formulae for CakeML Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 CakeML Has: references, modules, datatypes, exceptions, a FFI,... Doesn t have:
More informationAbstracting Definitional Interpreters. David Van Horn
Abstracting Definitional Interpreters David Van Horn Abstracting Definitional Interpreters David Van Horn Northeastern University Definitional interpreters written in monadic style can express a wide variety
More informationLogic: Intro & Propositional Definite Clause Logic
Logic: Intro & Propositional Definite Clause Logic Alan Mackworth UBC CS 322 Logic 1 February 27, 2013 P & M extbook 5.1 Lecture Overview Recap: CSP planning Intro to Logic Propositional Definite Clause
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationUnit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat
Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat This lecture discusses X10 clocks. For reference material please look at the chapter on Clocks in []. 1 Motivation The central idea underlying
More informationBusiness Process Management
Business Process Management Theory: The Pi-Calculus Frank Puhlmann Business Process Technology Group Hasso Plattner Institut Potsdam, Germany 1 What happens here? We discuss the application of a general
More informationEDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach
EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types
More informationCommunicating Parallel Processes. Stephen Brookes
Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication
More informationD2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS
D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS EDWARD GAUSE, GISP DIRECTOR OF INFORMATION SERVICES (ENGINEERING APPS) HTC (HORRY TELEPHONE COOP.) EDWARD GAUSE, GISP DIRECTOR OF INFORMATION
More informationNormalization by Evaluation
Normalization by Evaluation Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University PhD Seminar in Mathematical Engineering EAFIT University, Medellin, Colombia 9
More informationStatic Program Analysis
Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem
More informationRelational Algebra & Calculus
Relational Algebra & Calculus Yanlei Diao UMass Amherst Slides Courtesy of R. Ramakrishnan and J. Gehrke 1 Outline v Conceptual Design: ER model v Logical Design: ER to relational model v Querying and
More informationCOMP6463: λ-calculus
COMP6463: λ-calculus 1. Basics Michael Norrish Michael.Norrish@nicta.com.au Canberra Research Lab., NICTA Semester 2, 2015 Outline Introduction Lambda Calculus Terms Alpha Equivalence Substitution Dynamics
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationDesigning and Evaluating Generic Ontologies
Designing and Evaluating Generic Ontologies Michael Grüninger Department of Industrial Engineering University of Toronto gruninger@ie.utoronto.ca August 28, 2007 1 Introduction One of the many uses of
More informationA Brief Introduction to Model Checking
A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:
More informationHow to deal with uncertainties and dynamicity?
How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling
More informationAutomata on Infinite words and LTL Model Checking
Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of
More informationConcurrent Models of Computation
Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights
More informationA Proof Theory for Generic Judgments
A Proof Theory for Generic Judgments Dale Miller INRIA/Futurs/Saclay and École Polytechnique Alwen Tiu École Polytechnique and Penn State University LICS 2003, Ottawa, Canada, 23 June 2003 Outline 1. Motivations
More informationFormal Models of Timed Musical Processes Doctoral Defense
Formal Models of Timed Musical Processes Doctoral Defense Gerardo M. Sarria M. Advisor: Camilo Rueda Co-Advisor: Juan Francisco Diaz Universidad del Valle AVISPA Research Group September 22, 2008 Motivation
More informationCS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce
CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 11: MapReduce Motivation Distribution makes simple computations complex Communication Load balancing Fault tolerance Not all applications
More informationFinancial. Analysis. O.Eval = {Low, High} Store. Bid. Update. Risk. Technical. Evaluation. External Consultant
ACM PODS98 of CS Dept at Stony Brook University Based Modeling and Analysis of Logic Workows Hasan Davulcu* N.Y. 11794, U.S.A. * Joint with M. Kifer, C.R. Ramakrishnan, I.V. Ramakrishnan Hasan Davulcu
More informationN-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems
N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems Albert Cohen 1, Marc Duranton 2, Christine Eisenbeis 1, Claire Pagetti 1,4, Florence Plateau 3 and Marc Pouzet 3 POPL, Charleston
More informationThe Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security
The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte and Frank D. Valencia INRIA /CNRS and LIX, Ecole Polytechnique Motivation Concurrent
More informationLecture: Workload Models (Advanced Topic)
Lecture: Workload Models (Advanced Topic) Real-Time Systems, HT11 Martin Stigge 28. September 2011 Martin Stigge Workload Models 28. September 2011 1 System
More informationA Multi-Periodic Synchronous Data-Flow Language
Julien Forget 1 Frédéric Boniol 1 David Lesens 2 Claire Pagetti 1 firstname.lastname@onera.fr 1 ONERA - Toulouse, FRANCE 2 EADS Astrium Space Transportation - Les Mureaux, FRANCE November 19, 2008 1 /
More informationDeterministic (DFA) There is a fixed number of states and we can only be in one state at a time
CS35 - Finite utomata This handout will describe finite automata, a mechanism that can be used to construct regular languages. We ll describe regular languages in an upcoming set of lecture notes. We will
More informationAgreement. Today. l Coordination and agreement in group communication. l Consensus
Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process
More informationThe L Machines are very high-level, in two senses:
What is a Computer? State of the machine. CMPSCI 630: Programming Languages An Abstract Machine for Control Spring 2009 (with thanks to Robert Harper) Internal registers, memory, etc. Initial and final
More informationCS 322 D: Formal languages and automata theory
CS 322 D: Formal languages and automata theory Tutorial NFA DFA Regular Expression T. Najla Arfawi 2 nd Term - 26 Finite Automata Finite Automata. Q - States 2. S - Alphabets 3. d - Transitions 4. q -
More informationG54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV
G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV Henrik Nilsson University of Nottingham, UK G54FOP: Lecture 17 & 18 p.1/33 These Two Lectures Revisit attempt to define denotational
More informationT Reactive Systems: Temporal Logic LTL
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most
More informationTime and Schedulability Analysis of Stateflow Models
Time and Schedulability Analysis of Stateflow Models Marco Di Natale Scuola Superiore S. Anna Haibo Zeng Mc Gill University Outline Context: MBD of Embedded Systems Relationship with PBD An Introduction
More informationDeclarative Computation Model. Conditional. Case statement. Procedure values (2) Procedure values. Sequential declarative computation model
Declarative Computation Model Kernel language semantics revisited (VRH.4.5) From kernel to practical language (VRH.6) Exceptions (VRH.7) Carlos Varela RPI October 0, 009 Adapted with permission from: Seif
More informationThe Importance of Being Formal. Martin Henz. February 5, Propositional Logic
The Importance of Being Formal Martin Henz February 5, 2014 Propositional Logic 1 Motivation In traditional logic, terms represent sets, and therefore, propositions are limited to stating facts on sets
More informationDynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007
Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This
More informationTowards a Practical Secure Concurrent Language
Towards a Practical Secure Concurrent Language Stefan Muller and Stephen Chong TR-05-12 Computer Science Group Harvard University Cambridge, Massachusetts Towards a Practical Secure Concurrent Language
More informationFinite State Machines. CS 447 Wireless Embedded Systems
Finite State Machines CS 447 Wireless Embedded Systems Outline Discrete systems Finite State Machines Transitions Timing Update functions Determinacy and Receptiveness 1 Discrete Systems Operates in sequence
More informationMaps performance tips On server: Maintain DB connections, prepared statements (per thread/request!)
Announcements Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Use Spark.before, Spark.after to open and close. Use ThreadLocal, or pass the connection
More informationSPARQL Extensions and Outlook
SPARQL Extensions and Outlook Axel Polleres 1 1 DERI Galway, National University of Ireland, Galway axel.polleres@deri.org European Semantic Web Conference 2007 A. Polleres SPARQL Extensions and Outlook
More informationUsing the Principles of Synchronous Languages in Discrete-event and Continuous-time Models
Using the Principles of Synchronous Languages in Discrete-event and Continuous-time Models Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With special thanks to Stephen
More informationMulticore Semantics and Programming
Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and
More informationINF Models of concurrency
INF4140 - Models of concurrency RPC and Rendezvous INF4140 Lecture 15. Nov. 2017 RPC and Rendezvous Outline More on asynchronous message passing interacting processes with different patterns of communication
More informationComputer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms
Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds
More informationTHEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006
THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model
More informationDenoting computation
A jog from Scott Domains to Hypercoherence Spaces 13/12/2006 Outline Motivation 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event
More informationCompilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam
Compilers Lecture 3 Lexical analysis Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Big picture Source code Front End IR Back End Machine code Errors Front end responsibilities Check
More informationWindow-aware Load Shedding for Aggregation Queries over Data Streams
Window-aware Load Shedding for Aggregation Queries over Data Streams Nesime Tatbul Stan Zdonik Talk Outline Background Load shedding in Aurora Windowed aggregation queries Window-aware load shedding Experimental
More informationNICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods
NICTA Advanced Course Theorem Proving Principles, Techniques, Applications Gerwin Klein Formal Methods 1 ORGANISATORIALS When Mon 14:00 15:30 Wed 10:30 12:00 7 weeks ends Mon, 20.9.2004 Exceptions Mon
More informationMapping to Parallel Hardware
- Mapping to Parallel Hardware Bruno Bodin University of Edinburgh, United Kingdom 1 / 27 Context - Hardware Samsung Exynos ARM big-little (Heterogenenous), 4 ARM A15, 4 ARM A7, 2-16 cores GPU, 5 Watt.
More informationQuery answering using views
Query answering using views General setting: database relations R 1,...,R n. Several views V 1,...,V k are defined as results of queries over the R i s. We have a query Q over R 1,...,R n. Question: Can
More informationTimed Automata VINO 2011
Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.
More informationTimo Latvala. February 4, 2004
Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism
More informationRecursion Theory on Processes
Intern. J. Computer Math. 1979, Section A. Vol. 7, pp. 119-128 G Gordon and Breach Science Publishers Ltd., 1979 Printed in Great Britain Recursion Theory on Processes JAN BERGSTRA Institute of Applied
More informationClassical Program Logics: Hoare Logic, Weakest Liberal Preconditions
Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will
More informationOutline F eria AADL behavior 1/ 78
Outline AADL behavior Annex Jean-Paul Bodeveix 2 Pierre Dissaux 3 Mamoun Filali 2 Pierre Gaufillet 1 François Vernadat 2 1 AIRBUS-FRANCE 2 FéRIA 3 ELLIDIS SAE AS2C Detroit Michigan April 2006 FéRIA AADL
More informationDecision, Computation and Language
Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata
More informationReal-Time Scheduling and Resource Management
ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna
More informationDirections in Statistical Computing 2014 Renjin's JIT
Directions in Statistical Computing 2014 Renjin's JIT Thinking about R as a Query Language Alexander Bertram BeDataDriven 2014 1 Quick Intro: Renjin R-language Interpreter written in Java, uses GNU R core
More informationGAV-sound with conjunctive queries
GAV-sound with conjunctive queries Source and global schema as before: source R 1 (A, B),R 2 (B,C) Global schema: T 1 (A, C), T 2 (B,C) GAV mappings become sound: T 1 {x, y, z R 1 (x,y) R 2 (y,z)} T 2
More informationSynchronous Reactive Systems
Synchronous Reactive Systems Stephen Edwards sedwards@synopsys.com Synopsys, Inc. Outline Synchronous Reactive Systems Heterogeneity and Ptolemy Semantics of the SR Domain Scheduling the SR Domain 2 Reactive
More informationESE 570: Digital Integrated Circuits and VLSI Fundamentals
ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 17: March 23, 2017 Energy and Power Optimization, Design Space Exploration, Synchronous MOS Logic Lecture Outline! Energy and Power Optimization
More informationMixing Finite Success and Finite Failure. Automated Prover
in an Automated Prover Alwen Tiu 1, Gopalan Nadathur 2 and Dale Miller 3 1 INRIA Lorraine, France 2 University of Minnesota, USA 3 INRIA Futurs/École polytechnique, France ESHOL 2005 Montego Bay, Jamaica
More informationCOMPUTER SCIENCE TRIPOS
CST.2014.6.1 COMPUTER SCIENCE TRIPOS Part IB Thursday 5 June 2014 1.30 to 4.30 pm COMPUTER SCIENCE Paper 6 Answer five questions. Submit the answers in five separate bundles, each with its own cover sheet.
More informationSpatial Computing in MGS Lecture II MGS & Applications
Spatial Computing in MGS Lecture II MGS & Applications Antoine Spicher 1 & Olivier Michel 1 & Jean-Louis Giavitto 2 mgs.spatial-computing.org/ www.spatial-computing.org/mgs:tutorial 1 LACL, University
More informationNetworked Embedded Systems WS 2016/17
Networked Embedded Systems WS 2016/17 Lecture 2: Real-time Scheduling Marco Zimmerling Goal of Today s Lecture Introduction to scheduling of compute tasks on a single processor Tasks need to finish before
More informationEmbedded Systems - FS 2018
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Sample solution to Exercise 3 Discussion Date: 11.4.2018 Aperiodic Scheduling Task 1: Earliest Deadline
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More informationCS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.
3: Logic Why logic? Logic about inference or argument Start from assumptions or axioms Make deductions according to rules of reasoning Logic 3-1 Why logic? (continued) If I don t buy a lottery ticket on
More informationCS246 Final Exam, Winter 2011
CS246 Final Exam, Winter 2011 1. Your name and student ID. Name:... Student ID:... 2. I agree to comply with Stanford Honor Code. Signature:... 3. There should be 17 numbered pages in this exam (including
More informationKirsten Lackner Solberg. Dept. of Math. and Computer Science. Odense University, Denmark
Inference Systems for Binding Time Analysis Kirsten Lackner Solberg Dept. of Math. and Computer Science Odense University, Denmark e-mail: kls@imada.ou.dk June 21, 1993 Contents 1 Introduction 4 2 Review
More informationTuring machines and linear bounded automata
and linear bounded automata Informatics 2A: Lecture 30 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November 2016 1 / 17 The Chomsky hierarchy: summary Level Language
More informationPractical Data Processing With Haskell
Practical Data Processing With Haskell Ozgun Ataman November 14, 2012 Ozgun Ataman (Soostone Inc) Practical Data Processing With Haskell November 14, 2012 1 / 18 A bit about the speaker Electrical Engineering,
More informationQSQL: Incorporating Logic-based Retrieval Conditions into SQL
QSQL: Incorporating Logic-based Retrieval Conditions into SQL Sebastian Lehrack and Ingo Schmitt Brandenburg University of Technology Cottbus Institute of Computer Science Chair of Database and Information
More informationA Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice
A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire
More information06 From Propositional to Predicate Logic
Martin Henz February 19, 2014 Generated on Wednesday 19 th February, 2014, 09:48 1 Syntax of Predicate Logic 2 3 4 5 6 Need for Richer Language Predicates Variables Functions 1 Syntax of Predicate Logic
More informationTemporal Logic of Actions
Advanced Topics in Distributed Computing Dominik Grewe Saarland University March 20, 2008 Outline Basic Concepts Transition Systems Temporal Operators Fairness Introduction Definitions Example TLC - A
More informationVerifying Faust in Coq
Verifying Faust in Coq Progress report Emilio J. Gallego Arias, Pierre Jouvelot, Olivier Hermant, Arnaud Spiwack MINES ParisTech, PSL Research University, France CoqPL 2015 Music and PL? Music and PL?
More informationOn Compensation Primitives as Adaptable Processes
On Compensation Primitives as Adaptable Processes Jovana Dedeić University of Novi Sad Jovanka Pantović (Novi Sad) and Jorge A. Pérez (Groningen) LAP 2015 - Dubrovnik, September 24, 2015 Outline 1 Context
More informationLecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement
CS 710: Complexity Theory 9/29/2011 Lecture 7: The Polynomial-Time Hierarchy Instructor: Dieter van Melkebeek Scribe: Xi Wu In this lecture we first finish the discussion of space-bounded nondeterminism
More informationIntroduction to Metalogic
Introduction to Metalogic Hans Halvorson September 21, 2016 Logical grammar Definition. A propositional signature Σ is a collection of items, which we call propositional constants. Sometimes these propositional
More informationLecture 3: Reductions and Completeness
CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic
More informationPipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2
Pipelining CS 365 Lecture 12 Prof. Yih Huang CS 365 1 Traditional Execution 1 2 3 4 1 2 3 4 5 1 2 3 add ld beq CS 365 2 1 Pipelined Execution 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
More informationCSE 505, Fall 2005, Midterm Examination 8 November Please do not turn the page until everyone is ready.
CSE 505, Fall 2005, Midterm Examination 8 November 2005 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.
More informationPerformance Evaluation of Scientific Applications on POWER8
Performance Evaluation of Scientific Applications on POWER8 2014 Nov 16 Andrew V. Adinetz 1, Paul F. Baumeister 1, Hans Böttiger 3, Thorsten Hater 1, Thilo Maurer 3, Dirk Pleiter 1, Wolfram Schenck 4,
More informationStatistical Learning. Philipp Koehn. 10 November 2015
Statistical Learning Philipp Koehn 10 November 2015 Outline 1 Learning agents Inductive learning Decision tree learning Measuring learning performance Bayesian learning Maximum a posteriori and maximum
More informationAn introduction to process calculi: Calculus of Communicating Systems (CCS)
An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi:
More informationA Language for Task Orchestration and its Semantic Properties
DEPARTMENT OF COMPUTER SCIENCES A Language for Task Orchestration and its Semantic Properties David Kitchin, William Cook and Jayadev Misra Department of Computer Science University of Texas at Austin
More informationCS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus
CS 4110 Programming Languages & Logics Lecture 16 Programming in the λ-calculus 30 September 2016 Review: Church Booleans 2 We can encode TRUE, FALSE, and IF, as: TRUE λx. λy. x FALSE λx. λy. y IF λb.
More informationImplicit Self-Adjusting Computation for Purely Functional Programs
Implicit Self-Adjustg Computation for Purely Functional Programs Yan Chen Joshua Dunfield Matthew A. Hammer Umut A. Acar MPI-SWS September 19, 2011 Incremental/Dynamic Problems Input: 3, 5, 8, 2, 10, 4,
More informationLecture Outline. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. Total Power. Energy and Power Optimization. Worksheet Problem 1
ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 16: March 20, 2018 Energy and Power Optimization, Design Space Exploration Lecture Outline! Energy and Power Optimization " Tradeoffs! Design
More informationConcurrent Processes and Reaction
Concurrent Processes and Reaction Overview External and internal actions Observations Concurrent process expressions Structural congruence Reaction References Robin Milner, Communication and Concurrency
More information