0% found this document useful (0 votes)
43 views27 pages

Scalable Distributed Systems: Leandro Navarro + Invited Speakers Spring 2012

The document outlines the goals and activities of a course on Scalable Distributed Systems. The course aims to teach fundamental concepts, algorithms, and techniques for developing scalable software systems. Students will analyze research papers, complete laboratory activities involving building elements of distributed systems, and evaluate systems' performance. Assessment is based on participation, a group laboratory project, and an individual experimental or presentation component. The course covers topics like virtualization, models of large-scale systems, and applications of distributed technologies.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views27 pages

Scalable Distributed Systems: Leandro Navarro + Invited Speakers Spring 2012

The document outlines the goals and activities of a course on Scalable Distributed Systems. The course aims to teach fundamental concepts, algorithms, and techniques for developing scalable software systems. Students will analyze research papers, complete laboratory activities involving building elements of distributed systems, and evaluate systems' performance. Assessment is based on participation, a group laboratory project, and an individual experimental or presentation component. The course covers topics like virtualization, models of large-scale systems, and applications of distributed technologies.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Scalable Distributed Systems

Leandro Navarro + invited speakers Spring 2012

Scalable Distributed Systems

General goals: learn ...


Fundamental concepts, algorithms Operation and design guidelines Patterns and methods for developing software systems with good scalability, predictability, adaptability, Experimental evaluation of scalable and Internet-scale systems

Scalable Distributed Systems

Specific goals (1)


Fundamental concepts: The effect of scale in system properties (functional and operational) Issues in large-scale systems: Virtualization, service orientation and composition, availability, locality, performance and adaptation (e.g. host-spots, autonomic computing)

Scalable Distributed Systems

Specific goals (2)


Models for large-scale systems: System models for analysis Architectural models

Game-theoretic, economic, evolutionary, control, complex networks Multi-tier, cluster, grid, cloud, SaaS Caching, distribution, replication

Scaling techniques: basic

Middleware and Applications: Coordination, computing, storage, web, content distribution, Internet-scale systems or services
Scalable Distributed Systems
4

Activities
Materials: Papers publicly available Theory classes
Reading and discussion of research papers Presentation of topics by students

Laboratory activities Evaluation: based on the participation of students in class, readings and an experimental project work on specific topics

Scalable Distributed Systems

Lab activities
Construction of key elements of a scalable distributed system and evaluation of the system Design small elements (or build on) inspired by existing systems for an app (e.g. design or use Hadoop, Zookeper, Hbase, HFS, memcached, CDN, etc) Evaluation, benchmarking of your system/app in real conditions (e.g. PlanetLab, OpenStack, Amazon VM)
Scalable Distributed Systems
6

Course organization
Sequential order: Decentralized Systems (period 1) Scalable Distributed Systems (period 2) 6 ECTS, 7.5 weeks (20-80%)

MO 7 14 23 28

TU 1 8 15 23

FEBRUARY WE TH FR 2 3 4 9 10 11 16 17 18 24 24 25

SA 5 12 19 26

SU 6 13 20 27

MO 7 14 21 28

TU 1 8 15 22 29

WE 2 9 16 23 30

MARCH TH 3 10 17 24 31

FR 4 11 18 25

SA 5 12 19 26

SU 6 13 20 27

MO 4 11 18 25 MO 2 9 16 23 30

TU 5 12 19 26 TU 3 10 17 24 31

WE

Decentralized Systems

ABRIL TH FR 1 6 7 8 13 14 15 20 21 22 27 28 29 MAY TH 5 12 19 26 FR 6 13 20 27

SA 2 9 16 23 30 SA 7 14 21 28

SU 3 10 17 24

WE 4 11 18 25

Scalable Distributed Systems

SU 1 8 15 22 29

Scalable Distributed Systems

Your activity / Evaluation


Participation (50%) (individual):
Paper reviews Participation in paper discussions

Lab work (30%) (groups 1-2):


Implementation of subsystems Test and evaluation (on a realistic platform: cluster, Planetlab, Cloud) Presentation

One of (20%) (individual):


Experimental work (lab) (+) 20 min talk on a scientific paper Writing of reports (-)
Scalable Distributed Systems
8

Effort (per student)


Total: 150 h Lectures: 12 lectures x 2h = 24h Readingsreviewsdiscussions: 40h Lab projects: 50h (2w half t) Individual task (20%): 20-40h (1w half t)

Scalable Distributed Systems

Syllabus
10/4 12/4 17/4 19/4 24/4 26/4 03/5 08/5 10/5 15/5 17/5 22/5 24/5 29/5 31/5 Tue Thu Tue Thu Tue Thu Thu Tue Thu Tue Thu Tue Thu Tue Tue

Course introduction and overview Visions and concepts Virtualization Virtualized platforms Models: economic, game, control Resource management Autonomic computing Fault tolerance Current platforms Computing Structured Storage Coordination and consensus Data management Experience with Applications Experience with Applications
10

Scalable Distributed Systems

Topics
Visions and concepts Virtualization; virtualized platforms Models: economic, game, control Resource management Autonomic computing Fault tolerance Current platforms Computing Structured Storage Coordination and consensus Data management Experience with Applications
11

Scalable Distributed Systems

References, materials
Look at the course wiki http://wiki.fib.upc.edu/sds (you can log in and edit: contribute links)

Scalable Distributed Systems

12

Overview
Distributed Computing ... What is The Grid What is The Cloud What is scalability Reading: (wiki)

Scalable Distributed Systems

13

Distributed computing
Look at the wikipedia definition Related ideas:
The Advanced Networked Systems Architecture (ANSA), U. Cambridge +, 80s-90s distributed systems technology to support applications integration in enterprise-wide systems. e.g. NASA's Astrophysics Data System Standardisation activities: TINA-C, RM-ODP, OSF DCE, OMG CORBA

Scalable Distributed Systems

14

RM-ODP (Open Distributed Processing)


ISO, IEC, ITU-T

Scalable Distributed Systems

15

Other specs
Early 2000s Model-Driven architecture (MDA), CORBA ... by the Object Management Group (OMG) Grid computing (making computer power as easy to access as an electric power grid) over the Internet, scientific purposes

Scalable Distributed Systems

16

What is The Grid


The combination of computer resources from multiple administrative domains to reach a common goal (federation) A distributed system with non-interactive workloads involving a large number of files Grids more loosely coupled, heterogeneous, and geographically dispersed than clusters Grids often use middleware (e.g. Globus) Service Oriented Architecture
E.g. Large Hadron Collider (CERN), Volunteer Computing (BOINC)
Scalable Distributed Systems
17

Service Oriented Architectures


A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations
OASIS SOA Reference Model

Scalable Distributed Systems

18

Service Definition
A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description
OASIS SOA Reference Model

Scalable Distributed Systems

19

Web Service Definition


A Web service is a software system designed to support interoperable machineto-machine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. W3C, Web Services Architecture
Scalable Distributed Systems
20

What is The Cloud


Late 2000s Adding virtualization + commercial services: Utility computing (yet another public utility), on-demand computing, elastic computing, service-oriented computing, cloud computing Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Scalable Distributed Systems
21

Scaling techniques
Scale:
distance: latency, org: complexity, volume of demand: load, dynamics: failures, churn, load

Replication: alternative copies selection, consistency? Caching: reuse effort transfer (locality, hidden) Distribution: divide computation (e.g. routing, name resolution, computation)
Scalable Distributed Systems
22

Next Day
Visions and concepts (Introductory) Grid: Ian Foster, "What is the Grid? A Three Point Checklist", GRIDToday, July 20, 2002 Ian Foster blog, "There's Grid in them thar Clouds", Jan 08, 2008. Cloud: Brian Hayes. Cloud computing. Comm. ACM 51, 7 (July 2008), pp. 9-11 Michael Armbrust et al. A view of cloud computing Comm. ACM 53, 4 (April 2010), pp. 50-58
Scalable Distributed Systems
23

More ...
Christof Weinhardt, Arun Anandasivam, Benjamin Blau, and Jochen Ster, Business Models in the Service World, IT Professional, 2009 Jonathan Spring, Monitoring Cloud Computing by Layer, IT Professional, 2011 Paul Hoffman, Dan Woods, Cloud Computing: The Limits of Public Clouds for Business Applications, Internet Computing, 2010
Scalable Distributed Systems
24

More ...
Eric Brewer, Lessons from giant-scale services, IEEE Internet Computing Several authors, The CAP theorem, IEEE Computer Magazine, February 2012

Scalable Distributed Systems

25

Your activity / Evaluation


Participation (50%) (individual):
Paper reviews Participation in paper discussions

Lab work (30%) (groups 1-2):


Implementation of subsystems Test and evaluation (on a realistic platform: cluster, Planetlab, Cloud) Presentation

One of (20%) (individual):


Experimental work (lab) (+) 20 min talk on a scientific paper Writing of reports (-)
Scalable Distributed Systems
26

Scalable Distributed Systems

27

You might also like