Scalability. ! Load Balancing. ! Provisioning/auto scaling. ! State Caching Commonly used items of the database are kept in memory. !

Size: px
Start display at page:

Download "Scalability. ! Load Balancing. ! Provisioning/auto scaling. ! State Caching Commonly used items of the database are kept in memory. !"

Transcription

1 Scalability! Load Balancing Recommended Text: Scalability! Provisioning/auto scaling! State Caching Commonly used items of the database are kept in memory. Replication Logical items of the database (e.g., tuples, objects) have multiple physical copies located on different nodes. Partitioning Logical items of the database (e.g., tuples, objects) are divided among multiple physical nodes. Database Replication Bettina Kemme, Ricardo Jiménez-Peris, Marta Patiño-Martínez Morgan & Claypool Publishers! Fault Tolerance VMware Inc. All rights reserved Load Balancing! Determines where requests/transactions will be executed! Blind techniques 3 Require minimum or no state on load balancer Strategies: Random Round robin! Load aware Consider load on replicas when routing requests Different request may generate different load Replica nodes may have different capacity Strategies: Shortest queue first Simple to implement, just track number of active requests Least loaded Replicas need to periodically provide load info to load balancer Load Balancing! Application Aware 4 Uses knowledge of the application Strategies: Shortest execution length Profile request types to generate execution time estimates Load estimates load at replica by keeping tracks of pending requests and their type, i.e., determines application-specific load metric. Routes to less loaded replica Locality-aware request distribution (LARD) Takes into account data accessed by requests, and routes similar request to the same replica to increase cache hit rates Conflict-aware distribution Execute potentially conflicting requests on same replica for early conflict detection 1

2 Load Balancing Comparison! Blind General Easy to implement Suboptimal! Load aware Better performance Require more state! Application aware Best performance Require even more state Harder to implement Brittle need to change if application changes AWS Elastic Load Balancer! Balances load between EC2 instances! Can distribute load across availability zones! Within an availability zone: Round-robin among the least-busy instances Tracks active connections per instance Does not monitor CPU! Supports the ability to stick user sessions to specific EC2 instances. 5 6 AppEngine Load Balancing! Google is not saying! Self Provisioning! Automatically adjust the worker pool or number of replicas to the current workload Add workers/replicas when load increases Retire replica/workers when under load! Approaches Reactive Reconfigure when load threshold reached Proactive User prediction mechanism to trigger reconfiguration Reconfigure before saturation Based on time series or machine learning approaches 7 8 2

3 Self Provisioning! Retiring replicas/workers Move instance load to rest of system All new request go to other nodes Wait for outstanding transactions to commit When idle, release Self Provisioning Considerations! Load metrics Use low level system metrics to determine node utilization CPU, I/O utilization Use application level metrics Response time, e.g., transaction completes within X milliseconds.! Adding replicas/workers Transfer state/database to new replica Receive all updates that occurred during previous transfer Add replica to pool! Cost/latency prediction How long and how expensive it is to add a replica/worker Reactive: the higher the latency the lower the configuration threshold Proactive: the higher the latency the farther into the future we need to predict! Monitoring Monitoring isn t free The more data that we collect, the higher the impact on the system 9 10 AWS Auto Scaling! Scale automatically according to user-defined conditions! Enabled by CloudWatch! Create scale up/down policy! Associate scaling policy with CloudWatch alarm AS Tutorial! Step 1: Download the command line tools Step 2: Create a credentials file AWSAccessKeyId=<Write your AWS access ID> AWSSecretKey=<Write your AWS secret key>! Step 3: Set environment variables AWS_AUTO_SCALING_HOME=<directory where you installed the tools> JAVA_HOME=<java installation home directory> PATH = $AWS_AUTO_SCALING_HOME/bin:$PATH AWS_CREDENTIAL_FILE=<the file created in 2>! Step 4: Test as-cmd help prints list of available commands

4 Tutorial! Step 5: Create a EC2 security group and a load balancer! Step 6: Create a launch configuration AS Tutorial! Step 9: Create alarms on CloudWatch and associate with AS policy as-create-launch-config ece1779_config --image-id ami-37ec3c5e --instance-type m1.small --group default! Step 7: Create an auto scaling group as-create-auto-scaling-group ece1779_group --availability-zones us-east-1a --launch-configuration ece1779_config --min-size=1 --max-size 3 --load-balancers ece1779loadbalancer --health-check-type ELB --grace-period 300 Health-chek-type can set to EC2 (machine level health) or ELB (app-level health)! Step 8: Create a scaling policy as-put-scaling-policy ScaleUp --auto-scaling-group ece1779_group --adjustment=1 --type ChangeInCapacity Other types: ExactCapacity and PecentageChangeInCapacity AppEngine Auto Scaling! App owner can adjust the front instance class,# of idle instances, and the pending latency. AppEngine Auto Scaling! Can configure number of backend nodes! war/web-inf/backends.xml! Administer AppEngine management console appcfg.sh command line tool (part of the Java SDK)

5 Caching! Objective: Reduce load on storage server Reduce latency to access data! Store recent/hot/frequent data in RAM! Volatile! Fast read/write access memcached! A distributed memory cache implementation! Provides a key-value store interface put (key,value) value = get(key)! Scalable and consistent temporary storage Secondary system that provides fast access to data Data stored reliably somewhere else Google memcache! Inspired by memcached! Commonly used to cache datastore entities by their keys! Key is up to 250 bytes long Larger keys hashed! Value can be up to 1 megabyte! Single value operation are atomic No support for multi-item transactions! Support for atomic numeric value increment/decrement Usage Model! Data accesses get value from memcached if cache miss fectch data from datastore put value on memcached operate on value! Date updates Possible to overwrite value with new data No transactional way to do this Update may succeed in datastore and fail in memcache Updates may happen at different order in datastore and memcache Instead: Invalidate item on update Fetch fresh value on next access

6 Memcache Java API! Key and value can be any Java serializable object! Obtain memcache pointer MemcacheService synccache = MemcacheServiceFactory.getMemcacheService();! Put Memcache Java API! Get! Delete! Contains Memcache Java API! Increment! Cache statistics Replication! Fault tolerance High availability despite failures If one replica fails, there is another one that can take over! Throughput Support a large use base Each replica handles a fraction of the users Scalability! Response time Support a geographically distributed user base There is a replica close to the user Fast local access

7 Stateless vs. Stateful! Stateless Services that require mainly computing State can be regenerated on demand Easy to replicate! Stateful Services uses business critical data Good performance depends on state availability Harder to replicate Transactions! User-defined sequence of read and write operations on data items that meet the following properties: Atomicity Transaction either executes entirely and commits, or it aborts not leaving any changes in the database All or nothing Consistency Integrity constraints on the data are maintained Isolation Provides impression that no other transaction is executing in the system Durability Once the transaction commits, the changes are indeed reflected in the database, even in the event of failures Replica Control! Task of keeping data copies consistent as items are updated! There is a set of database nodes R A, R B,! Database consist of set of logical data items x, y,.! Each logical item x has physical copies x A, x B,. Where x A resides in R A! A transaction is a sequence of read and write operation on logical data items! The replica control mechanism maps the operation on the logical data items onto the physical copies Read-One-Write-All (ROWA)! Common replica control method! Read can be sent to any replicas Logical read operation r i (x) on transaction T i Mapped to r i (x A ) on one particular copy of x! Updates performed on all replicas Logical write operation w i (x) on transaction T i Mapped to w i (x A ), w i (x B ), on one particular copies of x! ROWA works well because on most applications reads >> writes

8 1-copy equivalence! A replicated system provides the same semantics as a nonreplicated system 1-copy-isolation 1-copy-atomicity 1-copy-durability 1-copy-consistency! Requires thigh coupling of replica control mechanisms with db mechanisms that achieve: atomicity, consistency, isolation, durability Serializability! Most well-known isolation model! Provides strongest isolation level! Concurrent execution of a set of transactions most be equivalent to some possible serial execution of the set! Conflict: two operations that access the same item, are from different transactions, and at least 1 is a write! To be serializable all conflicts have to execute in the same order Ti has to appear to execute before Tj or Tj before Ti Acyclic serialization graph S1, S2 are serial executions S3 is serializable S4 is unserializable Serializability! Use concurrency control to enforce transaction isolation Acquire share lock before read Acquire exclusive lock before write Release all locks at end of transaction (2-phase locking) 1-copy-serializability! First attempt: just make sure schedules are serializable at each replica Does not work! Need to order all conflicting operations in the same way! Whenever one local schedule executes one of Ti s operations before a conflicting operation of Tj, then Ti is executed before Tj in all replicas

9 1-copy-atomicity! Transaction executes on its entirety and commits, or it aborts and does not leave any effects on database! On replicated database Transaction has to have same decision of either all (commit) or nothing (abort) at all replicas at which it performs ROWA All replicas for update transaction 1 replica for read-only transactions Requires some agreements protocol to force all replicas to reach same decision on outcome of transaction 2-phase commit Read-One-Write-All (ROWA)! Key design alternatives: Where are updates executed When are changes propagated How are changes propagated Primary Copy vs. Update Anywhere! Primary copy All updates are executed first on a single node, the primary Advantages: simpler to implement Disadvantages: primary can be come bottleneck! Update Anywhere/Everywhere Updates and read only request can be sent to any replica Advantages: potentially more scalable Disadvantages: harder to guarantee consistency Eager vs. Lazy! Eager replication Confirmation is only returned to user once all secondaries execute update Advantages: Strong consistency Disadvantages: Replica coordination can be slow! Lazy/asynchronous replication Confirmation is returned to client after updates are applied to a single replica Updates are subsequently propagated to other replicas Advantages: Fast Disadvantages: Weaker consistency, potential for conflicts

10 Eager Primary Copy Eager Primary Copy Properties S(y) acquire shared lock X(y) acquire exclusive lock U(y) unlock! Strengths 1-copy-serializability 1-copy-atomicity! Weaknesses Transaction only commits when all replicas have executed writes Execution time determined by slowest replica 2-phase-commit is slow and expensive Combination of eager write propagation and locking can lead to blocking in the presence of long read transactions Primary may become bottleneck as it has to execute all reads for update transactions Single point of failure Eager Update Anywhere Eager Update Anywhere Properties! Strengths 1-copy-serializability 1-copy-atomicity No single point of failure! Weaknesses Possibility for distributed deadlock Adds significant complexity to protocol Transaction only commits when all replicas have executed writes Execution time determined by slowest replica 2-phase-commit is slow and expensive Combination of eager write propagation and locking can lead to blocking in th presence of long read transactions

11 Lazy Primary Copy Lazy Primary Copy Properties! Strengths Fast Transactions don t involve remote communication! Weaknesses Weak consistency Remote replicas have stale date Does not comply with 1-copy-atomicity Similar bottleneck issues as eager primary copy Lazy Update Anywhere Lazy Update Anywhere Properties! Strengths Fast Transactions don t involve remote communication! Weaknesses Weak consistency Remote replicas have stale date Does not comply with 1-copy-atomicity, 1-copy-isolation

12 Processing Write Operations Replication Architecture! Writes have to the executed on all replicas! Write processing is the main overhead of replication! Symmetric update processing 45 SQL statement is sent to all replicas All replicas parse the statement, determine the tuples affected, and perform the modification/deletion/insertion. Pros: Reuse existing mechanisms Cons: Redundancy Execution has to be deterministic. Consider and update that sets a timestamp! Asymmetric update processing SQL statement is executed locally on a single replica Writeset (extracted changes) sent to other replicas Identifier and after-image of each updated record Pros: Efficiency Cons: Harder to implement! Kernel-based or White-box approach Implement inside the database Pros: Best integration with concurrency control and other transaction control mechanisms Cons: Hard to maintain and port to other databases Confined to a single database system! Middleware-based or Black-box approach Replication performed by an outside component interposed between the database replicas and the client Pros: Does not require changes to the database Portability, modularity Can use different database systems Cons: Have to re-implement concurrency control Coarse-grain locking " Less parallelism! Grey-box approach Database provides special replications API Example: a writeset extraction/application API Middleware calls on the APIs 46 MySQL Replication! ROWA! Primary copy! Eager and lazy replication! Symmetric and asymmetric update processing! Full and partial replication MySQL Isolation Levels! SERILIZABLE! REPEATABLE READ (default) By default reads do not acquire locks A snapshot is created at transaction start Multiple reads to the same item will return consistent value Writes by others will not be seen Possible to acquire explicit locks SELECT * FROM sometable FOR UPDATE SELECT * FROM sometable LOCK IN SHARE MODE! READ COMMITTED! READ UNCOMMITTED

13 App Engine Datastore! High Replication Datastore (HRD) Data is replicated across multiple data centers using a consensus algorithm Queries are eventually consistent Pros: Highest level of availability for reads and writes Cons: Higher latency on writes due to the propagation of data.! Master/Slave Datastore One data center holds the master copy of all data Data written to the master data center is replicated asynchronously to all other (slave) data centers. Pros: Strong consistency for all reads and queries Cons: Temporary unavailability during data center downtime Failures! Machine crashes! Network errors Partitions Quorum protocols Message loss TCP handles this case Message corruption TCP handles this case Self Healing! Normal operation Replica control protocols keep replicas consistent Provide enough information to recover from failures! Failover Failure detections In case of primary failure, choose a new primary Voting Deterministic assignment scheme, e.g., chose surviving replica with smallest ID Deal with outstanding transactions Preserve atomicity All submitted transactions should either commit or abort at all remaining replicas! Recovery Restart a failed replica, or create a new replica Integrate into the replication system Failure Tolerant Architecture! Decouple application to tolerate failure! Implemented as shared-noting independent modules! Use reliable message queues for coordination! When a task fails, it is just restarted! In addition, each part of the application can scale independently! Examples: Amazon SQS, AppEngine Task Queues

14 AppEngine Task Queues! Task Quest Asynchronous processing Image transcoding of the critical path! Scheduled Tasks Periodic processing, cron jobs Fetching and caching data from remote services Sending daily status s Generating reports Task Queues! A facility for enqueueing HTTP requests! Fault tolerant Retry if task does not succeed (returns HTTP 200 status) Retry rate uses exponential backoff strategy! Enqueueing a task is fast About 3 time faster than writing to datastore Adding a Task! Tasks consist of URL If null, URL set to /_ah/queue/queue-name Default URL for default queue: /_ah/queue/default Name If null, AppEngine assignes a unique name Name can be used to prevent enqueueing duplicates Request parameters Configuring Task Queues! Task queues defined in WEB-INF/queue.xml! An application can have up to 10 queues! Configure queues to determine how fast tasks execute bucket-size " maximum number tokens for the queue to execute, a task need a token rate " speed at which token are replenished

15 Securing Tasks! AppEngine s front end recognizes requests coming from a queue as if it were coming from a developer account! Can use web.xml to restrict access to task URLs Sharding! Challenges: Very large working set Slows reads Facebook/Google user table Too many writes! Solution: Partition the data into shards Assign shards to different machines Denormalize the data Sharding Strategies! Range-based partitioning E.g., username from a to m assigned to shard 1, n to z to shard 2 Pros: simple Cons: hard to get load balancing right! Hash-based partitioning Compute hash of key. Different shards responsible for different hash ranges Pros: Good load balancing Cons: A little more complex,! Directory-based partitioning Lookup service keeps track of partitioning scheme Pros: Flexibility Cons: Lookup service may become bottleneck Denormalization! Data that is access together is stored together E.g., multi valued properties in AppEngine datastore entities! Eliminates costly joins! May require replication E.g., a comment may be stored on the commenter s and commentee s profile

16 Sharding! Pros High availability Faster queries More write bandwidth! Cons Queries get more complicated Need to figure out which shard to target May need to join data from multiple shards Referential integrity Foreign key constrains are hard to enforce Not supported in many databases 61 16

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 14: Data Replication Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Database Replication What is database replication The advantages of

More information

Database Replication: A Tutorial

Database Replication: A Tutorial Chapter 12 Database Replication: A Tutorial Bettina Kemme, Ricardo Jiménez-Peris, Marta Patiño-Martínez, and Gustavo Alonso Abstract This chapter provides an in-depth introduction to database replication,

More information

Replication in Distributed Systems

Replication in Distributed Systems Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over

More information

Database Replication

Database Replication Database Replication Synthesis Lectures on Data Management Editor M. Tamer Özsu, University of Waterloo Synthesis Lectures on Data Management is edited by Tamer Özsu of the University of Waterloo. The

More information

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions CSE 544 Principles of Database Management Systems Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions Transactions Main issues: Concurrency control Recovery from failures 2 Distributed Transactions

More information

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi 1 Lecture Notes 1 Basic Concepts Anand Tripathi CSci 8980 Operating Systems Anand Tripathi CSci 8980 1 Distributed Systems A set of computers (hosts or nodes) connected through a communication network.

More information

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs 1 Anand Tripathi CSci 8980 Operating Systems Lecture Notes 1 Basic Concepts Distributed Systems A set of computers (hosts or nodes) connected through a communication network. Nodes may have different speeds

More information

CPS 512 midterm exam #1, 10/7/2016

CPS 512 midterm exam #1, 10/7/2016 CPS 512 midterm exam #1, 10/7/2016 Your name please: NetID: Answer all questions. Please attempt to confine your answers to the boxes provided. If you don t know the answer to a question, then just say

More information

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo Document Sub Title Yotpo Technical Overview 07/18/2016 2015 Yotpo Contents Introduction... 3 Yotpo Architecture... 4 Yotpo Back Office (or B2B)... 4 Yotpo On-Site Presence... 4 Technologies... 5 Real-Time

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in

More information

Making Non-Distributed Databases, Distributed. Ioannis Papapanagiotou, PhD Shailesh Birari

Making Non-Distributed Databases, Distributed. Ioannis Papapanagiotou, PhD Shailesh Birari Making Non-Distributed Databases, Distributed Ioannis Papapanagiotou, PhD Shailesh Birari Dynomite Ecosystem Dynomite - Proxy layer Dyno - Client Dynomite-manager - Ecosystem orchestrator Dynomite-explorer

More information

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together Fault-Tolerant Computer System Design ECE 695/CS 590 Putting it All Together Saurabh Bagchi ECE/CS Purdue University ECE 695/CS 590 1 Outline Looking at some practical systems that integrate multiple techniques

More information

Integrity in Distributed Databases

Integrity in Distributed Databases Integrity in Distributed Databases Andreas Farella Free University of Bozen-Bolzano Table of Contents 1 Introduction................................................... 3 2 Different aspects of integrity.....................................

More information

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need

More information

Distributed KIDS Labs 1

Distributed KIDS Labs 1 Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database

More information

Cache Coherence in Distributed and Replicated Transactional Memory Systems. Technical Report RT/4/2009

Cache Coherence in Distributed and Replicated Transactional Memory Systems. Technical Report RT/4/2009 Technical Report RT/4/2009 Cache Coherence in Distributed and Replicated Transactional Memory Systems Maria Couceiro INESC-ID/IST maria.couceiro@ist.utl.pt Luis Rodrigues INESC-ID/IST ler@ist.utl.pt Jan

More information

Scalability of web applications

Scalability of web applications Scalability of web applications CSCI 470: Web Science Keith Vertanen Copyright 2014 Scalability questions Overview What's important in order to build scalable web sites? High availability vs. load balancing

More information

CISC 7610 Lecture 5 Distributed multimedia databases. Topics: Scaling up vs out Replication Partitioning CAP Theorem NoSQL NewSQL

CISC 7610 Lecture 5 Distributed multimedia databases. Topics: Scaling up vs out Replication Partitioning CAP Theorem NoSQL NewSQL CISC 7610 Lecture 5 Distributed multimedia databases Topics: Scaling up vs out Replication Partitioning CAP Theorem NoSQL NewSQL Motivation YouTube receives 400 hours of video per minute That is 200M hours

More information

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology Mobile and Heterogeneous databases Distributed Database System Transaction Management A.R. Hurson Computer Science Missouri Science & Technology 1 Distributed Database System Note, this unit will be covered

More information

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5.

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5. Question 1 What makes a message unstable? How does an unstable message become stable? Distributed Systems 2016 Exam 2 Review Paul Krzyzanowski Rutgers University Fall 2016 In virtual sychrony, a message

More information

CLOUD-SCALE FILE SYSTEMS

CLOUD-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 information

Building Web-Scale Applications with AWS

Building Web-Scale Applications with AWS #reinvent Building Web-Scale Applications with AWS Simon Elisha / Principal Solution Architect / @simon_elisha James Hamilton / Vice President & Distinguished Engineer 8 Months of Travel 7 Minutes of Terror

More information

Chapter 11 - Data Replication Middleware

Chapter 11 - Data Replication Middleware Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 11 - Data Replication Middleware Motivation Replication: controlled

More information

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB s C. Faloutsos A. Pavlo Lecture#23: Distributed Database Systems (R&G ch. 22) Administrivia Final Exam Who: You What: R&G Chapters 15-22

More information

Scaling Out Key-Value Storage

Scaling Out Key-Value Storage Scaling Out Key-Value Storage COS 418: Distributed Systems Logan Stafman [Adapted from K. Jamieson, M. Freedman, B. Karp] Horizontal or vertical scalability? Vertical Scaling Horizontal Scaling 2 Horizontal

More information

SCALABLE CONSISTENCY AND TRANSACTION MODELS

SCALABLE CONSISTENCY AND TRANSACTION MODELS Data Management in the Cloud SCALABLE CONSISTENCY AND TRANSACTION MODELS 69 Brewer s Conjecture Three properties that are desirable and expected from realworld shared-data systems C: data consistency A:

More information

Designing Fault-Tolerant Applications

Designing Fault-Tolerant Applications Designing Fault-Tolerant Applications Miles Ward Enterprise Solutions Architect Building Fault-Tolerant Applications on AWS White paper published last year Sharing best practices We d like to hear your

More information

CSE 444: Database Internals. Lecture 25 Replication

CSE 444: Database Internals. Lecture 25 Replication CSE 444: Database Internals Lecture 25 Replication CSE 444 - Winter 2018 1 Announcements Magda s office hour tomorrow: 1:30pm Lab 6: Milestone today and due next week HW6: Due on Friday Master s students:

More information

Highly Available Database Architectures in AWS. Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona

Highly Available Database Architectures in AWS. Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona Highly Available Database Architectures in AWS Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona Hello, Percona Live Attendees! What this talk is meant to

More information

Advanced Databases Lecture 17- Distributed Databases (continued)

Advanced Databases Lecture 17- Distributed Databases (continued) Advanced Databases Lecture 17- Distributed Databases (continued) Masood Niazi Torshiz Islamic Azad University- Mashhad Branch www.mniazi.ir Alternative Models of Transaction Processing Notion of a single

More information

Large-Scale Web Applications

Large-Scale Web Applications Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out

More information

Horizontal or vertical scalability? Horizontal scaling is challenging. Today. Scaling Out Key-Value Storage

Horizontal or vertical scalability? Horizontal scaling is challenging. Today. Scaling Out Key-Value Storage Horizontal or vertical scalability? Scaling Out Key-Value Storage COS 418: Distributed Systems Lecture 8 Kyle Jamieson Vertical Scaling Horizontal Scaling [Selected content adapted from M. Freedman, B.

More information

Going Serverless. Building Production Applications Without Managing Infrastructure

Going Serverless. Building Production Applications Without Managing Infrastructure Going Serverless Building Production Applications Without Managing Infrastructure Objectives of this talk Outline what serverless means Discuss AWS Lambda and its considerations Delve into common application

More information

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures GFS Overview Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures Interface: non-posix New op: record appends (atomicity matters,

More information

Chapter 20: Database System Architectures

Chapter 20: Database System Architectures Chapter 20: Database System Architectures Chapter 20: Database System Architectures Centralized and Client-Server Systems Server System Architectures Parallel Systems Distributed Systems Network Types

More information

Oracle WebLogic Server 12c on AWS. December 2018

Oracle WebLogic Server 12c on AWS. December 2018 Oracle WebLogic Server 12c on AWS December 2018 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only. It represents

More information

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud? DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing Slide 1 Slide 3 ➀ What is Cloud Computing? ➁ X as a Service ➂ Key Challenges ➃ Developing for the Cloud Why is it called Cloud? services provided

More information

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS Dr Adnene Guabtni, Senior Research Scientist, NICTA/Data61, CSIRO Adnene.Guabtni@csiro.au EC2 S3 ELB RDS AMI

More information

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson Distributed systems Lecture 6: Elections, distributed transactions, and replication DrRobert N. M. Watson 1 Last time Saw how we can build ordered multicast Messages between processes in a group Need to

More information

CIT 668: System Architecture. Amazon Web Services

CIT 668: System Architecture. Amazon Web Services CIT 668: System Architecture Amazon Web Services Topics 1. AWS Global Infrastructure 2. Foundation Services 1. Compute 2. Storage 3. Database 4. Network 3. AWS Economics Amazon Services Architecture Regions

More information

NoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems

NoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems CompSci 516 Data Intensive Computing Systems Lecture 21 (optional) NoSQL systems Instructor: Sudeepa Roy Duke CS, Spring 2016 CompSci 516: Data Intensive Computing Systems 1 Key- Value Stores Duke CS,

More information

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and

More information

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer MySQL Group Replication Bogdan Kecman MySQL Principal Technical Engineer Bogdan.Kecman@oracle.com 1 Safe Harbor Statement The following is intended to outline our general product direction. It is intended

More information

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems Jargons, Concepts, Scope and Systems Key Value Stores, Document Stores, Extensible Record Stores Overview of different scalable relational systems Examples of different Data stores Predictions, Comparisons

More information

Distributed File Systems II

Distributed File Systems II Distributed File Systems II To do q Very-large scale: Google FS, Hadoop FS, BigTable q Next time: Naming things GFS A radically new environment NFS, etc. Independence Small Scale Variety of workloads Cooperation

More information

EECS 498 Introduction to Distributed Systems

EECS 498 Introduction to Distributed Systems EECS 498 Introduction to Distributed Systems Fall 2017 Harsha V. Madhyastha Dynamo Recap Consistent hashing 1-hop DHT enabled by gossip Execution of reads and writes Coordinated by first available successor

More information

Large-Scale Key-Value Stores Eventual Consistency Marco Serafini

Large-Scale Key-Value Stores Eventual Consistency Marco Serafini Large-Scale Key-Value Stores Eventual Consistency Marco Serafini COMPSCI 590S Lecture 13 Goals of Key-Value Stores Export simple API put(key, value) get(key) Simpler and faster than a DBMS Less complexity,

More information

CSE 530A ACID. Washington University Fall 2013

CSE 530A ACID. Washington University Fall 2013 CSE 530A ACID Washington University Fall 2013 Concurrency Enterprise-scale DBMSs are designed to host multiple databases and handle multiple concurrent connections Transactions are designed to enable Data

More information

Distributed Systems. Day 13: Distributed Transaction. To Be or Not to Be Distributed.. Transactions

Distributed Systems. Day 13: Distributed Transaction. To Be or Not to Be Distributed.. Transactions Distributed Systems Day 13: Distributed Transaction To Be or Not to Be Distributed.. Transactions Summary Background on Transactions ACID Semantics Distribute Transactions Terminology: Transaction manager,,

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6302- DATABASE MANAGEMENT SYSTEMS Anna University 2 & 16 Mark Questions & Answers Year / Semester: II / III

More information

Database Management Systems

Database Management Systems Database Management Systems Distributed Databases Doug Shook What does it mean to be distributed? Multiple nodes connected by a network Data on the nodes is logically related The nodes do not need to be

More information

Exam Questions AWS-Certified- Developer-Associate

Exam Questions AWS-Certified- Developer-Associate Exam Questions AWS-Certified- Developer-Associate Amazon AWS Certified Developer Associate https://www.2passeasy.com/dumps/aws-certified- Developer-Associate/ 1. When using Amazon SQS how much data can

More information

Cluster-Based Scalable Network Services

Cluster-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 information

Performance and Forgiveness. June 23, 2008 Margo Seltzer Harvard University School of Engineering and Applied Sciences

Performance and Forgiveness. June 23, 2008 Margo Seltzer Harvard University School of Engineering and Applied Sciences Performance and Forgiveness June 23, 2008 Margo Seltzer Harvard University School of Engineering and Applied Sciences Margo Seltzer Architect Outline A consistency primer Techniques and costs of consistency

More information

Distributed Systems. Lec 10: Distributed File Systems GFS. Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung

Distributed Systems. Lec 10: Distributed File Systems GFS. Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Distributed Systems Lec 10: Distributed File Systems GFS Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung 1 Distributed File Systems NFS AFS GFS Some themes in these classes: Workload-oriented

More information

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety. Copyright 2012 Philip A. Bernstein

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety. Copyright 2012 Philip A. Bernstein 10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety Copyright 2012 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4.

More information

CockroachDB on DC/OS. Ben Darnell, CTO, Cockroach Labs

CockroachDB on DC/OS. Ben Darnell, CTO, Cockroach Labs CockroachDB on DC/OS Ben Darnell, CTO, Cockroach Labs Agenda A cloud-native database CockroachDB on DC/OS Why CockroachDB Demo! Cloud-Native Database What is Cloud-Native? Horizontally scalable Individual

More information

Middleware based Data Replication providing Snapshot Isolation

Middleware based Data Replication providing Snapshot Isolation Middleware based Data Replication providing Snapshot Isolation Yi Lin McGill Univ. Montreal ylin30@cs.mcgill.ca Bettina Kemme McGill Univ. Montreal kemme@cs.mcgill.ca Marta Patiño-Martínez Univ. Politecnica

More information

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi)

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi) Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)

More information

Spanner: Google's Globally-Distributed Database. Presented by Maciej Swiech

Spanner: Google's Globally-Distributed Database. Presented by Maciej Swiech Spanner: Google's Globally-Distributed Database Presented by Maciej Swiech What is Spanner? "...Google's scalable, multi-version, globallydistributed, and synchronously replicated database." What is Spanner?

More information

Adaptive Cluster Computing using JavaSpaces

Adaptive Cluster Computing using JavaSpaces Adaptive Cluster Computing using JavaSpaces Jyoti Batheja and Manish Parashar The Applied Software Systems Lab. ECE Department, Rutgers University Outline Background Introduction Related Work Summary of

More information

Everything You Need to Know About MySQL Group Replication

Everything You Need to Know About MySQL Group Replication Everything You Need to Know About MySQL Group Replication Luís Soares (luis.soares@oracle.com) Principal Software Engineer, MySQL Replication Lead Copyright 2017, Oracle and/or its affiliates. All rights

More information

A can be implemented as a separate process to which transactions send lock and unlock requests The lock manager replies to a lock request by sending a lock grant messages (or a message asking the transaction

More information

It also performs many parallelization operations like, data loading and query processing.

It also performs many parallelization operations like, data loading and query processing. Introduction to Parallel Databases Companies need to handle huge amount of data with high data transfer rate. The client server and centralized system is not much efficient. The need to improve the efficiency

More information

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

! Design constraints.  Component failures are the norm.  Files are huge by traditional standards. ! POSIX-like Cloud background Google File System! Warehouse scale systems " 10K-100K nodes " 50MW (1 MW = 1,000 houses) " Power efficient! Located near cheap power! Passive cooling! Power Usage Effectiveness = Total

More information

Consensus and related problems

Consensus and related problems Consensus and related problems Today l Consensus l Google s Chubby l Paxos for Chubby Consensus and failures How to make process agree on a value after one or more have proposed what the value should be?

More information

Principal Solutions Architect. Architecting in the Cloud

Principal Solutions Architect. Architecting in the Cloud Matt Tavis Principal Solutions Architect Architecting in the Cloud Cloud Best Practices Whitepaper Prescriptive guidance to Cloud Architects Just Search for Cloud Best Practices to find the link ttp://media.amazonwebservices.co

More information

GFS: The Google File System. Dr. Yingwu Zhu

GFS: The Google File System. Dr. Yingwu Zhu GFS: The Google File System Dr. Yingwu Zhu Motivating Application: Google Crawl the whole web Store it all on one big disk Process users searches on one big CPU More storage, CPU required than one PC can

More information

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City Scaling Marty Weiner Grayskull, Eternia Yashh Nelapati Gotham City Pinterest is... An online pinboard to organize and share what inspires you. Relationships Marty Weiner Grayskull, Eternia Yashh Nelapati

More information

Megastore: Providing Scalable, Highly Available Storage for Interactive Services & Spanner: Google s Globally- Distributed Database.

Megastore: Providing Scalable, Highly Available Storage for Interactive Services & Spanner: Google s Globally- Distributed Database. Megastore: Providing Scalable, Highly Available Storage for Interactive Services & Spanner: Google s Globally- Distributed Database. Presented by Kewei Li The Problem db nosql complex legacy tuning expensive

More information

Replication and Consistency. Fall 2010 Jussi Kangasharju

Replication and Consistency. Fall 2010 Jussi Kangasharju Replication and Consistency Fall 2010 Jussi Kangasharju Chapter Outline Replication Consistency models Distribution protocols Consistency protocols 2 Data Replication user B user C user A object object

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 1: Distributed File Systems GFS (The Google File System) 1 Filesystems

More information

DYNAMO: AMAZON S HIGHLY AVAILABLE KEY-VALUE STORE. Presented by Byungjin Jun

DYNAMO: AMAZON S HIGHLY AVAILABLE KEY-VALUE STORE. Presented by Byungjin Jun DYNAMO: AMAZON S HIGHLY AVAILABLE KEY-VALUE STORE Presented by Byungjin Jun 1 What is Dynamo for? Highly available key-value storages system Simple primary-key only interface Scalable and Reliable Tradeoff:

More information

CSE 5306 Distributed Systems. Consistency and Replication

CSE 5306 Distributed Systems. Consistency and Replication CSE 5306 Distributed Systems Consistency and Replication 1 Reasons for Replication Data are replicated for the reliability of the system Servers are replicated for performance Scaling in numbers Scaling

More information

On the Study of Different Approaches to Database Replication in the Cloud

On the Study of Different Approaches to Database Replication in the Cloud Melissa Santana et al.: On the Study of Different Approaches to Database Replication in the Cloud TR ITI-SIDI-2012/011 On the Study of Different Approaches to Database Replication in the Cloud Melissa

More information

Aurora, RDS, or On-Prem, Which is right for you

Aurora, RDS, or On-Prem, Which is right for you Aurora, RDS, or On-Prem, Which is right for you Kathy Gibbs Database Specialist TAM Katgibbs@amazon.com Santa Clara, California April 23th 25th, 2018 Agenda RDS Aurora EC2 On-Premise Wrap-up/Recommendation

More information

MySQL HA Solutions Selecting the best approach to protect access to your data

MySQL HA Solutions Selecting the best approach to protect access to your data MySQL HA Solutions Selecting the best approach to protect access to your data Sastry Vedantam sastry.vedantam@oracle.com February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved

More information

Databases. Laboratorio de sistemas distribuidos. Universidad Politécnica de Madrid (UPM)

Databases. Laboratorio de sistemas distribuidos. Universidad Politécnica de Madrid (UPM) Databases Laboratorio de sistemas distribuidos Universidad Politécnica de Madrid (UPM) http://lsd.ls.fi.upm.es/lsd/lsd.htm Nuevas tendencias en sistemas distribuidos 2 Summary Transactions. Isolation.

More information

Lecture 23 Database System Architectures

Lecture 23 Database System Architectures CMSC 461, Database Management Systems Spring 2018 Lecture 23 Database System Architectures These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used

More information

Microsoft SQL Server Fix Pack 15. Reference IBM

Microsoft SQL Server Fix Pack 15. Reference IBM Microsoft SQL Server 6.3.1 Fix Pack 15 Reference IBM Microsoft SQL Server 6.3.1 Fix Pack 15 Reference IBM Note Before using this information and the product it supports, read the information in Notices

More information

Distributed Systems 8L for Part IB

Distributed Systems 8L for Part IB Distributed Systems 8L for Part IB Handout 3 Dr. Steven Hand 1 Distributed Mutual Exclusion In first part of course, saw need to coordinate concurrent processes / threads In particular considered how to

More information

MULTIPROCESSORS AND THREAD LEVEL PARALLELISM

MULTIPROCESSORS AND THREAD LEVEL PARALLELISM UNIT III MULTIPROCESSORS AND THREAD LEVEL PARALLELISM 1. Symmetric Shared Memory Architectures: The Symmetric Shared Memory Architecture consists of several processors with a single physical memory shared

More information

Weak Levels of Consistency

Weak Levels of Consistency Weak Levels of Consistency - Some applications are willing to live with weak levels of consistency, allowing schedules that are not serialisable E.g. a read-only transaction that wants to get an approximate

More information

CHAPTER 3 RECOVERY & CONCURRENCY ADVANCED DATABASE SYSTEMS. Assist. Prof. Dr. Volkan TUNALI

CHAPTER 3 RECOVERY & CONCURRENCY ADVANCED DATABASE SYSTEMS. Assist. Prof. Dr. Volkan TUNALI CHAPTER 3 RECOVERY & CONCURRENCY ADVANCED DATABASE SYSTEMS Assist. Prof. Dr. Volkan TUNALI PART 1 2 RECOVERY Topics 3 Introduction Transactions Transaction Log System Recovery Media Recovery Introduction

More information

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8.

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8. Multiprocessor System Multiprocessor Systems Chapter 8, 8.1 We will look at shared-memory multiprocessors More than one processor sharing the same memory A single CPU can only go so fast Use more than

More information

CSE 444: Database Internals. Section 9: 2-Phase Commit and Replication

CSE 444: Database Internals. Section 9: 2-Phase Commit and Replication CSE 444: Database Internals Section 9: 2-Phase Commit and Replication 1 Today 2-Phase Commit Replication 2 Two-Phase Commit Protocol (2PC) One coordinator and many subordinates Phase 1: Prepare Phase 2:

More information

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears

More information

Distributed Systems 16. Distributed File Systems II

Distributed Systems 16. Distributed File Systems II Distributed Systems 16. Distributed File Systems II Paul Krzyzanowski pxk@cs.rutgers.edu 1 Review NFS RPC-based access AFS Long-term caching CODA Read/write replication & disconnected operation DFS AFS

More information

Problems Caused by Failures

Problems Caused by Failures Problems Caused by Failures Update all account balances at a bank branch. Accounts(Anum, CId, BranchId, Balance) Update Accounts Set Balance = Balance * 1.05 Where BranchId = 12345 Partial Updates - Lack

More information

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline 10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Copyright 2003 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4. Other Approaches

More information

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX /

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX / MySQL High Availability Michael Messina Senior Managing Consultant, Rolta-AdvizeX mmessina@advizex.com / mike.messina@rolta.com Introduction Michael Messina Senior Managing Consultant Rolta-AdvizeX, Working

More information

ECS High Availability Design

ECS High Availability Design ECS High Availability Design March 2018 A Dell EMC white paper Revisions Date Mar 2018 Aug 2017 July 2017 Description Version 1.2 - Updated to include ECS version 3.2 content Version 1.1 - Updated to include

More information

PNUTS and Weighted Voting. Vijay Chidambaram CS 380 D (Feb 8)

PNUTS and Weighted Voting. Vijay Chidambaram CS 380 D (Feb 8) PNUTS and Weighted Voting Vijay Chidambaram CS 380 D (Feb 8) PNUTS Distributed database built by Yahoo Paper describes a production system Goals: Scalability Low latency, predictable latency Must handle

More information

Goals. Facebook s Scaling Problem. Scaling Strategy. Facebook Three Layer Architecture. Workload. Memcache as a Service.

Goals. Facebook s Scaling Problem. Scaling Strategy. Facebook Three Layer Architecture. Workload. Memcache as a Service. Goals Memcache as a Service Tom Anderson Rapid application development - Speed of adding new features is paramount Scale Billions of users Every user on FB all the time Performance Low latency for every

More information

Cost Reduction of Replicated Data in Distributed Database System

Cost Reduction of Replicated Data in Distributed Database System Cost Reduction of Replicated Data in Distributed Database System 1 Divya Bhaskar, 2 Meenu Department of computer science and engineering Madan Mohan Malviya University of Technology Gorakhpur 273010, India

More information

Multiprocessor Systems. COMP s1

Multiprocessor Systems. COMP s1 Multiprocessor Systems 1 Multiprocessor System We will look at shared-memory multiprocessors More than one processor sharing the same memory A single CPU can only go so fast Use more than one CPU to improve

More information

SMD149 - Operating Systems - Multiprocessing

SMD149 - Operating Systems - Multiprocessing SMD149 - Operating Systems - Multiprocessing Roland Parviainen December 1, 2005 1 / 55 Overview Introduction Multiprocessor systems Multiprocessor, operating system and memory organizations 2 / 55 Introduction

More information

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy Overview SMD149 - Operating Systems - Multiprocessing Roland Parviainen Multiprocessor systems Multiprocessor, operating system and memory organizations December 1, 2005 1/55 2/55 Multiprocessor system

More information

Consistency in Distributed Systems

Consistency in Distributed Systems Consistency in Distributed Systems Recall the fundamental DS properties DS may be large in scale and widely distributed 1. concurrent execution of components 2. independent failure modes 3. transmission

More information