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!
Course Features
- Lectures 47
- Quiz 0
- Duration 50 hours
- Skill level All levels
- Language English
- Students 36
- Assessments Yes
Curriculum
- 9 Sections
- 47 Lessons
- 43 Weeks
- Introduction to Distributed System7
- Communication4
- Synchronization12
- 3.1Synchronization in Process Distribution System5 Minutes
- 3.2Cristian algorithm5 Minutes
- 3.3Berkeley Algorithm in Hindi in Process Distribution System4 Minutes
- 3.4Network Time Protocol5 Minutes
- 3.5Logical Clock in Distributed System6 Minutes
- 3.6Lamport’s Logical clock Algorithm in Distributed System5 Minutes
- 3.7Lam-ports Non Token Based Algorithm in Mutual Execution9 Minutes
- 3.8Vector Logical Clock Algorithm7 Minutes
- 3.9Ricart Agrawala Algorithm7 Minutes
- 3.10Suzuki Kasami Algorithm with Example9 Minutes
- 3.11Raymonds Algorithm5 Minutes
- 3.12Bully and Ring Election algorithm in Distributed System10 Minutes
- Resource and Process Management6
- 4.1Resources management in Distributed System7 Minutes
- 4.2Desirable features of Global scheduling Algorithm12 Minutes
- 4.3Load Balancing Algorithm and Design Issues16 Minutes
- 4.4Load Balancing by Harsh14 Minutes
- 4.5Load Balancing vs Load Sharing4 Minutes
- 4.6Load Sharing Algorithm with Design issues12 Minutes
- Consistency, Replication and Fault Tolerance2
- Distributed File Systems and Name Services9
- 6.1Introduction to Distributed File System12 Minutes
- 6.2Good features of Distributed File System11 Minutes
- 6.3File Accessing Models13 Minutes
- 6.4File Replication11 Minutes
- 6.5Introduction to network file system8 Minutes
- 6.6Network file system Full concept30 Minutes
- 6.7AFS9 Minutes
- 6.8Hadoop Distributed File System5 Minutes
- 6.9File Cache Scheme10 Minutes
- Distributed System Notes3
- Extra Notes3
- Viva Question1