Preaload Image

Distributed Computing


Distributed Computing is semester 8 subject of the final year of computer engineering in Mumbai University. Prerequisite for studying this subject are Java Programming, Operating Systems, Computer Networks.

Distributed-Computing is a field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. The components interact with one another in order to achieve a common goal. Three significant characteristics of distributed systems are concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications. A computer program that runs within a distributed system is called a distributed program (and distributed programming is the process of writing such programs). There are many different types of implementations for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues. Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers, which communicate with each other via message passing.

Module Introduction to Distributed Systems covers the following topics Characterization of Distributed Systems: Issues, Goals, and Types of distributed systems, Distributed System Models, Hardware concepts, Software Concept. Middleware: Models of Middleware, Services offered by middleware, Client-Server model. Module Communication covers the following topics Layered Protocols, Interprocess communication (IPC) MPI, Remote Procedure Call (RPC), Remote Object Invocation, Remote Method Invocation (RMI) Message-Oriented Communication, Stream Oriented Communication, Group Communication Module Synchronization covers the following topics Clock Synchronization, Logical Clocks, Election Algorithms, Mutual Exclusion, Distributed Mutual Exclusion-Classification of mutual Exclusion Algorithm, Requirements of Mutual Exclusion Algorithms, Performance measure. Non-Token-based Algorithms: Lamport Algorithm, Ricart–Agrawala‘s Algorithm, Maekawa‘s Algorithm Token-Based Algorithms: Suzuki-Kasami‘s Broadcast Algorithms, Singhal‘s Heuristic Algorithm, Raymond‘s Tree-based Algorithm, Comparative Performance Analysis. Module Resource and Process Management covers the following topics Desirable Features of global Scheduling algorithm, Task assignment approach, Load balancing approach, load sharing approach. Introduction to process management, process migration, Threads, Virtualization, Clients, Servers, Code Migration. Module Consistency, Replication and Fault Tolerance covers the following topics Introduction to replication and consistency, Data-Centric and Client-Centric Consistency Models, Replica Management Fault Tolerance: Introduction, Process resilience, Reliable client-server and group communication, Recovery. Module Distributed File Systems and Name Services covers the following topics Introduction and features of DFS, File models, File Accessing models, File-Caching Schemes, File Replication, Case Study: Distributed File Systems (DSF), Network File System (NFS), Andrew File System (AFS). Introduction to Name services and Domain Name System, Directory Services, Case Study: The Global Name Service, The X.500 Directory Service. Designing Distributed Systems: Google Case Study. Suggested Texts Books for Distributed Computing by Mumbai University are as follows Andrew S. Tanenbaum and Maarten Van Steen, ―Distributed Systems: Principles and Paradigms, 2nd edition, Pearson Education. George Coulouris, Jean Dollimore, Tim Kindberg, “Distributed Systems: Concepts and Design”, 4th Edition, Pearson Education, 2005. Suggested Reference Books for Distributed Computing by Mumbai University are as follows A. S. Tanenbaum and M. V. Steen, “Distributed Systems: Principles and Paradigms”, Second Edition, Prentice-Hall, 2006. 2. M. L. Liu, ―Distributed Computing Principles and Applications, Pearson Addison Wesley, 2004.

Course Objectives of the subject distributed computing is to provide students with contemporary knowledge in distributed systems. To equip students with the skills to analyze and design distributed applications. To provide master skills to measure the performance of distributed synchronization algorithms. Distributed Computing course outcomes are as follows on successful completion of course learner will be able to Demonstrate knowledge of the basic elements and concepts related to distributed system technologies; Illustrate the middleware technologies that support distributed applications such as RPC, RMI and Object-based middleware. Analyze the various techniques used for clock synchronization and mutual exclusion. Demonstrate the concepts of Resource and Process management and synchronization algorithms. Demonstrate the concepts of Consistency and Replication Management. Apply the knowledge of Distributed File System to analyze various file systems like NFS, AFS and the experience in building large-scale distributed applications.


Prepare For Your Placements: https://lastmomenttuitions.com/courses/placement-preparation/

/ Youtube Channel: https://www.youtube.com/channel/UCGFNZxMqKLsqWERX_N2f08Q

Follow For Latest Updates, Study Tips & More Content!


/ Last Moment Tuitions

/ lastmomentdost

Course Features

  • Lectures 46
  • Quizzes 0
  • Duration 50 hours
  • Skill level All levels
  • Language English
  • Students 8
  • Certificate No
  • Assessments Yes
author avatar
Qualification : Bachelor of Engineering in Computer. passionate about teaching.


Average Rating

0 rating

Detailed Rating

5 Star
4 Star
3 Star
2 Star
1 Star