1 Principles and characteristics of distributed systems and environments
2 Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single coherent system. Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. The types of hardware, programming languages, operating systems and other resources may vary drastically. Leslie Lamport: A distributed system is one I which the failure of a computer you didn t even know existed can render your computer unusable.
3 Definition cont. 2 aspects Deals with hardware: machines are autonomous Deals with software: the users think they are dealing with a single system Important characteristics Communication is hidden from users Applications can interact with uniform and consistent way Relatively easy to expand or scale (DS will normally be continuously available) A distributed system should be functionally equivalent to the systems of which it is composed.
4 Distributed system as Middleware service If the system as a whole looks and acts like a classical single-processor timesharing system, it qualifies as a distributed system.
5 Goals A DS should easily connect users to resources; it should hide the fact that resources are distributed across a network; should be open and scalable. 4 goals: Connecting users and resources Transparency Openness Scalability
7 Transparency Transparent ~ present itself to users and applications as if it were only a single computer system Different forms of transparency in a distributed system ANSA Reference Manual  and ISO Reference Model For Open Distributed Processing (RM-ODP) [1992/7]
8 Openness System that offers services according to standard rules that describe the syntax and semantics Generally specified through interfaces, often described in Interface Definition Language (IDL) Interoperability characterizes two implementations of system can co-exists and work together Portability characterizes to what extent an application developed for a distributed system A can be executed, without modification, on distributed system B that implements the same interface as A Small replaceable and adaptable parts - provide definitions of not only the highest-level interfaces, those used by applications, but also definitions for interfaces to internal parts
9 Scalability Measure at least 3 different dimensions Size easily add more users and resources to system Geographically scalable system lie far apart Administratively scalable independent administrative organizations Scalability in one or more dimensions often means loss of performance should not be significant.
10 Scalability cont. Example of scalability limitations Performance Congestion of communication links Only decentralized algorithms should be used (no machine has complete information; decisions based on local information; failure of one machine does not ruin the algorithm; no implicit assumption of global clock)
11 Scaling techniques 3 techniques for scaling Hiding communication latencies - Asynchronous communication Distribution - domains Replication caching -> consistency problems!
12 Why Distributed Systems? Geographically distributed environment Speed up Parallel vs. Distributed Systems (synchronous SIMD or MIMD; asynchronous process) Resource sharing HW and SW (databases) Fault tolerance Detection, Recover Logical distribution of functional capabilities: multiple processes, interprocess communication, disjoint address space, collective goal
13 Issues in Distributed Systems Knowledge of process Identity, Identity of it s immediate neighbors, communication channel to neighbors Network topology Completely or sparsely connected, message routing, channel uni/bi-directional Degree of synchronization Clock drift, propagation delay Failures Type of failure and duration of failure Scalabilty Time and space complexity (O(log N) ~ excellent, O(N) ~ pure)
14 Common Subproblems Leader election Mutual exclusion Time synchronization Global state Replica management
15 RM-ODP Reference Model Open Distributed Processing ITU-T X.9xx standards, X.901 Overview Viewpoints (and their languages) Enterprise Information Computational Engineering Technology
16 Hardware concepts DS consist of multiple CPU several different ways of HW organization Multiprocessors have shared memory Multicomputers without shared memory
17 Hardware concepts cont. Architecture of interconnection network Bus Switched Distributed computer system (significant for multicomputers) Homogenous single interconnection network Heterogeneous different networks (LAN connected through FDDI, ATM)
18 Multiprocessors Coherent Overloaded bus > cache memory between CPU and bus (hit rate) Bus suitable until 256 CPUs
19 Multiprocessors cont. Crossbar switch crosspoint switch n CPUs and n memories = n 2 crosspoint switches Omega network 2x2 switches, each two inputs and two outputs Fast switching, not cheap NUMA (NonUniform Memory Access) Fast access to local memory, slow to other s Better average access times than omega networks
21 Homogenous Multicomputer Systems Relative easy acording multiprocessors CPU-to-CPU and CPU-to-memory communication System Area Networks (SANs) High performance interconnection network Bus-based Fast Ethernet nodes Switch-based messages routed Mesh, hypercube Vary widely from Massively Parallel Processors (MPPs) to Clusters of Workstations (COWs)
22 Heterogenous Multicomputer Systems Most distributed systems build on it Due to scale, inherent heterogeneity, and most of all, lack of global system view, sophisticated software is needed to build apps for heterogeneous multicomputers. Provide transparency for apps. Example DAS I-way project
23 Software concepts Determines what a DS actually looks like Resource manager for underlying hardware Operating systems for distributed computers Tightly-coupled distributed operating system (multiprocessors, homogenous multicomputer systems) Loosely-coupled network operating system (heterogeneous multicomputer systems) Middleware enhancements to services of network operating systems distribution transparency
24 Software concepts cont.
25 Uniprocessor Operating Systems Implement a virtual machine Apps protected each other OS should be in full control of how hw resources are used and shared Kernel mode User mode Architecture Monolithic kernel Microkernel
26 Multiprocessor Operating Systems Support for multiple CPUs having access to shared memory IPC done through memory protect against simultaneous access Synchronization primitives Semaphore atomic operations down and up Monitor private variable and public procedures (operations)
27 Multicomputer Operating Systems Different structure and complexity than multiprocessor operating systems Communication done by message passing Software implementation of shared memory not always Message passing primitives may vary widely in different OS
28 Multicomputer Operating Systems cont.
29 Multicomputer Operating Systems cont. Reliability of message delivery?
30 Distributed Shared Memory Systems Page-based distributed shared memory Address space divided into pages (4kB or 8kB) When CPU references address not present locally, trap occurs, OS fetches the page Essential normal paging
31 Distributed Shared Memory Systems cont. (a) Pages in DSM (b) CPU 1 references page 10 (c) Situation if page 10 is read only and replication used
32 Network Operation Systems Do not assume that underlying hardware is homogeneous and that it should be managed as if it were a single system Facilities to allow users to make use of the services available on specific machine Service accessed commonly using commands rlogin machine rcp machine1:file1 machine2:file2
33 Network Operation Systems cont. Network operating systems are clearly more primitive than distributed operating systems. The main distinction between the two types of operating systems is that distributed operating systems make serious attempt to realize full transparency, that is, provide a single-system view.
34 Middleware DOS and NOS don t qualify definition of DS Modern distributed systems are constructed by means of an additional layer called middleware. Additional layer of software between applications and the network operating system
35 Middleware cont. Goal is to hide heterogeneity of the underlying platforms from applications
36 Middleware cont. Middleware models (paradigm) Everything as file (simple) Plan 9, UNIX Distributed File Systems reasonable scalable which contributes popularity Remote Procedure Calls unaware of network communication Distributed Objects unaware of network communication Distributed documents - WWW
37 Middleware cont. Middleware services high-level Communication facilities - Access transparency Naming allows entities to be shared and accessed Persistence through distributed file system or database Distributed transactions atomic multiple read and write operations; write operation succeeds or fails Security can t rely on the underlying local operating system, must be implemented in middleware, security has turned out to be one of the hardest services to implement
38 Middleware and Openness Modern distributed systems as middleware Applications are independent of operating system Independence replaced by strong dependency of specific middleware Need that middleware protocols and interfaces are the same in different implementations
39 Comparison between Systems
40 Client Server Model Server process implementing a specific service Client process that requests service from server by sending request and waiting for response
41 Client Server Model cont. Application layering Distinction of 3 levels The user-interface level The processing level The data level
Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz firstname.lastname@example.org, email@example.com Institute of Control and Computation Engineering Warsaw University of
Distributed Systems LEEC (2005/06 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
Distributed Systems REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1 1 The Rise of Distributed Systems! Computer hardware prices are falling and power increasing.!
Chapter 2 Introduction to Distributed systems 1 Chapter 2 2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts Client-Server
Unit 2 Distributed Systems R.Yamini Dept. Of CA, SRM University Kattankulathur 1 Introduction to Distributed Systems Why do we develop distributed systems? availability of powerful yet cheap microprocessors
Distributed System: Definition A distributed system is a piece of software that ensures that: A collection of independent computers that appears to its users as a single coherent system Two aspects: (1)
CIS 505: Software Systems Architectures of Distributed Systems System DOS Software Concepts Description Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Main Goal Hide
CIS 505: Software Systems Introduction to Distributed Systems Insup Lee Department of Computer and Information Science University of Pennsylvania Distributed Systems Why distributed systems? o availability
Operating Systems Interface between the hardware and the rest: editors, compilers, database systems, application programs, your programs, etc. Allows portability, enables easier programming, The manager
Topics to be covered Basics Definitions and Examples Goals Models (architectural, fundamental) Hardware and Software Concepts The -Server Model 1 2 Historical Definition of a Distributed System Two developments
22 INTRODUCTION CHAP. 1 1.4 SOFTWARE CONCEPTS Hardware for distributed systems is important, but it is software that largely determines what a distributed system actually looks like. Distributed systems
Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that
CORBA and object oriented middleware Introduction General info Web page http://www.dis.uniroma1.it/~beraldi/elective Exam Project (application), plus oral discussion 3 credits Roadmap Distributed applications
Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju Course Goals and Content Distributed systems and their: Basic concepts Main issues, problems, and solutions Structured
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
A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.
Multicore Computing A multi-core processor is a processing system composed of two or more independent cores. One can describe it as an integrated circuit to which two or more individual processors (called
CMSC 611: Advanced Computer Architecture Parallel Computation Most slides adapted from David Patterson. Some from Mohomed Younis Parallel Computers Definition: A parallel computer is a collection of processing
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users
Advanced Computer Architecture (0630561) Lecture 15 Interconnection Networks Prof. Kasim M. Al-Aubidy Computer Eng. Dept. Interconnection Networks: Multiprocessors INs can be classified based on: 1. Mode
Chapter 17: Database System Architectures Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 17: Database System Architectures Centralized and Client-Server Systems
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science firstname.lastname@example.org Chapter 01: Version: August 27, 2012 1 / 28 Distributed System: Definition A distributed
Lecture 2 Parallel Programming Platforms Flynn s Taxonomy In 1966, Michael Flynn classified systems according to numbers of instruction streams and the number of data stream. Data stream Single Multiple
CS 5523 Operating Systems: Intro to Distributed Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu, Dr. Palden Lama for providing their slides. Outline Different Distributed Systems Ø Distributed
Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional
Overview of Presentation Major Classes of Distributed Systems classes of distributed system loosely coupled systems loosely coupled, SMP, Single-system-image Clusters independent systems in constant communication
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Agenda Distributed System Structures CSCI 444/544 Operating Systems Fall 2008 Motivation Network structure Fundamental network services Sockets and ports Client/server model Remote Procedure Call (RPC)
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,
Middleware and Distributed Systems Introduction Dr. Martin v. Löwis 14 3. Software Engineering What is Middleware? Bauer et al. Software Engineering, Report on a conference sponsored by the NATO SCIENCE
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
Distributed Databases Chapter 1: Introduction Johann Gamper Syllabus Data Independence and Distributed Data Processing Definition of Distributed databases Promises of Distributed Databases Technical Problems
COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
SFWR ENG 3B04 Software Design III 1.1 3 Hardware Processor(s) Memory I/O devices Operating system Kernel System programs Components of a Computer System Application programs Users SFWR ENG 3B04 Software
High Performance Computing Course Notes 2007-2008 2008 HPC Fundamentals Introduction What is High Performance Computing (HPC)? Difficult to define - it s a moving target. Later 1980s, a supercomputer performs
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
Network File System (NFS) Pradipta De email@example.com Today s Topic Network File System Type of Distributed file system NFS protocol NFS cache consistency issue CSE506: Ext Filesystem 2 NFS
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Operating System Objectives/Functions
Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Middleware Technology: Middleware Applications and Distributed Systems Lecturer: Henry Muccini
Lecture 23: Multiprocessors Today s topics: RAID Multiprocessor taxonomy Snooping-based cache coherence protocol 1 RAID 0 and RAID 1 RAID 0 has no additional redundancy (misnomer) it uses an array of disks
Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is
Distributed Systems and Recent Innovations: Challenges and Benefits 1. Introduction Krishna Nadiminti, Marcos Dias de Assunção, and Rajkumar Buyya Grid Computing and Distributed Systems Laboratory Department
DISTRIBUTED SYSTEMS AND CLOUD COMPUTING A Comparative Study Geographically distributed resources, such as storage devices, data sources, and computing power, are interconnected as a single, unified resource
September 26, 2013 Road Map Motivation and Background - Standford multiprocessor system Barrelfish - ETH Zurich & Microsoft s multicore system. Multi-core V.S. Multi-Processor Approaches Multi-core V.S.
I. Introduction II. Fundamental Concepts of Architecture models; network architectures: OSI, Internet and LANs; interprocess communication III. Time and Global States Clocks and concepts of time; Event
Chapter 16 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication Example Systems 16.1 Background Distributed file system (DFS)
System Interconnect Architectures CSCI 8150 Advanced Computer Architecture Hwang, Chapter 2 Program and Network Properties 2.4 System Interconnect Architectures Direct networks for static connections Indirect
Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit
223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,
Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?
1 1 Distributed Systems What are distributed systems? How would you characterize them? Components of the system are located at networked computers Cooperate to provide some service No shared memory Communication
DISTRIBUTED AND PARALLELL DATABASE SYSTEMS Tore Risch Uppsala Database Laboratory Department of Information Technology Uppsala University Sweden http://user.it.uu.se/~torer PAGE 1 What is a Distributed
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented
Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems a. Role of an O/S b. O/S History and Features c. Types of O/S Mainframe systems Desktop & laptop systems Parallel systems
Chapter 17: Distributed-File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 17 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File
Vorlesung Rechnerarchitektur 2 Seite 178 Architecture for Shared () The -architecture is a cache coherent, NUMA multiprocessor system, developed at CSL-Stanford by John Hennessy, Daniel Lenoski, Monica
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
1.5 Distributed Systems A network, in the simplest terms, is a communication path between two or more systems. Distributed systems depend on networking for their functionality. By being able to communicate,
Load Balancing in Distributed Data Base and Distributed Computing System Lovely Arya Research Scholar Dravidian University KUPPAM, ANDHRA PRADESH Abstract With a distributed system, data can be located
Introduction to Cloud Computing Parallel Processing I 15 319, spring 2010 7 th Lecture, Feb 2 nd Majd F. Sakr Lecture Motivation Concurrency and why? Different flavors of parallel computing Get the basic
Data Center Design & Virtualization Md. Jahangir Hossain Open Communication Limited firstname.lastname@example.org Objectives Data Center Architecture Data Center Standard Data Center Design Model Application Design
OpenMosix Presented by Dr. Moshe Bar and MAASK  openmosix is a kernel extension for single-system image clustering. openmosix  is a tool for a Unix-like kernel, such as Linux, consisting of adaptive
White Paper on NETWORK VIRTUALIZATION INDEX 1. Introduction 2. Key features of Network Virtualization 3. Benefits of Network Virtualization 4. Architecture of Network Virtualization 5. Implementation Examples
Chapter 11 Distributed File Systems Introduction Case studies NFS Coda 1 Distributed File Systems A distributed file system enables clients to access files stored on one or more remote file servers A file
Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV) Sommer 2015 Frank Feinbube, M.Sc., Felix Eberhardt, M.Sc., Prof. Dr. Andreas Polze Interconnection Networks 2 SIMD systems
Chapter 17: Distributed Systems Chapter 17: Distributed Systems Advantages of Distributed Systems Types of Network-Based Operating Systems Network Structure Communication Structure Communication Protocols
Introduction to Distributed Systems CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note: Distributed Systems Why do we develop distributed systems?
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could
SERVER CLUSTERING TECHNOLOGY & CONCEPT M00383937, Computer Network, Middlesex University, E mail: email@example.com Abstract Server Cluster is one of the clustering technologies; it is use for
System Models for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Classification of Distributed Computing Systems
International Journal of Computer Sciences and Engineering Open Access Review Paper Volume-4, Issue-1 E-ISSN: 2347-2693 Grid Computing Approach for Dynamic Load Balancing Kapil B. Morey 1*, Sachin B. Jadhav
Introduction to Parallel Computing George Karypis Parallel Programming Platforms Elements of a Parallel Computer Hardware Multiple Processors Multiple Memories Interconnection Network System Software Parallel
Agenda Enterprise Performance Factors Overall Enterprise Performance Factors Best Practice for generic Enterprise Best Practice for 3-tiers Enterprise Hardware Load Balancer Basic Unix Tuning Performance