Dynamo Recap Hadoop & Spark

Slides:



Advertisements
Similar presentations
Dynamo: Amazon’s Highly Available Key-value Store
Advertisements

Dynamo: Amazon’s Highly Available Key-value Store ID2210-VT13 Slides by Tallat M. Shafaat.
Case Study - Amazon. Amazon r Amazon has many Data Centers r Hundreds of services r Thousands of commodity machines r Millions of customers at peak times.
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Distributed Hash Tables Chord and Dynamo Costin Raiciu, Advanced Topics in Distributed Systems 18/12/2012.
Amazon’s Dynamo Simple Cloud Storage. Foundations 1970 – E.F. Codd “A Relational Model of Data for Large Shared Data Banks”E.F. Codd –Idea of tabular.
Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
Dynamo: Amazon's Highly Available Key-value Store Guiseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin,
Dynamo Highly Available Key-Value Store 1Dennis Kafura – CS5204 – Operating Systems.
Distributed Computations
Dynamo Kay Ousterhout. Goals Small files Always writeable Low latency – Measured at 99.9 th percentile.
Dynamo: Amazon’s Highly Available Key- value Store (SOSP’07) Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman,
Dynamo A presentation that look’s at Amazon’s Dynamo service (based on a research paper published by Amazon.com) as well as related cloud storage implementations.
Distributed Computations MapReduce
L22: SC Report, Map Reduce November 23, Map Reduce What is MapReduce? Example computing environment How it works Fault Tolerance Debugging Performance.
Amazon’s Dynamo System The material is taken from “Dynamo: Amazon’s Highly Available Key-value Store,” by G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati,
Dynamo: Amazon’s Highly Available Key-value Store Giuseppe DeCandia, et.al., SOSP ‘07.
Cloud Storage – A look at Amazon’s Dyanmo A presentation that look’s at Amazon’s Dynamo service (based on a research paper published by Amazon.com) as.
Dynamo: Amazon’s Highly Available Key-value Store Presented By: Devarsh Patel 1CS5204 – Operating Systems.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
Peer-to-Peer in the Datacenter: Amazon Dynamo Aaron Blankstein COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Hadoop Ida Mele. Parallel programming Parallel programming is used to improve performance and efficiency In a parallel program, the processing is broken.
MapReduce.
Dynamo: Amazon’s Highly Available Key-value Store COSC7388 – Advanced Distributed Computing Presented By: Eshwar Rohit
MapReduce. Web data sets can be very large – Tens to hundreds of terabytes Cannot mine on a single server Standard architecture emerging: – Cluster of.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
Dynamo: Amazon's Highly Available Key-value Store Dr. Yingwu Zhu.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Amazon’s Dynamo Lecturer.
Dynamo: Amazon’s Highly Available Key-value Store
CSE 486/586 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
MapReduce M/R slides adapted from those of Jeff Dean’s.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Data Versioning Lecturer.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
Information Retrieval Lecture 9. Outline Map Reduce, cont. Index compression [Amazon Web Services]
Chapter 5 Ranking with Indexes 1. 2 More Indexing Techniques n Indexing techniques:  Inverted files - best choice for most applications  Suffix trees.
Initial ideas on Distributed Reasoning. Expressivity The subset of RDF/OWL and that has rule- based inference – OWL –RL In general, datalog Example: –
Department of Computer Science, Johns Hopkins University EN Instructor: Randal Burns 24 September 2013 NoSQL Data Models and Systems.
Big Data Yuan Xue CS 292 Special topics on.
Kitsuregawa Laboratory Confidential. © 2007 Kitsuregawa Laboratory, IIS, University of Tokyo. [ hoshino] paper summary: dynamo 1 Dynamo: Amazon.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Amazon’s Dynamo Lecturer.
Image taken from: slideshare
Some slides adapted from those of Yuan Yu and Michael Isard
Amazon Simple Storage Service (S3)
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
Partitioning and Replication
Dynamo: Amazon’s Highly Available Key-value Store
Lecturer : Dr. Pavle Mogin
Lecture 9: Dynamo Instructor: Weidong Shi (Larry), PhD
Scaling Out Key-Value Storage
Apache Spark Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing Aditya Waghaye October 3, 2016 CS848 – University.
MapReduce Computing Paradigm Basics Fall 2013 Elke A. Rundensteiner
Introduction to Spark.
MapReduce Simplied Data Processing on Large Clusters
Providing Secure Storage on the Internet
February 26th – Map/Reduce
EECS 498 Introduction to Distributed Systems Fall 2017
Cse 344 May 4th – Map/Reduce.
آزمايشگاه سيستمهای هوشمند علی کمالی زمستان 95
CS110: Discussion about Spark
EECS 498 Introduction to Distributed Systems Fall 2017
Distributed System Gang Wu Spring,2018.
Quiz 2 Review Slides.
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Decoupled Storage: “Free the Replicas!”
Last Class: Web Caching
Fast, Interactive, Language-Integrated Cluster Computing
COS 518: Distributed Systems Lecture 11 Mike Freedman
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
Presentation transcript:

Dynamo Recap Hadoop & Spark 6.830 Lecture 19 11/15/2017

Dynamo Recap Key ideas: Get/put KV-store w/ single key atomicity All data replicated on N nodes Data stored in “ring” representing space of hash values from say, 02128 “Overlay network”: Nodes are not actually in a physical ring, but are just machines on the Internet Each node occupies one (or multiple) random locations on ring N=3 k A key hashed to location k is stored on N successors in ring

Joining the Ring Administrators explicitly add / remove nodes When a node joins, it contacts a list of “seed nodes” Other nodes periodically “gossip” to learn about ring structure When a node i learns about new node j, i sends j any keys j is responsible for

Quorum Reads N replicas Write to R, read from W Always try to read or write to N nodes, but only require R or W to succeed If R + W > N, then all reads will see at least one copy of most recent write Need some way to ensure that if fewer than N nodes written to, write eventually propagates

Sloppy Quorum & Hinted Handoff If fewer than N writes succeed, continue around ring, past successors K=x Hint: Owner=E N=3 k 2 our of 3 writes succeed Continue around ring, write to B

Sloppy Quorum  Divergence If network is partitioned, hinted handoff can lead to divergent replicas E.g., suppose N=3, W=2, R=2, Partitioned ✔(sloppy) ✔(sloppy) k Client 1 ✔

Sloppy Quorum  Divergence If network is partitioned, hinted handoff can lead to divergent replicas E.g., suppose N=3, W=2, R=2, Partitioned (sloppy) ✔ Two different versions of key k, k1 and k2 now exist ✔ k Client 2 ✔

Vector Clocks k Each node keeps a monotonic version counter that increments for every write it masters Each data item has a clock, consisting of a list of the most recent version it includes from each master A B C D E F

Vector Clocks k ✔ ✔ ✔ Each node keeps a monotonic version counter that increments for every write it masters Each data item has a clock, consisting of a list of the most recent version it includes from each master A B C D E F 1 [C,1]

✔ Vector Clocks ✔ k ✔ C1 Each node keeps a monotonic version counter that increments for every write it masters Each data item has a clock, consisting of a list of the most recent version it includes from each master A B C D E F 1 [C,1] 2 [C,2]

Vector Clocks ✔ ✔ k C2 ✔ Each node keeps a monotonic version counter that increments for every write it masters Each data item has a clock, consisting of a list of the most recent version it includes from each master A B C D E F 1 [C,1] 2 [C,2] 3 [C,1][D,1] Incomparable (can’t totally order)

Read Repair Possible for a client to read 2 incomparable versions Need reconciliation; options: Latest writer wins Application specific reconciliation (e.g., shopping cart union) After reconciliation, perform write back, so replicas know about new state

Anti-entropy Once a partition heals, or a node recovers, need a way to patch up Could rely on gossip & hinted handoff But system also periodically compares with other nodes responsible for each key range Comparison done via hashing Here, for EA range, B and C are also responsible

MapReduce Word Count Example map(String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1"); reduce(String key, Iterator values): // key: a word – called once per word in all docs // values: a “1” for each occurrence of this work in all docs int result = length(values) Emit(AsString(result));

Spark Example //Find error lines lines = spark.textFile("hdfs://...") errors = lines.filter(_.startsWith("ERROR")) errors.persist() //count all errors errors.count() // Count errors mentioning MySQL: errors.filter(_.contains("MySQL")).count() // Return the time fields of errors mentioning // HDFS as an array (assuming time is field // number 3 in a tab-separated format): errors.filter(_.contains("HDFS")) .map(_.split(’\t’)(3)) .collect()

Lineage Graph

Types of Dependencies

Scheduling Stages Not Cached RDD Cached RDD

Spark Performance