Winter, 2004CSS490 Fundamentals1 Textbook Ch1 Instructor: Munehiro Fukuda These slides were compiled from the course textbook and the reference books.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Multiple Processor Systems
Distributed Processing, Client/Server and Clusters
Distributed Operating System
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
2. Computer Clusters for Scalable Parallel Computing
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Classification of Distributed Systems Properties of Distributed Systems n motivation: advantages of distributed systems n classification l architecture.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Distributed Processing, Client/Server, and Clusters
Chapter 1: Introduction
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING Chapter 9 : Distributed Computing.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class.
CSS434 System Models1 Textbook Ch2 Professor: Munehiro Fukuda.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
DISTRIBUTED COMPUTING
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Distributed Systems Early Examples. Projects NOW – a Network Of Workstations University of California, Berkely Terminated about 1997 after demonstrating.
Computer System Architectures Computer System Software
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1. Introduction to Distributed Systems. 1. Introduction Two advances in computer technology: A. The development of powerful microprocessors. B. The invention.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
Introduction MSCS 6060 – Parallel and Distributed Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Architectures of distributed systems Fundamental Models
Types of Operating Systems
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Unit-IV Distributed Computing Systems Distributed Computing models
Grid Computing Framework A Java framework for managed modular distributed parallel computing.
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.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Distributed Systems Unit – 1 Concepts of DS By :- Maulik V. Dhamecha Maulik V. Dhamecha (M.Tech.)
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Distributed Systems Lecture 1 Introduction to distributed systems 1.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Distributed Operating Systems Spring 2004
Chapter 1: Introduction
Distributed Operating Systems
Definition of Distributed System
Lecture 1 Introduction to distributed systems
Parallel and Multiprocessor Architectures – Shared Memory
Chapter 17: Database System Architectures
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Multiple Processor Systems
Multiple Processor Systems
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Multiple Processor and Distributed Systems
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
Introduction Chapter 1.
Operating System Overview
Presentation transcript:

Winter, 2004CSS490 Fundamentals1 Textbook Ch1 Instructor: Munehiro Fukuda These slides were compiled from the course textbook and the reference books.

Winter, 2004CSS490 Fundamentals2 Parallel v.s. Distributed Systems Parallel SystemsDistributed Systems MemoryTightly coupled shared memory UMA, NUMA Distributed memory Message passing, RPC, and/or used of distributed shared memory ControlGlobal clock control SIMD, MIMD No global clock control Synchronization algorithms needed Processor interconnection Order of Tbps Bus, mesh, tree, mesh of tree, and hypercube (-related) network Order of Gbps Ethernet(bus), token ring and SCI (ring), myrinet(switching network) Main focusPerformance Scientific computing Performance(cost and scalability) Reliability/availability Information/resource sharing

Winter, 2004CSS490 Fundamentals3 Milestones in Distributed Computing Systems s Loading monitor 1950s-1960s Batch system 1960s Multiprogramming 1960s-1970s Time sharing systemsMultics, IBM WAN and LANARPAnet, Ethernet 1960s-early1980s MinicomputersPDP, VAX Early 1980s WorkstationsAlto 1980s – present Workstation/Server modelsSprite, V-system 1990s ClustersBeowulf Late 1990s Grid computingGlobus, Legion

Winter, 2004CSS490 Fundamentals4 System Models Minicomputer model Workstation model Workstation-server model Processor-pool model Cluster model Grid computing

Winter, 2004CSS490 Fundamentals5 Minicomputer Model Extension of Time sharing system User must log on his/her home minicomputer. Thereafter, he/she can log on a remote machine by telnet. Resource sharing Database High-performance devices Mini- computer Mini- computer Mini- computer ARPA net

Winter, 2004CSS490 Fundamentals6 Workstation Model Process migration Users first log on his/her personal workstation. If there are idle remote workstations, a heavy job may migrate to one of them. Problems: How to find am idle workstation How to migrate a job What if a user log on the remote machine 100Gbps LAN Workstation

Winter, 2004CSS490 Fundamentals7 Workstation-Server Model Client workstations Diskless Graphic/interactive applications processed in local All file, print, http and even cycle computation requests are sent to servers. Server minicomputers Each minicomputer is dedicated to one or more different types of services. Client-Server model of communication RPC (Remote Procedure Call) RMI (Remote Method Invocation) A Client process calls a server process ’ function. No process migration invoked Example: NSF 100Gbps LAN Workstation Mini- Computer file server Mini- Computer http server Mini- Computer cycle server

Winter, 2004CSS490 Fundamentals8 Processor-Pool Model Clients: They log in one of terminals (diskless workstations or X terminals) All services are dispatched to servers. Servers: Necessary number of processors are allocated to each user from the pool. Better utilization but less interactivity Server 1 100Gbps LAN Server N

Winter, 2004CSS490 Fundamentals9 Cluster Model Client Takes a client-server model Server Consists of many PC/workstations connected to a high- speed network. Puts more focus on performance: serves for requests in parallel. 100Gbps LAN Workstation Master node Slave 1 Slave N Slave 2 1Gbps SAN http server1 http server2 http server N

Winter, 2004CSS490 Fundamentals10 High-speed Information high way Grid Computing Goal Collect computing power of supercomputers and clusters sparsely located over the nation and make it available as if it were the electric grid Distributed Supercomputing Very large problems needing lots of CPU, memory, etc. High-Throughput Computing Harnessing many idle resources On-Demand Computing Remote resources integrated with local computation Data-intensive Computing Using distributed data Collaborative Computing Support communication among multiple parties Super- computer Cluster Super- computer Cluster Mini- computer Workstation

Winter, 2004CSS490 Fundamentals11 Reasons for Distributed Computing Systems Inherently distributed applications Distributed DB, worldwide airline reservation, banking system Information sharing among distributed users CSCW or groupware Resource sharing Sharing DB/expensive hardware and controlling remote lab. devices Better cost-performance ratio / Performance Emergence of Gbit network and high-speed/cheap MPUs Effective for coarse-grained or embarrassingly parallel applications Reliability Non-stopping (availability) and voting features. Scalability Loosely coupled connection and hot plug-in Flexibility Reconfigure the system to meet users ’ requirements

Winter, 2004CSS490 Fundamentals12 Network v.s. Distributed Operating Systems FeaturesNetwork OSDistributed OS SSI (Single System Image) NO Ssh, sftp, no view of remote memory YES Process migration, NFS, DSM (Distr. Shared memory) AutonomyHigh Local OS at each computer No global job coordination Low A single system-wide OS Global job coordination Fault ToleranceUnavailability grows as faulty machines increase. Unavailability remains little even if fault machines increase.

Winter, 2004CSS490 Fundamentals13 Issues in Distributed Computing System Transparency (=SSI) Access transparency Memory access: DSM Function call: RPC and RMI Location transparency File naming: NFS Domain naming: DNS (Still location concerned.) Migration transparency Automatic state capturing and migration Concurrency transparency Event ordering: Message delivery and memory consistency Other transparency: Failure, Replication, Performance, and Scaling

Winter, 2004CSS490 Fundamentals14 Issues in Distributed Computing System Reliability Faults Fail stop Byzantine failure Fault avoidance The more machines involved, the less avoidance capability Fault tolerance Redundancy techniques K-fault tolerance needs K + 1 replicas K-Byzantine failures needs 2K + 1 replicas. Distributed control Avoiding a complete fail stop Fault detection and recovery Atomic transaction Stateless servers

Winter, 2004CSS490 Fundamentals15 Flexibility Ease of modification Ease of enhancement Network Monolithic Kernel (Unix) Monolithic Kernel (Unix) Monolithic Kernel (Unix) User applications User applications User applications Network Microkernel (Mach) User applications User applications User applications Daemons (file, name, Paing) Microkernel (Mach) Daemons (file, name, Paing) Microkernel (Mach) Daemons (file, name, Paing)

Winter, 2004CSS490 Fundamentals16 Performance/Scalability Unlike parallel systems, distributed systems involves OS intervention and slow network medium for data transfer Send messages in a batch: Avoid OS intervention for every message transfer. Cache data Avoid repeating the same data transfer Minimizing data copy Avoid OS intervention (= zero-copy messaging). Avoid centralized entities and algorithms Avoid network saturation. Perform post operations on client sides Avoid heavy traffic between clients and servers

Winter, 2004CSS490 Fundamentals17 Heterogeneity Data and instruction formats depend on each machine architecture If a system consists of K different machine types, we need K – 1 translation software. If we have an architecture-independent standard data/instruction formats, each different machine prepares only such a standard translation software. Java and Java virtual machine

Winter, 2004CSS490 Fundamentals18 Security Lack of a single point of control Security concerns: Messages may be stolen by an intruder. Messages may be plagiarized by an intruder. Messages may be changed by an intruder. Cryptography is the only known practical method.

Winter, 2004CSS490 Fundamentals19 Distributed Computing Environment Various 0perating systems and networking Threads Distributed File Service RPC Security Name Distributed Time Service DCE Applications

Winter, 2004CSS490 Fundamentals20 Exercises (No turn-in) 1. In what respect are distributed computing systems superior to parallel systems? 2. In what respect are parallel systems superior to distributed computing systems? 3. Discuss the difference between the workstation-server and the processor-pool model from the availability view point. 4. Discuss the difference between the processor-pool and the cluster model from the performance view point. 5. What is Byzantine failure? Why do we need 2k+1 replica for this type of failure? 6. Discuss about pros and cons of Microkernel. 7. Why can we avoid OS intervention by zero copy?