MODULE – 1
Distributed System Models and Enabling Technologies
Simple Lecture Notes for Students
1. Introduction to Modern Computing
In the last 60 years, computing has changed from single large computers to many small computers
connected through networks working together over the Internet. Modern computing is distributed,
data-intensive and network-centric.
1.1 Scalable Computing Over the Internet
Scalable computing means the ability of a computing system to handle more work by adding more
computers instead of making one computer bigger. Earlier one centralized computer solved all
problems. Now many computers connected through Internet solve problems together. This is called
Parallel and Distributed Computing.
Need for Scalable Computing
Modern applications handle huge data, serve millions of users, need fast response and must work
continuously. Examples include Google, Facebook, YouTube, Amazon and online banking.
1.1.1 Age of Internet Computing
Billions of users use the Internet every day. Systems must support high performance and high
throughput. Traditional systems focused on HPC (High Performance Computing). Modern systems
focus on HTC (High Throughput Computing).
Difference Between HPC and HTC
HPC focuses on speed and scientific computing. HTC focuses on handling large number of user
tasks such as web services and searches.
2. Technologies for Network-Based Systems
Distributed systems require fast processors, large memory, big storage and high-speed networks.
2.1 Memory and Storage Technology
Memory and disk capacities have increased rapidly. SSDs are replacing traditional disks for faster
performance.
2.2 Networking Technology
Modern systems use LAN, WAN, SAN and NAS networks. High-speed technologies like Gigabit
Ethernet and InfiniBand are widely used.
3. Virtualization Technology
Virtualization means running many virtual computers on one physical computer. A Virtual Machine
(VM) is a software-based computer running its own OS. Hypervisor manages multiple VMs.
Benefits of Virtualization
Better resource usage, hardware independence, easy management and foundation for cloud
computing.
4. Distributed System Models
Main models are Clusters, Grids, Peer-to-Peer Networks and Cloud Computing.
4.1 Clusters
A cluster is a group of connected computers working together as a single system. It provides high
performance, scalability and load balancing.
4.2 Grid Computing
Grid computing shares computing resources across different organizations over the Internet. It is
geographically distributed and mainly used for scientific computing.
4.3 Peer-to-Peer Systems
In P2P systems every computer acts as both client and server. Examples are BitTorrent and Skype.
They are scalable but have security issues.
4.4 Cloud Computing
Cloud computing means using computing resources over the Internet on demand instead of owning
hardware and software.
Cloud Service Models
IaaS – Infrastructure as a Service
PaaS – Platform as a Service
SaaS – Software as a Service
Examples: AWS, Google Cloud, Microsoft Azure
5. Service-Oriented Architecture (SOA)
SOA builds systems using independent services that communicate with each other. It supports
loose coupling and reusability.
6. Software Environments for Distributed Systems
Middleware and distributed operating systems manage resources, communication and scheduling.
Examples include MPI and MapReduce.
7. Programming Models
Common models are Message Passing (MPI), RPC and MapReduce.
8. Important System Issues
Distributed systems must handle scalability, performance, security, reliability and fault tolerance.
9. Data Centers
Cloud computing relies on large data centers containing servers, storage and networking
equipment. Main goals are low cost, high efficiency and high availability.
10. Future Trends
Future technologies include IoT, Big Data, AI with Cloud, Edge Computing and Hybrid Clouds.
Summary
Distributed computing uses many computers working together over a network to solve large
problems. Cloud computing provides computing services over the Internet in a scalable and
on-demand manner.