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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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)
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
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
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,
Distributed Databases Chapter 1: Introduction Johann Gamper Syllabus Data Independence and Distributed Data Processing Definition of Distributed databases Promises of Distributed Databases Technical Problems
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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,
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
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
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
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
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
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
Introduction to Parallel Computing George Karypis Parallel Programming Platforms Elements of a Parallel Computer Hardware Multiple Processors Multiple Memories Interconnection Network System Software Parallel
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
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
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
Chapter 17: Distributed Systems Chapter 17: Distributed Systems Advantages of Distributed Systems Types of Network-Based Operating Systems Network Structure Communication Structure Communication Protocols
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
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
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
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
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?
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,
P - 271 IBM Deep Computing Visualization Offering Parijat Sharma, Infrastructure Solution Architect, IBM India Pvt Ltd. email: firstname.lastname@example.org Summary Deep Computing Visualization in Oil & Gas
Introduction Distributed Data Management Involves the distribution of data and work among more than one machine in the network. Distributed computing is more broad than canonical client/server, in that
IV Distributed Databases - Motivation & Introduction - I OODBS II XML DB III Inf Retr DModel Motivation Expected Benefits Technical issues Types of distributed DBS 12 Rules of C. Date Parallel vs Distributed
Chapter 14: Distributed Operating Systems Chapter 14: Distributed Operating Systems Motivation Types of Distributed Operating Systems Network Structure Network Topology Communication Structure Communication
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
Lecture 11: Multi-Core and GPU Multi-core computers Multithreading GPUs General Purpose GPUs Zebo Peng, IDA, LiTH 1 Multi-Core System Integration of multiple processor cores on a single chip. To provide
Lecture 7: Distributed Operating Systems A Distributed System 7.2 Resource sharing Motivation sharing and printing files at remote sites processing information in a distributed database using remote specialized
Data Center Design & Virtualization Md. Jahangir Hossain Open Communication Limited email@example.com Objectives Data Center Architecture Data Center Standard Data Center Design Model Application Design
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
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