Erlang. Types, Abstract Form & Core. Salvador Tamarit Muñoz. Universitat Politècnica de València
|
|
- Annice Murphy
- 5 years ago
- Views:
Transcription
1 Erlang Types, Abstract Form & Core Salvador Tamarit Muñoz Universitat Politècnica de València
2 Contents 1 Introduction Motivation 2 Concurrent Erlang 3 Further reading
3 Introduction Introduction Erlang is a general-purpose concurrent, garbage-collected programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. It supports hot swapping, so that code can be changed without stopping a system. The first version was developed by Joe Armstrong in It was originally a proprietary language within Ericsson, but was released as open source in Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 3 / 41
4 Motivation Introduction Motivation Companies and projects using Erlang: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 4 / 41
5 Numbers: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 5 / 41
6 Variables & Pattern-Matching: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 6 / 41
7 Atoms: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 7 / 41
8 Boolean Algebra & Comparation Operators: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 8 / 41
9 Boolean Algebra & Comparation Operators: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 9 / 41
10 Tuples: >f(). %clear all variable names Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 10 / 41
11 Lists: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 11 / 41
12 Lists: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 12 / 41
13 List comprehensions: {2 n n L} where L = {1, 2, 3, 4} {x x L x mod 2 = 0} where L = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Prices of all the items costing between $3 and $10 with taxes (say 7%) counted in afterwards. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 13 / 41
14 List comprehensions: {2 n n L} where L = {1, 2, 3, 4} {x x L x mod 2 = 0} where L = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Prices of all the items costing between $3 and $10 with taxes (say 7%) counted in afterwards. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 13 / 41
15 List comprehensions: {2 n n L} where L = {1, 2, 3, 4} {x x L x mod 2 = 0} where L = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Prices of all the items costing between $3 and $10 with taxes (say 7%) counted in afterwards. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 13 / 41
16 List comprehensions: {2 n n L} where L = {1, 2, 3, 4} {x x L x mod 2 = 0} where L = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Prices of all the items costing between $3 and $10 with taxes (say 7%) counted in afterwards. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 13 / 41
17 List comprehensions: {2 n n L} where L = {1, 2, 3, 4} {x x L x mod 2 = 0} where L = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Prices of all the items costing between $3 and $10 with taxes (say 7%) counted in afterwards. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 13 / 41
18 List comprehensions: {2 n n L} where L = {1, 2, 3, 4} {x x L x mod 2 = 0} where L = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Prices of all the items costing between $3 and $10 with taxes (say 7%) counted in afterwards. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 13 / 41
19 List comprehensions: {x + y x L x y L y } where L x = {1, 2} and L y = {2, 3} Get all the places where it is foggy Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 14 / 41
20 List comprehensions: {x + y x L x y L y } where L x = {1, 2} and L y = {2, 3} Get all the places where it is foggy Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 14 / 41
21 List comprehensions: {x + y x L x y L y } where L x = {1, 2} and L y = {2, 3} Get all the places where it is foggy Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 14 / 41
22 List comprehensions: {x + y x L x y L y } where L x = {1, 2} and L y = {2, 3} Get all the places where it is foggy Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 14 / 41
23 Functions: Suppose you want to write this function in Erlang: It would look like this: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 15 / 41
24 Functions: Suppose you want to write this function in Erlang: It would look like this: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 15 / 41
25 Functions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 16 / 41
26 Functions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 16 / 41
27 Guards: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 17 / 41
28 Guards: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 17 / 41
29 Guards: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 17 / 41
30 case-of expressions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 18 / 41
31 case-of expressions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 18 / 41
32 if expressions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 19 / 41
33 if expressions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 20 / 41
34 Modules: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 21 / 41
35 Modules: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 21 / 41
36 Modules: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 22 / 41
37 Higher order functions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 23 / 41
38 Higher order functions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 23 / 41
39 Higher order functions: Module lists includes common examples of this abstractions like lists:map/2, lists:filter/2, lists:foldl/3 or lists:foldr/3. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 24 / 41
40 Higher order functions: Module lists includes common examples of this abstractions like lists:map/2, lists:filter/2, lists:foldl/3 or lists:foldr/3. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 24 / 41
41 Higher order functions: Module lists includes common examples of this abstractions like lists:map/2, lists:filter/2, lists:foldl/3 or lists:foldr/3. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 24 / 41
42 Anonymous functions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 25 / 41
43 Anonymous functions: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 26 / 41
44 Records: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 27 / 41
45 Records: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 27 / 41
46 Records: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 28 / 41
47 Records: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 28 / 41
48 Records: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 29 / 41
49 Other data structures: Key-Value Stores Property lists (proplists), dictionaries (dict), ordered dictionaries (orddict) and general balanced trees (gb trees). Arrays Module array. Sets Classification according its internal representation: Not defined (sets), ordered lists (ordsets) or general balanced trees (gb sets). Additionally, it is provided a module to manipulate set of sets (sofs). Directed Graphs Two modules: digraph and digraph utils. Queues A double-ended FIFO queue (queue). ETS Erlang built-in Term Storage. Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 30 / 41
50 try-catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 31 / 41
51 try-catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 31 / 41
52 try-catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 32 / 41
53 try-catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 32 / 41
54 try-catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 33 / 41
55 catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 34 / 41
56 catch operator: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 34 / 41
57 Concurrent Erlang Concurrent Erlang Function spawn/1: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 35 / 41
58 Concurrent Erlang Concurrent Erlang The message passing operator (!): Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 36 / 41
59 Concurrent Erlang Concurrent Erlang The receive statement: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 37 / 41
60 Concurrent Erlang Concurrent Erlang The receive statement: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 37 / 41
61 Concurrent Erlang Concurrent Erlang The receive statement: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 38 / 41
62 Concurrent Erlang Concurrent Erlang The receive statement: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 38 / 41
63 Concurrent Erlang Concurrent Erlang The receive statement: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 39 / 41
64 Concurrent Erlang Concurrent Erlang The receive statement: Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 39 / 41
65 Further reading Further reading Salvador Tamarit Muñoz (UPV) Erlang - Abstract Form, Core & Types U. Politècnica de València 40 / 41
66 Thanks for listening!
An Introduction to Erlang
An Introduction to Erlang Alejandro Gómez Londoño Universidad EAFIT 8th March, 2013 What s Erlang? Erlang is a concurrent functional programming language, designed for writing concurrent programs that
More informationA Collection of Website Benchmarks Labelled for Template Detection and Content Extraction
A Collection of Website Benchmarks Labelled for Template Detection and Content Extraction Julián Alarte, David Insa, Josep Silva, Salvador Tamarit MiST Research Group, Universitat Politècnica de València
More informationMessage Passing. Advanced Operating Systems Tutorial 7
Message Passing Advanced Operating Systems Tutorial 7 Tutorial Outline Review of Lectured Material Discussion: Erlang and message passing 2 Review of Lectured Material Message passing systems Limitations
More informationIntroduction to Erlang. Franck Petit / Sebastien Tixeuil
Introduction to Erlang Franck Petit / Sebastien Tixeuil Firstname.Lastname@lip6.fr Hello World % starts a comment. ends a declaration Every function must be in a module one module per source file source
More informationMetaprogramming and symbolic execution for detecting runtime errors in Erlang programs
Metaprogramming and symbolic execution for detecting runtime errors in Erlang programs Emanuele De Angelis 1, Fabio Fioravanti 1, Adrián Palacios 2, Alberto Pettorossi 3 and Maurizio Proietti 4 1 University
More informationDetecting and Visualising Process Relationships in Erlang
Procedia Computer Science Volume 29, 2014, Pages 1525 1534 ICCS 2014. 14th International Conference on Computational Science Melinda Tóth and István Bozó Eötvös Loránd University, Budapest, Hungary {tothmelinda,
More informationHashes, Hashmaps, frames, structs,... Erlang User Conference Stockholm 2011
Hashes, Hashmaps, frames, de title 48 pt structs,... Erlang User Conference Stockholm 2011 ubtitle 30 pt Björn-Egil Dahlberg, Kenneth Lundin Background Erlang/OTP makes the programmer productive But! there
More informationErlang - functional programming in a concurrent world. Johan Montelius KTH
Erlang - functional programming in a concurrent world Johan Montelius KTH 1 Erlang Concurrent Oriented Programming processes have state communicate using message passing access and location transparent
More informationProgramming Paradigms
PP 2017/18 Unit 15 Concurrent Programming with Erlang 1/32 Programming Paradigms Unit 15 Concurrent Programming with Erlang J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE PP
More informationAn Introduction to Erlang
Erlang Solutions Ltd An Introduction to Erlang From behind the trenches GOTO Copenhagen May 13 th, 2011 Francesco Cesarini Founder, Technical Director @FrancescoC francesco@erlang-solutions.com So Here
More informationCOSC441. Lecture 8 Introduction to Erlang
COSC441 Lecture 8 Introduction to Erlang Approach The reference book is Learn You Some Erlang for Great Good! by Fred Hébert. http://learnyousomeerlang.com lets you read it free on-line. What I am going
More informationStarting the System & Basic Erlang Exercises
Starting the System & Basic Erlang Exercises These exercises will help you get accustomed with the Erlang development and run time environments. Once you have set up the Erlang mode for emacs, you will
More informationSCALARIS. Irina Calciu Alex Gillmor
SCALARIS Irina Calciu Alex Gillmor RoadMap Motivation Overview Architecture Features Implementation Benchmarks API Users Demo Conclusion Motivation (NoSQL) "One size doesn't fit all" Stonebraker Reinefeld
More informationErlang 101. Google Doc
Erlang 101 Google Doc Erlang? with buzzwords Erlang is a functional concurrency-oriented language with extremely low-weight userspace "processes", share-nothing messagepassing semantics, built-in distribution,
More information6.852: Distributed Algorithms Fall, Class 21
6.852: Distributed Algorithms Fall, 2009 Class 21 Today s plan Wait-free synchronization. The wait-free consensus hierarchy Universality of consensus Reading: [Herlihy, Wait-free synchronization] (Another
More informationAntonella Di Stefano, Corrado Santoro. (presenting)
Antonella Di Stefano, Corrado Santoro (presenting) Motivations Erlang Language exat: Tool & Case-Studies Conclusions Agent Programming Two Main Aspects Agent Behaviour FSM-Based (State, Event) (State,
More informationStatic rules of variable scoping in Erlang
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 137 145. Static rules of variable scoping in Erlang László Lövei, Zoltán Horváth,
More informationErlang functional programming in a concurrent world
KTH ROYAL INSTITUTE OF TECHNOLOGY Erlang functional programming in a concurrent world Johan Montelius and Vladimir Vlassov Erlang Concurrent Oriented Programming processes have state communicate using
More informationErlang functional programming in a concurrent world Johan Montelius and Vladimir Vlassov
KTH ROYAL INSTITUTE OF TECHNOLOGY Erlang functional programming in a concurrent world Johan Montelius and Vladimir Vlassov Erlang Concurrent Oriented Programming processes have state communicate using
More informationThe Actor Model applied to the Raspberry Pi and the Embedded Domain. The Erlang Embedded Project. Omer
The Actor Model applied to the Raspberry Pi and the Embedded Domain. The Erlang Embedded Project Omer Kilic @OmerK omer@erlang-solutions.com Outline Current state of Embedded Systems Overview of Erlang
More informationIntroduction to Logic Programming, April 3, 2017
Introduction to Logic Programming, 16-17 April 3, 2017 Bibliography Leon Sterling and Ehud Shapiro, The Art of Prolog, MIT Press. Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley.
More informationAn Introduction to Erlang. Richard Carlsson
An Introduction to Erlang Richard Carlsson Erlang Buzzwords Functional (strict) Single-assignment Dynamically typed Concurrent Distributed Message passing Soft real-time Fault tolerant No sharing Automatic
More informationDebugging meets testing in Erlang
Debugging meets testing in Erlang Salvador Tamarit, Adrián Riesco, Enrique Martín-Martín, Rafael Caballero (U. Complutense & U. Politécnica, Madrid, Spain) TAP 2016 5-7 July 2016, Vienna, Austria Outline
More informationScenes From the Language Struggle in Toronto, Ontario. Mike Nolta
Scenes From the Language Struggle in Toronto, Ontario Mike Nolta Ch-Ch-Changes OpenMP & MPI are fine for now, but we need language support for parallelism. Corbato s Law: The number of lines of code a
More informationScaling Up from 1000 to 10 Nodes
Scaling Up from 1000 to 10 Nodes Anton Lavrik Alert Logic, Inc. 1 Alert Logic vs Twitter: daily numbers (2012) Alert Logic Twitter Events received 11.5B 0.5B Volume received 5TB 70GB Logs produced? 100TB
More informationErlang. Functional Concurrent Distributed Soft real-time OTP (fault-tolerance, hot code update ) Open. Check the source code of generic behaviours
Lecture 9 Erlang Erlang Functional Concurrent Distributed Soft real-time OTP (fault-tolerance, hot code update ) Open Check the source code of generic behaviours 2 Functional Haskell call-by-need (lazy)
More informationERLANG BITS AND PIECES
ERLANG BITS AND PIECES Curt Clifton Rose-Hulman Institute of Technology Update ErlangInClass, open bap.erl GUARDS Guards are boolean-valued Erlang expressions, used in Function definitions: max(x,y) when
More informationCPS506 - Comparative Programming Languages Elixir
CPS506 - Comparative Programming Languages Elixir Dr. Dave Mason Department of Computer Science Ryerson University c 2017 Dave Mason History Joe Armstrong worked at Ericson Erlang originally for lab development
More information1. Introduction: Key Features of Erlang
Годишник на секция Информатика Съюз на учените в България Том 6, 2013, 103 110 Annual of Informatics Section Union of Scientists in Bulgaria Volume 6, 2013, 103 110 KEY FEATURES AND SOME APPLICATION AREAS
More informationDISTRIBUTED SYSTEMS [COMP9243] Lecture 1.5: Erlang INTRODUCTION TO ERLANG BASICS: SEQUENTIAL PROGRAMMING 2. Slide 1
DISTRIBUTED SYSTEMS [COMP9243] THE ERLANG ENVIRONMENT Slide 1 Lecture 1.5: Erlang ➀ Introduction ➁ Basics: Sequential programming ➂ Concurrent programming Slide 3 unix% erl 1> 1 + 2. 3 2> c(demo). {ok,demo}
More informationJAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit:
JAVA PROGRAMMING UNIT-1: Introduction To Java, Getting Started With Java, Applets And Application, Creating A Java Application, Creating A Java Applets, Object Oriented Programming In Java, Object And
More informationA Distributed and Robust SDN Control Plane for Transactional Network Updates
A Distributed and Robust SDN Control Plane for Transactional Network Updates Marco Canini (UCL) with Petr Kuznetsov (Télécom ParisTech), Dan Levin (TU Berlin), Stefan Schmid (TU Berlin & T-Labs) 1 Network
More informationLogic Programming, 16-17
Logic Programming, 16-17 Inês Dutra DCC-FCUP ines@dcc.fc.up.pt (room: 1.31) September 21, 2016 Contents ˆ Introduction to logic languages. ˆ Differences between logic languages and other languages. ˆ Introduction
More informationAn Introduction to Erlang
Erlang Solutions Ltd An Introduction to Erlang From behind the trenches GOTO Amsterdam Amsterdam, May 25 th 2012 Francesco Cesarini Founder, Technical Director @FrancescoC francesco@erlang-solutions.com
More informationTime and Space. Indirect communication. Time and space uncoupling. indirect communication
Time and Space Indirect communication Johan Montelius In direct communication sender and receivers exist in the same time and know of each other. KTH In indirect communication we relax these requirements.
More informationLFE - a lisp on the Erlang VM
Robert Virding Principle Language Expert at Erlang Solutions Ltd. LFE - a lisp on the Erlang VM What LFE isn t It isn t an implementation of Scheme It isn t an implementation of Common Lisp It isn t an
More informationWhere shall I parallelize?
Where shall I parallelize? Judit Dániel Tamás Melinda István Viktória Zoltán Kőszegi Horpácsi Kozsik Tóth Bozó Fördős Horváth Eötvös Loránd University and ELTE-Soft Kft. Budapest, Hungary Erlang User Conference
More informationScripting with Luerl
Scripting with Luerl Luerl Luerl is an implementation of standard Lua written in Erlang/OTP. Lua is a powerful, efficient, lightweight, embeddable scripting language common in games, machine learning,
More informationMessage-passing concurrency in Erlang
Message-passing concurrency in Erlang Lecture 8 of TDA383/DIT390 (Concurrent Programming) Carlo A. Furia Chalmers University of Technology University of Gothenburg SP3 2016/2017 Today s menu Actors and
More informationMessage Passing Part I
Message Passing Part I Lecture 7 CS 390 1/29/08 Focus Given a collection of threads, how should they communicate information among one another? Using message-passing, they communicate through messages,
More informationReminder from last time
Concurrent systems Lecture 5: Concurrency without shared data, composite operations and transactions, and serialisability DrRobert N. M. Watson 1 Reminder from last time Liveness properties Deadlock (requirements;
More informationTHEATR An actor based language
Group members: Beatrix Carroll (bac2108) Suraj Keshri (skk2142) Michael Lin (mbl2109) Linda Ortega Cordoves (lo2258) THEATR An actor based language Goal Create an actor-based language with fault-tolerance
More informationIndirect Communication
Indirect Communication Vladimir Vlassov and Johan Montelius KTH ROYAL INSTITUTE OF TECHNOLOGY Time and Space In direct communication sender and receivers exist in the same time and know of each other.
More informationImportant Lessons. A Distributed Algorithm (2) Today's Lecture - Replication
Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single
More informationProgramming Distributed Systems
Peter Zeller, Annette Bieniusa Programming Distributed Systems Summer Term 2018 1/ 37 Programming Distributed Systems Introduction to Erlang Peter Zeller, Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern
More informationStory so far. Parallel Data Structures. Parallel data structure. Working smoothly with Galois iterators
Story so far Parallel Data Structures Wirth s motto Algorithm + Data structure = Program So far, we have studied parallelism in regular and irregular algorithms scheduling techniques for exploiting parallelism
More informationM.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I
Paper I DATA STRUCTURES (DMCS 01) 1. Explain in detail about the overview of Data structures. 2. Explain circular linked list and double-linked list. 3. Explain CPU scheduling in Multiprogramming Environment.
More informationData Science with Python Course Catalog
Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com Table of Contents Syllabus Overview
More informationMain Points. File systems. Storage hardware characteristics. File system usage patterns. Useful abstractions on top of physical devices
Storage Systems Main Points File systems Useful abstractions on top of physical devices Storage hardware characteristics Disks and flash memory File system usage patterns File Systems Abstraction on top
More informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
More informationDeclarative Debugging of Concurrent Erlang Programs
Dpto. Sistemas Informáticos y Computación, UCM. Technical Report 03/16 (Updated July 22, 2016) Declarative Debugging of Concurrent Erlang Programs (Extended version) Rafael Caballero Enrique Martin-Martin
More informationErlang: An Overview. Part 2 Concurrency and Distribution. Thanks to Richard Carlsson for most of the slides in this part
Erlang: An Overview Part 2 Concurrency and Distribution Thanks to Richard Carlsson for most of the slides in this part Processes P1 fib(0) -> 1; fib(1) -> 1; fib(n) when N > 0 -> fib(n-1) + fib(n-2). Whenever
More informationErlang. Joe Armstrong.
Erlang Joe Armstrong joe.armstrong@ericsson.com 1 Who is Joe? Inventor of Erlang, UBF, Open Floppy Grid Chief designer of OTP Founder of the company Bluetail Currently Software Architect Ericsson Current
More informationIntermediate representations of functional programming languages for software quality control
Intermediate representations of functional programming languages for software quality control Melinda Tóth, Gordana Rakić Eötvös Loránd University Faculty of Informatics University of Novi Sad Chair of
More informationBUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR. Petri Kero CTO / Ministry of Games
BUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR Petri Kero CTO / Ministry of Games MOBILE GAME BACKEND CHALLENGES Lots of concurrent users Complex interactions between players Persistent world with frequent
More informationWhatever can go wrong will go wrong. attributed to Edward A. Murphy. Murphy was an optimist. authors of lock-free programs 3.
Whatever can go wrong will go wrong. attributed to Edward A. Murphy Murphy was an optimist. authors of lock-free programs 3. LOCK FREE KERNEL 309 Literature Maurice Herlihy and Nir Shavit. The Art of Multiprocessor
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Lecture 22: More Transaction Implementations 1 Review: Schedules, schedules, schedules The DBMS scheduler determines the order of operations from txns are executed
More informationFunctional Programming In Real Life
Functional Programming In Real Life Dr. Erik Stenman CTO Kreditor Europe AB Creative Payment Solutions Introduction I will talk about KREDITOR, a company that bet it's future on Erlang, a functional programming
More informationMapReduce in Erlang. Tom Van Cutsem
MapReduce in Erlang Tom Van Cutsem 1 Context Masters course on Multicore Programming Focus on concurrent, parallel and... functional programming Didactic implementation of Google s MapReduce algorithm
More informationProof: if not f[u] < d[v], then u still grey while v is being visited. DFS visit(v) will then terminate before DFS visit(u).
Parenthesis property of DFS discovery and finishing times (Thm 23.6 of CLR): For any two nodes u,v of a directed graph, if d[u] < d[v] (i.e. u discovered before v), either f[v] < f[u] (i.e. visit time
More informationReversible Computing in Concurrent Interacting Systems
Reversible Computing in Concurrent Interacting Systems Ivan Lanese Focus research group Computer Science and Engineering Department University of Bologna/INRIA Bologna, Italy 1 Plan of the course 1. Motivation
More informationThe Actor Model applied to the Raspberry Pi and the Embedded Domain. Omer
The Actor Model applied to the Raspberry Pi and the Embedded Domain Omer Kilic @OmerK omer@erlang-solutions.com Agenda Current state of Embedded Systems Overview of the Actor Model Erlang Embedded Project
More informationTowards Load Balanced Distributed Transactional Memory
Towards Load Balanced Distributed Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University Euro-Par 12, August 31, 2012 Distributed Transactional Memory (DTM) Transactions run on
More informationThe Google File System
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google* 정학수, 최주영 1 Outline Introduction Design Overview System Interactions Master Operation Fault Tolerance and Diagnosis Conclusions
More informationAn Introduction to Erlang
An Introduction to Erlang Part 2 - Concurrency Richard Carlsson Processes P1 fib(0) -> 1; fib(1) -> 1; fib(n) when N > 0 -> fib(n-1) + fib(n-2). Whenever an Erlang program is running, the code is executed
More informationA History of the Erlang VM
Erlang Solutions Ltd. A History of the Erlang VM Robert Virding Pre-history AXE programmed in PLEX PLEX - programming language for exchanges - proprietary - blocks (processes) and signals - in-service
More informationCS390 Principles of Concurrency and Parallelism. Lecture Notes for Lecture #5 2/2/2012. Author: Jared Hall
CS390 Principles of Concurrency and Parallelism Lecture Notes for Lecture #5 2/2/2012 Author: Jared Hall This lecture was the introduction the the programming language: Erlang. It is important to understand
More informationHuge market -- essentially all high performance databases work this way
11/5/2017 Lecture 16 -- Parallel & Distributed Databases Parallel/distributed databases: goal provide exactly the same API (SQL) and abstractions (relational tables), but partition data across a bunch
More informationClaes Wikstrom. Ericsson Telecommunications AB. Box S Alvsjo Sweden
Implementing Distributed Real-time Control Systems in a Functional Programming Language Claes Wikstrom klacke@erix.ericsson.se Computer Science Laboratory Ericsson Telecommunications AB Box 1505 S - 125
More informationHiPE Copyright Ericsson AB. All Rights Reserved. HiPE March 11, 2019
Copyright 2006-2019 Ericsson AB. All Rights Reserved. 3.18.3 March 11, 2019 Copyright 2006-2019 Ericsson AB. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may
More informationAn Introduction to Erlang
Erlang Solutions Ltd An Introduction to Erlang From behind the trenches Erlang Factory Lite Zurich, April 23 rd 2012 Francesco Cesarini Founder, Technical Director @FrancescoC francesco@erlang-solutions.com
More informationModel checking pushdown systems
Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,
More informationWhat is consistency?
Consistency What is consistency? Consistency model: A constraint on the system state observable by applications Examples: Local/disk memory : Single object consistency, also called coherence write x=5
More informationCLOUD-SCALE FILE SYSTEMS
Data Management in the Cloud CLOUD-SCALE FILE SYSTEMS 92 Google File System (GFS) Designing a file system for the Cloud design assumptions design choices Architecture GFS Master GFS Chunkservers GFS Clients
More informationErlang: An Overview. Part 1 Sequential Erlang. Thanks to Richard Carlsson for the original version of many slides in this part
Erlang: An Overview Part 1 Sequential Erlang Thanks to Richard Carlsson for the original version of many slides in this part Erlang buzzwords Functional (strict) Single-assignment Dynamically typed Concurrent
More informationFlat Datacenter Storage. Edmund B. Nightingale, Jeremy Elson, et al. 6.S897
Flat Datacenter Storage Edmund B. Nightingale, Jeremy Elson, et al. 6.S897 Motivation Imagine a world with flat data storage Simple, Centralized, and easy to program Unfortunately, datacenter networks
More information1. Draw and explain program flow of control without and with interrupts. [16]
Code No: R05310503 Set No. 1 1. Draw and explain program flow of control without and with interrupts. [16] 2. Explain the following transitions: (a) Blocked Blocked/Suspended. (b) Blocked/Suspended Ready/Suspended.
More information(b) If a heap has n elements, what s the height of the tree?
CISC 5835 Algorithms for Big Data Fall, 2018 Homework Assignment #4 1 Answer the following questions about binary tree and heap: (a) For a complete binary tree of height 4 (we consider a tree with just
More informationResource management. Real-Time Systems. Resource management. Resource management
Real-Time Systems Specification Implementation Verification Mutual exclusion is a general problem that exists at several levels in a real-time system. Shared resources internal to the the run-time system:
More informationErlang. Functional Concurrent Distributed Soft real-time OTP (fault-tolerance, hot code update ) Open. Check the source code of generic behaviours
Lecture 10 Erlang Erlang Functional Concurrent Distributed Soft real-time OTP (fault-tolerance, hot code update ) Open Check the source code of generic behaviours 2 Functional Haskell call-by-need (lazy)
More informationCombined Scheduling of Time-Triggered and Priority-Based Task Sets in Ravenscar
Combined Scheduling of Time-Triggered and Priority-Based Task Sets in Ravenscar Jorge Real, Sergio Sáez, Alfons Crespo Universitat Politècnica de València, Spain 23 rd International Conference on Reliable
More informationProducer Consumer in Ada
Concurrent Systems 8L for Part IB Handout 3 Dr. Steven Hand Example: Active Objects A monitor with an associated server thread Exports an entry for each operation it provides Other (client) threads call
More informationVerification of Language Based Fault-Tolerance
Verification of Language Based Fault-Tolerance Clara Benac Earle 1 and Lars-Åke Fredlund 2,3 1 Computing Laboratory, University of Kent, England 2 LSIIS, Facultad de Informática, Universidad Politécnica
More informationLuerl - an implementation of Lua on the Erlang VM
Robert Virding Principle Language Expert at Erlang Solutions Ltd. Luerl - an implementation of Lua on the Erlang VM Overview Why Erlang - The problem - The problem domain - A bit of philosophy - Properties
More informationWhatever can go wrong will go wrong. attributed to Edward A. Murphy. Murphy was an optimist. authors of lock-free programs LOCK FREE KERNEL
Whatever can go wrong will go wrong. attributed to Edward A. Murphy Murphy was an optimist. authors of lock-free programs LOCK FREE KERNEL 251 Literature Maurice Herlihy and Nir Shavit. The Art of Multiprocessor
More informationA Combined Semi-Pipelined Query Processing Architecture For Distributed Full-Text Retrieval
A Combined Semi-Pipelined Query Processing Architecture For Distributed Full-Text Retrieval Simon Jonassen and Svein Erik Bratsberg Department of Computer and Information Science Norwegian University of
More informationDesign of Concurrent and Distributed Data Structures
METIS Spring School, Agadir, Morocco, May 2015 Design of Concurrent and Distributed Data Structures Christoph Kirsch University of Salzburg Joint work with M. Dodds, A. Haas, T.A. Henzinger, A. Holzer,
More informationPYTHON CONTENT NOTE: Almost every task is explained with an example
PYTHON CONTENT NOTE: Almost every task is explained with an example Introduction: 1. What is a script and program? 2. Difference between scripting and programming languages? 3. What is Python? 4. Characteristics
More informationIntroduction to Relational Databases
Introduction to Relational Databases Third La Serena School for Data Science: Applied Tools for Astronomy August 2015 Mauro San Martín msmartin@userena.cl Universidad de La Serena Contents Introduction
More informationInter-process communication (IPC)
Inter-process communication (IPC) We have studied IPC via shared data in main memory. Processes in separate address spaces also need to communicate. Consider system architecture both shared memory and
More informationRuntime Checking for Program Verification Systems
Runtime Checking for Program Verification Systems Karen Zee, Viktor Kuncak, and Martin Rinard MIT CSAIL Tuesday, March 13, 2007 Workshop on Runtime Verification 1 Background Jahob program verification
More informationRigurous Software Development of Multi-Agent Systems
Rigurous Software Development of Multi-Agent Systems 2 nd Prometidos-CM Winter School Speaker: Álvaro Fernández Díaz Universidad Politécnica de Madrid Structure of the talk Multi-Agent Systems Purpose
More informationDATABASE SYSTEM CONCEPTS
DATABASE SYSTEM CONCEPTS HENRY F. KORTH ABRAHAM SILBERSCHATZ University of Texas at Austin McGraw-Hill, Inc. New York St. Louis San Francisco Auckland Bogota Caracas Lisbon London Madrid Mexico Milan Montreal
More informationLock Tuning. Concurrency Control Goals. Trade-off between correctness and performance. Correctness goals. Performance goals.
Lock Tuning Concurrency Control Goals Performance goals Reduce blocking One transaction waits for another to release its locks Avoid deadlocks Transactions are waiting for each other to release their locks
More informationModels and languages of concurrent computation
Models and languages of concurrent computation Lecture 11 of TDA383/DIT390 (Concurrent Programming) Carlo A. Furia Chalmers University of Technology University of Gothenburg SP3 2016/2017 Today s menu
More informationThe Google File System
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google SOSP 03, October 19 22, 2003, New York, USA Hyeon-Gyu Lee, and Yeong-Jae Woo Memory & Storage Architecture Lab. School
More informationCluster-Based Scalable Network Services
Cluster-Based Scalable Network Services Suhas Uppalapati INFT 803 Oct 05 1999 (Source : Fox, Gribble, Chawathe, and Brewer, SOSP, 1997) Requirements for SNS Incremental scalability and overflow growth
More informationVLSI System Testing. Fault Simulation
ECE 538 VLSI System Testing Krish Chakrabarty Fault Simulation ECE 538 Krish Chakrabarty Fault Simulation Problem and motivation Fault simulation algorithms Serial Parallel Deductive Concurrent Random
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS CONSISTENCY AND REPLICATION CONSISTENCY MODELS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Consistency Models Background Replication Motivation
More informationChapter 18: Parallel Databases
Chapter 18: Parallel Databases Introduction Parallel machines are becoming quite common and affordable Prices of microprocessors, memory and disks have dropped sharply Recent desktop computers feature
More information