Module 2 Fundamental Architectures and Models of Distributed Systems

Size: px
Start display at page:

Download "Module 2 Fundamental Architectures and Models of Distributed Systems"

Transcription

1 Module 2 Fundamental Architectures and Models of Distributed Systems Raouf Boutaba 1

2 Module Goal To gain a good understanding of the challenges related to heterogeneity, openness, security, scalability, failure handling, concurrency and transparency as they apply to distributed systems To place distributed systems in a realistic context through examples: the Internet, an intranet and mobile networking/computing To provide the conceptual models to support and motivate the study of many of the design problems and solutions in distributed systems Raouf Boutaba 2

3 Module Overview Fundamental Concepts Advantages/Disadvantages Taxonomy of DS Architectures Challenges Examples of Distributed Systems Computational Models Raouf Boutaba 3

4 The Tim Allen View of Computing Faster!!! Bigger Problems I want 7 days of weather not 2 I want 1024x1024x16-bit color Most modern applications such as weather prediction, aerodynamics and artificial intelligence are very computationally intensive Raouf Boutaba 4

5 Why High Performance? To calculate a 24 hour forecast for the UK requires about operations to be performed Takes about 2.7 hours on a machine capable of 10 8 operations per second What about a 7 day forecast? Okay so buy a faster computer The speed of light is 3x10 8 m/s. Consider two electronic devices (each capable of performing operations/second) 0.5mm apart. It takes longer for the signal to travel between them than it takes for either of them to process it. Raouf Boutaba 5

6 Why Are Things Getting Better? Half past century: Unprecedented improvement in computer industry 10 million dollars machines executed 1 instruction per second Price/perf gain dollars machines executing 10 millions instruction per second If car industry improved at same rate in same period of time, a Rolls Royce would now cost 10 dollars and get a billion miles per gallon Raouf Boutaba 6

7 Raouf Boutaba 7

8 What Happened Exactly? Two advances in technology allowed such improvement: Development of Powerful microprocessors (8-, 16-, 32-, & 64-bit CPUs) Invention of high-speed computer networks that allow a large number of machines to exchange information at high rates Local Area Networks (LANs) (10/100 s machines; data transfer in less than a ms) Wide Area Network (WANs) (10/100 millions machines; from 64Kbps to Gbps) Raouf Boutaba 8

9 The Bottom Line It is getting harder to extract the performance modern applications require out of a single processor machine Given practical constraints, such as the speed of light, or latency issues, machines with multiple processing elements seem to be the only way to go Sharing resources was an important use of early LAN Technology (File servers; Printers) Result: Distributed systems (Large numbers of CPUs connected by a high-speed networks) Contrast: Centralized systems (Single CPU, its memory, peripherals, & some terminals) Raouf Boutaba 9

10 What s a Distributed System? A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility A distributed system is a collection of independent computers that appear to the users of the system as a single computer A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages Raouf Boutaba 10

11 Working Definition A distributed system is several computers doing something together Three primary features of a distributed system Multiple computers Communications Virtual Computer A well designed distributed system should be perceived as a single, integrated computing facility World Wide Web Automatic Teller Machines Cell Phones Raouf Boutaba 11

12 Advantages Economics Speed Inherent distribution Reliability Incremental growth Microprocessors offer a better price/ performance than mainframes A distributed system may have more total computing power than a mainframe Some applications involve spatially separated machines If one machine crashes, the system as a whole can still survive Computing power can be added in small increments Raouf Boutaba 12

13 Economics Grosch s law (Quarter of a century ago) The computing power of CPU is proportional to the square of its price. By paying twice as much, you could get 4 times the performance With microprocessor technology, no longer hold! Few $100 s get a CPU chip faster than the largest 1980s mainframes By paying twice as much, you get same CPU, but running at a somewhat higher clock speed Raouf Boutaba 13

14 Economics (Cont) More cost-effective to harness a large number of cheap CPUs together in a system First & Leading motivation for distributed systems: Better price/performance ratio than a single large centralized system Raouf Boutaba 14

15 Advantages Economics Speed Inherent distribution Reliability Incremental growth Microprocessors offer a better price/ performance than mainframes A distributed system may have more total computing power than a mainframe Some applications involve spatially separated machines If one machine crashes, the system as a whole can still survive Computing power can be added in small increments Raouf Boutaba 15

16 Speed A collection of microprocessors may yield an absolute performance that no mainframe can achieve at any price! Example: Can build a system from 10,000 CPU chips If each CPU chip runs at 50 MIPS, total performance: 50,000 MIPS To achieve same performance a single CPU CPU has to execute an instruction in nsec (2 picosec) Unlikely to happen from theoretical & engineering points of view Einstein s theory of relativity: Nothing can travel faster than light, which can cover only 0.6 mm in 2 picoseconds Raouf Boutaba 16

17 Advantages Economics Speed Inherent distribution Reliability Incremental growth Microprocessors offer a better price/ performance than mainframes A distributed system may have more total computing power than a mainframe Some applications involve spatially separated machines If one machine crashes, the system as a whole can still survive Computing power can be added in small increments Raouf Boutaba 17

18 Inherent Distribution Some applications are inherently distributed and involve spatially separated machines Examples: Computer-supported collaborative work Computer-supported cooperative games Commercial applications, banking, etc. Raouf Boutaba 18

19 Advantages Economics Speed Inherent distribution Reliability Incremental growth Microprocessors offer a better price/ performance than mainframes A distributed system may have more total computing power than a mainframe Some applications involve spatially separated machines If one machine crashes, the system as a whole can still survive Computing power can be added in small increments Raouf Boutaba 19

20 Reliability Ideally, if 5% of the machines are down at any moment, the system should be able to continue to work with a 5% loss in performance Very important feature for critical applications Examples: Control of nuclear reactors or aircrafts Military control and command systems Raouf Boutaba 20

21 Advantages Economics Speed Inherent distribution Reliability Incremental growth Microprocessors offer a better price/ performance than mainframes A distributed system may have more total computing power than a mainframe Some applications involve spatially separated machines If one machine crashes, the system as a whole can still survive Computing power can be added in small increments Raouf Boutaba 21

22 Incremental Growth A big plus Upgrading a system based on a mainframe means: Replace the mainframe with a larger one (if it exist)! Add a second mainframe! With a distributed system: gradual expansion as the need arises Add more processors to the system Raouf Boutaba 22

23 Driving Force in the Long Term Existence of large numbers of personal computers Need for people to work together and share information in a convenient way without being bothered by geography or distribution of people, data, and machines Distributed Systems Versus Personal Computers Data sharing Device sharing Communications Flexibility Allow many users access to a common data base, e.g., airline reservation systems Allow many users to share expensive peripherals, e.g., color printers and optical jukeboxes Make human-to-human communication easier, for example, by electronic mail Spread the work over the available machines in the most cost effective way. Raouf Boutaba 23

24 Disadvantages Software Networking Security Little software exist at present for distributed systems The network can saturate or cause other problems Easy access also applies to secret data Still advantages of distributed systems outweigh the disadvantages and it is expected that distributed systems will become increasingly important in the coming years Raouf Boutaba 24

25 Consequences Concurrency Concurrency is the norm instead of the exception Synchronization is critical No Global Clock There is a limit as to how accurate a global clock can be Independent Failures The more stuff you add the more likely something will break Single system view says independent failures should not affect users Communication Issues Unreliable, Insecure, Costly Raouf Boutaba 25

26 Hardware A large collection of processing elements that can communicate and cooperate to solve large problems quickly Parallelism SEQUENTIAL If several operations can be performed simultaneously, the total computation time is reduced Example s parallel version has the potential of being 3 times faster INPUT PARALLEL INPUTS OUTPUT OUTPUTS Raouf Boutaba 26

27 Parallel Architectures Unlike traditional von Neumann machines, there is no single standard architecture used on parallel machines In fact dozens of different parallel architectures have been built and are being used Most important is how the hardware is organized, i.e. how the multiple CPUs are interconnected? Several people have tried to classify the different types of parallel machines The taxonomy proposed by Flynn is the most commonly used Raouf Boutaba 27

28 Flynn s Model of Computation Any computer, whether sequential or parallel, operates by executing instructions on data. A stream of instructions (the algorithm) tells the computer what to do. A stream of data (the input) is affected by these instructions. Depending on whether there is one or several of these streams, Flynn s taxonomy (1972) defines four classes of computers Instruction Streams Single Multiple Single Single Instruction Single Data Multiple Instruction Single Data Data Streams Multiple Single Instruction Multiple Data Multiple Instruction Multiple Data Raouf Boutaba 28

29 The 4 Classes Potential of the 4 Classes + A B SISD SISD A + B + * A B MISD MISD A + B C * D + A B C D SIMD SIMD A + B C + D + * A B C D MIMD MIMD A + B C * D Examples: SISD (all traditional uniprocessor computers) SIMD (repetitive computations, some supercomputers) MISD (no known computer fits this model) MIMD (group of independent computers, each with its own instruction unit and data) Raouf Boutaba 29

30 All Existing Systems Are MIMD MIMD Tightly Coupled Multiprocessors (shared memory) Parallel and Distributed Systems Loosely Coupled Multicomputers (private memory) Bus Switched Bus Switched Sequent, Encore Ultracomputer, RP3 Workstations on a LAN Hypercube, Transputer Raouf Boutaba 30

31 Multiprocessors Bus-Based Multiprocessors CPU Cache CPU Cache CPU Cache Memory Switched Multiprocessors Memories M M M M C C CPUs C C C C C Bus 2) Omega network 2*2 switches M M M M C 1) Crossbar switch 3) NUMA machine Raouf Boutaba 31

32 Multicomputers Bus-Based Multicomputers Workstation Workstation Local Memory Local Memory CPU CPU Switched Multicomputers Workstation Local Memory CPU Network Grid Hypercube Raouf Boutaba 32

33 Software Software is more important than hardware! Operating system software determines the image that a system presents to its users Software is more difficult to categorize, still 2 kinds: Loosely-coupled software Allows machines and users to be fundamentally independent of one another, but still interact to a limited degree where that is necessary Group of personal computers sharing a printer on a LAN Tightly-coupled software Allows the CPUs in a multiprocessor machine to work together in solving a single problem To run a chess program in parallel Raouf Boutaba 33

34 Software/Hardware Combinations Software Loosely Tightly Coupled Coupled Hardware Loosely Coupled Tightly Coupled Network Operating Systems True Distributed Systems Multiptocessor Timesharing Systems Raouf Boutaba 34

35 Network Operating Systems Typical example: A network of workstations on a LAN Primitive forms of communication: Remote login: rlogin host Remote copy: rcp host1:file1 host2:file2 More convenient forms of information sharing Clients File server Request LAN Reply Raouf Boutaba 35

36 True Distributed Systems Create illusion of single timesharing system, referred to as single system image or virtual uniprocessor No current system fulfills this requirement entirely, i.e., hide to users the existence of multiple CPUs Some characteristics of a distributed system: Single global interprocess communication mechanism Same process management everywhere Same system call interface everywhere File system must look the same everywhere Raouf Boutaba 36

37 Multiprocessor Timesharing Systems Tightly-coupled software on tightly-coupled hardware Used for special purpose machines, e.g., dedicated data base machines Most common general purpose are multiprocessors operated as a UNIX timesharing system, but with multiple CPUs (e.g., MIPS CPUs providing a single-system image, i.e., a 960 CPU) Key characteristic: A single run queue CPU 1 Process A (running) Cache CPU 2 Process B (running) Cache CPU 3 Process C (running) Cache Disk Bus Memory E (ready) D (ready) C (running) B (running) A (running) Run Queue: D, E Operating system Raouf Boutaba 37

38 Comparison Network True Multiprocessor Operating Distributed Timesharing System System System Does it look like a virtual uniprocessor? No Yes Yes Do all have to run the same OS? No Yes Yes How many copies of the OS are there? N N 1 How is communication achieved? Shared files Messages Shared memory Are agreed upon net. protocols required? Yes Yes No Is there a single run queue? No No Yes Does file sharing have well-defined semantics? Usually No Yes Yes Raouf Boutaba 38

39 Examples of Distributed Systems The Internet Intranets Mobile Cellular Networking Mobile Ubiquitous Computing World Wide Web Other Distributed Systems Raouf Boutaba 39

40 The Internet Heterogeneous network of computers and applications Implemented through the Internet protocol stack A typical portion of the Internet ISP Intranet Backbone Satellite Link Desktop Computer: Server: Network Link: Raouf Boutaba 40

41 Intranets Locally administered network Usually proprietary (e. g., the University campus network) Interfaces with the Internet through Firewalls Provides services internally and externally Print and other Servers server Desktop Computers Web server Local Area Network server File server the rest of the Internet router/firewall Print other servers Raouf Boutaba 41

42 Mobile Cellular Networking Cellular phone systems (e. g., GSM, UMTS) Resources being shared Radio frequencies Transmission times on one frequency (UMTS: multiplexing) The mobile on the move Global System for Mobile Communications (GSM) Forms the basis for what is called digital cellular system 1800 (DCS1800). GSM/DCS is designed to include a wide variety of services including: Speech Fax Emergency call Raouf Boutaba 42

43 DCS1800/GSM900 BCS BCS M S C VLR HLR AC BCS EIR Raouf Boutaba 43

44 Description The MSC is the heart of GSM sets up, manages, and clear connections routes calls to the proper cells interfaces to the telephone system Databases Home Location Register (subscriber information) Visitor Location Register (users in a particular area) Authentication Center Equipment Identity Register Raouf Boutaba 44

45 Call Routing Telephone Network Gateway MSC Terminating MSC BSC 9 HLR 4 VLR 1 = Call made to mobile unit 2 = Telephone network recognizes number and gives to gateway MSC 3 = MSC can t route further, interrogates user s HLR 4 = HLR interrogates VLR currently serving user 5 = Routing number returned to HLR and then gateway MSC 6 = Call routed to terminating MSC 7 = MSC asks VLR to correlate call to the subscriber 8 = VLR complies 9 = Mobile unit is pages 10 = Mobile unit responds; information conveyed back to telephone Raouf Boutaba 45

46 Location Updating Previous MSC 2 4 New MSC BSC 1 4 New VLR 5 HLR 3 New VLR 1 = Location update request 2 = Location update message 3 = Subscription data return 4 = Location update acknowledgement 5 = Location cancellation message Raouf Boutaba 46

47 Mobile Computing Wireless LANs (university campus WLAN soon to come here?) Laptop Computers Handheld devices, PDAs etc. Wearable devices Internet Host intranet Wireless LAN WAP Gateway Home intranet PDA Printer Camera Laptop Host site Raouf Boutaba 47

48 The World Wide Wait! Open client- server architecture implemented on top of the Internet Shared resources Information, uniquely identified through a Uniform Resource Locator (URL) Variants: Intranet- based Webs PC running Explorer Mac running Navigator Browsers Internet WWW Server Server running BBCR Web server Cs454.html File system of bbcr.uwaterloo.ca Raouf Boutaba 48

49 Other Distributed Systems Distributed Multimedia- Systems Often use Internet infrastructure Characteristics Heterogeneous data sources and sinks (Video, Audio, Text) that need to be synchronized in real time Video Audio Text Often: Distribution services (Multicast) Examples Teleteaching tools (mbone- based, etc.) Video- conferencing Video and audio on demand Raouf Boutaba 49

50 Other Distributed Systems Embedded systems Avionics control systems Flight management systems in aircraft Automotive control systems Mercedes S- Class automobiles these days are equipped with 50+ autonomous embedded processors Connected through proprietary bus- like LANs Network File Systems Architecture to access file systems across a network Famous example Network File System (NFS) originally developed by SUN Microsystems for remote access support in a UNIX context Raouf Boutaba 50

51 DSs vs. Computer Networks Computer Network the autonomous computers are explicitly visible (have to be explicitly addressed) Distributed System Existence of multiple autonomous computers is transparent However Many problems in common, In some sense networks (or parts of them, e. g., name services) are also distributed systems, and Normally, every distributed system relies on services provided by a computer network. Raouf Boutaba 51

52 Challenges in Designing DSs There are a number of challenges found in building distributed systems Heterogeneity Openness Security Scalability Reliability Concurrency Performance Flexibility Transparency Raouf Boutaba 52

53 Heterogeneity Applies to: Networks Computer Hardware Operating Systems (Compare UNIX Socket & Winsock calls) Programming Languages Some Approaches: Middleware (e.g., CORBA): transparency of hard- and software and programming languages heterogeneity Mobile code (e.g., Java): transparency of hard- and software and programming languages heterogeneity through virtual machine concept Raouf Boutaba 53

54 Openness Historically, computer systems were largely closed UNIX broke the mold for OS IBM PC broke the mold for hardware Openness: The characteristic that a system can be extended in various ways Hardware extensions Software extensions Approach: Adherence to standard interfaces Raouf Boutaba 54

55 Security Security is a huge issue in computing in general, but even more so in distributed computing Communication Distributed Resources Infrastructure Attacks Files/resources must be protected from unauthorized usage Approach Privacy Authentication Availability Raouf Boutaba 55

56 Scalability Distributed systems operate at many different scales Two workstations and a file server The CS computers Most current distributed systems designed to work with few hundred CPUs. Future systems will be orders of magnitude larger Computers in the Internet Date Computers 1979, Dec , July 130, , July 56,218,000 Computers Vs. Web servers in the Internet Date Computers Web servers Percentage 1993, July 1,776, , July 6,642,000 23, , July 19,540,000 1,203, , July 56,218,000 6,598, Raouf Boutaba 56

57 Scalability Distributed systems operate at many different scales Two workstations and a file server The CS computers Often the more important question is not can you scale, but can you scale well Consider the Internet Most current distributed systems designed to work with few hundred CPUs. Future systems will be orders of magnitude larger. Solutions for 200 machines will fail miserably for 2,000,000. Raouf Boutaba 57

58 Guiding Principles Often the more important question is not can you scale, but can you scale well Solutions for 200 machines will fail miserably for 2,000,000 Designers should try to avoid the potential bottlenecks: Centralized components (e.g., A single mail server for all users) Centralized tables (e.g., A single Directory Name Server) Centralized algorithms (e.g., Routing based on complete information) Designers should provide correct resources dimensioning E.g., IP addresses: from 32 to 128 bits Raouf Boutaba 58

59 Decentralized Algorithms The following characteristics distinguish decentralized algorithms from centralized ones: No machine has complete information about the system state (no Global state) Machines make decisions based only on local information Failures on one machine does not ruin the algorithm There is no implicit assumption that a global clock exists Raouf Boutaba 59

60 Reliability Take a distributed system with 4 file servers, each with a 0.95 chance of being up at any instant, the probability of all 4 being down simultaneously is = , so the probability of at least one being available is , far better than that of any individual server Leslie Lamport once defined a distributed system as One on which I cannot get any work done because some machine I have never heard of has crashed Raouf Boutaba 60

61 Aspects of Reliability Two Aspects: Availability: Fraction of time that the system is usable Fault tolerance: The ability of the distributed system to mask failures, i.e. hide from the users Can be enhanced by: A design that does not require simultaneous functioning of a substantial number of critical components Redundancy, by replicating the key pieces of hardware and software. Raouf Boutaba 61

62 Hardware Redundancy Two computers are employed for a single application, one acting as a standby Very costly, but often very effective, solution Redundancy can be planned at a finer grain Individual servers can be replicated Redundant hardware can be used for non-critical activities when no faults are present Redundant routes in network Raouf Boutaba 62

63 Software Redundancy Software must be designed so that the state of permanent data can be recovered or rolled back when a fault is detected Transaction processing Dilemma: The more copies are kept, the better the availability, but the greater the chance that they will be inconsistent, especially if updates are frequent Raouf Boutaba 63

64 Fault Handling Detection May be impossible Masking Retransmission Redundancy of data storage Tolerance Exception handling (e.g., timeout when waiting for a Web resource) Raouf Boutaba 64

65 Concurrency Concurrency in a distributed system does not necessarily mean concurrency within a single program Many users invoke similar commands Many different server processes may be running Consistent scheduling of concurrent threads (so that dependencies are preserved, e. g., in concurrent transactions) Avoidance of deadlock problems Synchronization, of course, is a problem Raouf Boutaba 65

66 Synchronization It is impossible to get all the clocks exactly synchronized! Any algorithm that starts out with: At precisely 12:00:00 all machines shall note the size of their output queue will fail On a single LAN, with considerable effort it may be possible to get all clocks synchronized down to a few milliseconds But the larger the system, the larger the uncertainty Raouf Boutaba 66

67 Performance Building a distributed system will not win you any prizes if it is as slow as molasses Performance metrics Response time Throughput (number of jobs per hour) System utilization Amount of network capacity consumed Performance Problem Exchange of messages is typically slow (about 1 msec RTT on a LAN, mainly due to protocol handling) Raouf Boutaba 67

68 Way Out Reduce number of messages to optimize the performance! Dilemma: Running many activities in parallel on different processors allows a performance gain, but requires sending many messages Pay considerable attention to the size of computations Fine-grained parallelism: large # of small computations, interact highly with one another -> Cause trouble Coarse-grained parallelism: large computations, low interaction rates, and little data -> A better fit Raouf Boutaba 68

69 Flexibility Structure of distributed systems: 2 schools of thought Monolithic Kernel Microkernel User Monolithic Kernel User Microkernel File Server Microkernel Directory Server Microkernel Process Server Microkernel Includes: files system Directory Process mgmt Net Microkernel provides 4 minimal services: An interprocess communication mechanism, Some memory management, A small amount of low-level process mgmt Low-level input/output Raouf Boutaba 69

70 Monolithic Kernel vs. Microkernel Advantages of Monolithic Kernel: Performance: trapping to the kernel and doing most work locally is faster than sending messages The reigning champion Advantages of Microkernel: Highly modular: well-defined interface to each service, equally accessible to every client, independent of location More flexible: easy to implement, install, and debug new services; users are free to write their own services A simple example: a distributed system with multiple file servers (MS-DOS, UNIX, ); users can use either or both The up-and-coming challenger Raouf Boutaba 70

71 Transparency Access Location Concurrency Replication Failure Mobility Parallelism Scaling Local & remote resources accessed in the same way Remote resources accessed without knowledge of their location Concurrent use without interference Multiple instances are used without knowledge of the replicas by the users Enables the concealment of faults Resources & clients can be moved within a system without affecting the operation of users/programs Activities can happen in // without user knowing Allows system and applications to expand in scale without change to the system structure Raouf Boutaba 71

72 DS Software Architecture Distributed Systems are foremost highly complex software systems Nortel Networks DMS- 100 switch: million lines of code, 3000 software developers, 20 years life cycle to date. Motorola: 20% of engineers produce hardware, 80% produce software Subject to all kinds of software engineering problems Architectural paradigms pertinent to distributed systems Layers Client- Server Raouf Boutaba 72

73 Layers Breaking up the complexity of systems by designing them through layers and services layer: group of closely related and highly coherent functionality service: functionality provided to a superior layer Examples Layer Layer n+1 n n service Layer n (n-1) service Layer Layer n-1 n Operating System (Kernel, other services) Computer network protocol architecture Raouf Boutaba 73

74 Typical Layering in DSs Applications, services Middleware Operating system Platform Computer and network hardware Raouf Boutaba 74

75 DS Layers Platform Windows NT / Pentium processor Solaris / SPARC processor Middleware: Achieve transparency of heterogeneity at platform level Achieve communication and resource sharing " e. g., remote method invocation Examples: CORBA (OMG) DCOM (Microsoft) ODP (ITU- T/ ISO) Java Remote Method Invocation (Sun) Note: Not all communication related functions can be abstracted Raouf Boutaba 75

76 Computational Models Client-Server Client invocation invocation Server result Server result Client Key: Process: Computer: Client: Process wishing to access data, use resources or perform operations on a different computer Server: Process managing data and all other shared resources amongst servers and clients, allows clients access to resource and performs computation Interaction: invocation / result message pairs Raouf Boutaba 76

77 Variant of Client-Server Model A service provided by multiple servers Service Client Server Server Client Server Examples: Many commercial web services are implemented through different physical servers Motivation Performance (e. g., cnn. com, download servers, etc.) Reliability Raouf Boutaba 77

78 Variant of Client-Server Model Web Proxy Server Client Server Proxy Server Client Server Render replication/ distributedness transparent Caching Proxy server maintains cache store of recently requested resources Raouf Boutaba 78

79 Variant of Client-Server Model Mobile Code Code that is sent to a client process to carry out a specific task Examples Applets Active Packets (containing communications protocol code) a) Client request results in downloading of applet code Client Applet code Web Server b) Client interacts with the applet Client Applet Web Server Raouf Boutaba 79

80 Variant of Client-Server Model Mobile Agents Executing program (code + data), migrating amongst processes, carrying out of an autonomous task, usually on behalf of some other process Advantages: flexibility, savings in communications cost Virtual markets, worm programs Network Computers Downloads its operating system and any application software needed by the user from a remote file server Applications are run locally but the files are managed by a remote file server User can migrate from one network computer to another since all application code and data is stored by a file server Raouf Boutaba 80

81 Variant of Client-Server Model Thin Clients and Compute Servers Executing windows- based user interface on local computer while application executes on compute server Example: X11 server (run on the application client side) In reality: Palm Pilots, Mobile phones Network Computer or PC Compute Server Thin Client Network Web Server Raouf Boutaba 81

82 Variant of Client-Server Model Spontaneous Networking Internet Gateway Music service Alarm service Discovery service Hotel wireless network Camera TV/PC Discovery services Laptop PDA Guest s Devices Services available in the network Their properties, and how to access them (including devicespecific driver information) Raouf Boutaba 82

83 Peer-to-Peer Model Applications based on peer processes Not Client-Server processes that have largely identical functionality Application Coordination Code Application Coordination Code Application Coordination Code Raouf Boutaba 83

84 Summary Distributed systems consist of autonomous CPUs that work together to make the complete system look like a single computer Selling points: Good price/performance ratios Better match distributed applications High reliability Incremental growth as the workload grows Disadvantages: More complex software Potential communication bottlenecks Weak security Raouf Boutaba 84

85 Summary (Cont) Multiple CPUs can be organized as: Multiprocessors Multicomputers Three rough classes of software for multiple CPUs: Network operating systems Distributed operating systems Shared memory multiprocessors Key issues when designing distributed systems: Transparency, flexibility, reliability, performance, scalability,... Raouf Boutaba 85

86 Summary (Cont) Computational Models Client-Server: Most widely used Variants of Client-Server Model Service provided by multiple servers Proxy servers Mobile code Mobile agents Network Computers Thin Clients Spontaneous networking Peer-to-peer Model Raouf Boutaba 86

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1 Credits:4 1 Understand the Distributed Systems and the challenges involved in Design of the Distributed Systems. Understand how communication is created and synchronized in Distributed systems Design and

More information

Module 1 - Distributed System Architectures & Models

Module 1 - Distributed System Architectures & Models Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions

More information

Client Server & Distributed System. A Basic Introduction

Client Server & Distributed System. A Basic Introduction Client Server & Distributed System A Basic Introduction 1 Client Server Architecture A network architecture in which each computer or process on the network is either a client or a server. Source: http://webopedia.lycos.com

More information

Introduction to Distributed Computing

Introduction to Distributed Computing Introduction to Distributed Computing Operating Systems Prof. Sanjeev Setia Operating Systems CS 571 1 Distributed systems Workgroups ATM (bank) machines WWW Multimedia conferencing Computing landscape

More information

Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian

Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian Distributed 1 Directory 1 Cache 1 1 2 Directory 2 Cache 2 2... N Directory N Interconnection Network... Cache N N Instructor Brian Mitchell - Brian bmitchel@mcs.drexel.edu www.mcs.drexel.edu/~bmitchel

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction A set of general purpose processors is connected together.

More information

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that: Distributed Systems Overview Distributed Systems September 2002 1 Distributed System: Definition A distributed system is a piece of software that ensures that: A collection of independent computers that

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

Distributed OS and Algorithms

Distributed OS and Algorithms Distributed OS and Algorithms Fundamental concepts OS definition in general: OS is a collection of software modules to an extended machine for the users viewpoint, and it is a resource manager from the

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

Distributed Systems LEEC (2006/07 2º Sem.)

Distributed Systems LEEC (2006/07 2º Sem.) Distributed Systems LEEC (2006/07 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is connected

More information

Lecture 9: MIMD Architecture

Lecture 9: MIMD Architecture Lecture 9: MIMD Architecture Introduction and classification Symmetric multiprocessors NUMA architecture Cluster machines Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is

More information

Chapter 18 Parallel Processing

Chapter 18 Parallel Processing Chapter 18 Parallel Processing Multiple Processor Organization Single instruction, single data stream - SISD Single instruction, multiple data stream - SIMD Multiple instruction, single data stream - MISD

More information

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Distributed Systems Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Chapter 1: Introduction Distributed Systems Hardware & software Transparency Scalability Distributed

More information

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears

More information

CS4513 Distributed Computer Systems

CS4513 Distributed Computer Systems Outline CS4513 Distributed Computer Systems Overview Goals Software Client Server Introduction (Ch 1: 1.1-1.2, 1.4-1.5) The Rise of Distributed Systems Computer hardware prices falling, power increasing

More information

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2) Chapter 2: Concepts and Architectures Computer System Architectures Disk(s) CPU I/O Memory Traditional Computer Architecture Flynn, 1966+1972 classification of computer systems in terms of instruction

More information

Computer Organization. Chapter 16

Computer Organization. Chapter 16 William Stallings Computer Organization and Architecture t Chapter 16 Parallel Processing Multiple Processor Organization Single instruction, single data stream - SISD Single instruction, multiple data

More information

Modulo II Introdução Sistemas Distribuídos

Modulo II Introdução Sistemas Distribuídos Modulo II Introdução Sistemas Distribuídos Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Sistemas Distribuídos Cliente-Servidor April 05 Prof. Ismael H.

More information

Distributed Operating System

Distributed Operating System Distributed Operating System Mahesh Goyani Assistant Professor, L D College of Engineering Ahmedabad, Gujarat, INDIA E-Mail: mgoyani@gmail.com Web Site: www.maheshgoyani.in A.Y: 2015-2016 Last Updated

More information

Distributed Systems. 01. Introduction. Paul Krzyzanowski. Rutgers University. Fall 2013

Distributed Systems. 01. Introduction. Paul Krzyzanowski. Rutgers University. Fall 2013 Distributed Systems 01. Introduction Paul Krzyzanowski Rutgers University Fall 2013 September 9, 2013 CS 417 - Paul Krzyzanowski 1 What can we do now that we could not do before? 2 Technology advances

More information

Multiprocessors and Thread-Level Parallelism. Department of Electrical & Electronics Engineering, Amrita School of Engineering

Multiprocessors and Thread-Level Parallelism. Department of Electrical & Electronics Engineering, Amrita School of Engineering Multiprocessors and Thread-Level Parallelism Multithreading Increasing performance by ILP has the great advantage that it is reasonable transparent to the programmer, ILP can be quite limited or hard to

More information

Distributed Systems Conclusions & Exam. Brian Nielsen

Distributed Systems Conclusions & Exam. Brian Nielsen Distributed Systems Conclusions & Exam Brian Nielsen bnielsen@cs.aau.dk Definition A distributed system is the one in which hardware and software components at networked computers communicate and coordinate

More information

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors.

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors. CS 320 Ch. 17 Parallel Processing Multiple Processor Organization The author makes the statement: "Processors execute programs by executing machine instructions in a sequence one at a time." He also says

More information

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction Operating Systems Fundamentals Overview of Operating Systems Ahmed Tawfik Modern Operating Systems are increasingly complex Operating System Millions of Lines of Code DOS 0.015 Windows 95 11 Windows 98

More information

Distributed Systems Conclusions & Exam. Brian Nielsen

Distributed Systems Conclusions & Exam. Brian Nielsen Distributed Systems Conclusions & Exam Brian Nielsen bnielsen@cs.aau.dk Study Regulations Purpose: That the student obtains knowledge about concepts in distributed systems, knowledge about their construction,

More information

Concepts of Distributed Systems 2006/2007

Concepts of Distributed Systems 2006/2007 Concepts of Distributed Systems 2006/2007 Introduction & overview Johan Lukkien 1 Introduction & overview Communication Distributed OS & Processes Synchronization Security Consistency & replication Programme

More information

Organisasi Sistem Komputer

Organisasi Sistem Komputer LOGO Organisasi Sistem Komputer OSK 14 Parallel Processing Pendidikan Teknik Elektronika FT UNY Multiple Processor Organization Single instruction, single data stream - SISD Single instruction, multiple

More information

DISTRIBUTED COMPUTING

DISTRIBUTED COMPUTING DISTRIBUTED COMPUTING By Sunita Mahajan & Seema Shah Presented By Prof. S.J. Soni, Asst. Professor, CE Dept., SPCE, Visnagar CHAPTER-1 BASIC DISTRIBUTED SYSTEM CONCEPTS What is a distributed system? Tanenbaum

More information

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac. Distributed Systems Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology dustdar@dsg.tuwien.ac.at dsg.tuwien.ac.at Outline 1. History 2. What is a distributed system? 3.

More information

TDP3471 Distributed and Parallel Computing

TDP3471 Distributed and Parallel Computing TDP3471 Distributed and Parallel Computing Lecture 1 Dr. Ian Chai ianchai@mmu.edu.my FIT Building: Room BR1024 Office : 03-8312-5379 Schedule for Dr. Ian (including consultation hours) available at http://pesona.mmu.edu.my/~ianchai/schedule.pdf

More information

Parallel Processing. Computer Architecture. Computer Architecture. Outline. Multiple Processor Organization

Parallel Processing. Computer Architecture. Computer Architecture. Outline. Multiple Processor Organization Computer Architecture Computer Architecture Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr nizamettinaydin@gmail.com Parallel Processing http://www.yildiz.edu.tr/~naydin 1 2 Outline Multiple Processor

More information

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014 Outline Distributed Computing Systems Overview of Distributed Systems Overview Goals Software Client Server Andrew Tanenbaum and Marten van Steen, Distributed Systems Principles and Paradigms, Prentice

More information

3/24/2014 BIT 325 PARALLEL PROCESSING ASSESSMENT. Lecture Notes:

3/24/2014 BIT 325 PARALLEL PROCESSING ASSESSMENT. Lecture Notes: BIT 325 PARALLEL PROCESSING ASSESSMENT CA 40% TESTS 30% PRESENTATIONS 10% EXAM 60% CLASS TIME TABLE SYLLUBUS & RECOMMENDED BOOKS Parallel processing Overview Clarification of parallel machines Some General

More information

CSCI 4717 Computer Architecture

CSCI 4717 Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading: Stallings, Sections 18.1 through 18.4 Classifications of Parallel Processing M. Flynn classified types of parallel

More information

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture Lecture 9: Multiprocessors Challenges of Parallel Processing First challenge is % of program inherently

More information

Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora

Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora A Distributed operating system is software over collection of communicating, networked, independent and with physically separate computational

More information

Chapter 17: Distributed Systems (DS)

Chapter 17: Distributed Systems (DS) Chapter 17: Distributed Systems (DS) Silberschatz, Galvin and Gagne 2013 Chapter 17: Distributed Systems Advantages of Distributed Systems Types of Network-Based Operating Systems Network Structure Communication

More information

SMD149 - Operating Systems - Multiprocessing

SMD149 - Operating Systems - Multiprocessing SMD149 - Operating Systems - Multiprocessing Roland Parviainen December 1, 2005 1 / 55 Overview Introduction Multiprocessor systems Multiprocessor, operating system and memory organizations 2 / 55 Introduction

More information

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy Overview SMD149 - Operating Systems - Multiprocessing Roland Parviainen Multiprocessor systems Multiprocessor, operating system and memory organizations December 1, 2005 1/55 2/55 Multiprocessor system

More information

Lecture 1: January 22

Lecture 1: January 22 CMPSCI 677 Distributed and Operating Systems Spring 2018 Lecture 1: January 22 Lecturer: Prashant Shenoy Scribe: Bin Wang 1.1 Introduction to the course The lecture started by outlining the administrative

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,

More information

OPERATING SYSTEMS UNIT - 1

OPERATING SYSTEMS UNIT - 1 OPERATING SYSTEMS UNIT - 1 Syllabus UNIT I FUNDAMENTALS Introduction: Mainframe systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems -

More information

System models for distributed systems

System models for distributed systems System models for distributed systems INF5040/9040 autumn 2010 lecturer: Frank Eliassen INF5040 H2010, Frank Eliassen 1 System models Purpose illustrate/describe common properties and design choices for

More information

Lecture 1: January 23

Lecture 1: January 23 CMPSCI 677 Distributed and Operating Systems Spring 2019 Lecture 1: January 23 Lecturer: Prashant Shenoy Scribe: Jonathan Westin (2019), Bin Wang (2018) 1.1 Introduction to the course The lecture started

More information

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System CHAPTER 1 Fundamentals of Distributed System Introduction Distributed Computing Models Software Concepts Issues in designing Distributed System Client Server Model 1 What is a Distributed System? Tanenbaum

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and

More information

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac. Distributed Systems Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology dustdar@dsg.tuwien.ac.at dsg.tuwien.ac.at Outline 1. History 2. What is a distributed system? 3.

More information

Chapter 20: Database System Architectures

Chapter 20: Database System Architectures Chapter 20: Database System Architectures Chapter 20: Database System Architectures Centralized and Client-Server Systems Server System Architectures Parallel Systems Distributed Systems Network Types

More information

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science.   CS677: Distributed OS Distributed Operating Systems Fall 2009 Prashant Shenoy UMass http://lass.cs.umass.edu/~shenoy/courses/677 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor: Prashant Shenoy Email:

More information

Chap. 4 Multiprocessors and Thread-Level Parallelism

Chap. 4 Multiprocessors and Thread-Level Parallelism Chap. 4 Multiprocessors and Thread-Level Parallelism Uniprocessor performance Performance (vs. VAX-11/780) 10000 1000 100 10 From Hennessy and Patterson, Computer Architecture: A Quantitative Approach,

More information

10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems

10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems 1 License: http://creativecommons.org/licenses/by-nc-nd/3.0/ 10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems To enhance system performance and, in some cases, to increase

More information

Intro to distributed systems

Intro to distributed systems Intro to distributed systems 1 What is a distributed system? A distributed system consists of hardware and software components located in a network of computers that communicate and coordinate their actions

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed

More information

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science. Distributed Operating Systems Spring 2008 Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 1 Course Syllabus CMPSCI 677: Distributed Operating Systems

More information

CS 454/654 Distributed Systems. Course Objective

CS 454/654 Distributed Systems. Course Objective CS454/654 Distributed Systems M. Tamer Özsu DC 3350 tozsu@uwaterloo.ca Course Objective This course provides an introduction to the fundamentals of distributed computer systems, assuming the availability

More information

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview Distributed Systems Joseph Spring School of Computer Science Distributed Systems and Security Areas for Discussion Definitions Operating Systems Overview Challenges Heterogeneity Limitations and 2 Definitions

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]

More information

Chapter 18 Distributed Systems and Web Services

Chapter 18 Distributed Systems and Web Services Chapter 18 Distributed Systems and Web Services Outline 18.1 Introduction 18.2 Distributed File Systems 18.2.1 Distributed File System Concepts 18.2.2 Network File System (NFS) 18.2.3 Andrew File System

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

More information

Introduction. Chapter 1

Introduction. Chapter 1 Introduction Chapter 1 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system. Definition of a Distributed

More information

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science. Distributed and Operating Systems Spring 2019 Prashant Shenoy UMass http://lass.cs.umass.edu/~shenoy/courses/677!1 Course Syllabus COMPSCI 677: Distributed and Operating Systems Course web page: http://lass.cs.umass.edu/~shenoy/courses/677

More information

2. System Models Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems. Chapter 2 System Models

2. System Models Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems. Chapter 2 System Models 2. System Models Page 1 University of Freiburg, Germany Department of Computer Science Distributed Systems Chapter 2 System Models Christian Schindelhauer 27. April 2012 2. System Models 2.1. Introduction

More information

Distributed File Systems Issues. NFS (Network File System) AFS: Namespace. The Andrew File System (AFS) Operating Systems 11/19/2012 CSC 256/456 1

Distributed File Systems Issues. NFS (Network File System) AFS: Namespace. The Andrew File System (AFS) Operating Systems 11/19/2012 CSC 256/456 1 Distributed File Systems Issues NFS (Network File System) Naming and transparency (location transparency versus location independence) Host:local-name Attach remote directories (mount) Single global name

More information

Distributed Computing. Santa Clara University 2016

Distributed Computing. Santa Clara University 2016 Distributed Computing Santa Clara University 2016 Generations of Computers 1950-1970: Mainframes 1960-1980: Mini-computers (PDP11, VAX) 1970-1990: Personal computers with VLSI μ- processors 1980-2000:

More information

Chapter 18. Parallel Processing. Yonsei University

Chapter 18. Parallel Processing. Yonsei University Chapter 18 Parallel Processing Contents Multiple Processor Organizations Symmetric Multiprocessors Cache Coherence and the MESI Protocol Clusters Nonuniform Memory Access Vector Computation 18-2 Types

More information

WHY PARALLEL PROCESSING? (CE-401)

WHY PARALLEL PROCESSING? (CE-401) PARALLEL PROCESSING (CE-401) COURSE INFORMATION 2 + 1 credits (60 marks theory, 40 marks lab) Labs introduced for second time in PP history of SSUET Theory marks breakup: Midterm Exam: 15 marks Assignment:

More information

Architecture of distributed systems

Architecture of distributed systems Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Architecture of distributed systems Oct 25, 2011 Netzprogrammierung (Algorithmen und Programmierung V) Our topics

More information

Architecture of distributed systems

Architecture of distributed systems Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Architecture of distributed systems Oct 25, 2011 Netzprogrammierung (Algorithmen und Programmierung V) Our topics

More information

MULTIPROCESSORS AND THREAD-LEVEL. B649 Parallel Architectures and Programming

MULTIPROCESSORS AND THREAD-LEVEL. B649 Parallel Architectures and Programming MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM B649 Parallel Architectures and Programming Motivation behind Multiprocessors Limitations of ILP (as already discussed) Growing interest in servers and server-performance

More information

Computer Systems Architecture

Computer Systems Architecture Computer Systems Architecture Lecture 23 Mahadevan Gomathisankaran April 27, 2010 04/27/2010 Lecture 23 CSCE 4610/5610 1 Reminder ABET Feedback: http://www.cse.unt.edu/exitsurvey.cgi?csce+4610+001 Student

More information

Distributed Systems. Why use distributed systems? What is a distributed system? Intro to Distributed Systems and Networks.

Distributed Systems. Why use distributed systems? What is a distributed system? Intro to Distributed Systems and Networks. Intro to Distributed Systems and Networks Hank Levy Distributed Systems Nearly all systems today are distributed in some way, e.g.: they use email they access files over a network they access printers

More information

MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM. B649 Parallel Architectures and Programming

MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM. B649 Parallel Architectures and Programming MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM B649 Parallel Architectures and Programming Motivation behind Multiprocessors Limitations of ILP (as already discussed) Growing interest in servers and server-performance

More information

BİL 542 Parallel Computing

BİL 542 Parallel Computing BİL 542 Parallel Computing 1 Chapter 1 Parallel Programming 2 Why Use Parallel Computing? Main Reasons: Save time and/or money: In theory, throwing more resources at a task will shorten its time to completion,

More information

Distributed Systems Development

Distributed Systems Development Distributed Systems Development Paulo Gandra de Sousa psousa@dei.isep.ipp.pt MSc in Computer Engineering DEI/ISEP Programação de Sistemas Distribuidos Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Mestrado

More information

Computer Systems Architecture

Computer Systems Architecture Computer Systems Architecture Lecture 24 Mahadevan Gomathisankaran April 29, 2010 04/29/2010 Lecture 24 CSCE 4610/5610 1 Reminder ABET Feedback: http://www.cse.unt.edu/exitsurvey.cgi?csce+4610+001 Student

More information

Introduction to Parallel Programming

Introduction to Parallel Programming Introduction to Parallel Programming David Lifka lifka@cac.cornell.edu May 23, 2011 5/23/2011 www.cac.cornell.edu 1 y What is Parallel Programming? Using more than one processor or computer to complete

More information

Advanced Parallel Architecture. Annalisa Massini /2017

Advanced Parallel Architecture. Annalisa Massini /2017 Advanced Parallel Architecture Annalisa Massini - 2016/2017 References Advanced Computer Architecture and Parallel Processing H. El-Rewini, M. Abd-El-Barr, John Wiley and Sons, 2005 Parallel computing

More information

Lecture 1 Introduction (Chapter 1 of Textbook)

Lecture 1 Introduction (Chapter 1 of Textbook) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

Chapter 11. Introduction to Multiprocessors

Chapter 11. Introduction to Multiprocessors Chapter 11 Introduction to Multiprocessors 11.1 Introduction A multiple processor system consists of two or more processors that are connected in a manner that allows them to share the simultaneous (parallel)

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year

More information

CMSC 611: Advanced. Parallel Systems

CMSC 611: Advanced. Parallel Systems CMSC 611: Advanced Computer Architecture Parallel Systems Parallel Computers Definition: A parallel computer is a collection of processing elements that cooperate and communicate to solve large problems

More information

Multiprocessors & Thread Level Parallelism

Multiprocessors & Thread Level Parallelism Multiprocessors & Thread Level Parallelism COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Introduction

More information

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27 Distributed Systems COMP 212 Lecture 4 Othon Michail 1/27 What is a Distributed System? A distributed system is: A collection of independent computers that appears to its users as a single coherent system

More information

Chapter 2 System Models

Chapter 2 System Models CSF661 Distributed Systems 分散式系統 Chapter 2 System Models 吳俊興國立高雄大學資訊工程學系 Chapter 2 System Models 2.1 Introduction 2.2 Physical models 2.3 Architectural models 2.4 Fundamental models 2.5 Summary 2 A physical

More information

Lecture 7: Parallel Processing

Lecture 7: Parallel Processing Lecture 7: Parallel Processing Introduction and motivation Architecture classification Performance evaluation Interconnection network Zebo Peng, IDA, LiTH 1 Performance Improvement Reduction of instruction

More information

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture Lecture 9: Multiprocessors Challenges of Parallel Processing First challenge is % of program inherently

More information

Assignment 5. Georgia Koloniari

Assignment 5. Georgia Koloniari Assignment 5 Georgia Koloniari 2. "Peer-to-Peer Computing" 1. What is the definition of a p2p system given by the authors in sec 1? Compare it with at least one of the definitions surveyed in the last

More information

Memory Systems IRAM. Principle of IRAM

Memory Systems IRAM. Principle of IRAM Memory Systems 165 other devices of the module will be in the Standby state (which is the primary state of all RDRAM devices) or another state with low-power consumption. The RDRAM devices provide several

More information

IP Mobility vs. Session Mobility

IP Mobility vs. Session Mobility IP Mobility vs. Session Mobility Securing wireless communication is a formidable task, something that many companies are rapidly learning the hard way. IP level solutions become extremely cumbersome when

More information

An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University

An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University qasem@cs.fsu.edu Abstract The Amoeba Operating System has been in use in academia,

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 01 (version September 5, 2007) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

Fundamentals of Computer Design

Fundamentals of Computer Design Fundamentals of Computer Design Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department University

More information

Unit 9 : Fundamentals of Parallel Processing

Unit 9 : Fundamentals of Parallel Processing Unit 9 : Fundamentals of Parallel Processing Lesson 1 : Types of Parallel Processing 1.1. Learning Objectives On completion of this lesson you will be able to : classify different types of parallel processing

More information

System Models for Distributed Systems

System Models for Distributed Systems System Models for Distributed Systems INF5040/9040 Autumn 2015 Lecturer: Amir Taherkordi (ifi/uio) August 31, 2015 Outline 1. Introduction 2. Physical Models 4. Fundamental Models 2 INF5040 1 System Models

More information

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Silberschatz, Galvin and Gagne 2009 Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System

More information

Lecture 23 Database System Architectures

Lecture 23 Database System Architectures CMSC 461, Database Management Systems Spring 2018 Lecture 23 Database System Architectures These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used

More information