Search This Blog

Wednesday, February 10, 2016

CS6601 DISTRIBUTED SYSTEMS syllabus



CS6601 DISTRIBUTED SYSTEMS                                                                     L T P C
3 0 0 3
OBJECTIVES:
The student should be made to:
·         Understand foundations of Distributed Systems.
·         Introduce the idea of peer to peer services and file system.
·         Understand in detail the system level and support required for distributed system.
·         Understand the issues involved in studying process and resource management.
UNIT I INTRODUCTION                                                                                                       7
Examples of Distributed Systems–Trends in Distributed Systems – Focus on resource sharing –
Challenges. Case study: World Wide Web.
UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM                                                             10
System Model – Inter process Communication - the API for internet protocols – External data
representation and Multicast communication. Network virtualization: Overlay networks. Case study:MPI Remote Method Invocation And Objects: Remote Invocation – Introduction - Request-reply protocols - Remote procedure call - Remote method invocation. Case study: Java RMI – Group communication - Publish-subscribe systems - Message queues - Shared memory approaches - Distributed objects - Case study: Enterprise Java Beans -from objects to components.
UNIT III PEER TO PEER SERVICES AND FILE SYSTEM                                                           10
Peer-to-peer Systems – Introduction - Napster and its legacy - Peer-to-peer – Middleware – Routing overlays. Overlay case studies: Pastry, Tapestry- Distributed File Systems –Introduction – File service architecture – Andrew File system. File System: Features-File model -File accessing models - File sharing semantics Naming: Identifiers, Addresses, Name Resolution – Name Space Implementation – Name Caches – LDAP.
UNIT IV SYNCHRONIZATION AND REPLICATION                                                         9
Introduction - Clocks, events and process states - Synchronizing physical clocks- Logical time and logical clocks - Global states – Coordination and Agreement – Introduction - Distributed mutual exclusion – Elections – Transactions and Concurrency Control– Transactions -Nested transactions – Locks – Optimistic concurrency control - Timestamp ordering – Atomic Commit protocols –Distributed deadlocks – Replication – Case study – Coda.
UNIT V PROCESS & RESOURCE MANAGEMENT                                                         9
Process Management: Process Migration: Features, Mechanism - Threads: Models, Issues,
Implementation. Resource Management: Introduction- Features of Scheduling Algorithms –Task Assignment Approach – Load Balancing Approach – Load Sharing Approach.
TOTAL:    45 PERIODS
OUTCOMES:
At the end of the course, the student should be able to:
·         Discuss trends in Distributed Systems.
·         Apply network virtualization.
·         Apply remote method invocation and objects.
·         Design process and resource management systems.
TEXT BOOK:
1. George Coulouris, Jean Dollimore and Tim Kindberg, “Distributed Systems Concepts and
Design”, Fifth Edition, Pearson Education, 2012.
REFERENCES:
1. Pradeep K Sinha, "Distributed Operating Systems: Concepts and Design", Prentice Hall of India,
2007.
2. Tanenbaum A.S., Van Steen M., “Distributed Systems: Principles and Paradigms”, Pearson
Education, 2007.
3. Liu M.L., “Distributed Computing, Principles and Applications”, Pearson Education, 2004.
4. Nancy A Lynch, “Distributed Algorithms”, Morgan Kaufman Publishers, USA, 2003.

CS6601 DISTRIBUTED SYSTEMS NOTES UNIT I


CS6601 DISTRIBUTED SYSTEMS
UNIT I INTRODUCTION
Definition:
A distributed system is one in which components located at networked computers
communicate and coordinate their actions only by passing messages.
Eg:
Internet and Intranet
Significant Consequences Of Distributed Systems:
Concurrency:
The capacity of the system to handle shared resources can be increased by adding more resources (for example. computers) to the network.
No global clock:
-          When programs need to cooperate they coordinate their actions by exchanging messages. Close coordination often depends on a shared idea of the time at which the programs’ actions occur.
-           But it turns out that there are limits to the accuracy with which the computers in a network can synchronize their clocks – there is no single global notion of the correct time.
Independent failures:
-          Faults in the network result in the isolation of the computers that are connected to it, but that doesn’t mean that they stop running. In fact, the programs on them may not be able to detect whether the network has failed or has become unusually slow.
-          the failure of a computer, or the unexpected termination of a program somewhere in the system (a crash), is not immediately made known to the other components
-          Each component of the system can fail independently, leaving the others still running.
Need for Distributed system:
-          To share resources
-          Sharing of hardware components such as disks and printers to software-defined entities such as files, databases and data objects of all kinds.
-          It includes the stream of video frames that emerges from a digital video camera and the audio connection that a mobile phone call represents.
Tightly coupled system :
-          Parrallel Computing
-          Single primary memory that is shared by all the processors
-          Communication between the processors take place through the shared memory
Loosely coupled system:
-          Processors do not shared memory and each processor has its own local memory
-          Communication between the processors is done by passing messages across network

CS6601 DISTRIBUTED SYSTEMS UNIT I NOTES

                                       CS6601 DISTRIBUTED SYSTEMS 


Examples of distributed systems
                 
1.      Web search
Global number of searches has risen to over 10 billion per calendar month
-          The task of a web search engine is to index the entire contents of the World Wide Web, encompassing a wide range of information styles including web pages, multimedia sources and (scanned) books.
-          most search engines analyze the entire web content and then carry out sophisticated processing on this enormous database, this task itself represents a  major challenge for distributed systems design.
Highlights of this infrastructure include:
·         an underlying physical infrastructure consisting of very large numbers of networked computers located at data centers all around the world;
    A distributed file system designed to support very large files and heavily optimized for 
     the style of usage required by search and other Google applications (especially reading   
     from files at high and sustained rates);
    an associated structured distributed storage system that offers fast access to very large
datasets;
   a lock service that offers distributed system functions such as distributed locking and 
agreement;
  a programming model that supports the management of very large parallel and distributed 
computations across the underlying physical infrastructure.
2.   Massively multiplayer online games (MMOGs)
very large numbers of users interact through the Internet with a persistent virtual world
Examples
      Sony’s EverQuest II and EVE Online
The number of players is also rising, with systems able to support over 50,000 simultaneous  online players.
Major challenges:
-          the need for fast response times to preserve the user experience of the game
-          real-time propagation of events to the many players and maintaining a consistent view of the shared world.
Solutions for massively multiplayer online games:
-          the largest online game, EVE Online, utilises a client-server architecture where a single copy of the state of the world is maintained on a centralized server and accessed by client programs running on players’ consoles or other devices
-          The centralized architecture helps significantly in terms of the management of the virtual world and the single copy also eases consistency concerns.
-          to ensure fast response through optimizing network protocols and ensuring a rapid response to incoming events.
-          Other MMOGs adopt more distributed architectures. Users are then dynamically allocated a particular server based on current usage patterns and also the network delays to the server
-          not based on client-server principles but rather adopt completely decentralized approaches based on peer-to-peer technology where every participant contributes resources (storage and processing) to accommodate the game
3.   Financial trading
The financial industry has long been at the cutting edge of distributed systems technology with its need, in particular, for real-time access to a wide range of information sources (for example, current share prices and trends, economic and political developments). The industry employs automated monitoring and trading applications.
-          communication and processing of items of interest, known as events in distributed systems
 
Examples
a drop in a share price, the release of the latest unemployment figures
-          such systems typically employ what are known as distributed event-based systems.