Replication Middleware for Cloud Based Storage Service

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Distributed components
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
PRASHANTHI NARAYAN NETTEM.
Case Study - GFS.
Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed File Systems Steve Ko Computer Sciences and Engineering University at Buffalo.
1 The Google File System Reporter: You-Wei Zhang.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
Presenter: Dipesh Gautam.  Introduction  Why Data Grid?  High Level View  Design Considerations  Data Grid Services  Topology  Grids and Cloud.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
Presenters: Rezan Amiri Sahar Delroshan
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
GFS. Google r Servers are a mix of commodity machines and machines specifically designed for Google m Not necessarily the fastest m Purchases are based.
Geo-distributed Messaging with RabbitMQ
HADOOP DISTRIBUTED FILE SYSTEM HDFS Reliability Based on “The Hadoop Distributed File System” K. Shvachko et al., MSST 2010 Michael Tsitrin 26/05/13.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
ZOOKEEPER. CONTENTS ZooKeeper Overview ZooKeeper Basics ZooKeeper Architecture Getting Started with ZooKeeper.
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Presenter: Chao-Han Tsai (Some slides adapted from the Google’s series lectures)
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Primary-Backup Replication COS 418: Distributed Systems Lecture 5 Kyle Jamieson.
Cassandra The Fortune Teller
Course: Cluster, grid and cloud computing systems Course author: Prof
Replication & Fault Tolerance CONARD JAMES B. FARAON
Last Class: Introduction
Primary-Backup Replication
Replicated LevelDB on JBoss Fuse
Introduction to Distributed Platforms
Cluster Communications
Google File System CSE 454 From paper by Ghemawat, Gobioff & Leung.
Gregory Kesden, CSE-291 (Storage Systems) Fall 2017
Gregory Kesden, CSE-291 (Cloud Computing) Fall 2016
#01 Client/Server Computing
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)
GARRETT SINGLETARY.
DISTRIBUTED COMPUTING
Distributed P2P File System
Building a Database on S3
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Multiple Processor Systems
Architectures of distributed systems Fundamental Models
AWS Cloud Computing Masaki.
EEC 688/788 Secure and Dependable Computing
Architectures of distributed systems Fundamental Models
EEC 688/788 Secure and Dependable Computing
Architectures of distributed systems
An Introduction to Internetworking
THE GOOGLE FILE SYSTEM.
Architectures of distributed systems Fundamental Models
Database System Architectures
EEC 688/788 Secure and Dependable Computing
Distributed Systems (15-440)
Client/Server Computing and Web Technologies
#01 Client/Server Computing
Presentation transcript:

Replication Middleware for Cloud Based Storage Service Group 16

Introduction Motivation Distributed File Systems Fault Tolerance Easy access to files Availability Server load balancing File and folder security Fault Tolerance Motivation: To demonstrate fault tolerance and high availability through file replication middleware on top of a cluster. Fault Tolerance: Project’s stretch goal is to provide active syncing with a shadow server. We are replicating the file across nodes to for achieving fault tolerant storage and high availability. If a client node goes down, a new client can be spawned which will quickly sync itself with the server.

Architecture/Algorithm Components Server (Single Master) Storage devices (Multiple Slaves) Users Interface Interaction Heartbeat Message (RabbitMQ) Metadata Compilation and Comparison Topic Exchange Communication Socket File Transfer RPC Calling Function Interface server The architecture for a single cluster is composed of four virtual machine instance running on Ubuntu. Users interact with S3, which sends a event based notification to a queue SQS to the server. Server is the main gateway and coordinator for replication of files in client. A periodic message is broadcast by the server to clients as heartbeat with a metadata compilation request piggybacking that message. Metadata compilation and comparison at clients further sends request to server for any additional file transfer to ensure consistency of replication.

Implementation AWS S3 Storage AWS EC2 RabbitMQ Message Broker Message queue for request from user Cronjob periodically check for messages and interface with server AWS EC2 Total of 4 Ubuntu VM Instance One server acting as coordinator Three storage nodes RabbitMQ Message Broker RPC Call Function Topic Exchange Communication TCP Socket File Transfer Socketserver host port for concurrent file transfer between multiple clients AWS S3 and SQS S3 acts as abstraction for an interface to user’s machine for storage event based notification on user’s behavior on storage (i.e file activity) Notifications are passed to a distributed message passing system known as SQS SQS persists messages and emits them to the server Cronjob on the server periodically responds to the messages, syncs the same file activity and propagates heartbeat through message passing AWS EC2 ubuntu VM instances one server node 3 client storage nodes

Fault Tolerance File Replication Heartbeat message broadcast Shadow server Dynamic Node Spawn Message Passing System File Replication: we offer storage fault tolerance through a replication strategy where each file on user’s machine is triplicated across nodes in a cluster. The user’s experience is abstracted away from the replication, and he/she only sees that the file is highly available and the storage is fault tolerant. Heartbeat: Heartbeat messages are broadcast by the server to the client nodes whose response gives information about the liveness and freshness of their stored data. Shadow Server: a secondary actively synced with main server. contains replica of main server scripts and files. Client detects server failure in case of repeated heartbeat timeouts dynamic node spawn Dynamic Node Spin up: If a client node goes down, server issues a new node to dynamically spawn and will take place of the dead node. Message Passing System: Amazon’s Simple Queueing Service as well as RabbitMQ are used to pass information between nodes. This allows us to use them in a way that messages can be stored in a queue and only deleted upon acknowledgement. Hence fault tolerance is achieved by persisting messages which can be re-sent until acknowledged.

Concurrency Stateless Systems Replicated computation ??? Transaction Locks Handshaking policy to clients with multithreading in server through message passing.??? Message Queue Multi-threaded socket file transfer. Stateless: We aim for eventual consistency and therefore we don’t have a direct dependence on live syncing. Each node knows its current state and can become fresh by working with any of the heartbeats that get propagated. Transaction Lock: Locking for concurrent communication of client responses to server for initiating file transfer via socketserver. Message Queue in each node of the virtual machine orders messages and instructions sequentially. Multi-threaded socket file transfer: Socketserver with multithreading allows server to host multiple TCP file transfer to clients.

Scalability Ring Topology Load Balancing File Transfer algorithms Ring Topology: Presently hearbeats are broadcast from server and responded to by clients, but our strategy for scalability is to have a ring topology where heartbeats are exchanged to each other and the algorithm ensures that all nodes have eventually consistent freshness of information while the server isn’t bogged down by network requests. Load Balancing: We will scale up horizontally, and balance the load between the servers to avoid single point of failure. File Transfer algorithms: We are considering the use of optimizations such as using a diff on bytes of a file to minimize the amount of data that needs to be transferred between two nodes which don’t have the same freshness of information. We are also looking at ML algorithms that analyze the time when server is least busy for carrying out replicaton. We are also assessing file transfer through a bittorrent protocol in the future.