Mod 1 CC Notes by Sir
Mod 1 CC Notes by Sir
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,
nPerformance, Security and Energy Efficiency.
o They focus on file sharing and tasks that can be executed over a long period.
Shruthi T S,KSIT
o They rely on a P2P (Peer-to-Peer) network, which uses distributed control and
is geographically sparse (i.e., spread across different locations).
o Once computational and data grids are established, they enable three advanced
computing paradigms:
High-Performance Computing
o HPC systems have long focused on raw speed performance, advancing from
Gflops in the 1990s to Pflops by 2010, primarily driven by scientific,
engineering, and manufacturing needs.
o The Top 500 supercomputers are ranked based on floating-point performance
using the Linpack benchmark.
o However, supercomputer users make up less than 10% of all computer users.
Today, most users rely on desktop computers or large servers for tasks like
Internet searches and market-driven computing.
High-Performance Computing
Shruthi T S,KSIT
o HTC is essential for applications like Internet searches and web services used
by millions simultaneously. Unlike HPC, which emphasizes raw speed, HTC
measures performance based on task completion rates.
o Besides improving batch processing, HTC must also address challenges like
cost, energy efficiency, security, and reliability in data centers.
• These are online applications that let people create, share, and interact over the
internet.
• They work using Service-Oriented Architecture (SOA), which helps connect
different services.
• Examples: Google Docs (for online documents), Facebook (for social
networking), YouTube (for sharing videos).
2. Internet Clouds
• This is a system where computers and data storage are available on demand
through the internet.
• It uses virtualization, meaning one physical server can act like many virtual
servers.
• Examples: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud
help businesses store and process data online instead of on personal computers.
3. Internet of Things (IoT)
• This is when everyday devices are connected to the internet and can collect and
share data automatically.
• It uses RFID and sensors to track and monitor things in real-time.
Shruthi T S,KSIT
• Examples: Smart home devices like Alexa and Nest (for home automation),
industrial IoT (for factories), and healthcare monitoring systems (for tracking
patients' health).
1.1.1.5 Computing Paradigm Distinctions
• Since the mid-1990s, peer-to-peer (P2P) networks and cluster networks have
been integrated into large-scale computational and data grids, enabling wide-area
computing infrastructures.
• More recently, there has been a growing interest in leveraging Internet cloud
resources for data-intensive applications.
Shruthi T S,KSIT
• Cloud computing has emerged as a shift from desktop computing to service-
oriented computing, utilizing server clusters and massive databases in data
centers.
• Both grids and clouds focus on resource sharing in terms of hardware, software,
and data, but they operate as distinct distributed systems.
➢ The design objectives for high-performance computing (HPC) and high-
throughput computing (HTC) systems include:
• Efficiency: Maximizing resource utilization through parallelism in HPC,
while focusing on job throughput, data access, storage, and power efficiency
in HTC.
• Dependability: Ensuring reliability and self-management across all levels,
with Quality of Service (QoS) assurance, even in failure conditions.
• Adaptation: Supporting billions of job requests across large datasets and
virtualized cloud resources under different workload and service models.
• Flexibility: Enabling distributed systems to efficiently handle both HPC
(scientific and engineering) and HTC (business-oriented) applications.
Shruthi T S,KSIT
✓ For example, data access, resource allocation, process location, concurrency
in execution, job replication, and failure recovery should be made transparent
to both users and system management.
Shruthi T S,KSIT
• Figure 1.2 identifies major computing paradigms to facilitate the study of distributed
systems and their applications. These paradigms share some common characteristics.
• First, they are all ubiquitous in daily life. Reliability and scalability are two major
design objectives in these computing models.
• Second, they are aimed at autonomic operations that can be self- organized to support
dynamic discovery.
• Any new and emerging computing and information technology may go through a
hype cycle, Generally illustrated in Figure 1.3. This cycle shows the expectations for
the technology at five different stages
• Also as shown in Figure 1.3, the cloud technology had just crossed the peak of the
expectation stage in 2010, and it was expected to take two to five more years to reach
the productivity stage.
Shruthi T S,KSIT
• Processor speed, measured in MIPS, and network bandwidth, measured in
Mbps or Gbps, have significantly increased.
• Figure 1.4 illustrates this growth, with "GE" representing 1 Gbps Ethernet
bandwidth.
• These improvements have enhanced computing efficiency, enabling faster data
processing and communication in distributed systems.
• Modern CPUs use a multicore architecture with dual, quad, six, or more cores,
exploiting instruction-level (ILP) and thread-level parallelism (TLP).
• Over the years, processor speed has grown significantly, from 1 MIPS in 1978
(VAX 780) to 22,000 MIPS in 2008 (Sun Niagara 2), aligning with Moore’s
Law. However, clock rate improvements have slowed due to power and heat
limitations, rarely exceeding 5 GHz.
• Advanced ILP techniques like superscalar architecture, dynamic branch
prediction, and speculative execution enhance performance.
• Additionally, GPUs leverage many-core architectures with hundreds to
thousands of simple cores to maximize data-level (DLP) and thread-level
parallelism.
Shruthi T S,KSIT
*Each core in a multicore processor acts like a separate processor.
*Each core has its own private L1 cache, which stores frequently used data for quick access.
*All cores share a common L2 cache, which allows them to exchange data efficiently.
*This design helps improve performance by allowing multiple tasks to run simultaneously
while reducing delays in accessing memory.
Multithreading Technology
➢ In this dig there are five independent threads of instructions with five processor and
four pipelined data paths (functional units) in each of the following five processor
categories
Shruthi T S,KSIT
o Each processor can handle four independent threads across four data paths.
5. Coarse-Grain Multithreading
➢ A Graphics Processing Unit (GPU) is like a super-fast assistant for your computer. Its
job is to handle images, videos, and 3️D graphics, so the main processor (CPU) doesn’t
get overloaded.
➢ It is located inside the video card (also called a graphics card), which is a special part
of your computer.
➢ It acts as a coprocessor, meaning it works alongside the CPU.
➢ The first GPU was made by NVIDIA in 1999 and was called GeForce 256.
➢ It could handle 10 million shapes (polygons) per second, making games and
animations much smoother.
Shruthi T S,KSIT
➢ A CPU (brain of the computer) usually works on one task at a time or a few tasks.
But a GPU is like a team of workers that can do thousands of tasks at the same time—
this is called parallel processing.
➢ Early GPUs functioned as coprocessors for the CPU, but modern GPUs have evolved
into powerful parallel computing units. NVIDIA GPUs now feature up to 1️2️8 cores, with
each core handling 8 threads, enabling 1️,02️4️ concurrent threads on a single chip—far
surpassing traditional CPUs in parallelism.
➢ CPU: Optimized for low-latency cache-based computing and handles fewer threads.
GPU: Optimized for high-throughput parallel processing with efficient on-chip memory
management.
➢ Modern GPUs are widely used in high-performance computing (HPC) and
supercomputers for massively parallel floating-point calculations.
➢ GPUs offload data-intensive computations from CPUs, enabling faster processing in
applications beyond graphics, such as scientific simulations, AI, and deep learning.
➢ NVIDIA CUDA Tesla and Fermi GPUs are specialized for HPC clusters and parallel data
processing.
This diagram represents the GPU architecture and its interaction with the CPU and memory.
• The device memory (GPU memory) stores data and instructions for computations.
• The CPU communicates with the GPU and main memory to send and receive data.
• The GPU is optimized for massively parallel tasks, making it efficient for graphics, AI,
and high-performance computing (HPC).
Shruthi T S,KSIT
➢ four challenges are identified for exascale computing:
(1️) energy and power, (2️) memory and storage, (3️) concurrency and locality, and (4️)
system resiliency
This diagram represents the architecture of an NVIDIA Fermi GPU, specifically
showing the structure of a Streaming Multiprocessor (SM).
• The Fermi GPU consists of 16 Streaming Multiprocessors (SMs), each containing 32
CUDA cores (only one SM is shown in the diagram).
• The CUDA cores perform computations in parallel, handling both floating-point (FP)
and integer (INT) operations.
• The warp scheduler and dispatch unit control the execution of multiple threads in
parallel.
• The register file (32,768 x 32-bit) stores temporary data for high-speed processing.
• Load/Store (LD/ST) units handle memory operations, moving data between shared
memory and caches.
• SFU (Special Function Units) execute complex mathematical functions like sine,
cosine, and square roots.
• Interconnect network, shared memory (64 KB L1 cache), and uniform cache facilitate
fast data access and communication within the GPU.
Shruthi T S,KSIT
This figure compares the performance of GPUs (Graphics Processing Units) and CPUs
(Central Processing Units) in terms of GFLOPS/W (Giga Floating Point Operations Per Second
per Watt) over time, and projects the performance of Exascale systems in the future. Here's
a breakdown:
• Exascale (EF) Performance (Yellow Line): Projects a much higher performance level
(60 GFLOPS/W/core) for Exascale systems in the future (estimated around 2️01️1️). This
line represents the anticipated performance needed for future supercomputers.
This graph shows the improvement in memory chip capacity (in Mbit) and disk storage
capacity (in GB) over 33 years, from 1978 to 2011.
• Memory chips (blue line) increased from 64KB in 1981 to 64GB in 2011, showing a
steady and exponential growth.
Shruthi T S,KSIT
• Disk capacity (red line) also grew significantly, from the Seagate ST-506 (0.01GB) in
the early 1980s to the Seagate Barracuda XT (3TB) in 2011.
• Various key storage devices, such as Maxtor DiamondMax, WDC WD1200JB, and
Hitachi GST, are highlighted along the timeline.
• The graph uses a logarithmic scale, indicating that both memory and disk capacities
followed an exponential growth pattern.
➢ System-Area Interconnects
In small computing clusters, nodes are typically connected via Ethernet switches or a
Local Area Network (LAN). The main types of networking architectures used in clusters
are:
1️.Local Area Network (LAN) – Connects client hosts to large servers for general
networking.
2️.Storage Area Network (SAN) – Links servers to storage devices (e.g., disk arrays) for
efficient data access.
3️.Network-Attached Storage (NAS) – Allows clients to connect directly to shared disk
storage.
• For small clusters, a simple setup using a Gigabit Ethernet switch and copper cables
can be used. These network solutions are commercially available and commonly
used in large clusters to ensure efficient data sharing and communication.
Wide-Area Networking
• Ethernet bandwidth has grown rapidly from 10 Mbps (1979) to 1 Gbps (1999) and
later to 40–100 Gbps (2011), with expectations of reaching 1 Tbps soon. In 2006,
different network types had bandwidths ranging from 1 Gbps (copper desktop) to
1,000 Gbps (international links).
• Network performance has been doubling faster than Moore’s Law, leading to the
rise of massively distributed systems.
Shruthi T S,KSIT
• According to the IDC 2010 report, InfiniBand and Ethernet are expected to be
the dominant interconnect technologies in high-performance computing (HPC),
with Gigabit Ethernet widely used in data centers.
Shruthi T S,KSIT
• A Virtual Machine (VM) is a software-based system that mimics physical
hardware, allowing multiple operating systems to run on the same physical
machine. The Virtual Machine Monitor (VMM), also known as a hypervisor,
manages virtual resources and enables this functionality.
• There are three main VM architectures, as shown in Figure 1.12:
1. Native (Bare-Metal) VM – The hypervisor runs directly on the hardware, managing
VMs without requiring a host OS. Example: XEN hypervisor.
2. Host VM – The hypervisor runs in nonprivileged mode, meaning the host OS remains
unchanged. This allows VMs to be installed easily without modifying the existing
system.
3. Dual-Mode VM – The VMM operates at both user and supervisor levels, requiring
some modifications to the host OS for better integration.
•
VMs provide hardware independence, meaning applications and operating
systems can be bundled into virtual appliances that can run on different
hardware platforms.
• This flexibility makes VMs essential for cloud computing, software testing, and
resource-efficient computing environments.
➢ VM Primitive Operations
Shruthi T S,KSIT
➢ Virtual Infrastructures
A virtual infrastructure allows computing, storage, and networking resources
to be dynamically allocated to different applications, making IT environments
more efficient, cost-effective, and scalable. Let's break it down step by step:
1️. Separation of Hardware and Software
2️. Mapping Resources to Applications
3️. Benefits of Virtual Infrastructures
4️. Virtualization in Clusters, Clouds, and Grids
• A large data center may be built with thousands of servers. Smaller data hundreds
of servers. centers are typically built hundreds of servers.
Shruthi T S,KSIT
• High-end switches and routers are too expensive for data centers. Instead of using
costly high-bandwidth networks, cloud providers opt for cheaper, commodity
hardware to keep costs low while maintaining efficiency.
➢ Convergence of Technologies
• Essentially, cloud computing is enabled by the convergence of technologies in
four areas:
o hardware virtualization and multi-core chips
o utility and grid computing
o SOA, Web 2.0, and WS mashups
o atonomic computing and data center automation.
• SOA(Service-Oriented Architecture) enables modular cloud applications,
• while Web 2.0 and mashups combine services for dynamic and scalable
solutions.
1.3 SYSTEM MODELS FOR DISTRIBUTED AND CLOUD COMPUTING
Shruthi T S,KSIT
▪ These are the individual computers (nodes) that make up the cluster.
▪ Each server works on different tasks, but together, they act as one
system.
▪ High-Speed Network (Yellow Area)
▪ The servers are connected using high-bandwidth networks such as
SAN, LAN, or NAS (Storage Area Network, Local Area Network, Network
Attached Storage).
▪ This ensures fast data transfer between the computers.
▪ I/O Devices & Disk Arrays
▪ The cluster shares storage (disk arrays) and input/output devices (like
hard drives or network connections).
▪ This helps all the servers access shared data efficiently.
▪ Gateway
▪ The cluster connects to the Internet through a gateway.
▪ The gateway acts like a door, allowing external users or systems to
communicate with the cluster.
▪ The Internet
This is where the cluster connects to external systems, allowing users to access it
remotely.
Single-System Image
• SSI allows multiple computers in a cluster to work together and appear as one
powerful system to the user.
• It enables all the computers in the cluster to share resources, making the system
easier to use and manage.
• Software or hardware makes multiple computers work together as one system;
without it, they would function separately.
• These computers share resources such as processing power, storage, and data to
solve complex problems efficiently.
• Grid computing helps in fields like weather forecasting, space research, and medical
simulations by using multiple computers together.
• This evolution has contributed to the rapid growth of the IT economy, which was
projected to rise from $1️ trillion in 2️001️ to $2️0 trillion by 2️01️5.
Shruthi T S,KSIT
1️. Internet Computing – Allowed computers to connect remotely (e.g., Telnet
command).
2️. Web Computing – Allowed people to access websites and data over the Internet
(e.g., HTTP for browsing).
3️. Grid Computing – Enables multiple computers in different locations to work
together on complex tasks at the same time.
• Grid computing connects distant computers so they can share resources and collaborate
on large computing tasks.
• This is useful for scientific research, data analysis, and solving complex problems.
Ex: Like multiple people working on a Google Doc together, sharing power and resources to
complete a task faster.
Grid computing requires new technologies, software, networks, and hardware to function
efficiently. Many national projects and industrial platforms have been developed by
companies like IBM, Microsoft, Sun, HP, Dell, and Cisco to support grid computing.
• Grid Service Providers (GSPs) have emerged, similar to how the Internet and web
services grew over time.
Shruthi T S,KSIT
1️. Computational/Data Grids – Used for large-scale computing and data
processing, often at the national level.
o Various devices like laptops, desktop computers, mobile phones, and other
gadgets can access the grid services.
How It Works:
• Organizations and research institutes share their computing power to create a grid.
• Users from different locations connect via the internet to access these shared
resources.
Shruthi T S,KSIT
• This setup allows users to perform high-performance computing tasks without
needing expensive local hardware.
▪ In a P2P system, every node acts as both a client and a server, providing part
of the system resources.
▪ Peer machines are simply client computers connected to the Internet. All
client machines act autonomously to join or leave the system freely.
▪ This implies that no master-slave relationship exists among the peers.
▪ No central coordination or central database is needed. In other words, no
peer machine has a global view of the entire P2P system.
▪ The system is self-organizing with distributed control.
▪ Figure 1.17 shows the architecture of a P2P network at two abstraction levels.
Initially, the peers are totally unrelated. Each peer machine joins or leaves the
P2P network voluntarily.
▪ Only the participating peers form the physical network at any time. Unlike
the cluster or grid, a P2P network does not use a dedicated interconnection
network.
▪ The physical network is simply an ad hoc network formed at various Internet
domains randomly using the TCP/IP and NAI protocols. Thus, the physical
network varies in size and topology dynamically due to the free membership
in the P2P network.
1.3.3.2 Overlay Networks
Shruthi T S,KSIT
▪ Data items or files are distributed in the participating peers. Based on
communication or file-sharing needs, the peer IDs form an overlay network at
the logical level.
▪ In a P2P (Peer-to-Peer) system, data items or files are distributed among
participating peers.
▪ A logical overlay network is formed by mapping each peer's ID to a virtual
network, independent of the physical connections. This overlay network
dynamically updates when peers join or leave the system.
There are two types of overlay networks:
1. Unstructured Overlay Networks – Nodes connect randomly, with no fixed
routes for message or file transmission. Queries are sent through flooding,
leading to high network traffic and unpredictable search results.
2. Structured Overlay Networks – Follow predefined connectivity rules and
structured topology. Efficient routing mechanisms ensure better search
performance and reduced traffic.
Peer-to-peer (P2P) networks are categorized into four main application families based on
their use cases:
1. Distributed File Sharing – This category includes P2P networks used for sharing
digital content such as music and videos. Popular examples include Gnutella, Napster,
and BitTorrent.
Shruthi T S,KSIT
4. P2P Platforms and Middleware – Platforms like JXTA, .NET, and
FightingAID@home support various P2P applications by providing essential services
such as naming, discovery, communication, security, and resource aggregation.
➢ Internet Clouds
▪ Cloud computing utilizes a virtualized platform with on-demand elastic
resources, dynamically provisioning hardware, software, and data.
▪ It shifts desktop computing to a service-oriented model using server clusters
and large databases in data centers.
▪ Cloud computing is cost-effective and benefits both users and providers by
leveraging machine virtualization. The cloud must be secure, trustworthy,
and dependable to support multiple applications.
▪ Some view the cloud as a centralized resource pool, while others see it as a
distributed computing network across multiple servers.
Shruthi T S,KSIT
Traditional distributed computing systems face challenges like high maintenance, poor
resource utilization, and rising costs. Cloud computing addresses these issues by offering on-
demand computing through three key service models:
Cloud computing reduces costs and improves scalability, making it a preferred model for
modern IT solutions.
The following list highlights eight reasons to adapt the cloud for upgraded Internet applications
and web services:
1. Desired location in areas with protected space and higher energy efficiency
2. Sharing of peak-load capacity among a large pool of users, improving overall utilization
Shruthi T S,KSIT
6. Service and data discovery and content/service distribution
There are 3️ different software environment used for distributed s/m and clouds they are
2️. Layered Architecture in web services-The layered architecture for web services and grids
is a structured way to organize different components in distributed computing ex for web
services is javascriptnand xml
3️. Java RMI and CORBA-rmi(remote method invocation)accessing client & server through
remote.cobra(common object request broker architecture)-one of the famous middleware
technology which can be used communication among various services
Shruthi T S,KSIT
• Top Layer: Higher-Level Services (Web Services & Grid Services)
- Provides specific application-level services for users and businesses.
➢ EVOLUTION OF SOA
Shruthi T S,KSIT
Trends toward Distributed Operating Systems
• DCE is a middleware-based system for distributed computing environments.
• The Amoeba was academically developed at Free University in the Netherlands.
• The Open Software Foundation (OSF) has pushed the use of DCE for distributed
computing.
• However, the Amoeba, DCE, and MOSIX2 are still research prototypes that are
primarily used in academia.
No successful commercial OS products followed these research systems
• This diagram represents a cloud computing model where user data, applications,
operating systems, and hardware are separated from each other.
Shruthi T S,KSIT
• It shows how cloud computing allows flexibility, enabling users to access their data
and applications from different devices and operating systems.
1️. Hardware (Bottom Layer)
• Includes laptops, tablets, and smartphones.
• Cloud computing allows users to access their apps and data from any device, like
laptops, tablets, or smartphones.
1️. Operating Systems Layer
• Includes operating systems like Windows, Linux, and MacOS.
• users can open their files and use applications on any operating system (OS),
such as Windows, Linux, or macOS. For example, if you save a document on
Google Drive using a Windows computer, you can still access and edit it later
on a Mac or a smartphone without any issues. Cloud computing removes the
limitation of being tied to a specific OS. users can switch between different
devices and operating systems
2️. Application Layer
• Includes various applications like Microsoft Word, web browsers, and open-source
software.
• traditional applications are designed to run on specific operating systems, like
Microsoft Word for Windows or macOS. However, cloud-based applications like
Google Docs work directly through a web browser, so they don’t depend on the OS.
Whether you use Windows, Linux, MacOS, or even a smartphone, you can access and
use Google Docs without needing to install anything special.
• d) User Data & Storage (Top Layer)
1️. Data storage is centralized in the cloud,
o Data can be accessed from any device, anytime, anywhere.
o Cloud computing advantage: Even if an application is lost or replaced, the
user’s data remains secure and accessible.
Hadoop Library Hadoop offers a software platform that was originally developed by a Yahoo!
group. The pack age enables users to write and run applications over vast amounts of
Shruthi T S,KSIT
distributed data. Users can easily scale Hadoop to store and process petabytes of data in the
web space. Also, Hadoop is economical in that it comes with an open source version of
MapReduce that minimizes overhead
Shruthi T S,KSIT
• A NUMA machine can run with multiple operating systems, and can scale to a few
thousand processors communicating with the MPI library.
• the number of OS images in a large grid structure could be hundreds or thousands
fewer than the total number of processors in the grid.
• A P2️P network can easily scale to millions of independent peer nodes, essentially
desktop machines.
• Scalability in distributed systems depends on the number of OS images. SMP has one
OS image but limited scalability, while NUMA uses multiple OS images and scales
better.
• Clusters and clouds scale higher, with clusters depending on active nodes and clouds
using VMs.
• Grids combine clusters, mainframes, or supercomputers with fewer OS images than
processors. P2️P networks can scale to millions of independent machines.
The image is a graph showing system scalability versus OS image count based on 2010
technology.
• The X-axis represents the number of OS images in a system.
Key Insights:
• SMP (Symmetric Multiprocessing) has low scalability with only one OS image and
a limited number of processors.
• NUMA (Non-Uniform Memory Access) has more OS images and scales better but is
still limited compared to clusters.
Shruthi T S,KSIT
• Clusters and clouds have higher scalability, with cloud systems acting as virtualized
clusters.
• Grids have an even higher OS image count, as they connect multiple clusters or high-
end machines.
• P2P (Peer-to-Peer) networks can scale to millions of independent nodes, having the
highest OS image count but varying performance.
The diagram highlights how different system architectures balance scalability and OS image
multiplicity.
➢ Amdahl’s Law
• Amdahl’s Law describes the theoretical speedup of a program when executed on
multiple processors in a parallel computing environment.
• It is about parallel vs sequential work
• It helps to speed up the program when the multiple processors running in a
parallelparallel computing environment.
• It accounts for the sequential bottleneck (α)—the fraction of the code that must be
executed sequentially
• the parallelizable portion (1 - α), which can be distributed across multiple processors.
Acc to the formula
• αT represents the sequential execution time, (1 - α)T/n represents the parallel
execution time
• which means that even if an infinite number of processors are used, the speedup
cannot exceed 1/α. For example, if α = 0.25, the maximum speedup is 4, no matter
Shruthi T S,KSIT
how many processors are added. α (Alpha) = The fraction of the program that must
run sequentially (cannot be parallelized).
When we run a program on multiple processors, we assume the total work stays the same
(fixed workload). However, adding more processors does not always make the system
efficient.
Using too many processors is wasteful if some work must be done sequentially. It's better to
reduce the sequential part or increase the workload to use processors efficiently.
Gustafson’s Law
• Gustafson’s Law(Guftas law) addresses the efficiency problem in large
processor clusters by scaling the workload instead of keeping it fixed.
Shruthi T S,KSIT
• Unlike Amdahl’s Law, which assumes a constant problem size, Gustafson’s Law
increases the parallelizable portion of the workload to match the number of
processors.
• Use Amdahl’s Law for fixed workloads (limited speedup due to sequential
bottleneck).
Use Gustafson’s Law for scaled workloads (better efficiency as workload
grows with processors).
Scaling the problem size helps maximize processor utilization in large
systems.
Shruthi T S,KSIT