Cover Page. The handle holds various files of this Leiden University dissertation

Vergelijkbare documenten
Summary 124

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date:

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

The downside up? A study of factors associated with a successful course of treatment for adolescents in secure residential care

Intermax backup exclusion files

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml

Opleiding PECB ISO 9001 Quality Manager.

Cover Page. The handle holds various files of this Leiden University dissertation.

From Padua to Groningen

Relatie tussen Persoonlijkheid, Opleidingsniveau, Leeftijd, Geslacht en Korte- en Lange- Termijn Seksuele Strategieën

0515 FOREIGN LANGUAGE DUTCH

SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Meetkunde en Lineaire Algebra

Running head: MINDFULNESS, CONTINGENTE ZELFWAARDERING EN DEPRESSIE 1. De Invloed van een Gecombineerde Mindfulnessbehandeling op

Opleiding PECB IT Governance.

Cover Page. The handle holds various files of this Leiden University dissertation.

Modulebeschrijving voor MOD1

Cover Page. The handle holds various files of this Leiden University dissertation

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

Intercultural Mediation through the Internet Hans Verrept Intercultural mediation and policy support unit

GernEdiT The GermaNet Editing Tool

CTI SUITE TSP DETAILS

SLACHTOFFER CYBERPESTEN, COPING, GEZONDHEIDSKLACHTEN, DEPRESSIE. Cyberpesten: de implicaties voor gezondheid en welbevinden van slachtoffers en het

0515 DUTCH (FOREIGN LANGUAGE)

Ius Commune Training Programme Amsterdam Masterclass 16 June 2016

L.Net s88sd16-n aansluitingen en programmering.

LONDEN MET 21 GEVARIEERDE STADSWANDELINGEN 480 PAGINAS WAARDEVOLE INFORMATIE RUIM 300 FOTOS KAARTEN EN PLATTEGRONDEN

IPSJ SIG Technical Report Vol.2014-CE-124 No /3/ Fundamental Experiments on Effects of Games in Rest Time between Learning MASAKAZU TAK

Chapter 4 Understanding Families. In this chapter, you will learn

Teardrop readout gradient waveform design. Ting Ting Ren

Meetkunde en Lineaire Algebra

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

Cognitive self-therapy A contribution to long-term treatment of depression and anxiety

Determinantenonderzoek naar Factoren waarmee een Actief Stoppen-met-Roken Beleid op Cardiologieverpleegafdelingen kan worden bevorderd


Cover Page. The handle holds various files of this Leiden University dissertation

Master Thesis. Early Career Burnout Among Dutch Nurses: Comparing Theoretical Models. Using an Item Response Approach.

Find Neighbor Polygons in a Layer

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

Creating a marketplace where expertise is made available through videoconferencing. Roland Staring Community Support Manager roland.staring@surfnet.

OPEN TRAINING. Onderhandelingen met leveranciers voor aankopers. Zeker stellen dat je goed voorbereid aan de onderhandelingstafel komt.

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : lator=c&camp=24759

Cover Page. The handle holds various files of this Leiden University dissertation.

L.Net s88sd16-n aansluitingen en programmering.

Online Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance

De Relatie tussen Voorschoolse Vorming en de Ontwikkeling van. Kinderen

Ius Commune Training Programme Amsterdam Masterclass 15 June 2018

Downloaded from ijn.iums.ac.ir at 2:11 IRDT on Friday July 26th 2019

Cover Page. The handle holds various files of this Leiden University dissertation

Calculator spelling. Assignment

Stigmatisering van Mensen met Keelkanker: de Rol van Mindfulness van de Waarnemer

Interaction Design for the Semantic Web

Adherence aan HWO en meer bewegen

Besluitenlijst CCvD HACCP/ List of decisions National Board of Experts HACCP

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Persoonlijkheidskenmerken en cyberpesten onder jongeren van 11 tot 16 jaar:

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g

Mentaal Weerbaar Blauw

Cover Page. The handle holds various files of this Leiden University dissertation.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

General info on using shopping carts with Ingenico epayments

1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen):

NMOZTMKUDLVDKECVLKBVESBKHWIDKPDF-WWUS Page File Size 9,952 KB 29 May, 2016

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

Cover Page. The handle holds various files of this Leiden University dissertation.

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

de Rol van Persoonlijkheid Eating: the Role of Personality

De Samenhang tussen Dagelijkse Stress en Depressieve Symptomen en de Mediërende Invloed van Controle en Zelfwaardering

Ontwerpen van een variabele belasting om te meten aan zonnepanelen

Cover Page. The handle holds various files of this Leiden University dissertation.

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Examenreglement Opleidingen/ Examination Regulations

Denken en Doen Doen of Denken Het verband tussen seksueel risicovol gedrag en de impulsieve en reflectieve cognitie.

De Relatie tussen Angst en Psychologische Inflexibiliteit. The Relationship between Anxiety and Psychological Inflexibility.

Relatie tussen Appreciative Inquiry en Autonome Motivatie Verklaard door Psychologische. Basisbehoeften en gemodereerd door Autonomieondersteuning

Longitudinal Driving Behaviour At Incidents And The Influence Of Emotions. Raymond Hoogendoorn

Ius Commune Training Programme Amsterdam Masterclass 22 June 2017

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. Author: Zhiwei Yang Title: Meta-heuristics for vehicle routing and inventory routing problems Issue Date:

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

CSRQ Center Rapport over onderwijsondersteunende organisaties: Samenvatting voor onderwijsgevenden

Effecten van een Mindfulness-Based Stressreductie Training. op Existentiële Voldoening. Effects of a Mindfulness-Based Stress Reduction Program

Invloed van Mindfulness Training op Ouderlijke Stress, Emotionele Self-Efficacy. Beliefs, Aandacht en Bewustzijn bij Moeders

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Introductie in flowcharts

Esther Lee-Varisco Matt Zhang

Stress en Psychose 59 Noord. Stress and Psychosis 59 North. A.N.M. Busch

Meer waarde met hbo door internationale samenwerking!

Stephanie van Dijck De integrale aanpak maakt complexiteit hanteerbaar

Ontpopping. ORGACOM Thuis in het Museum

Introduction Henk Schwietert

Sportopleidingen in Internationaal perspectief

MyDHL+ Uw accountnummer(s) delen

Keuzetwijfels in de Emerging Adulthood rondom Studie- en Partnerkeuze. in Relatie tot Depressie

NETWORK CHARTER. #ResourceEfficiency

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Het Gemeenschappelijk Europees Referentiekader voor Visual Literacy

Transcriptie:

Cover Page The handle http://hdl.handle.net/1887/38223 holds various files of this Leiden University dissertation Author: Jongmans, Sung-Shik T.Q. Title: Automata-theoretic protocol programming : parallel computation, threads and their interaction, optimized compilation, [at a] high level of abstraction Issue Date: 2016-03-03

Abstract English In the early 2000s, hardware manufacturers shifted their attention from manufacturing faster yet purely sequential unicore processors to manufacturing slower yet increasingly parallel multicore processors. In the wake of this shift, parallel programming became essential for writing scalable programs on general hardware. Conceptually, every parallel program consists of workers, which implement primary units of sequential computation, and protocols, which implement the rules of interaction that workers must abide by. As programmers have been writing sequential code for decades, programming workers poses no new fundamental challenges. What is new and notoriously difficult is programming of protocols. In this thesis, I study an approach to protocol programming where programmers implement their workers in an existing general-purpose language (GPL), while they implement their protocols in a complementary domain-specific language (DSL). DSLs for protocols enable programmers to express interaction among workers at a higher level of abstraction than the level of abstraction supported by today s GPLs, thereby addressing a number of protocol programming issues with today s GPLs. In particular, in this thesis, I develop a DSL for protocols based on a theory of formal automata and their languages. The specific automata that I consider, called constraint automata, have transition labels with a richer structure than alphabet symbols in classical automata theory. Exactly these richer transition labels make constraint automata suitable for modeling protocols. Constraint automata constitute the (denotational) semantics of the DSL presented in this thesis. On top of this semantics, I use two complementary syntaxes: an existing graphical syntax (based on the coordination language Reo) and a novel textual syntax. The main contribution of this thesis, then, consists of a compiler and four of its optimizations, all formalized and proven correct at the semantic level of constraint automata, using bisimulation. In addition to these theoretical contributions, I also present an implementation of the compiler and its optimizations, which supports Java as the complementary GPL, as plugins for Eclipse. Nothing in the theory developed in this thesis depends on Java, though; any language that supports some form of threading 295

ABSTRACT 296 and mutual exclusion may serve as a target for compilation. To demonstrate the practical feasibility of the GPL+DSL approach to protocol programming, I study the performance of the implemented compiler and its optimizations through a number of experiments, including the Java version of the NAS Parallel Benchmarks. The experimental results in these benchmarks show that, with all four optimizations in place, compiler-generated protocol code can compete with hand-crafted protocol code. A more extensive summary of this thesis appears in Chapter 9. Nederlands Sinds het begin van dit millennium hebben hardwarefabrikanten hun aandacht verschoven van het produceren van snellere doch puur sequentiële unicore processors ( éénkernige processoren ) naar het produceren van langzamere doch in toenemende mate parallelle multicore processors ( meerkernige processoren ). Als een gevolg van deze verschuiving is parallel programmeren een essentieel onderdeel geworden van het schrijven van schaalbare programma s voor algemene hardware. Conceptueel gezien bestaat elk parallel programma uit arbeiders, die primair sequentiële berekeningen uitvoeren, en protocollen, die de interactieregels vastleggen waar arbeiders zich aan moeten conformeren. Aangezien programmeurs al decennialang sequentiële code schrijven zorgt het programmeren van arbeiders voor weinig nieuwe fundamentele uitdagingen. Wat wel nieuw is en berucht in haar complexiteit is het programmeren van protocollen. In dit proefschrift onderzoek ik een methode voor het programmeren van protocollen waarin programmeurs arbeiders implementeren in een bestaande general-purpose language ( algemeen-gebruik taal ), afgekort GPL, terwijl zij protocollen implementeren in een domain-specific language ( domein-specifieke taal ), afgekort DSL. DSLs voor protocollen stellen programmeurs in staat interactie tussen arbeiders op een hoger abstractieniveau uit te drukken dan het abstractieniveau dat vandaag de dag wordt ondersteund door GPLs. Hierdoor word een aantal protocolprogrammeerproblemen van de huidige GPLs aangepakt. Om precies te zijn ontwikkel ik in dit proefschrift een DSL voor protocollen gebaseerd op een theorie van formele automaten en hun talen. De specieke automaten waar ik naar kijk, genaamd constraint automata ("beperkingsautomaten"), hebben transitielabels met een rijkere structuur dan alfabetsymbolen in de klassieke automatentheorie. Precies deze rijkere transitielabels maken constraint automata geschikt voor het modelleren van protocollen. Constraint automata vormen de (denotationele) semantiek van de DSL die ik presenteer in dit proefschrift. Bovenop deze semantiek gebruik ik twee complementaire syntaxes: een bestaande grafische syntax (gebaseerd op de coordinatietaal Reo) en een nieuwe tekstuele syntax. De hoofdbijdrage van dit proefschrift bestaat uit een compiler en vier van haar optimalisaties, die ik allemaal formaliseer en correct bewijs op het semantische niveau van constraint automata door gebruik te maken van bisimulatie. Naast deze theoretische bij-

ABSTRACT 297 dragen presenteer ik ook een implementatie van de compiler en haar optimalisaties, die bestaat uit plugins voor Eclipse. Hoewel deze implementatie enkel Java ondersteunt als de complementaire GPL is niets aan de theorie in dit proefschrift Java-specifiek. Elke taal die threading en mutual exclusion ( wederzijdse uitsluiting ) ondersteunt kan dienen als compilatiedoel. Om de praktische haalbaarheid van de GPL+DSL-aanpak te demonstreren bestudeer ik ten slotte de prestaties van de geïmplementeerde compiler en haar optimalisaties in een aantal experimenten, waaronder de Java-versie van de NAS Parallel Benchmarks. De resultaten van deze experimenten laten zien dat, wanneer alle vier optimalisaties in stelling worden gebracht, door de compiler gegenereerde protocolcode zich kan meten met handgeschreven protocolcode. Hoofdstuk 9 geeft een uitgebreidere samenvatting van dit proefschrift.