BCS601 Module 1 Notes 1
BCS601 Module 1 Notes 1
NOTES
Module-1
Distributed System Models and Enabling Technologies:
Scalable Computing Over the Internet, Technologies for Network Based Systems, System Models
for Distributed and Cloud Computing, Software Environments for Distributed Systems and
Clouds, Performance, Security and Energy Efficiency.
Textbook1: Chapter1:1.1 to 1.5
• Grids enable access to shared computing power and storage capacity from your desktop.
• Clouds enable access to leased computing power and storage capacity from your desktop.
• Grids are an open sourcetechnology. Resource users and providers alike can understand and
contribute to the management of their grid
• Clouds are a proprietary technology. Only the resource provider knows exactly how their cloud
manages data, job queues, security requirements and so on.
• The concept of grids was proposed in 1995. The Open science grid (OSG) started in 1995 The
EDG (European Data Grid) project began in 2001.
• In the late 1990`s Oracle and EMC offered early private cloud solutions .However the term cloud
computing didn't gain prominence until 2007. o high-performance computing (HPC) applications
is no longer optimal for measuring system performance
• The emergence of computing clouds instead demands high-throughput computing (HTC)
systems built with parallel and distributed computing technologies
• We have to upgrade data centers using fast servers, storage systems, and high-bandwidth
networks.
• From 1950 to 1970, a handful of mainframes, including the IBM 360 and CDC 6400
o From 1980 to 2000, massive numbers of portable computers and pervasive devices appeared in
both wired and wireless applications
o Since 1990, the use of both HPC and HTC systems hidden in clusters, grids, or Internet clouds has
proliferated
High-Performance Computing (HPC) and High-Throughput Computing (HTC) have evolved
significantly, driven by advances in clustering, P2P networks, and cloud computing.
• HPC Evolution:
o Traditional supercomputers (MPPs) are being replaced by clusters of cooperative
Centralized computing
A computing paradigm where all computer resources are centralized in a single physical
system. In this setup, processors, memory, and storage are fully shared and tightly integrated
within one operating system. Many data centers and supercomputers operate as centralized
systems, but they are also utilized in parallel, distributed, and cloud computing applications.
Parallel computing
In parallel computing, processors are either tightly coupled with shared memory or loosely
coupled with distributed memory. Communication occurs through shared memory or message
passing. A system that performs parallel computing is a parallel computer, and the programs
running on it are called parallel programs. Writing these programs is referred to as parallel
programming.
Ubiquitous computing refers to computing with pervasive devices at any place and time using
wired or wireless communication. The Internet of Things (IoT) is a networked connection of
everyday objects including computers, sensors, humans, etc. The IoT is supported by Internet
clouds to achieve ubiquitous computing with any object at any place and time. Finally, the term
Internet computing is even broader and covers all computing paradigms over the Internet. This
book covers all the aforementioned computing paradigms, placing more emphasis on distributed
and cloud computing and their working systems, including the clusters, grids, P2P, and cloud
systems.
Internet of Things The traditional Internet connects machines to machines or web pages to web
pages. The concept of the IoT was introduced in 1999 at MIT.
• The IoT refers to the networked interconnection of everyday objects, tools, devices, or computers.
One can view the IoT as a wireless network of sensors that interconnect all things in our daily life.
• It allows objects to be sensed and controlled remotely across existing network infrastructure
Distributed System Families
Massively distributed systems, including grids, clouds, and P2P networks, focus on resource
sharing in hardware, software, and datasets. These systems emphasize parallelism and concurrency,
as demonstrated by large-scale infrastructures like the Tianhe-1A supercomputer (built in China in
2010 with over 3.2 million cores).
4. Flexibility – Enabling HPC applications (scientific and engineering) and HTC applications
(business and cloud services) to run efficiently in distributed environments.
The future of distributed computing depends on scalable, efficient, and flexible architectures that
can meet the growing demand for computational power, throughput, and energy efficiency.
Degrees of Parallelism
Parallelism in computing has evolved from:
• Bit-Level Parallelism (BLP) – Transition from serial to word-level processing.
Coarse-grained parallelism builds on fine-grained parallelism, ensuring scalability in HPC and HTC
systems.
Innovative Applications of Distributed Systems
Parallel and distributed systems support applications in various domains:
Domain Applications
Science & Engineering Weather forecasting, genomic analysis
Business, education, services industry, and E-commerce, banking, stock exchanges
health care
Internet and web services, and government Cybersecurity, digital governance, traffic
applications monitoring
Mission-Critical Systems Military, crisis management
HTC systems prioritize task throughput over raw speed, addressing challenges like cost, energy
efficiency, security, and reliability.
The Shift Toward Utility Computing
Utility computing follows a pay-per-use model where computing resources are delivered as a service.
Cloud computing extends this concept, allowing distributed applications to run on edge networks.
Challenges include:
• Virtualization middleware
• New programming models
The Hype Cycle of Emerging Technologies
• CPS: Merges computation, communication, and control (3C) to create intelligent systems
for virtual and physical world interactions.
Both IoT and CPS will play a significant role in future cloud computing and smart
infrastructure development.
• Modern multicore processors integrate dual, quad, six, or more processing cores to
enhance parallelism at the instruction level (ILP) and task level (TLP).
• Processor speed growth has followed Moore’s Law, increasing from 1 MIPS (VAX 780,
1978) to 22,000 MIPS (Sun Niagara 2, 2008) and 159,000 MIPS (Intel Core i7 990x,
2011).
• Clock rates have increased from 10 MHz (Intel 286) to 4 GHz (Pentium 4) but have
stabilized due to heat and power limitations.
Multicore CPU and Many-Core GPU Architectures
• Multicore processors house multiple processing units, each with private L1 cache and
shared L2/L3 cache for efficient data access.
• Many-core GPUs (e.g., NVIDIA and AMD architectures) leverage hundreds to thousands
of cores, excelling in data-level parallelism (DLP) and graphics processing.
• Example: Sun Niagara II – Built with eight cores, each supporting eight threads,
achieving a maximum parallelism of 64 threads.
Key Trends in Processor and Network Technology
• Multicore chips continue to evolve with improved caching mechanisms and increased
processing cores per chip.
• Network speeds have improved from Ethernet (10 Mbps) to Gigabit Ethernet (1 Gbps)
and beyond 100 Gbps to support high-speed data communication.
Modern distributed computing systems rely on scalable multicore architectures and high-speed
networks to handle massive parallelism, optimize efficiency, and enhance overall performance.
Multicore CPU and Many-Core GPU Architectures
Advancements in multicore CPUs and many-core GPUs have significantly influenced modern high-
performance computing (HPC) and high-throughput computing (HTC) systems. As CPUs
approach their parallelism limits, GPUs have emerged as powerful alternatives for massive
parallelism and high computational efficiency.
Multicore CPU and Many-Core GPU Trends
• Multicore CPUs continue to evolve from tens to hundreds of cores, but they face
challenges like the memory wall problem, limiting data-level parallelism (DLP).
• Many-core GPUs, with hundreds to thousands of lightweight cores, excel in DLP and
task-level parallelism (TLP), making them ideal for massively parallel workloads.
• Hybrid architectures are emerging, combining fat CPU cores and thin GPU cores on a
single chip for optimal performance.
Multithreading Technologies in Modern CPUs
• Different microarchitectures exploit parallelism at instruction-level (ILP) and thread-
level (TLP):
o Superscalar Processors – Execute multiple instructions per cycle.
o Fine-Grained Multithreading – Switches between threads every cycle.
o Coarse-Grained Multithreading – Runs one thread for multiple cycles before
switching.
o Simultaneous Multithreading (SMT) – Executes multiple threads in the same
cycle.
GPU Computing to Exascale and Beyond
• GPUs were initially designed for graphics acceleration but are now used for general-
purpose parallel computing (GPGPU).
• Modern GPUs (e.g., NVIDIA CUDA, Tesla, and Fermi) feature hundreds of cores,
handling thousands of concurrent threads.
• Example: The NVIDIA Fermi GPU has 512 CUDA cores and delivers 82.4 teraflops,
contributing to the performance of top supercomputers like Tianhe-1A.
.
GPU vs. CPU Performance and Power Efficiency
• GPUs prioritize throughput, while CPUs optimize latency using cache hierarchies.
• Power efficiency is a key advantage of GPUs – GPUs consume 1/10th of the power per
instruction compared to CPUs.
• Future Exascale Systems will require 60 Gflops/W per core, making power efficiency a
major challenge in parallel and distributed computing.
3. Concurrency and Locality – Improving software and compiler support for parallel
execution.
4. System Resiliency – Ensuring fault tolerance in large-scale computing environments.
The shift towards hybrid architectures (CPU + GPU) and the rise of power-aware computing
models will drive the next generation of HPC, HTC, and cloud computing systems.
1.2.3 Memory, Storage, and Wide-Area Networking
Memory Technology
• Solid-State Drives (SSDs) provide significant speed improvements and durability (300,000
to 1 million write cycles per block).
• Power and cooling challenges limit large-scale storage expansion.
System-Area Interconnects & Wide-Area Networking
• Local Area Networks (LANs) connect clients and servers.
• Storage Area Networks (SANs) & Network Attached Storage (NAS) support large-scale
data storage and retrieval.
• Ethernet speeds have evolved from 10 Mbps (1979) to 100 Gbps (2011), with 1 Tbps
links expected in the future.
• Suspension & Migration – VMs can be paused, saved, or migrated across different servers.
• Provisioning – VMs can be dynamically deployed based on workload demand.
Virtual Infrastructure
• Separates physical hardware from applications, enabling flexible resource management.
• Enhances server utilization from 5–15% to 60–80% (as claimed by VMware).
• Cloud computing & parallel computing address the data deluge challenge.
• MapReduce & Iterative MapReduce enable scalable data processing for big data and
machine learning applications.
The integration of memory, storage, networking, virtualization, and cloud data centers is
transforming distributed systems. By leveraging virtualization, scalable networking, and cloud
computing, modern infrastructures achieve higher efficiency, flexibility, and cost-effectiveness,
paving the way for future exascale computing.
• Cloud Computing: Operates over massive data centers, delivering on-demand computing
resources at a global scale.
These systems exhibit high scalability, enabling web-scale computing with millions of
interconnected nodes. Their technical and application characteristics vary based on factors such as
resource sharing, control mechanisms, and workload distribution.
• Each node operates independently, with its own OS, creating multiple system images
(MSI).
• The cluster manages shared I/O devices and disk arrays, providing efficient resource
utilization.
• Middleware supports features like high availability (HA), distributed memory sharing
(DSM), and job scheduling.
• Virtual clusters can be dynamically created using virtualization, optimizing resource
allocation on demand.
• Lack of a cluster-wide OS limits full resource sharing.
• Middleware solutions provide necessary functionalities like scalability, fault tolerance, and
job management.
• Key challenges include efficient message passing, seamless fault tolerance, high
availability, and performance scalability.
Server clusters are scalable, high-performance computing systems that utilize networked
computing nodes for parallel and distributed processing. Achieving SSI and efficient middleware
support remains a key challenge in cluster computing. Virtual clusters and cloud computing are
evolving to enhance cluster flexibility and resource management.
1.3.2 Grid Computing, Peer-to-Peer (P2P) Networks, and System Models
Grid Computing Infrastructures
Grid computing has evolved from Internet and web-based services to enable large-scale
distributed computing. It allows applications running on remote systems to interact in real-time.
• Used for scientific and enterprise applications, including SETI@Home and astrophysics
simulations.
• Provides an integrated resource pool, enabling shared computing, data, and information
services.
[Link] Grid Families
P2P systems eliminate central coordination, allowing client machines to act as both servers and
clients.
• Data Location & Routing – Optimizing data placement for better performance.
• Fault Tolerance & Load Balancing – Peers can fail unpredictably.
• Security & Privacy – No central control means increased risk of data breaches and
malware.
P2P networks offer robust and decentralized computing, but lack security and reliability, making
them suitable only for low-security applications like file sharing and collaborative tools.
Both grid computing and P2P networks provide scalable, distributed computing models. While
grids are used for structured, high-performance computing, P2P networks enable decentralized,
user-driven resource sharing. Future developments will focus on security, standardization, and
efficiency improvements.
o Users deploy and manage their applications but do not control the underlying
infrastructure.
o Examples: Amazon EC2, Google Compute Engine.
• Platform as a Service (PaaS)
• Offers a development environment with middleware, databases, and
programming tools.
Cloud computing provides several benefits over traditional computing paradigms, including:
1. Energy-efficient data centers in secure locations.
6. Enhanced service and data discovery for content and service distribution.
7. Security and privacy improvements, though challenges remain.
This section introduces Service-Oriented Architecture (SOA) and other key software environments
that enable distributed and cloud computing systems. These environments define how
applications, services, and data interact within grids, clouds, and P2P networks.
SOA enables modular, scalable, and reusable software components that communicate over a
network. It underpins web services, grids, and cloud computing environments.
• Distributed computing builds on the OSI model, adding layers for service interfaces,
workflows, and management.
•
• Communication standards include:
o SOAP (Simple Object Access Protocol) – Used in web services.
o RMI (Remote Method Invocation) – Java-based communication.
o IIOP (Internet Inter-ORB Protocol) – Used in CORBA-based systems.
• Middleware tools (e.g., WebSphere MQ, Java Message Service) manage messaging,
security, and fault tolerance.
SOA has expanded from basic web services to complex multi-layered ecosystems:
• Sensor Services (SS) – Devices like ZigBee, Bluetooth, GPS, and WiFi collect raw data.
• Filter Services (FS) – Process data before feeding into computing, storage, or discovery
clouds.
• Cloud Ecosystem – Integrates compute clouds, storage clouds, and discovery clouds for
managing large-scale applications.
SOA enables data transformation from raw data → useful information → knowledge →
wisdom → intelligent decisions.
SOA defines the foundation for web services, distributed systems, and cloud computing. By
integrating sensors, processing layers, and cloud resources, SOA provides a scalable, flexible
approach for modern computing applications. The future of distributed computing will rely on
intelligent data processing, automation, and service-driven architectures.
Traditional distributed systems run independent OS instances on each node, resulting in multiple
system images. A distributed OS manages all resources coherently and efficiently across nodes.
3. Truly Distributed OS – Provides single-system image (SSI) with full transparency across
resources.
.
[Link] MapReduce
• Highly scalable parallel model, used in big data processing and search engines.
• Splits workloads into Map (processing) and Reduce (aggregation) tasks.
• Google executes thousands of MapReduce jobs daily for large-scale data analysis.
[Link] Hadoop
• Open-source alternative to MapReduce, used for processing petabytes of data.
• Scalable, cost-effective, and fault-tolerant, making it ideal for cloud services.
• Cloud computing and grid computing continue to merge, leveraging virtualization and
elastic resource management.
•
[Link] Amdahl’s Law (Fixed Workload Scaling)
• Speedup in parallel computing is limited by the sequential portion of a program.
• Speedup Formula:
where α is the fraction of the workload that is sequential.
• Even with hundreds of processors, speedup is limited if sequential execution (α) is high.
• Problem with Fixed Workload
• In Amdahl’s law, we have assumed the same amount of workload for both sequential and parallel
execution of the program with a fixed problem size or data set. This was called fixed-workload speedup
by Hwang and Xu [14]. To execute a fixed workload on n processors, parallel processing may lead to
a system efficiency defined as follows:
•
[Link] Gustafson’s Law (Scaled Workload Scaling)
• Instead of fixing workload size, this model scales the problem to match available
processors.
• Speedup Formula:
• This speedup is known as Gustafson’s law. By fixing the parallel execution time at level W, the
following efficiency expression is obtained:
• More efficient for large clusters, as workload scales dynamically with system size.
• System availability depends on Mean Time to Failure (MTTF) and Mean Time to
Repair (MTTR): Availability=MTTF/(MTTF+MTTR)
•
• Eliminating single points of failure (e.g., hardware redundancy, fault isolation) improves
availability.
• P2P networks are highly scalable but have low availability due to frequent peer failures.
• Grids and clouds offer better fault isolation and thus higher availability than traditional
clusters.
• Amdahl’s Law limits speedup for fixed workloads, while Gustafson’s Law optimizes
large-scale computing.
• High availability requires redundancy, fault tolerance, and system design
improvements.
• Clouds and grids balance scalability and availability better than traditional SMP or
NUMA systems.
Network Threats, Data Integrity, and Energy Efficiency
This section highlights security challenges, energy efficiency concerns, and mitigation strategies
in distributed computing systems, including clusters, grids, clouds, and P2P networks.
1.5.3 Network Threats and Data Integrity
Distributed systems require security measures to prevent cyberattacks, data breaches, and
unauthorized access.
[Link] Threats to Systems and Networks
• IaaS: Users are responsible for most security aspects, while providers ensure availability.
• Content poisoning and timestamped tokens help detect piracy and protect digital rights.
• Global energy cost of idle servers: $3.8 billion annually, with 11.8 million tons of CO₂
emissions.
• IT departments must identify underutilized servers to reduce waste.
.
3. Resource Layer – Use Dynamic Power Management (DPM) and Dynamic Voltage-
Frequency Scaling (DVFS).
4. Network Layer – Develop energy-efficient routing algorithms and optimize bandwidth
usage.
• Techniques like DPM and DVFS can significantly reduce power consumption without
compromising performance.