Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Natalia Chechina and RELEASE Team June 11, 2015
- N. Chechina, RELEASE team
Scaling Distributes Systems
Scaling Distributes Systems Natalia Chechina and RELEASE Team June - - PowerPoint PPT Presentation
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources Scaling Distributes Systems Natalia Chechina and RELEASE Team June 11, 2015 N. Chechina, RELEASE team Scaling Distributes Systems Distributed Erlang
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Funded by EU FP7 Framework 5 academic & 3 industrial partners Aim: To scale the radical actor (concurrency-oriented) paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines (105 cores) Erlang programming language
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
spawn(Node, Module, Function, Args) → pid()
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Global operations Global operations, i.e. registering names using global module
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Global operations Global operations, i.e. registering names using global module Other global operations, e.g. using rpc:call to call multiple nodes
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Global operations Global operations, i.e. registering names using global module Other global operations, e.g. using rpc:call to call multiple nodes All-to-all transitive connections
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Global operations Global operations, i.e. registering names using global module Other global operations, e.g. using rpc:call to call multiple nodes All-to-all transitive connections
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Global operations Global operations, i.e. registering names using global module Other global operations, e.g. using rpc:call to call multiple nodes All-to-all transitive connections
Reliability and fault tolerance – when a process or a node fail, the remaining nodes know about that. The same holds for the recovery It’s already there – no extra effort to connect nodes and distribute information Easy to scale – a new node knows about running nodes, and vice versa
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
All-to-all connections are not scalable onto 1000s of nodes Aim: Reduce connectivity
Becomes not feasible for a programmer to be aware of all nodes Aim: Automatic process placement in groups of nodes
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
bwlf16 bwlf13 bwlf15 bwlf03 bwlf05 bwlf34 bwlf06 bwlf12 bwlf08 bwlf27 bwlf33 bwlf18 bwlf28 bwlf23 bwlf04 bwlf07 bwlf10 bwlf17 bwlf26 bwlf01 bwlf20 bwlf21 bwlf31 bwlf14 bwlf19 bwlf24 bwlf25 bwlf29 bwlf02 bwlf09 bwlf22 bwlf30 bwlf11 bwlf32 amaterasu persephone
cantor
10000 15000 20000 25000 30000 Height
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources SD Erlang Network Scalability Validation Semi-Explicit Placement
s_group: choose_nodes ([Parameter]) -> [Node] where Parameter = {s_group , SGroupName} | {attribute , AttributeName } | {nearer , 0.4} | {between , 0.5, 0.7} SGroupName = group_name () AttributeName = term ()
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources S group Operational Semantics Validation of SD Erlang Semantics and Implementation
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources S group Operational Semantics Validation of SD Erlang Semantics and Implementation
Figure: Testing SD Erlang Using QuickCheck eqc statem
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems
Distributed Erlang Scalable Distributed (SD) Erlang Operational Semantics Plans Sources
Scaling Distributes Systems