CS426: Building Decentralized Systems Mahesh Balakrishnan.

Slides:



Advertisements
Similar presentations
Large Scale Computing Systems
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
A Survey of Distributed Database Management Systems Brady Kyle CSC
Module 1: Demystifying Software Defined Networking Module 2: Realizing SDN - Microsoft’s Software Defined Networking Solutions with Windows Server 2012.
1 Dynamo Amazon’s Highly Available Key-value Store Scott Dougan.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) August 26 – December 9, 2014 Lecture 1-29 Web: courses.engr.illinois.edu/cs425/ All.
CS603 Advanced Topics in Distributed Systems MWF 13:30-14:30 RHPH 162 Professor Chris Clifton.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
1 CS 603: Advanced Topics in Distributed Systems Spring 2002 Professor Chris Clifton.
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
Distributed Systems (15-440) Mohammad Hammoud December 4 th, 2013.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
CS 162 Discussion Section Week 1 (9/9 – 9/13) 1. Who am I? Kevin Klues Office Hours:
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Molecular Transactions G. Ramalingam Kapil Vaswani Rigorous Software Engineering, MSRI.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Software-Defined Networking - Attributes, candidate approaches, and use cases - MK. Shin, ETRI M. Hoffmann, NSN.
Introduction & Background Lakshmish Ramaswamy. Why Distributed Systems? A collection of independent computers that appears to its users as a single coherent.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.
Advanced Principles of Operating Systems (CE-403).
Operating Systems and Systems Programming CS162 Teaching Staff.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Systems and Networking Challenges in Cloud Computing: Toward Software-Defined Clouds Aditya Akella TA: Aaron Gember Fall
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Feb 1, 2001CSCI {4,6}900: Ubiquitous Computing1 Eager Replication and mobile nodes Read on disconnected clients may give stale data Eager replication prohibits.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Distributed systems [Fall 2015] G Lec 1: Course Introduction.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) August 25 – December 8, 2015 Lecture 1-29 Web: courses.engr.illinois.edu/cs425/ All.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
Lecture 29-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) August 27-December 11, 2012 Lecture 1-29.
Review CS File Systems - Partitions What is a hard disk partition?
Implementation of Simple Cloud-based Distributed File System Group ID: 4 Baolin Wu, Liushan Yang, Pengyu Ji.
The Network Aware IoT Service at Edge Guoxi Wang.
COMPSCI 110 Operating Systems
Distributed Operating Systems Spring 2004
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
File Share Dependencies
Distributed Systems – Paxos
Distributed Operating Systems
Chapter 2: System Structures
CPS 512 midterm exam #1, 10/7/2016 Your name please: ___________________ NetID:___________ /60 /40 /10.
Operating Systems: Principles and Practice Cpr E 308
Operating Systems and Systems Programming
Consistency in Distributed Systems
Replication Middleware for Cloud Based Storage Service
CloudSimplified.IO.
Software Defined Networking (SDN)
Lecture 15 Reading: Bacon 7.6, 7.7
COT 4600 Operating Systems Fall 2010
Distributed Transactions
Operating Systems: Principles and Practice Cpr E 308
Database System Architectures
Distributed Systems (15-440)
Distributed Systems and Algorithms
Presentation transcript:

CS426: Building Decentralized Systems Mahesh Balakrishnan

what this class is about building decentralized systems distributed

distributed systems in the wild HW OS VMM application Distributed Storage Big Data Computation DC Network / SDN / Wireless Specialized HW (FPGA/GPU/…) HW OS device server PL Spec. HW (arduino/…) data centers edge

course format do a course project: (90% of your grade) Phase 1: Build a simple, in-memory single-node service. Phase 2: Build a durable single-node service. Phase 3: Build a failure-atomic single-node service. Phase 4: Build a scalable service. Phase 5: Build a highly available service. Phase 6: Build a transactional service. class participation (10% of your grade) no exams!

building distributed systems expect to: write a lot of code in C (with some C++). malloc and free memory. encounter and debug core dumps. use concurrency control mechanisms like locks. issue I/O calls to disk / network. minimal hand-holding. we will not debug your code for you!

building distributed systems systems: abstractions, guarantees, principles, mechanisms, protocols… what’s an abstraction? process, file, pipe, block address space, virtual memory, socket… what’s a guarantee? ACID (atomicity, consistency, isolation, durability); strong consistency… abstractions hide complexity (of managing HW...)

building distributed systems why are systems distributed? durability: the system should not lose data when faults occur availability: the system should not be unavailable to clients when faults occur locality: lower latency scalability: higher throughput security / privacy efficiency distributed systems are complex: nodes and links can fail, messages can be delayed or lost. we need abstractions to hide this complexity.

what is the abstraction? a graph with nodes and edges API: add nodes, add edges between nodes, find shortest path, etc. two questions: is the abstraction useful? can it be implemented efficiently? what guarantees do we provide? strong consistency, durability, failure atomicity, scalability, availability, transactional isolation. what mechanisms will we use? RPC, partitioning, replication protocols such as Paxos, distribution transactions… what this class is about…

why is this important? distributed systems is not a fad technology trend. -client-server systems in the 80s -early Internet services in the 90s (Altavista, Inktomi, …) -peer-to-peer systems in the 00s (Napster, Kazaa, Gnutella…) -mature Internet services in the 00s (FaceBook, Google, Amazon, NetFlix, LinkedIn, Yelp…) -mobile services in the 10s -cloud computing in the 10s (AWS, Azure…) -IoT in the 20s?

more administrative stuff first lab will be released this Friday (1/22) it will be due in two weeks from Friday (2/12) website: office hours will be posted on website TA: Josh Lockerman undergrad TA: Soham Sankaran