DM Rasanjalee Himali CSc8320 – Advanced Operating Systems (SECTION 2.6) FALL 2009.

Slides:



Advertisements
Similar presentations
Distributed System Services Prepared By:- Monika Patel.
Advertisements

BARNALI CHAKRABARTY. What is an Operating System ?
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Meng Han Presentation 09/11/2013 CS8320 – Advanced Operating Systems Fall 2013 – Section 2.6 Presentation.
Database Architectures and the Web
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13B - Client server computing Programming Language.
Distributed components
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Technical Architectures
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
REK’s adaptation of Prof. Claypool’s adaptation of
Distributed Database Management Systems
Course Overview Principles of Operating Systems
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Overview Distributed vs. decentralized Why distributed databases
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Chapter 12 Distributed Database Management Systems
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
DISTRIBUTED COMPUTING
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems.
Database Design – Lecture 16
1 Distributed Operating Systems and Process Scheduling Brett O’Neill CSE 8343 – Group A6.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
CH2 System models.
Transparency in Distributed Operating Systems Vijay Akkineni.
Exercises for Chapter 2: System models
Session-8 Data Management for Decision Support
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
Distributed File System By Manshu Zhang. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Locating Mobile Agents in Distributed Computing Environment.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
Databases Illuminated
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed System Concepts and Architectures Services
Shuman Guo CSc 8320 Advanced Operating Systems
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Section 2.1 Distributed System Design Goals Alex De Ruiter
Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 17 – Introduction to Distributed Systems Outline 17.1Introduction 17.2Attributes of Distributed.
Chapter 1 Characterization of Distributed Systems
#01 Client/Server Computing
Chapter 17 – Introduction to Distributed Systems
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Distributed Systems Major Design Issues
Introduction To Distributed Systems
Distributed Systems and Concurrency: Distributed Systems
#01 Client/Server Computing
Presentation transcript:

DM Rasanjalee Himali CSc8320 – Advanced Operating Systems (SECTION 2.6) FALL 2009

The Basics

 A distributed system consist of concurrent processes accessing distributed resources  Resources are shared through message passing in a network environment that may be unreliable and contain untrusted components.

1. Object Models and Naming Schemes 2. Distributed Coordination 3. Interprocess Communication 4. Distributed Resources 5. Fault Tolerance and Security

 Objects in Computer System: ◦ Ex:  Processes, data files, memory, devices, processors, networks ◦ Are represented by set of allowable operations of the object ◦ Physical details of the object are transparent to other objects  Object Servers: ◦ Is the process that manages the object ◦ Objects are encapsulated in servers ◦ Only visible entities in the system are servers ◦ Ex:  process servers, file servers, memory servers etc. ◦ A client is a null server that accesses the object server

 Identifying Server: ◦ To contact a server, server must be identifiable. ◦ Three identification methods: 1.Identification by name 2.Identification by physical or logical address 3.Identification by service that servers provide

1. Identification by Name: ◦ Names are generally assumed to be unique ◦ But multiple addresses for same server may exist, and needs to change if server moves ◦ Names are more intuitive than addresses 2. Identification by physical or logical address ◦ Name to logical address mapping is done by name server in OS. ◦ logical address to physical address mapping is a network service ◦ The PORT used by many systems is a logical address. ◦ Associating more than one port to server provide multiple entry points to server 3. Identification by service that servers provide ◦ Multiple servers can share the same port ◦ This can be used for service identification in distributed system. ◦ Client is only interested in requested service ◦ Who provide the service is irrelevant ◦ Multiple servers can provide the same service ◦ This approach is critical to implement an autonomous system. ◦ A resolution protocol is needed to translate service to server

 Object models and naming : ◦ Must be addressed early in the system design as many things depend on the naming scheme: ◦ Ex:  Structure of the system  Management of the namespace  Name resolution  Access methods

 Interacting concurrent processes require coordination to achieve synchronization.  Types of Synchronization Requirements: ◦ In general there are three types of synchronization requirements: 1.Barrier Synchronization ◦ A set of processes or events must reach a common synchronization point before they can continue 2.Condition coordination ◦ A process or event must wait for a condition that will be set asynchronously by other interacting processes to maintain some ordering of execution 3.Mutual Exclusion ◦ Concurrent processes must have mutual exclusion when accessing a critical shared resource

 Synchronization Implies the need for the knowledge of state information about other processes  Problems with Synchronization: 1.Complete State of information is difficult to obtain ◦ Ex: ◦ no shared memory environment ◦ Solution: ◦ Use message passing to convey state information 2.Inaccurate or Incomplete information ◦ Ex: ◦ message transfer delays ◦ Solution: ◦ Use centralized coordinator that move from one process to another (no single point of failure)

3.Deadlock of Processes  Interacting processes can lead to deadlock  Deadlock :Circular waiting of processors  Problem:  Sometimes it is not practical to implement deadlock prevention or avoidance strategies in a distributed system  Solution:  Detect and recover from deadlocks  Problem:  Detection of deadlocks in a distributed system is non-trivial (b’s global state of the system is not available)  Who should initiate the detection algorithm?  How the algorithm be implemented in distributed fashion by message passing?  Who should be the victim in order to abort and resolve the deadlock?  How the victim can be recovered?  Efficiency of the of deadlock resolution and recovery seems more than that of detection

 Distributed solutions to synchronization and deadlock problems: ◦ Use partial global state for decision making  Many applications do not need absolute global knowledge of the system ◦ Exchange of local knowledge among cooperating sites

 Communication: ◦ Most important issue in any distributed system ◦ In OSs, interaction between processes and information flow between objects depend on communication ◦ Message passing is the only means of communication in distributed system ◦ Goal:  Have transparency in communication by providing higher level communication methods that hide the physical details of the message passing ◦ Two concepts are used to achieve this goal:  Client/Server model  Remote Procedure Calls (RPC)

 Client/Server model: ◦ Programming paradigm for structuring processing in distributed systems ◦ All system interactions are viewed as a pair of message exchanges  Client process send request to server  Server responds with a reply message  Remote Procedure Calls: ◦ Client/Server request/reply message exchange is represented as a procedure call in programming languages ◦ RPC: Procedure call to a remote server

 Multicast and Broadcast: ◦ Client/Server, RPC : Unicast (point-to-point) ◦ Notion of “groups” is inherent to distributed systems ◦ Processes cooperate in group activities ◦ Group communication in distributed systems is logical multicast (perhaps without broadcasting hardware) ◦ Communication needs to go through several layers of protocols and be propagated to a no. of physically distributed nodes. ◦ Thus it is more susceptible to failures in the system ◦ Reliable and atomic group broadcast remains an open issue in distributed systems

 Only resource needed for computation are data and processing  Data:  may reside physically in distributed memory or secondary storage  Processing Capacity:  Aggregate processing power of all processors  Goal:  Achieve transparency in allocating processing capacity processes (distributing processes/load to the processors )

 Static Load Distribution:  Also called multiprocessor scheduling  Goal:  minimize completion time of a set of related processes  Issue:  Communication overhead on design of scheduling strategies  Dynamic Load Distribution:  Also called load sharing  Goal:  Maximize utilization of set of processes  Issue:  Process migration

 Distributed Shared Memory:  Transparent memory system  Assume data resides in distributed memory modules  Present single shared memory view of physically distributed memories  Goal:  Maximize transparency  Other issues (for distributed file systems & distributed shared memory):  Sharing & replication of data  Need protocols to maintain consistency & coherency of data  Existence of replicas should be transparent to the user

 Distributed systems are vulnerable to failures and security threats  Failures:  Faults due to unintentional intrusion  Security Violations:  Faults due to intentional intrusion  Dependable Distributed System:  Fault tolerant system  System faults are transparent to the user

 Solution for Failures:  Redundancy in the system:  Is an inherent property of distributed systems as data and resources can be replicated  Rollback:  Recovery from failures requires rolling back the execution of failed process and other affected processes  The execution state must be kept for rollback recovery (difficult task in distributed systems)  Solution for Security:  Issues :  Trustworthiness of the communicating processes  Confidentiality and integrity of messages & data  Authentication & Authorization  Solutions:  Authentication : Clients, servers & messages must be authenticated  Authorization : access control across physical network with heterogeneous components under different administrative units, using different security models

Related Work

 Peer-to-Peer Networks:  distributed network architecture  composed of participants that make a portion of their resources available directly to their peers without intermediary network hosts or servers.  Peers are both suppliers and consumers of resources ◦ Research:  Security and privacy in P2P systems  Resource discovery/management in P2P systems

 Peer-to-Peer Search BFS – Breadth First Search Random BFS (-) sacrifices performance and network utilization for simplicity (+) guarantees high hit rates at the expense of a large no. of messages (-) RBFS algorithm is probabilistic and the query might not reach some large network segments (+) does not require global knowledge

Future Work

 Develop a model for P2P Search  Bayesian Inferencing  Value of Information  Extend P2P search for P2P Web Search  Most centralized Web search engines currently find it harder to catch up with the growth in information needs  Local & decentralized global directory  Semantic P2P Overlay Networks  Node connections be influenced by content / existence of multiple overlay networks based on content  Dynamic restructuring of overlay

 Randy Chow, Theodore Johnson, “Distributed Operating Systems & Algorithms”, Addison Wesley, 1997  Semantic Overlay Networks for P2P Systems, Arturo Crespo and Hector Garcia-Molina, 2002  Random walks in peer-to-peer networks: algorithms and evaluation, Christos Gkantsidis, Milena Mihail, Amin Saberi, 2006 