[I NTRODUCTION ] Shrideep Pallickara Computer Science Colorado - - PDF document

i ntroduction
SMART_READER_LITE
LIVE PREVIEW

[I NTRODUCTION ] Shrideep Pallickara Computer Science Colorado - - PDF document

CS555: Distributed Systems [Fall 2019] Dept. Of Computer Science , Colorado State University CS 555: D ISTRIBUTED S YSTEMS [I NTRODUCTION ] Shrideep Pallickara Computer Science Colorado State University CS555: Distributed Systems [Fall 2019]


slide-1
SLIDE 1

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.1

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS 555: DISTRIBUTED SYSTEMS

[INTRODUCTION]

Shrideep Pallickara Computer Science Colorado State University

August 27, 2019

L1.1 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.2 Professor: SHRIDEEP PALLICKARA

Topics covered in this lecture

¨ Course overview and expectations ¨ Broad brushstroke coverage of distributed systems

August 27, 2019

slide-2
SLIDE 2

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.2

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

COURSE OVERVIEW AND SUCH

August 27, 2019

L1.3 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.4 Professor: SHRIDEEP PALLICKARA

Course webpage

¨ All course materials will be on the course webpage

http://www.cs.colostate.edu/~cs555

¤ Schedule ¤ Lectures ¤ Assignments ¤ Announcements ¨ Grades will be posted on Canvas

¨ Piazza: For discussions

August 27, 2019

slide-3
SLIDE 3

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.3

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.5 Professor: SHRIDEEP PALLICKARA

On the schedule page

August 27, 2019

¨ You will see the topics that will be covered and the order in which I

will cover them

¨ The readings section will list the books (and the chapters therein) that

form the basis for the materials

¨ You will also see the schedule for when the assignments will be

posted and when they are due

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.6 Professor: SHRIDEEP PALLICKARA

Office Hours

¨ Shrideep Pallickara

Computer Science (CSB 364)

Office Hours: 2:00-3:00 pm Friday or by appointments

¨ GTA: Daniel Rammer

Office Hours: Will be finalized soon.

August 27, 2019

slide-4
SLIDE 4

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.4

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.7 Professor: SHRIDEEP PALLICKARA

Why Distributed Systems?

¨ Your hard-drive’s primacy has been eroding ¨ Data sources and programs are delivered over the network ¤ No single hard drive can hold all the data you need ¨ Services themselves are distributed ¤ Google search is backed by a massive distributed cloud

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.8 Professor: SHRIDEEP PALLICKARA

Distributed systems builds on a diverse set of areas

¨ Algorithms and Graph Theory ¨ Cryptography ¨ Networking ¨ Failure recovery and consistency models ¨ Probability theory ¨ Machine learning ¨ Information Retrieval ¨ Transactional Systems

August 27, 2019

slide-5
SLIDE 5

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.5

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.9 Professor: SHRIDEEP PALLICKARA

Distributed Systems: Challenges [1/2]

¨ Scale with increases in data and users ¨ Responsiveness ¤ Regardless of data size, responses must be prompt ¨ Intelligent ¤ Correlate all sorts of information ¨ Dealing with system conditions ¤ Murphy’s Law ¤ Malicious Users ¤ Byzantine failures

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.10 Professor: SHRIDEEP PALLICKARA

Distributed Systems: Challenges [2/2]

¨ Security ¤ Detection ¤ Privacy and Accountability ¤ Authorizations

August 27, 2019

slide-6
SLIDE 6

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.6

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.11 Professor: SHRIDEEP PALLICKARA

About me

¨ I do research in this area ¨ Areas that I have worked or actively work in include ¤ Cloud computing ¤ Internet of Things, Edge/Fog Computing ¤ Grid computing ¤ Peer-to-Peer systems ¤ Content dissemination systems ¤ Object Request Brokers ¤ Collaborative systems

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

EXPECTATIONS

August 27, 2019

L1.12

slide-7
SLIDE 7

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.7

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.13 Professor: SHRIDEEP PALLICKARA

Expectations

¨ You will attend all classes ¨ You will focus on the discussions, and not on … ¤ Other assignments ¤ Social networking updates ¨ Programming Assignments have to be done individually ¨ You will be challenged in this course ¤ Assignments are geared toward real systems

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

ASSIGNMENTS

August 27, 2019

L1.14

slide-8
SLIDE 8

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.8

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.15 Professor: SHRIDEEP PALLICKARA

Programming Assignments: Logistics

¨ Programming assignments will be due at 5:00 pm on a Wednesday ¨ You are allowed to submit up to 2 days late ¤ There is a 7.5% deduction for each day that you are late ¨ All programming assignments are individual assignments

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.16 Professor: SHRIDEEP PALLICKARA

Assignments: What to expect

¨ There will be no busy work ¤ No GUI ¨ Complexity will not be through obfuscation ¨ You will be able to look back and feel good about them ¤ Delayed gratification

August 27, 2019

slide-9
SLIDE 9

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.9

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.17 Professor: SHRIDEEP PALLICKARA

There will be 3 programming assignments and a Term Project

¨ Contrasting replication and erasure coding in a distributed file system ¨ Structured P2P system ¨ Cloud computing assignment ¨ Term Project & Report [35] ¤ Team Effort: Groups of 2-3 (Must include at least one on-campus and

distance student)

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

WHAT IT TAKES TO SUCCEED

August 27, 2019

L1.18

slide-10
SLIDE 10

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.10

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.19 Professor: SHRIDEEP PALLICKARA

What it takes to succeed (1/2)

¨ You are required to work at least 12 hours per-week outside of class ¤ Coding and reviewing material from class ¨ If you miss a lecture ¤ Add about 3 hours per missed lecture

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.20 Professor: SHRIDEEP PALLICKARA

What it takes to succeed (2/2)

August 27, 2019

¨ Work on the assignments every day ¤ There is no such thing as waiting for inspiration to strike ¨ Reflect about how you could have done things differently for better

performance

¤ Even after you have submitted an assignment ¤ It will improve your choices in the next assignment

slide-11
SLIDE 11

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.11

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.21 Professor: SHRIDEEP PALLICKARA

How to fail this course?

August 27, 2019

¨ Believing that you can learn via osmosis ¨ Missing lectures ¤ If you don’t have the discipline to show up, you will most likely not have the

discipline to catch up

¨ Procrastinating ¤ The assignments cannot be done in a week ¤ Organize your schedule so that you can succeed

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.22 Professor: SHRIDEEP PALLICKARA

Use of laptops, cell phones, tablets, and other electronic devices

¨ Is not allowed ¨ If you must use a laptop you will have to: ¤ Turn off wireless ¤ And use it only for taking notes ¨ Authorized laptop users ¤ Will sit in the back row starting at the corners

August 27, 2019

slide-12
SLIDE 12

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.12

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.23 Professor: SHRIDEEP PALLICKARA

Why attend lectures if all the slides are posted?

August 27, 2019

¨ Slides are only part of the story ¤ They anchor the discussion ¨ Any field has a language associated with it ¨ People who have worked in an area for a long time speak the

language (and do so subconsciously)

¤ Sitting in classes helps you learn how to frame questions and responses ¨ Often there are surprising questions ¤ Some of these may be asked by interviewers

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.24 Professor: SHRIDEEP PALLICKARA

Help me help you

¨ We will have surveys at the end of every class ¨ You will provide a list of ¤ 3 concepts you followed clearly ¤ 3 concepts you had problems keeping up with ¨ Problem areas for the majority of the class will be addressed in the

next class

August 27, 2019

slide-13
SLIDE 13

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.13

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.25 Professor: SHRIDEEP PALLICKARA

Interactions

August 27, 2019

¨ You can have discussions with me and your peers ¨ There are two constraints to these discussions ¤ No code can be exchanged under any circumstances ¤ No one takes over someone else’s keyboard ¨ Bumps are to be expected along the way ¤ But you should get over this yourself ¤ It will help you with the next problem you encounter

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

GRADING

August 27, 2019

L1.26

slide-14
SLIDE 14

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.14

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.27 Professor: SHRIDEEP PALLICKARA

Grading Breakdown

¨ Programming Assignments: 55% ¨ Term Project & Report: 35% ¨ Quizzes: 10%

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.28 Professor: SHRIDEEP PALLICKARA

Grading: Letter Grades

August 27, 2019

¨ Letter grades will be based on the following standard breakpoints: § >= 90 is an A, >= 88 is an A-, § >= 86 is a B+, >=80 is a B, >=78 is a B-, § >= 76 is a C+, >=70 is a C, § >= 60 is a D, and <60 is an F. ¨ I will not cut higher than this, but I may cut lower

slide-15
SLIDE 15

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.15

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.29 Professor: SHRIDEEP PALLICKARA

Grading and Late Submissions

¨ There is no extra-credit ¤ Any credit you earn must be on a level-playing field with your peers ¨ There will be no make-up exams ¨ Assignments will have an interview portion

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.30 Professor: SHRIDEEP PALLICKARA

For the Quizzes

¨ I will only ask questions about what I teach ¤ If I didn’t teach it, I won’t ask from that portion ¨ If the concepts were covered in my slides ¤ You should be be able to answer the questions

August 27, 2019

slide-16
SLIDE 16

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.16

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.31 Professor: SHRIDEEP PALLICKARA

When I make slides

¨ I usually refer to several texts ¤ Also technical papers, articles (with URLs) ¨ I always list my references at the end of every slide set

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.32 Professor: SHRIDEEP PALLICKARA

There is no textbook for this course, but we will rely on several texts/papers

¨ Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten

Van der Steen. 2nd Edition. Prentice Hall. ISBN: 0132392275/978-0132392273.

¨ Distributed Computing: Principles, Algorithms, and Systems. Ajay Kshemkalyani and

Mukesh Singhal. 1st edition. Cambridge University Press. ISBN: 0521876346/ 978-0521876346

¨ Concurrent Programming in Java(TM): Design Principles and Pattern. Doug Lea. 2nd

  • Edition. Prentice Hall. ISBN: 0201310090/978-0201310092.

¨ Distributed Algorithms. Nancy Lynch. 1st edition. Morgan Kaufman. ISBN:

1558603484/978-1558603486.

¨ Cloud Application Architectures: Building Applications and Infrastructure in the

  • Cloud. George Reese.1st edition. O'Reilly. ISBN: 0596156367/978-0596156367.

August 27, 2019

slide-17
SLIDE 17

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.17

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.33 Professor: SHRIDEEP PALLICKARA

There is no textbook for this course, but we will rely

  • n several texts/papers

¨ Computer Networks: A Systems Approach. Larry Peterson and Bruce Davie.

4th edition. Morgan Kaufmann. ISBN: 978-0-12-370548-8.

¨ Practical Cryptography. Niels Ferguson and Bruce Schneier. 1st edition. Wiley

  • Publishing. ISBN: 0-471-22894-X/0-471-22357-3.

¨ Cryptography and Network Security: Principles and Practice. William

  • Stallings. 5th Edition. Prentice Hall. ISBN: 0136097049/978-0136097044

¨ Unix Systems Programming. Kay Robbins & Steve Robbins, 2nd edition.

Prentice Hall. ISBN: 978-0-13-042411-2.

¨ Operating Systems Concepts. Avi Silberschatz, Peter Galvin, Greg Gagne. 8th

  • edition. John Wiley & Sons, Inc. ISBN-13: 978-0-470-12872-5.

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

TOPICS TO BE COVERED IN CS555

August 27, 2019

L1.34

slide-18
SLIDE 18

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.18

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.35 Professor: SHRIDEEP PALLICKARA

Topics covered in CS555

¨ Time ¨ Threads and Processes ¨ Role of Order ¨ Content Dissemination Systems ¨ Peer to Peer Systems ¨ Data intensive computing ¤ MapReduce ¨ Stream Processing Systems ¤ Spark

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.36 Professor: SHRIDEEP PALLICKARA

Topics covered in CS555

¨ Replication and Consistency Models ¤ Brewers CAP ¨ Cloud Storage Systems ¤ Google File System, Amazon Dynamo ¨ Distributed Objects and RPCs ¨ Virtualization ¤ Server Consolidation

August 27, 2019

slide-19
SLIDE 19

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.19

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

Professor: SHRIDEEP PALLICKARA L1.37

BROAD BRUSHSTROKE COVERAGE OF DISTRIBUTED SYSTEMS

August 27, 2019

37

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.38 Professor: SHRIDEEP PALLICKARA

Distributed systems definition

¨ A distributed system is a collection of independent computers that

appears to its users as a single coherent system

¤ Andrew Tanenbaum ¨ A distributed system is one in which the failure of a computer you didn't

even know existed can render your own computer unusable

¤ Leslie Lamport

August 27, 2019

slide-20
SLIDE 20

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.20

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.39 Professor: SHRIDEEP PALLICKARA

Distributed Systems: GOALS

¨ Making resources accessible ¨ Distribution transparency ¨ Openness ¨ Scalability

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.40 Professor: SHRIDEEP PALLICKARA

GOAL 1: Making resources accessible

¨ Share resources in a controlled and efficient fashion ¤ Printers, computers, storage facilities, etc. ¨ Reasons for sharing? ¤ Economics: Often cheaper to share than to have copies ¤ Easy to collaborate and exchange information

August 27, 2019

slide-21
SLIDE 21

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.21

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.41 Professor: SHRIDEEP PALLICKARA

As connectivity and sharing increase security issues become important

August 27, 2019

¨ Protection against intrusion and eavesdropping of communications ¨ Entities can track communications to build profiles of users ¤ Violates privacy ¤ Unwanted communications n Spam?

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.42 Professor: SHRIDEEP PALLICKARA

GOAL 2: Distribution transparency

August 27, 2019

¨ Hide the fact that the the constituent processes and resources are

physically distributed

¤ Across multiple computers ¨ System should present itself to the application & users as if it were a

single computer system

¤ Transparency

slide-22
SLIDE 22

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.22

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.43 Professor: SHRIDEEP PALLICKARA

Types of transparency

Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide the fact that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource is replicated Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failures and recovery of a resource

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.44 Professor: SHRIDEEP PALLICKARA

Degree of transparency: Sometimes we cannot hide all

distribution aspects from users

August 27, 2019

¨ Time zone variations ¨ Communications are not instantaneous ¤ Signal transmission is limited by the n Speed of light n Limited processing capabilities of intermediate switches

slide-23
SLIDE 23

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.23

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.45 Professor: SHRIDEEP PALLICKARA

Trade-off between transparency and performance

  • f system

August 27, 2019

¨ EXAMPLE: Mask transient server failure by retrying connections

periodically

¤ Maybe better to give up earlier or try another server ¨ EXAMPLE: Several replicas need to be kept consistent at all times ¤ If change is made to one copy, it must be propagated to all copies before a

new change can be made

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.46 Professor: SHRIDEEP PALLICKARA

GOAL 3: Openness

August 27, 2019

¨ Offer services according to standard rules that describe syntax and

semantics of those services

¤ E.g., in networks, rules govern: format, content, and meaning of messages ¤ Formalized in protocols ¨ Services are generally specified through interfaces

slide-24
SLIDE 24

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.24

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.47 Professor: SHRIDEEP PALLICKARA

What are these interfaces?

August 27, 2019

¨ Specify names of functions ¤ Along with types of parameters, return values, possible exceptions, etc. ¤ IDL (Interface Definition Language), WSDL (Web Services Description

Language)

¨ Hardest part is specifying the semantics of these interfaces ¤ What exactly does the service do?

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.48 Professor: SHRIDEEP PALLICKARA

Interoperability

¨ The extent to which two implementations of components from different

manufacturers

¤ Coexist and work together ¤ Merely by relying on each other’s interfaces

August 27, 2019

slide-25
SLIDE 25

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.25

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.49 Professor: SHRIDEEP PALLICKARA

Portability

August 27, 2019

¨ Extent to which application developed for distributed system A ¤ Can be executed, without modification, on a different distributed system B

that implements the same interfaces as A

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.50 Professor: SHRIDEEP PALLICKARA

Extensibility

¨ Configure system out of different components ¤ Possibly from different developers ¨ Add new components, replace existing ones ¤ Without affecting components that stay in place ¨ Examples: ¤ Add parts that run on a different OS ¤ Replace an entire file system

August 27, 2019

slide-26
SLIDE 26

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.26

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.51 Professor: SHRIDEEP PALLICKARA

Achieving flexibility

August 27, 2019

¨ System must be organized as a collection of small, replaceable or

adaptable components

¨ Definitions for not only highest-level interfaces but also for internal

parts of the system

¤ Describe how these interact

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.52 Professor: SHRIDEEP PALLICKARA

Flexibility example: Caching within a browser

¨ Browsers allow you to adapt caching policy ¤ Specify size of the cache ¤ Consistency check of cached document ¨ However you cannot influence other parameters such as ¤ How long can a document remain in the cache? ¤ Which document should be removed when the cache fills up? ¤ Cannot make caching decisions based on content n For e.g., metro train timetables rarely change

August 27, 2019

slide-27
SLIDE 27

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.27

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.53 Professor: SHRIDEEP PALLICKARA

What we need is a separation of policy and mechanism

¨ Browser should ideally provide facilities only for storing documents ¤ Users decide which documents are stored and for how long ¤ Perhaps user can implement policy as a pluggable browser component

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.54 Professor: SHRIDEEP PALLICKARA

GOAL 4: Scalability Dimensions

August 27, 2019

¨ Size ¤ Should be possible to add more users and resources to the system ¨ Geographically scalable ¤ Users and resources may be spatially far apart ¨ Administrative scalability ¤ Should be easy to manage even if it spans many independent administrative

domains

slide-28
SLIDE 28

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.28

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.55 Professor: SHRIDEEP PALLICKARA

Examples of scalability limitations

Concept Example

Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.56 Professor: SHRIDEEP PALLICKARA

Characteristics of decentralized algorithms

August 27, 2019

¨ No machine has complete information about system ¨ Machines make decisions based only on local information ¨ Failure of one machine does not ruin algorithm ¨ No implicit assumption that a global clock exists

slide-29
SLIDE 29

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.29

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.57 Professor: SHRIDEEP PALLICKARA

Scaling techniques: Asynchronous communications

August 27, 2019

¨ Avoid waiting for responses to requests that were issued ¤ Works well in WAN and geographically dispersed settings ¨ Alternatively, use a separate thread of control for requests ¨ Does not work well in interactive applications

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.58 Professor: SHRIDEEP PALLICKARA

Scaling techniques: Distribution

¨ Take a component and split them into smaller parts ¤ Disperse these parts across the system ¨ Examples: ¤ Domain Name System (DNS) ¤ World Wide Web

August 27, 2019

slide-30
SLIDE 30

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.30

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.59 Professor: SHRIDEEP PALLICKARA

Scaling techniques: Replication

¨ Scaling problems usually manifest themselves as performance

problems

¤ Slow responses, and such ¨ Replication involves having dispersed copies ¤ Increases availability n Better fault tolerance ¤ Balances load between components n Leads to better performance

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.60 Professor: SHRIDEEP PALLICKARA

Pitfalls: False assumptions made during development of a

distributed application

¨ The network is reliable ¨ The network is secure ¨ The network is homogeneous ¨ The topology does not change ¨ Latency is zero ¨ Bandwidth is infinite ¨ Transport costs is zero ¨ There is one administrator

List by: Peter Deutch Sun Microsystems

August 27, 2019

slide-31
SLIDE 31

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.31

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.61 Professor: SHRIDEEP PALLICKARA

Trade-off space in distributed systems

① CPU and memory utilization ② Synchronization overhead

¤ Number, type, and size of messages exchanged

③ Consistency

¤ Brewers CAP theorem

④ Time

¤ Completion time, response times, etc

⑤ Costs

August 27, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

ONTOGENY RECAPITULATES PHYLOGENY

August 27, 2019

L1.62

slide-32
SLIDE 32

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.32

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.63 Professor: SHRIDEEP PALLICKARA

After Charles Darwin’s book ON THE ORIGIN OF SPECIES was published

August 27, 2019

¨ German zoologist Ernst Haeckl stated ¤ Ontogeny recapitulates Phylogeny

Development of an embryo the evolution of the species repeats

  • i.e. human egg goes through stages of being a fish, … , before becoming

human baby

  • Modern biologists think this is a gross simplification!

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.64 Professor: SHRIDEEP PALLICKARA

Something vaguely similar has happened in the computer industry

August 27, 2019

¨ Each new species (type of computer) goes through the development that

its ancestors did

¤ Both in hardware and software ¤ Mainframe, mini computers, PC, handheld, etc

slide-33
SLIDE 33

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.33

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.65 Professor: SHRIDEEP PALLICKARA

Much of what happens in computing and other fields is technology driven

August 27, 2019

¨ Ancient Romans lacked cars not because they liked walking ¤ It is because they didn’t know to build cars ¨ PCs exist not because people have a centuries-old pent-up desire to

  • wn one

¤ It is now possible to manufacture them cheaply

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.66 Professor: SHRIDEEP PALLICKARA

Technology affects our view of systems

¨ A change in technology renders some idea obsolete ¤ Another change could revive it ¨ Especially true when change has to do with relative performance ¤ Of different parts of the system

August 27, 2019

slide-34
SLIDE 34

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.34

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.67 Professor: SHRIDEEP PALLICKARA

Let’s look at this relative performance

August 27, 2019

¨ When CPUs become faster than memories? ¤ Caches become important to speed-up slow memory ¨ If new memory technology makes memories much faster than CPUs? ¤ Caches will vanish! ¨ In biology extinction is forever ¤ In computer science it is sometimes only for a few years

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.68 Professor: SHRIDEEP PALLICKARA

Systems stand on the shoulders of those that have come before it

August 27, 2019

¨ Client-Server ¨ 3-tier (or N tiers) ¨ Distributed Objects (DCOM, CORBA, RMI) ¨ Message Passing based ¤ Queuing, Publish/Subscribe, Peer-2-Peer ¨ Grid Computing ¨ Service Oriented Architectures (XML ) ¨ Cloud Computing

slide-35
SLIDE 35

SLIDES CREATED BY: SHRIDEEP PALLICKARA L1.35

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L1.69 Professor: SHRIDEEP PALLICKARA

The contents of this slide-set are based on the following references

August 27, 2019 ¨ Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten Van

der Steen. 2nd Edition. Prentice Hall. ISBN: 0132392275/978-0132392273.

¨ Andrew S Tanenbaum and Herbert Bos. Modern Operating Systems. 4th Edition,

  • 2014. Prentice Hall. ISBN: 013359162X/978-0133591620