introduction

42
Introduction Introduction Dr. Ying Lu Dr. Ying Lu [email protected] Schorr Center 104 Schorr Center 104 CSCE990 Advanced Distributed Systems Seminar

Upload: chul

Post on 01-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Introduction. Dr. Ying Lu [email protected] Schorr Center 104. CSCE990 Advanced Distributed Systems Seminar. Some lecture notes are based on slides created by Dr. Zahorjan at Univ. of Washington, Dr. Konev at Univ. of Liverpool, Steve Crouch at Software Sustainability Institute, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction

IntroductionIntroduction

Dr. Ying LuDr. Ying Lu

[email protected]

Schorr Center 104Schorr Center 104

CSCE990 Advanced Distributed Systems Seminar

Page 2: Introduction

– Some lecture notes are based on slides created by • Dr. Zahorjan at Univ. of Washington, • Dr. Konev at Univ. of Liverpool, • Steve Crouch at Software Sustainability Institute,

• Petru Eles at Linköpings University, and• Dr. Majd F. Sakr, Mohammad Hammoud, Vinay Kolar at

CMU

– I have modified them and added new slides

Giving credit where credit is due:

Page 3: Introduction

Types of Distributed Systems?

Page 4: Introduction
Page 5: Introduction
Page 6: Introduction
Page 7: Introduction
Page 8: Introduction

‘Cloud’ & ‘Grid’ – Utility Computing?

The Grid… The Cloud…

Is it really like the grid? Is it more like a fog?

But… they’re both about providing access to compute and data resources

Page 9: Introduction

The Problem

Basically, want to run compute/data intensive task

Don’t have enough resources to run job locally At least, to return results within sensible timeframe

Would like to use another, more capable resource

Page 10: Introduction

Distributed Computing in Olden Times

Small number of ‘fast’ computers Very expensive Centralized Used nearly all the time Time allocations for users Not updated often

Cray X-MP(Cray -1 successor)

Univac 1710

• Punched cards• Wait time huge• MailNet, SneakerNet, etc…

• Mainframes• Cray-1 1976 - $8.8 million, 160

megaflops, 8MB memory

Page 11: Introduction

It’s About Scaling Up…

Compute and data – you need more, you go somewhere else to get it

• Then… the march towards localization of computation, the Personal Computer

• Computational Science develops in laboratories• Is this changing again?

Images: nasaimages, Extra Ketchup, Google Maps, Dave Page

Page 12: Introduction

What is Cloud Computing?

Many ways to define it i.e. one for every supplier of ‘cloud’

Key characteristics: On demand, dynamic allocation of resources – ‘elasticity’ Abstraction Self-managed Billed for what you use e.g. in terms of CPU, storage Standardized interfaces e.g. OCCI

… it’s more like an electricity grid than the Grid

Page 13: Introduction

How Does it Deliver?

Cloud computing can deliver at any of these levels These levels are often blurred and routinely disputed! Resources provided on demand

InternetInternet

End user/Customer

Developer/ Service Provider

Page 14: Introduction

IaaS – Infrastructure as a Service

You get access to (usually) virtualised hardware Servers, storage, networking Operating system

Responsible for managing OS, middleware, runtime, data, application (development)

e.g. Amazon EC2

Page 15: Introduction

Amazon EC2 – The Idea

‘Elastic Computing’ Sign up Select & configure virtualized resources

Emulated OS: RHEL, OEL, Windows Server, OpenSolaris, Fedora, Ubuntu, Debian, SUSE, Gentoo, Amazon Linux AMI

Infrastructure: Data: IBM DB2, IBM Informix, Microsoft SQL, MySQL, Oracle Web Hosting: Apache HTTP, IIS/Asp.NET, IBM WebSphere Batch Processing: Hadoop, Condor, Open MPI

Newer addition - development environments: IBM sMash, Ruby on Rails, Jboss Enterprise Application Platform

Moving towards PaaS! (Already there?) Additional web services

S3: Simple Storage Solution – transfer data in/out, 1 byte to 5 TB SQS: Simple Queue Service

Page 16: Introduction

Amazon EC2: Pricing

Free (at the start!): Run single Amazon Micro Instance for a year 750 hours of EC2, 750 hours of Elastic Load Balancing plus 15 GB

data processing 15 GB bandwidth in/out across all services

On demand instances: Pay per hour, no long-term commitment From $0.025/hour -> $0.76/hour

Reserved instances: Upfront payment, with discount per hour From $227/year + $0.01/hour -> $1820/year + $0.32/hour

Spot instances: Bid for unused EC2 capacity: Spot Price fluctuates with supply/demand, if bid over Spot Price, you

get it From $0.007/hour -> $0.68/hour

Page 17: Introduction

EC2 Application Example

Peter Harkins, a Senior Engineer at The Washington Post, used 200 EC2 instances (1,407 server hours) to convert 17,481 pages of Hillary Clinton’s travel documents into a form more friendly to use on the WWW within nine hours after they were released*

*http://aws.amazon.com/solutions/case-studies/washington-post/

Page 18: Introduction

PaaS – Platform as a Service

You get integrated development environment e.g. application design, testing, deployment, hosting,

frameworks for database integration, storage, app versioning, etc.

Develop applications on top

Responsible for managing data, application (development)

e.g. Google App Engine

Page 19: Introduction

Google App Engine: The Idea

Sign up via Google Accounts

Develop App Engine web applications locally using SDK – emulates all services Includes tool to upload application code, static files and config files Can ‘version’ your web application instances

Apps run in a Java/Python ‘sandbox’

Automatic scaling and load balancing – abstract across underlying resources

Page 20: Introduction

Google App Engine: Pricing

Free within a quota: 500MB storage, 5 million page views a month (~6.5 CPU hours, 1GB) 10 applications/developer

Billed model: Each app $8/user (max $1000) a month For each app:

Resource Unit Unit cost

Outgoing bandwidth GB $0.12

Incoming bandwidth GB $0.10

CPU Time CPU hours $0.10

Stored Data GB/month $0.15

High Replication Stg.

GB/month $0.45

Recipients Emailed Recipients $0.0001

Always On N/A (daily) $0.30

Page 21: Introduction

SaaS – Software as a Service

Top layer consumed directly by end user – the ‘business’ functionality

Application software provided, you configure it (more or less) Various levels of maturity:

Level 1: each customer has own customised version of application in own instance

Level 2: all instances use same application code, but configured individually

Level 3: single instance of application across all customers Level 4: multiple customers served on load-balanced ‘farm’ of

identical instances Levels 3 & 4: separate customer data!

e.g. Gmail, Google Sites, Google Docs, Facebook

Page 22: Introduction

Summary of Provision

Application Migration – adopt the level you want

Page 23: Introduction

Cloud Open Standards

Implementations typically have proprietary standards and interfaces Vendors like this – often locked in to one implementation

Community ‘push’ towards open cloud standards: Open Grid Forum (OGF) – Open Cloud Computing

Interface (OCCI) Distributed Management Task Force (DMTF) – Open

Virtualisation Format (OVF)

Page 24: Introduction
Page 25: Introduction
Page 26: Introduction
Page 27: Introduction
Page 28: Introduction
Page 29: Introduction
Page 30: Introduction

Why should you Study Distributed Systems?

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Application Domain Associated Networked Application

Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring patients

Education e-learning, virtual learning environments; distance learning

Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth

Science The Grid as an enabling technology for collaboration between scientists

Environmental management sensor technology to monitor earthquakes, floods or tsunamis

Page 31: Introduction

Definition of a Distributed System

A distributed system is:

A collection of independent computers that appear to its users as a single coherent system (Tanenbaum book)

One in which components located at networked

computers communicate and coordinate their actions only

by passing messages (Coulouris book)

Page 32: Introduction

Why Distributed Systems?

Scale Processing Data

Diversity in Application Domains Collaboration Cost

Page 33: Introduction

Why Distributed Systems?

A. Big data continues to grow:

In mid-2010, the information universe carried 1.2 zettabytes and 2020 predictions expect nearly 44 times more at 35 zettabytes coming our way.

B. Applications are becoming data-intensive.

Page 34: Introduction

Why Distributed Systems?

C. Individual computers have limited resources compared to scale of current day problems & application domains:

1. Caches and Memory:

16KB- 64KB, 2-4 cycles

512KB- 8MB, 6-15 cycles

4MB- 32MB, 30-50 cycles

1GB- 4GB, 300+ cycles

Page 35: Introduction

Why Distributed Systems?

2. Hard Disk Drive:

Limited capacity

Limited number of channels

Limited bandwidth

Page 36: Introduction

Why Distributed Systems?

P

L1

L2

P

L1

L2 Cache

P

L1

P

L1

P

L1

Interconnect

3. Processor:

The number of transistors that can be integrated on a single die has continued to grow at Moore’s pace.

Chip Multiprocessors (CMPs) are now available

A single Processor Chip

A CMP

Page 37: Introduction

Why Distributed Systems?

3. Processor (cont’d):

Up until a few years ago, CPU speed grew at the rate of 55% annually, while the memory speed grew at the rate of only 7% [H & P].

Memory

Memory

P

M

P

L1

L2

P

L1

L2 Cache

P

L1

P

L1

P

L1

Interconnect

Processor-Memory speed gap

Page 38: Introduction

Why Distributed Systems?

Even if 100s or 1000s of cores are placed on a CMP, it is a challenge to deliver input data to these cores fast enough for processing.

A Data Setof 4 TBs

4 100MB/S IO Channels

10000 seconds (or 3 hours) to load data

Memory

P

L1

L2 Cache

P

L1

P

L1

P

L1

Interconnect

Page 39: Introduction

Why Distributed Systems?

Only 3 minutes to load data

A Data Set (data) of 4 TBs

Splits

Memory

P

L1

L2

Memory

P

L1

L2

100 Machines

Page 40: Introduction

Requirements

But this requires:

A way to express the problem as parallel processes and execute them on different machines (Programming Models and Concurrency).

A way for processes on different machines to exchange information (Communication).

A way for processes to cooperate, synchronize with one another and agree on shared values (Synchronization).

A way to enhance reliability and improve performance (Consistency and Replication).

Page 41: Introduction

Requirements

But this requires (Cont.):

A way to recover from partial failures (Fault Tolerance).

A way to secure communication and ensure that a process gets only those access rights it is entitled to (Security).

A way to extend interfaces so as to mimic the behavior of another system, reduce diversity of platforms, and provide a high degree of portability and flexibility (Virtualization)

Page 42: Introduction

Course Objective

This is a course on advanced distributed systems, where we will understand the state of the art in distributed systems, in particular, data-intensive distributed computing systems, and how and why we got there and how to engage in systems research.