© 2001 Stanford Distinguishing P, S, D state n Persistent: loss inevitably affects application correctness, cannot easily be regenerated l Example: billing.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Chapter 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
High Availability Group 08: Võ Đức Vĩnh Nguyễn Quang Vũ
Transaction.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Overview of Databases and Transaction Processing Chapter 1.
G Robert Grimm New York University Scalable Network Services.
SWE Introduction to Software Engineering
Transaction Processing IS698 Min Song. 2 What is a Transaction?  When an event in the real world changes the state of the enterprise, a transaction is.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
The Architecture of Transaction Processing Systems
G Robert Grimm New York University Scalable Network Services.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 18: Replication Control All slides © IG.
1 Recap Database: –collection of data central to some enterprise that is managed by a Database Management System –reflection of the current state of the.
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
Computer Science Lecture 16, page 1 CS677: Distributed OS Last Class:Consistency Semantics Consistency models –Data-centric consistency models –Client-centric.
Page 1 Copyright © Alexander Allister Shvartsman CSE 6510 (461) Fall 2010 Selected Notes on Fault-Tolerance (12) Alexander A. Shvartsman Computer.
1 Introduction Introduction to database systems Database Management Systems (DBMS) Type of Databases Database Design Database Design Considerations.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Distributed File Systems Sarah Diesburg Operating Systems CS 3430.
Locking Key Ranges with Unbundled Transaction Services 1 David Lomet Microsoft Research Mohamed Mokbel University of Minnesota.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
Exploiting Application Semantics: Harvest, Yield CS 444A Fall 99 Software for Critical Systems Armando Fox & David Dill © 1999 Armando Fox.
Chapter 10 Architectural Design
1 The Google File System Reporter: You-Wei Zhang.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Krerk Piromsopa. Advance Net-Centric Computing Technology Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
Scalability Terminology: Farms, Clones, Partitions, and Packs: RACS and RAPS Bill Devlin, Jim Cray, Bill Laing, George Spix Microsoft Research Dec
CH2 System models.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Web Application Servers Dean Jacobs BEA WebLogic.
1 Maryland ColdFusion User Group Session Management December 2001 Michael Schuler
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Web Cache Redirection using a Layer-4 switch: Architecture, issues, tradeoffs, and trends Shirish Sathaye Vice-President of Engineering.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Data Sharing. Data Sharing in a Sysplex Connecting a large number of systems together brings with it special considerations, such as how the large number.
Service Primitives for Internet Scale Applications Amr Awadallah, Armando Fox, Ben Ling Computer Systems Lab Stanford University.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Chapter 1 Overview of Databases and Transactions.
Cloud Computing Computer Science Innovations, LLC.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
Scalability == Capacity * Density.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
SysPlex -What’s the problem Problems are growing faster than uni-processor….1980’s Leads to SMP and loosely coupled Even faster than SMP and loosely coupled.
Chapter 1 Characterization of Distributed Systems
Business System Development
Cluster-Based Scalable
The Case for a Session State Storage Layer
Distributed File Systems
Software Design and Architecture
Security Engineering.
Overview of Databases and Transaction Processing
Fault Tolerance Distributed Web-based Systems
Lecture 21: Replication Control
Decoupled Storage: “Free the Replicas!”
Transaction Properties: ACID vs. BASE
Introduction To Distributed Systems
Design for Scalability
Lecture 21: Replication Control
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

© 2001 Stanford Distinguishing P, S, D state n Persistent: loss inevitably affects application correctness, cannot easily be regenerated l Example: billing record in a persistent DB n Soft: regeneratable, occasional loss tolerable l Example: memoized result of a computation l Example: load balancing information, routing tables n Degradable: probabilistic guarantee of recall l Example: cached session state l Useful if we can characterize the cumulative distribution function of degradation vs. time (open issue) l Related to harvest/yield (next time)

© 2001 Stanford Distinguishing Interactivity: R, W, N n Reads must track interactive performance l But writes are infrequent l Example: static or dynamic content Web server n Writes must track interactive performance l Example: securities trading n No interactive constraints l Example: background/batch processing subsystems (Amazon and Buy.com do this) n These have different user-perceived failure modes

© 2001 Stanford Decomposition Example

© 2001 Stanford Why Do Decomposition? (toy example) n Consider an alternative implementation for a (W,P)- semantics multi-node collector for a hit counter l Each node maintains in-memory counter: (W,D) semantics l Periodic checkpoints get flushed to “master” counter: (N,P) semantics l To read hit counter, arrange for master to periodically broadcast “stale” master copy to each node, and allow any node to serve “stale” value: (R,D) semantics n Note tradeoffs: consistency vs. failure management l Local copies of counter can be in volatile-only memory! l Same principle used in SNS load balancer l Similar principle used in harvest/yield tradeoffs in Inktomi

© 2001 Stanford Example 3: Application Decomposition n Applying harvest/yield tradeoff to application decomposition of a canonical e-commerce site Billing Profiles Catalog Internet $ $ FE W W W T W W W A

© 2001 Stanford Component State Management n User profiles l Read often, write infrequently l Must persist across sessions n Online merchandise catalog l Read-only database l Presentation should depend on user preferences n Shopping cart l Read and write frequently l Need not persist across sessions n Billing (transactional DB)

© 2001 Stanford Degradable State: Shopping Cart n Shopping cart is more “state-intensive” than billing l Shopping cart subsystem manipulates more incremental state per user than billing l But, shopping cart is an “optimization” l We can reflect this into provisioning/growth n One idea: Keep cart contents in a cache l Not a database! l Non-ACID l Soft state by definition

© 2001 Stanford Per-Component Failure Modes l Shopping cart can be periodically checkpointed to user profile l Transformation & aggregation modules can present catalog based on user input Billing Profiles Catalog Internet $ $ FE W W W T W W W A

© 2001 Stanford Degradable State, cont’d. n What’s the probability of losing the shopping cart? l HW or SW failure in cache (e.g. transient node failure, write corruption) l Eviction: rate depends on cache size and working set size; can grow cache incrementally to fix problem n What happens to users when cache is thrashing? l Turn off shopping cart for everyone? l “Use at own risk” shopping cart? l Rent some machines at high cost, until new ones arrive? l Probably cheaper to deploy a Web cache node than a new DB node!

© 2001 Stanford Decomposition Summary n Implementation of demanding, high-performance applications forces us to make tradeoffs l Availability vs. consistency (relaxing ACID) l Failure management vs. perfect information n Many things are probabilistic, whether we like it or not l Decomposition frameworks allow us to make this explicit, and manage them to our advantage l Next time: related concept -- how harvest/yield tradeoffs can be mapped directly to engineering mechanisms for partial-failure management l Challenge: Quantifying things like degradation and levels of tolerance

© 2001 Stanford Synergy n Decomposition may naturally result in components that are more easily recoverable/restartable l e.g. converting (W,P) to combination of (W,D), (N,P), (R,D) separates W from P l (W,D) and (R,D) have implementations that admit of trivial failure recovery (restartability) n Orthogonal mechanisms can often be used to protect components with this property l Timeouts, firewalls, sandboxes, guards l Build components so their semantics are compatible with the use of orthogonal mechanisms