1 cosc3657:distributed systems haibin zhu, phd. assistant professor department of computer science...

32
1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

Upload: allison-wilkinson

Post on 04-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

1

COSC3657:Distributed Systems

Haibin Zhu, PhD.

Assistant Professor

Department of Computer Science

Nipissing University

(C) 2002

Page 2: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

2

Instructor

Haibin Zhu, Ph. D. Assistant Professor Department of CS and Math Nipissing University Room: A124A Ext.: 4434 Email: [email protected] URL: http://www.nipissingu.ca/faculty/haibinz Office Hour: Mon.-Fri. 2:30pm-4:30pm, and by appointment

Page 3: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

3

Course

Introduction to computer networks and computer systems interconnected by networks, including both the hardware and software of selected LANs and WANs, the issues of reliable and secure communication, layered models, distributed file systems and concurrency will be discussed.

In this course, we will study some of the most important concepts in the design of distributed operating systems.

Page 4: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

4

Introduction to Distributed Systems

Distributed SystemsNetwork OSs vs distributed OSsResearch and design issuesReading: CDK, chapters 1

Page 5: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

5

What is a distributed system?

CDK’s Definition: A system in which hardware and software components

located on networked computers communicate and coordinate their actions only by passing messages.

Galli’s Definition A distributed system is a collection of heterogeneous

computers and processors connected via a network. This collection works closely together to accomplish a common goal.

Page 6: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

6

To understand the definition

This definition allows for concurrent execution of programs, but prevents the possibility of a global clock and means that components can fail independently of one another.

Page 7: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

7

Problems

Why do we require distributed systems?How does this compare with a traditional operating

system such as Unix?What implications does this definition have on

implementation?

Page 8: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

8

Distributed Operating Systems

Requirements: Provide user with convenient virtual computer. Hide distribution of resources. Mechanisms for protecting resources. Secure communication.

Definition Distributed OS looks to user like ordinary centralized

OS, but runs on multiple, independent CPUs. Use of multiple processors is invisible. User views system as virtual uniprocessor.

Page 9: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

9

Distributed vs Centralized Systems

Advantages of Distributed Systems: Reliability. Sharing of resources. Aggregate computing power. Openness/Scalability

Disadvantages of distributed systems: Security. Physical distribution of resources vs demand. Computing power per node is limited.

Page 10: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

10

Distributed vs Networked OS

Transparency: How aware are users of the fact that multiple computers

are being used?

Network OS: Users are aware where resources are located Network OS is built on top of centralized OS. Handles interfacing and coordination between local OSs.

Distributed OS: Designed to control and optimize operations and

resources in distributed system.

Page 11: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

11

Network OSs

Definition: A network OS is a collection of OSs of computers

connected through a network incorporating modules to provide access to remote resources.

Characteristics: Each computer has a private OS. A user works on his own machine and remotely logs in to

other computers. Users are aware of location of files. Limited fault tolerance.

Page 12: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

12

Internet

The Internet is a very large distributed system that allows users throughout the world to make use of its services.

Page 13: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

13

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Figure 1.1A typical portion of the Internet

Page 14: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

14

Intranet

An intranet is a part of the Internet that is separately administered and uses a firewall to enforce its own local security policies. Users in an intranet share data by means of file services.

Page 15: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

15

Figure 1.2A typical intranet

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

Page 16: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

16

Mobile computing

Distributed systems techniques are equally applicable to mobile computing (involving laptops, PDAs and wearable computing devices) as well as ubiquitous computing (involving the small computers embedded in appliances).

Page 17: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

17

Fig. 1.3 Portable and handheld devices in a distributed system

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Page 18: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

18

Fig. 1.4 Web servers and web browsers

Internet

BrowsersWeb servers

www.google.com

www.cdk3.net

www.w3c.org

Protocols

Activity.html

http://www.w3c.org/Protocols/Activity.html

http://www.google.comlsearch?q=kindberg

http://www.cdk3.net/

File system ofwww.w3c.org

Page 19: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

19

Figure 1.5Computers in the Internet

Date Computers Web servers

1979, Dec. 188 0

1989, July 130,000 0

1999, July 56,218,000 5,560,866

2004 605, 600, 000 ???

2003 171, 638, 297 35, 424, 956

Page 20: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

20

Figure 1.6Computers vs Web servers in the Internet

Date Computers Web servers Percentage

1993, July 1,776,000 130 0.008

1995, July 6,642,000 23,500 0.4

1997, July 19,540,000 1,203,096 6

1999, July 56,218,000 6,598,697 12

42, 298, 371

125, 888, 197 31, 299, 5922001

2003

25

Page 21: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

21

World Wide Web

Ultimate distributed system. Developed in 1989 in CERN Switzerland for document

exchange among physicists. Documents have a hypertext structure. New resources are located by following these hypertext links. Uses a client-server model. A browser (client) on a user machine makes requests and

handles the displayNew document formats can be handled by plug-ins or helpers without changing the browser software. .The web server only delivers documents and is not concerned with user

interfaces or document format.

Page 22: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

22

World Wide Web Components

HTML (HyperText Markup Language) - specifies the format for the documents delivered by the server URL (Uniform Resource Locator) - specifies a resource that is accessible via the web.

HTTP (HyperText Transfer Protocol) - specifies the interaction between browsers and web servers

Page 23: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

23

HTML format for web documents

Text format can be created using Text editor or HTML tool.

Uses tags to specify content: <P> A paragraph </P> <IMG SRC=“Book.gif”> <A HREF=“http://www.nipissingu.ca”>NU</A>

The <A HREF…..> X</A> specifies a link identified by X in the text.

Page 24: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

24

URLS

Format scheme: scheme-specific-location

Format of scheme-specific-location when scheme is HTTP: http://servername[:port][/pathOnServer][/arguments]

Examples http://www.nipissingu.ca http://www.nipissingu.ca/faculty/haibinz http://www.google.ca/search?q=distributed+systems

Page 25: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

25

HTTP

Built using TCP socket connections. Request-reply protocol:

Client initiates with a request (GET) Server responds with requested document or an error

Content types identify document types for browser. HTTP 1.0 - need a separate request for each resource HTTP 1.1 - requests pipelined and served by a single

connection. Executables:

CGI (Common Gateway Interface) executes on server Java Applets execute on browser

Page 26: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

26

Research and Design Issues

Communication modelParadigms for process interactionTransparencyHeterogeneityAutonomy and/or interdependenceReliable distributed computingReplication

Page 27: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

27

Challenges

Heterogeneity Networks Hardware OS Programming languages Different implementations

Openness System can be extended and re-implemented interfaces published uniform mechanism to access resources heterogeneous h/w and software, provided that they conform to the

specification. Security

naming capacity, e.g., factor of 105 for Web servers

Page 28: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

28

Challenges cont’d

Failure handling hardware redundancy software recovery

Concurrency Many users, hence many concurrent pieces of work Servers need to be responsible to many clients, so they

need to be concurrent Many computers, hence many resources available for

parallelism Concurrency ?parallelism

Transparency

Page 29: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

29

Transparency

Transparency: Make the network invisible to user/applications.

Various degrees of transparency: Access Transparency Location Transparency Name Transparency Data Transparency Execution Transparency Performance Transparency Scaling transparency

Page 30: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

30

Figure 1.7Transparencies

Access transparency: enables local and remote resources to be accessed using identical operations.Location transparency: enables resources to be accessed without knowledge of their location.Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them.Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers.Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components.Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs.Performance transparency: allows the system to be reconfigured to improve performance as loads vary.Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.

Page 31: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

31

Autonomy and Interdependence

Disadvantage generated by interdependence: cannot work stand-alone globally controlled difficult to identify source of authority and responsibility what about mutual suspicion?

Reasons for autonomy: policy freedom robustness cooperation between mutually suspicious users

Page 32: 1 COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

32

Summary

Distributed Systems Definitions One system Many computers Connected by network Cooperate on the same task

Internet and World Wide Web Challenges

Heterogeneity Openness Security Failure handling Concurrency Transparency