1 of 79

Sri Raghavendra Educational Institutions Society (R)

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

www.skit.org.in

Module-1: Distributed System Models and Enabling Technologies

Course: Cloud Computing and Security

2 of 79

2

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

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.

3 of 79

3

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

  • Scalable Computing Over the Internet

Over the past 60 years, computing technology has undergone a series of platform and environment changes. In this section, we assess progressive changes in machine architecture, operating system platform, network connectivity, and application workload. Instead of using a centralized computer to solve computational problems, a parallel and distributed computing system uses multiple computers to solve large-scale problems over the Internet. Thus, distributed computing becomes data-intensive and network-centric.

4 of 79

4

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

  • The Age of Internet Computing

Old performance measurement tools, such as Linpack Benchmark, are no longer Right for modern demands.Instead,cloud computing requires High-Throughput Computing (HTC), which processes massive amounts of data in parallel and distributed computing.

To meet growing demand, data centers require modifications, which include:

1.Faster servers for quicker processing.

2.Advanced storage systems for managing large data.

3.High-speed networks provide quick communication.

5 of 79

5

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

  • The Platform Evolution

1950–1970: Large businesses and governments used mainframe computers like IBM 360 and CDC 6400

1960–1980: Minicomputers became cost-effective for small businesses and higher education.

1970–1990: Personal computers (PCs) became common, powered by VLSI microprocessors.

1980–2000: Portable computers and wireless devices were widely used.

1990–Present: High-performance computing (HPC) and high-throughput computing (HTC) systems became fundamental.

Modern Computing Trends

HPC (High-Performance Computing): Supercomputers are now replaced by clusters of computers working together.

HTC (High-Throughput Computing): Focuses on handling large amounts of data using cloud computing, P2P networks, and web services.

Peer-to-Peer (P2P) Networks: Used for file sharing and content delivery across many computers.

Grid Computing: Uses clustering and P2P to build large-scale computing networks.

6 of 79

6

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Fig:- Evolutionary trend toward parallel, distributed, and cloud computing with clusters, MPPs, P2P networks, grids,clouds, web services, and the Internet of Things.

7 of 79

7

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

High-Performance Computing

For many years, High-Performance Computing (HPC) focused on speed, improving from billions of calculations per second (Gflops) in the 1990s to quadrillions of calculations per second (Pflops) by 2010.

  • This growth was driven by scientists, engineers, and manufacturers who needed powerful computers for complex tasks.
  • The Top 500 supercomputers in the world are ranked based on speed using the Linpack benchmark.
  • However, supercomputers are used by less than 10% of all computer users because they are expensive and specialized.
  • Most people today use desktop computers, laptops, or large servers for everyday tasks like Internet searches and business computing instead of supercomputers.

8 of 79

8

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

High-Throughput Computing

High-Throughput Computing (HTC) focuses on handling many tasks at the same time rather than just speed.

  • Computing is shifting from HPC (High-Performance Computing), which focuses on raw speed, to HTC, which focuses on processing large numbers of tasks efficiently.
  • HTC is mainly used for Internet searches and web services, where millions of users access data at once.
  • The main goal is to measure how many tasks are completed per unit of time (high throughput).
  • HTC must also reduce costs, save energy, improve security, and ensure reliability in large data centers.
  • Both HPC and HTC are important to meet the needs of different users.

9 of 79

9

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Three New Computing Paradigms

With new technologies, computing is evolving in many ways:

1.Service-Oriented Architecture (SOA) has led to Web 2.0 services, making the Internet more interactive.

2.Virtualization has helped the growth of cloud computing, where computing power is provided over the Internet.

3.IoT (Internet of Things) has emerged due to advances in RFID, GPS, and sensors, connecting everyday devices to the Internet.

How Computing Has Changed Over Time

  • 1969: Computers will become a shared utility like electricity.
  • 1984: The network is the computer – computers are connected through networks.
  • 2008 : The data center is the computer– cloud storage
  • Recent ] The cloud is the computer – most computing happens online.

10 of 79

10

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Computing Paradigm Distinctions

Computing has evolved into several distinct paradigms (models), each with its own architecture and use cases. These include centralized computing, parallel computing, distributed computing, and cloud computing.

1. Centralized Computing

In centralized computing, all computing resources, including processors, memory, and storage, are located in a single system, managed by one operating system, while other devices (like terminals) connect to this central system for computing tasks.

  • works

Centralized computing involves a single system where all computing resources (processors, memory, and storage) are managed by one operating system, with other devices (like terminals) connecting to it for computing tasks.

  • Example :-

Data Centers – Centralized storage and computing for cloud services.

Pros & Cons:

✔ Highly scalable – Can handle any workload by adding more resources.

✔ Accessible from anywhere – Users can access data from any device.

✔ Cost-effective – Users only pay for what they use

✖ Internet dependency – Requires a fast, stable connection.

11 of 79

11

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

2. Parallel Computing

Multiple processors work altogether on different parts of a problem to solve it faster, using either shared (centralized) or separate (distributed) memory.

  • works : Multiple processors altogether process different parts of a problem for faster computation, utilizing either shared (centralized) or separate (distributed) memory.

  • Types of Parallel Computing:

Shared Memory Parallelism –:Processors share the same memory.

Distributed Memory Parallelism –: Each processor has its own memory and communicates via messages.

  • Example:

Multi-Core Processors –: Found in modern laptops, desktops, and smartphones.

Pros & Cons:

✔ Faster processing – Reduces computation time.

✔ Efficient use of multiple processors.

✖ High energy c– More processors require more power.

12 of 79

12

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

3. Distributed Computing:

  • Is a way of using multiple computers to work together as a team. Each computer has its own memory and resources but connects through a network to share information.
  • Instead of one big computer doing all the work, multiple computers communicate by sending messages to each other. Programs designed to run on these connected computers are called distributed programs, and the process of creating them is called distributed programming.
  • This method makes computing more efficient, faster, and reliable by distributing tasks across multiple machines.

  • Example:

Google Search Engine

Pros & Cons:

✔ Scalability – Can handle large amounts of data by adding more computers as needed.

✔ Fault Tolerance: If one computer fails, others can take over, making the system more reliable.

✖ Complexity– Designing and managing distributed systems is more complicated.

✖ Security Risks – Data is spread across multiple machines, making it vulnerable to cyber threats.

13 of 79

13

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

4. Cloud Computing:

  • Cloud computing is a way of using the internet to access computing resources like storage, processing power, and applications.
  • These resources can either be stored in one central location (centralized) or spread across multiple locations (distributed). Cloud computing often uses parallel or distributed computing, meaning multiple computers work together to complete tasks more efficiently.
  • The cloud can be built using real (physical) or simulated (virtual) hardware in large data centers.
  • Some people consider cloud computing as a type of utility computing (like electricity or water, where you pay for what you use) or service computing (where you access software and hardware as a service rather than owning them).
  • Example:

Google Drive

Pros & Cons:

Cost-effective – No need to buy expensive hardware or maintain IT infrastructure.

Scalability – Easily increase or decrease resources as needed.

✖ Internet Dependency – Requires a stable internet connection to access resources.

Limited Control – Users rely on cloud providers for maintenance and performance.

14 of 79

14

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Distributed System Families:

  1. Evolution of Computing Technologies:
  2. Since the 1990s, there has been a focus on developing large-scale computing networks like computational grids and data grids, which connect multiple computers to work together.
  3. More recently, cloud computing has gained popularity. Instead of relying on personal computers, users now access powerful server clusters and large databases over the internet.
  4. This method makes computing more efficient, faster, and reliable by distributing tasks across multiple machines.

b. Different Computing Systems:

  • Grids and Clouds: Both focus on sharing computing resources like hardware, software, and data.
  • Massively Distributed Systems: Use many machines at once to process information faster.
  • Supercomputers: Some of the most powerful computers, like Tianhe-1A in China (built in 2010), have thousands of processors working together.
  • P2P Networks: Allow millions of devices to communicate and share resources (e.g., file-sharing networks).
  • Cloud Computing Clusters: Thousands of connected servers process large amounts of data simultaneously.

15 of 79

15

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Distributed System Families:

c. Future Computing Needs:

  • High-Performance Computing (HPC): Used for scientific and engineering calculations that require fast processing speeds.
  • High-Throughput Computing (HTC): Focuses on processing huge amounts of data efficiently (e.g., cloud platforms, data centers).
  • This method makes computing more efficient, faster, and reliable by distributing tasks across multiple machines.

d. Importance of efficiency:

  • Future computing systems must be fast, efficient, and scalable to handle growing demands.
  • Efficiency is determined by how quickly tasks are completed while using the least amount of energy.
  • Systems should be designed to handle large workloads while maintaining high performance and reliability.

16 of 79

16

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Objectives:

  1. Efficiency: Uses resources wisely to get tasks done faster
        • HPC focuses on speed using many processors at once.
        • HTC focuses on handling large amounts of data efficiently while saving power.
  2. Dependability: The system should be reliable and keep working even if something goes wrong.
  3. It should handle billions of tasks and adjust to different workloads without issues.
  4. Flexibility – Works well for both scientific and business applications without needing big changes.

17 of 79

17

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Scalable Computing Trends and New Paradigms:

  • Technological advancements play a crucial role in shaping the future of computing, allowing designers and programmers to anticipate system capabilities.
  • Moore’s Law suggests that processor speeds have historically doubled every 18 months, but whether this trend will persist remains uncertain.
  • Gilder’s Law states that network bandwidth has doubled annually in the past, though its future trajectory is unclear.
  • The affordability and performance improvements of consumer hardware, such as desktops, laptops, and tablets, have contributed to the widespread adoption of large-scale computing technologies.
  • Distributed systems emphasize resource sharing and high degrees of parallelism, enabling more efficient processing by distributing tasks across multiple computing units.

18 of 79

18

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Degrees of Parallelism:

  • Early computers processed data one bit at a time, but over the years, processors evolved from 4-bit to 64-bit, improving efficiency through bit-level parallelism (BLP).
  • Instruction-level parallelism (ILP) allows processors to execute multiple instructions at once, using techniques like pipelining, superscalar computing, and multithreading.
  • Data-level parallelism (DLP) enables simultaneous processing of multiple data points using SIMD (single instruction, multiple data) and vector processing.
  • Task-level parallelism (TLP), introduced with multicore processors, distributes tasks across multiple cores but remains challenging due to programming complexity.
  • Job-level parallelism (JLP) focuses on managing larger computing tasks across distributed systems, building on the foundation of finer-grain parallelism.

19 of 79

19

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Innovative Applications

20 of 79

20

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

The Trend toward Utility Computing

  • Different computing models help us understand how distributed systems work, focusing on making them reliable and scalable for smooth performance.
  • These systems can manage themselves and quickly adapt to new demands, making it easy to find and use resources when needed.
  • They follow agreements (SLAs) to ensure good service and can work together to offer computing like a utility service, similar to electricity or water.
  • In utility computing, users pay for the computing power they use, while cloud computing is a broader concept that allows applications to run on different servers, even in remote locations.
  • To build efficient distributed systems, we need better processors, memory, storage, operating systems, and programming tools to handle large-scale parallel computing effectively.

Fig: The vision of computer utilities in modern distributed computing systems.

21 of 79

21

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

The Hype Cycle of New Technologies

  • Stages of the Hype Cycle

Technology Trigger:-A breakthrough, new innovation, or discovery sparks interest. Early adopters and media attention create excitement.

Peak of Inflated Expectations:-Overhyped claims lead to unrealistic expectations.Many companies jump on board, leading to high investment and speculation.

Trough of Disillusionment:-People realize the technology isn’t perfect, and interest drops.

Slope of Enlightenment:-Successful use cases and refinements emerge.Adoption starts to increase as the technology proves its value in real-world applications.

Plateau of Productivity:-The technology becomes widely adopted and standardized.It is now a stable, mature solution integrated into industries.

22 of 79

22

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

  • The Internet of Things and Cyber-Physical Systems

Internet of Things (IoT) – Connecting everyday objects (like smart home devices, cars) to the Internet for data exchange and automation.

Cyber-Physical Systems (CPS) – Integrating computers with physical systems (like smart grids, self-driving cars, and industrial automation) to enhance efficiency and control.

The Internet of Things

The traditional Internet connects computers and web pages, but IoT (introduced in 1999 at MIT) connects everyday objects (like smart devices, tools, and appliances) to the Internet. Think of it as a giant wireless network of sensors that links everything around us.

Key Features of IoT:

Uses RFID, GPS, and sensors to tag and track objects.

IPv6 allows massive scalability, supporting 100 trillion objects.

IoT is growing fast, especially in Asia and Europe.

23 of 79

23

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

IoT Communication Types:

  • H2H (Human-to-Human) – Traditional communication.
  • H2T (Human-to-Thing) – Controlling smart devices (e.g., using a smartphone to turn off lights).
  • T2T (Thing-to-Thing) – Devices talking to each other (e.g., a smart fridge ordering groceries)

IoT Vision for the Future:

A smart Earth with intelligent, green energy, smart transportation, and better healthcare.Cloud computing will help make IoT faster, smarter, and more efficient.

24 of 79

24

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Cyber-Physical Systems:-

A Cyber-Physical System (CPS) connects computers with the physical world, creating smart, automated systems. It combines communication, and control to form an intelligent feedback system between the real and digital worlds.

IoT vs. CPS:-

IoT focuses on connecting objects (e.g., smart devices, sensors).

CPS focuses on controlling and interacting with the physical world (e.g., self-driving cars, smart factories).

25 of 79

25

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

TECHNOLOGIES FOR NETWORK-BASED SYSTEMS

With the concept of scalable computing under our, it’s time to explore hardware, software, and network technologies for distributed computing system design and applications. In particular, we will focus on suitable approaches to building distributed operating systems for handling massive parallelism in a distributed environment.

  • Multicore CPUs and Multithreading Technologies

1. Processor Speed (MIPS - Millions of Instructions Per Second)

2. Network Bandwidth (Mbps Megabits per second & Gbps Gigabits per second )

.

26 of 79

26

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

3. Impact on HPC and HTC

HPC (High-Performance Computing) focuses on solving complex problems using parallel computing (e.g., supercomputers, scientific simulations).

HTC (High-Throughput Computing) focuses on processing large volumes of tasks over time (e.g., cloud computing, big data analytics).

Faster processors and higher network bandwidths enable massive parallelism, reducing computation time and increasing efficiency.

27 of 79

27

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Advances in CPU Processors:

  • Modern processors use multiple cores (e.g., dual, quad, or more) to perform tasks simultaneously, increasing performance by handling multiple operations at once.
  • The speed of processors has dramatically improved over time, from 1 MIPS (Million Instructions Per Second) in 1978 to 22,000 MIPS in 2008, showing rapid advancement in processing power.
  • While processor speed (clock rate) has increased from 10 MHz to 4 GHz over decades, it has now hit a limit due to heat and power constraints, with few processors exceeding 5 GHz.
  • Modern processors use techniques like superscalar architecture, branch prediction, and speculative execution to improve performance by executing multiple instructions simultaneously.
  • Graphics processors (GPUs) use Data-Level Parallelism (DLP) and Thread-Level Parallelism (TLP), with many simple cores to handle large-scale parallel tasks, significantly improving processing for tasks like graphics rendering.

28 of 79

28

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Schematic of a modern multicore CPU chip using a hierarchy of caches

29 of 79

29

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

  • Modern processors have multiple cores, with each core acting like a separate processor, and they all share a larger cache (L2 cache) while having their own smaller cache (L1 cache).
  • Future processors might have multiple chips on the same CPU, with even more advanced caches like L3 on the chip.
  • Some processors, like the Niagara II, can handle multiple threads on each core, increasing the amount of parallel tasks they can process at once (e.g., 64 threads in the Niagara II).
  • High-end processors like Intel i7 and Xeon can achieve impressive performance, such as the Intel Core i7 990x reaching a rate of 159,000 MIPS in 2011.

30 of 79

30

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Multicore CPU and Many-core GPU architectures

  • In the future, CPUs may have hundreds of cores, but they face limits in handling large-scale data due to memory issues, leading to the rise of many-core GPUs with hundreds of smaller cores.
  • Commercial CPUs now use both IA-32 and IA-64 instruction sets, and x-86 processors are being used in high-performance computing (HPC) and high-throughput computing (HTC) systems.
  • Many RISC processors have been replaced by multicore x-86 processors and many-core GPUs in the world's top supercomputers, signaling that x-86 upgrades will dominate in data centers.
  • The future may bring processors combining powerful CPU cores and efficient GPU cores on the same chip, creating heterogeneous chip multiprocessors for more efficient computing.

31 of 79

31

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Multithreading Technology

  • Superscalar Processor: This processor handles only one thread at a time but can execute multiple instructions from that thread in parallel using its four functional units. Each cycle only processes instructions from a single thread.
  • Fine-Grain Multithreaded Processor: This processor switches between threads every cycle, executing one instruction from a different thread in each cycle. It is highly dynamic but can be less efficient due to frequent switching.
  • Coarse-Grain Multithreaded Processor: This processor executes many instructions from the same thread for several cycles before switching to another thread. It's less frequent in switching but can lead to longer periods of execution for one thread.
  • Dual-Core CMP: This processor has two cores, each handling its own thread. Each core can execute two instructions from its thread per cycle. So, two different threads are processed simultaneously, each with its own core.
  • Simultaneous Multithreaded (SMT) Processor: This processor allows multiple threads to execute instructions in the same cycle across its functional units. It can handle instructions from different threads simultaneously in one cycle, making it highly efficient.

32 of 79

32

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

GPU Computing to Exascale and Beyond

  • A GPU, or graphics processing unit, is a special processor found in graphics cards that helps the CPU by handling complex graphics tasks, especially in video editing. The first GPU, GeForce 256, was released by NVIDIA in 1999, and today, GPUs can process millions of polygons per second. Unlike regular CPUs, which have only a few cores, modern GPUs can have hundreds of cores, allowing them to handle many tasks at once. GPUs are built for parallel processing, meaning they work on many smaller tasks slowly instead of focusing on one big task quickly, which makes them great for certain computing tasks. Recently, GPUs are being used for general computing as well, known as GPGPU (General-Purpose Computing on GPUs), especially in high-performance computing (HPC) with NVIDIA’s CUDA model.

How GPUs Work?

  • Early GPUs worked alongside the CPU as a helper, but now NVIDIA GPUs have up to 128 cores on a single chip, and each core can handle eight threads at once, allowing up to 1,024 threads to run together. This creates huge parallelism, much more than a CPU, which can only handle a few threads at a time. CPUs focus on quick responses, while GPUs focus on handling many tasks at once, using memory efficiently. Modern GPUs are no longer just for graphics; they power supercomputers and handle large calculations, like floating-point operations, for various applications. GPUs are now used in phones, game consoles, PCs, and servers, and high-performance models like NVIDIA’s CUDA Tesla help with large data processing in HPC systems.

33 of 79

33

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

GPU Programming Model

  • Above Figure shows how the CPU and GPU work together to process tasks efficiently. The CPU has a few powerful cores, while the GPU has many smaller cores that can handle multiple tasks at the same time. The CPU sends complex floating-point calculations to the GPU, which processes them in parallel, speeding up execution. For this to work smoothly, the data transfer between the computer’s main memory and the GPU’s memory must be fast. This process is commonly used in NVIDIA’s CUDA programming with GPUs like GeForce 8800, Tesla, and Fermi to handle large-scale data processing efficiently.

The use of a GPU along with a CPU for massively parallel execution in hundreds or thousands of processing

cores

34 of 79

34

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Example 1: The NVIDIA Fermi GPU Chip with 512 CUDA Core

  • In November 2010, three of the world's fastest supercomputers (Tianhe-1a, Nebulae, and Tsubame) used GPUs to speed up floating-point calculations.
  • The Fermi GPU from NVIDIA, introduced in 2011, features 16 streaming multiprocessors (SMs) with 3 billion transistors and up to 512 CUDA cores per GPU.
  • Each SM has 32 CUDA cores, 16 load/store units, four special function units, and a 64 KB L1 cache. A 768 KB L2 cache is shared across all SMs.
  • The GPU's memory is connected to 6 GB of external DRAM, and threads are scheduled in groups of 32 (called warps) for efficient parallel execution.
  • A fully utilized Fermi GPU can reach 82.4 Tflops performance, and 12 such GPUs together can achieve Pflops-level computing power.

35 of 79

35

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Continuation of GPU Programming Model

In the future, GPUs with thousands of cores may power supercomputers that can perform 10¹⁸ calculations per second. These systems will combine both CPUs and GPUs. A 2008 DARPA report highlighted four key challenges: (1) saving energy, (2) improving memory and storage, (3) handling many tasks at once, and (4) making systems more reliable. GPUs are improving in speed, power efficiency, and ease of use along with CPUs.

NVIDIA Fermi GPU built with 16 streaming multiprocessors

36 of 79

36

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Power Efficiency of GPU

  • Bill Dally says GPUs are better than CPUs for the future because they use less power and handle more tasks at once.
  • To run an exaflops system, each core needs 60 Gflops per watt. Power limits what can be put into CPU or GPU chips.
  • CPUs use more energy (2 nJ per instruction) compared to GPUs (200 pJ per instruction), making GPUs 10 times more power-efficient.
  • CPUs focus on reducing delays in memory, while GPUs focus on handling many tasks efficiently.
  • Moving data uses the most power, so improving memory and software is key for future computing.
  • Future systems need smarter operating systems, better memory management, and optimized software to handle GPUs efficiently.

GPU Performance Curve

37 of 79

37

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Memory, Storage and Wide-Area Networking

  1. Memory Technology: Over the years, memory and storage capacity have grown significantly. DRAM capacity increased from 16 KB in 1976 to 64 GB in 2011, roughly quadrupling every three years. Hard drives also expanded, from 260 MB in 1981 to 3 TB in 2011, growing about ten times every eight years. However, memory access speed has not kept up with processor speed, creating a "memory wall" problem. As processors get faster and memory capacity increases, the gap between them grows, which could slow down CPU performance in the future.

  • Disks and Storage Technology: After 2011, disk capacity exceeded 3 TB, with storage growing 7 times in 33 years. Flash memory and SSDs are rapidly advancing, impacting high-performance computing with impressive speed improvements. SSDs are durable, lasting for years even with heavy use due to 300,000 to 1 million write cycles per block. However, large systems are limited by power, cooling, and packaging needs, as power usage rises with clock speed and voltage. Jim Gray predicted the future of storage by saying, Tape units are dead, disks are the new tape, flashes are the new disks, and memory is cache.

  • System Area Interconnects: In small clusters, nodes are usually connected using an Ethernet switch or a local area network (LAN). A LAN links client computers to big servers. A storage area network (SAN) connects servers to storage devices like disk arrays, while network-attached storage (NAS) connects client computers directly to the disk arrays. Large clusters often use all three types of networks. For smaller clusters without shared storage, a multiport Gigabit Ethernet switch and copper cables can connect the machines. All these network types are easily available commercially.

38 of 79

38

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

IV. Wide-Area Networking: Ethernet bandwidth grew rapidly from 10Mbps in 1979 to 1 Gbps in 1999, and reached 40 to 100 Gbps by 2011. It was expected that 1 Tbps network links would be available by 2013. In 2006, network speeds pf 1,000 Gbps for international connections, 1000 Gbps for national, 100 Gbps for organizations, 10 Gbps for optical desktops, and 1 Gbps for copper desktops were reported. Network performance was increasing twice as fast each year., even faster than CPU speeds. This allows more computers to work together, enabling massively distributed systems. According to an IDC report in 2010, InfiniBand and Ethernet were predicted to be the main choices for high-performance computing, with most data centers using Gigabit Ethernet for connecting server clusters.

39 of 79

39

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Virtual Machines and Virtualization Middleware:

  • A conventional computer has one OS image, tightly linking software to specific hardware.
  • This rigid setup means software working on one machine might not run on another with a different OS or hardware.
  • Virtual machines (VMs) solve issues like resource underuse, application inflexibility, software management, and security.
  • Building large clusters, grids, and clouds needs virtualized computing, storage, and networking resources.
  • These resources must be combined to create a single system image, especially for cloud environments.
  • Virtualization involves VMs, virtual storage, and virtual networking using special software or middleware.

40 of 79

40

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Virtual Machines

A Virtual Machine (VM) is like running a separate computer inside your main computer. It allows you to use different operating systems (OS) on the same hardware.

Components of Virtual Machines

1. Host Machine – The physical computer (e.g., a laptop or server).

2. Host OS – The main operating system installed on the computer (e.g., Windows, Linux, macOS).

3. Virtual Machine Monitor (VMM) / Hypervisor – Software that creates and manages VMs.

4. Guest OS – The OS running inside the VM, which can be different from the host OS.

Types of Virtual Machine Architectures

1. Bare-Metal (Native) VM: The hypervisor runs directly on the hardware without needing a host OS.

Example: Xen hypervisor on an x86 machine running Linux as the guest OS.

Advantage: More efficient because it directly controls CPU, memory, and I/O.

Used in: Data centers, cloud computing.

41 of 79

41

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

2. Host-Based VM: The hypervisor runs on top of an existing host OS.

Example: Running Linux inside Windows using VirtualBox or VMware Workstation.

Advantage: Easier to set up and use.

Used in: Personal computing, software testing.

3. Hybrid (Dual-Mode) VM: Some parts of the VMM run in user mode, and some in privileged mode.

Advantage: Balances flexibility and performance but may require modifying the host OS.

Used in: Advanced virtualization setups.

Benefits of Virtual Machines

✅ Run multiple OS on one machine (e.g., Windows and Linux together).

✅ Isolate applications for security and testing.

✅ Easily move and copy VMs to different machines.

✅ Efficient resource usage in cloud computing and servers.

42 of 79

42

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

VM Primitive Operation

A Virtual Machine Monitor (VMM) provides the VM abstraction to the guest OS. In full virtualization, the VMM makes the VM look exactly like a physical machine. This means operating systems like Windows or Linux can run inside the VM just like they would on real hardware.

43 of 79

43

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Virtual Infrastructures

physical resources like compute (CPU, RAM), storage, and networking are at the bottom, while applications running inside VMs are at the top. Virtual infrastructure is what connects these resources to applications, making everything more efficient.

Virtual Infrastructure Works ?

Hardware and software are separated – Applications do not directly interact with hardware. Instead, they run inside VMs that use virtualized resources.

Dynamic resource allocation – System resources (CPU, memory, storage, networking) are assigned to applications as needed.

Better efficiency – Resources are shared among multiple VMs instead of being locked to one application.

Lower costs – Instead of many separate servers, multiple applications can run on fewer physical machines.

44 of 79

44

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Data Center Virtualization for Cloud Computing:

A data center is a facility that houses many servers, storage, and networking equipment to support cloud computing. Instead of focusing only on speed, modern data centers prioritize cost efficiency, storage, and energy savings.

Data Center Growth and Cost Breakdown:

A data center can have hundreds or thousands of servers, depending on its size. Over time, the cost of maintaining and running data centers has increased, even though the price of servers has remained stable

How Data Center Costs are Distributed?

  • 30% – Spent on IT equipment (servers, storage, networking).
  • 33% – Goes to chiller systems (cooling the servers).
  • 18% – Used for uninterruptible power supply (UPS) (prevents power failures).
  • 9% – Spent on computer room air conditioning (CRAC) for maintaining temperature.
  • 7% – Covers power distribution, lighting, and transformers.
  • Total: 60% of costs are for management and maintenance, not hardware.

45 of 79

45

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Low-Cost Design Philosophy

Building a data center requires networking equipment like switches and routers to connect servers. However, high-end networking hardware is expensive, making it impractical for cloud computing providers operating on a fixed budget.

Convergence of Technologies

Cloud computing combines multiple technologies to offer computing resources on demand. It is powered by advances in hardware, networking, software, and automation.

Four Key Technologies Enabling Cloud Computing

1. Hardware Virtualization & Multi-Core Chips

Virtualization allows multiple virtual machines (VMs) to run on a single physical server.

Multi-core processors improve computing power, enabling efficient cloud operations.

2. Utility & Grid Computing

Utility computing → Computing resources are provided like electricity or water (pay-as-you-go model).

Grid computing → Multiple computers work together to solve large-scale tasks.

3.SOA, Web 2.0, and Web Services Mashups

Service-Oriented Architecture (SOA) → Applications are built using reusable service components.

Web 2.0 → User-driven web applications (social media, wikis, blogs).

Mashups → Combining different web services to create new applications.

46 of 79

46

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

4. Autonomic Computing & Data Center Automation

Autonomic computing → Systems manage themselves (self-healing, self-configuring).

Automation → Data centers use AI-driven tools for maintenance and optimization.

Role of Cloud Computing in Data Science

1. Cloud computing enables e-science – Scientists in fields like biology, chemistry, and physics use cloud platforms for research.

2. Data-Intensive Computing – Large datasets require specialized workflows, databases, and algorithms.

3. MapReduce for Big Data Processing

  • A cloud-based model that processes large datasets in parallel.
  • Provides fault tolerance and automatic data distribution.
  • Iterative MapReduce extends this for data mining and machine learning.

47 of 79

47

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

SYSTEM MODELS FOR DISTRIBUTED AND CLOUD COMPUTING

Distributed and cloud computing systems connect multiple computers (called nodes) to work together. These computers are linked through different types of networks:

  • SANs (Storage Area Networks) – Used for high-speed data storage.
  • LANs (Local Area Networks) – Connects computers in a small area, like an office.
  • WANs (Wide Area Networks) – Connects multiple locations over a large geographical area.

48 of 79

48

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Clusters of Cooperative Computers

A computing cluster consists of interconnected stand-alone computers which work cooperatively as a single integrated computing resource. In the past, clustered computer systems have demonstrated impressive results in handling heavy workloads with large data sets.

Cluster Architecture

Cluster Structure – A group of computers (nodes) working together using fast networks like SAN (Myrinet) or LAN (Ethernet) for quick communication.

Scalability & Networking – Clusters grow by adding more nodes and using multi-level networks like Gigabit Ethernet, Myrinet, or InfiniBand for high-speed connections.

Internet Connectivity – A VPN(virtual private network) gateway with a public IP connects the cluster to the Internet, allowing secure remote access to users.

Operating System & Resource Management – Each node runs its own OS, meaning clusters often have multiple system images, allowing flexibility in software and application usage.

49 of 79

49

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

50 of 79

50

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Single-System Image

Single-System Image (SSI) makes multiple computers in a cluster appear as one unified system to users and applications.

Seamless Resource Sharing – Enables sharing of CPUs, memory, and I/O across all cluster nodes.

Improved Performance – Enhances efficiency, scalability, and workload balancing in distributed computing.

Software & Middleware Role – Creates the illusion of a single system by managing resources collectively.

Hardware, Software, and Middleware Support

Cluster Components – Built using PCs, workstations, servers, or SMPs(switched-mode power supply), interconnected via high-bandwidth networks like Gigabit Ethernet, Myrinet, or InfiniBand.

Parallel Processing – Clusters designed for massive parallelism (MPP)[using a large number of computer processors (or separate computers) to simultaneously perform a set of coordinated computations in parallel] use PVM (Parallel Virtual Machine) or MPI (message passing interface) software for communication and typically run on Linux OS.

Middleware for SSI & HA – Special middleware enables Single-System Image (SSI) or High Availability (HA), allowing clusters to function efficiently.

Virtualization in Clusters – Virtualization enables the creation of virtual clusters on demand, improving flexibility, scalability, and cloud computing integration.

51 of 79

51

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Major Cluster Design Issues

Lack of a Cluster-Wide OS – There is no single OS that can fully manage all resources across a cluster, requiring middleware or OS extensions for resource sharing.

Role of Middleware – Middleware enables Single-System Image (SSI) and helps nodes work together efficiently for cooperative computing.

Performance & Scalability – Clusters rely on efficient message passing, high availability, and fault tolerance to ensure scalable performance and reliability.

Cluster-Wide Job Management – Middleware handles job scheduling, resource allocation, and workload balancing across all nodes for optimal efficiency.

Grid Computing Infrastructures

Evolution from Internet to Grid – Computing has progressed from basic internet services (Telnet) to web services (HTTP) and now grid computing, enabling real-time interaction across distant computers.

Grid Computing Concept – It allows multiple applications to run simultaneously across remote machines, facilitating resource sharing and collaboration.

Impact on IT Growth – Forbes predicted a 20x increase in the IT economy from $1T (2001) to $20T (2015), with grid computing playing a crucial role in this expansion.

52 of 79

52

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

53 of 79

53

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Computational Grids

Grid as a Computing Utility – Just like a power grid provides electricity, a computational grid connects computers, software, middleware, and sensors to create a shared computing infrastructure across LAN, WAN, or the Internet.

Resource Integration – Organizations combine workstations, servers, clusters, and supercomputers to form a virtual platform for computational tasks. Users access the grid via PCs, laptops, or mobile devices.

Grid Families

Grid Technology Requirements – Grids require new computing models, middleware, network protocols, and hardware to function efficiently.

Industry Adoption – Leading tech companies like IBM, Microsoft, Sun, HP, Dell, Cisco, and EMC have developed their own grid platforms to support different industries.

Emergence of Grid Services – Similar to Internet and web services, Grid Service Providers (GSPs) have rapidly grown, offering computing power and storage as services.

Types of Grids – Grids are mainly classified into two types:

Computational/Data Grids – Used for scientific research and national projects.

P2P Grids – Distributed grids where individual devices share resources dynamically.

54 of 79

54

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

55 of 79

55

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Peer-to-Peer (P2P) Network Families

Client-Server vs. P2P – Traditional client-server networks rely on centralized servers, whereas P2P networks distribute resources among client machines without a dedicated server.

Decentralized Model – In P2P networks, devices (PCs, workstations) act as both clients and servers, enabling direct sharing of resources like computing power, storage, and files.

Physical vs. Logical Levels :

Physical Level – Refers to the actual hardware connections between devices.

Logical Level (Overlay Networks) – A virtual layer that helps organize and manage how peers communicate.

P2P Systems

Dual Role of Nodes – Every peer acts as both a client and a server, contributing system resources (computing power, storage, bandwidth).

Decentralized & Self-Organizing – There is no central authority, coordination, or master-slave relationship. Peers join and leave freely, and the system organizes itself with distributed control.

No Dedicated Network – Unlike clusters or grids, P2P networks do not rely on dedicated interconnects. Instead, they form an ad hoc network over the existing Internet using TCP/IP and NAI protocols.

Dynamic & Scalable – The size and topology of a P2P network constantly change as peers connect and disconnect, making it highly flexible and scalable.

56 of 79

56

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Overlay Networks

Virtual Connectivity – P2P systems form a logical overlay network that maps physical peer machines to virtual connections based on peer IDs.

Dynamic Peer Management – When a new peer joins, its ID is added to the overlay network. When a peer leaves, its ID is removed automatically, ensuring flexible and self-organizing connectivity.

Types of Overlay Networks

  • Unstructured Overlay – Forms a random graph with no fixed routes. Flooding is used for queries, causing high traffic and unpredictable search results.
  • Structured Overlay – Follows a specific topology with defined rules for adding and removing peers. Uses efficient routing for faster and more reliable communication.

P2P Application Families

Distributed File Sharing – P2P networks like Gnutella, Napster, and BitTorrent enable users to share digital content (music, videos, files) directly without a central server.

Collaboration P2P Networks – Platforms like MSN, Skype, and instant messaging services allow real-time communication, including chatting, voice, and video calls over a distributed network.

Distributed P2P Computing – Some P2P systems harness computing power across many machines for tasks like scientific research. SETI@home, for example, uses millions of computers to collectively provide 25 TFlops of processing power.

P2P Platforms for Applications – Technologies like JXTA, .NET, and FightingAID@home offer naming, discovery, security, and resource management, making them useful for building customized P2P solutions.

57 of 79

57

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

P2P Computing Challenges

Scalability and Performance – As workload increases, P2P networks must scale efficiently while ensuring high bandwidth, routing efficiency, and self-organization among peers.

Data Location and Interoperability – Performance depends on data locality (proximity to users), network proximity, and interoperability (smooth integration of different systems).

Reliability and Fault Tolerance – Distributed resources reduce the risk of a single point of failure, but data loss is still possible if replication is not managed properly.

Security and Trust Issues – P2P networks lack centralized control, making security, privacy, and copyright protection difficult. Peers are unverified, leading to risks like malware and unauthorized access.

Management Challenges – The decentralized nature of P2P networks makes system management difficult, requiring advanced failure recovery and load balancing mechanisms.

58 of 79

58

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Cloud Computing Over the Internet

Shift to Data-Intensive Computing – Instead of moving large data sets to workstations, cloud computing sends computations (programs) to the data, improving efficiency.

Centralized Data Centers – IT is transitioning from desktop-based computing to large-scale data centers, providing on-demand access to computing resources.

Cloud as a Virtualized Resource Pool – IBM defines a cloud as a collection of virtualized computing resources that can handle different workloads, from batch jobs to interactive applications.

Scalability & Rapid Deployment – Cloud systems allow workloads to scale up or down quickly using virtual machines (VMs) or physical machines, supporting dynamic resource allocation.

Self-Healing & Fault Tolerance – The cloud is designed with redundancy and automatic recovery, ensuring that failures in hardware or software do not disrupt services.

Real-Time Monitoring & Optimization – Cloud systems continuously track resource usage and rebalance workloads to maintain efficiency and cost-effectiveness.

59 of 79

59

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Internet Clouds

Virtualized & On-Demand Resources – Cloud computing uses virtualization to provide elastic resources (hardware, software, and data) that are provisioned dynamically as needed.

Service-Oriented Architecture – Instead of using local desktop computing, cloud computing shifts workloads to server clusters and large databases in data centers.

Cost-Effective & Scalable – Cloud computing is affordable due to machine virtualization, which allows efficient resource sharing among multiple users.

Multi-Tenant Applications – The cloud is designed to support multiple user applications simultaneously, optimizing resource utilization across different workloads.

Secure & Trustworthy Ecosystem – A well-designed cloud must ensure security, reliability, and trustworthiness, protecting user data and applications.

60 of 79

60

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

The Cloud Landscape

Traditional vs. Cloud Computing

Traditional Distributed Systems – Usually owned and managed by a company or research lab for on-premises computing.

Challenges of Traditional Systems – Require constant maintenance, suffer from underutilization, and have high costs due to frequent hardware/software upgrades.

Cloud Computing Solution – Provides on-demand computing that reduces maintenance, improves utilization, and lowers costs.

Four Cloud Deployment Models

Private Cloud – Dedicated to a single organization, offering better security and control but higher management costs.

Public Cloud – Hosted by third-party providers (e.g., AWS, Azure, GCP), offering scalability and cost-efficiency but with shared infrastructure.

Managed Cloud – A third-party manages the cloud on behalf of the user, ensuring better maintenance and security.

Hybrid Cloud – Combines private and public clouds to balance control, cost, and scalability.

Three Cloud Service Models

Infrastructure as a Service (IaaS)

  • Provides virtualized infrastructure (servers, storage, networks).
  • Users can run VMs with guest OSes but don’t manage underlying hardware.
  • Example: Amazon EC2, Google Compute Engine.

61 of 79

61

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Platform as a Service (PaaS)

  • Offers a managed platform for building and running applications.
  • Includes databases, middleware, and development tools.
  • Users focus on development without worrying about infrastructure.
  • Example: Google App Engine, Microsoft Azure PaaS, Heroku.

Software as a Service (SaaS)

  • Delivers ready-to-use software over the Internet.
  • Users don’t need to install or maintain software.
  • Common in CRM, ERP, and HR applications.
  • Example: Google Workspace, Salesforce, Dropbox.

62 of 79

62

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

SOFTWARE ENVIRONMENTS FOR DISTRIBUTED SYSTEMS AND CLOUDS

Service-Oriented Architecture

1. Entity Representation

In Grids/Web Services, an entity is a service.

In Java-based systems, an entity is a Java object.

In CORBA, an entity is a distributed object supporting multiple programming languages.

2. Layered Architecture

Built on the OSI model for networking.

Uses a base software environment like .NET, Apache Axis (for web services), JVM (for Java), or Broker Networks (for CORBA).

3. Higher-Level Distributed Environment

Sits above the base environment to support distributed computing features.

Implements entity interfaces and inter-entity communication at a logical level.

4. Communication & Interoperability

Web services use SOAP(Simple Object Access Protocol)/REST(REpresentational State Transfer) APIs.

Java-based SOA relies on JVM and middleware.

CORBA(Common Object Request Broker Architecture) uses a brokered system for multi-language support.

63 of 79

63

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Layered Architecture for Web Services and Grids

64 of 79

64

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Web Services and Tools

Loose Coupling & Heterogeneous Support

Services are more flexible than traditional distributed objects.

Web Services and REST offer different approaches to interoperability.

Web Services (SOAP-Based)

Uses SOAP(Simple Object Access Protocol) to fully specify services and their environment.

Acts like a distributed operating system with universal capabilities.

Challenges: Hard to standardize and efficiently implement (e.g., Apache Axis).

REST (Representational State Transfer)

Focuses on simplicity and delegates complex logic to applications.

Uses minimal headers and message bodies for data exchange.

More suitable for fast-evolving technologies (e.g., XML over HTTP).

Integration in Distributed Systems

Java & CORBA use RPCs (Remote Procedure Calls) for linking services.

Java RMI(Java Remote Method Invocation) and CORBA IDL (Interface Definition Language)facilitate distributed object communication.

Grids & Clouds represent collections of services that interact through messaging.

65 of 79

65

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

The Evolution of SOA

66 of 79

66

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Grids Versus Clouds

  • The difference between grid computing and cloud computing has become less clear in recent years.
  • Workflow technologies help coordinate web services and manage business processes like handling transactions.
  • Some well-known workflow systems include Pegasus, Taverna, Kepler, Trident, and Swift.
  • Grid computing uses fixed (static) resources, while cloud computing provides flexible (elastic) resources that can scale up or down.
  • Some researchers believe the key difference is that clouds use virtualization and automation, while grids do not.
  • A grid can be built using multiple clouds to improve resource management and efficiency.
  • Various hybrid models exist, such as:

A cloud of clouds (multiple cloud systems working together).

A grid of clouds (a grid structure using clouds).

A cloud of grids (a cloud managing multiple grids).

Inter-clouds, where different cloud systems interact like a Service-Oriented Architecture (SOA).

  • Researchers are exploring ways to integrate grids and clouds to enhance computing power and efficiency.

67 of 79

67

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Distributed Operating Systems

68 of 79

68

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Amoeba versus DCE(Distributed Computing Environment.)

DCE is a system that helps in distributed computing, and Amoeba was a research project from the Free University in the Netherlands. The Open Software Foundation (OSF) supported DCE, but both Amoeba and DCE, along with MOSIX2, were mainly used for research. They were never developed into successful commercial products. There is still a need for new operating systems that can manage resources better in distributed computing. Instead of using a single central system like traditional operating systems, these new systems should spread the workload across many servers. One way to do this is by creating a lightweight system like Amoeba or improving an existing system like DCE, which is based on UNIX. The main goal is to make resource management easier so that users do not have to handle it themselves.

Transparency in Programming Environments

In a computing system, user data, applications, the operating system (OS), and hardware are treated as separate layers. Users own their data, and it is not tied to any specific application. The OS provides a standard way for applications to interact with it through system calls or programming interfaces. In future cloud systems, hardware will also be separated from the OS using standard interfaces. This means users can choose any OS to run on their preferred hardware. To keep data independent of specific applications, users can use cloud-based applications (SaaS), allowing them to switch between different services without losing access to their data.

69 of 79

69

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Parallel and Distributed Programming Models

70 of 79

70

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Message-Passing Interface

MPI is a standard used to write programs that run on multiple computers at the same time. It is a library with ready-made functions that can be used in C or FORTRAN to create parallel programs for distributed systems. The goal is to improve computing power by connecting multiple computers in clusters, grids, or peer-to-peer (P2P) networks. Besides MPI, another way to do this is by using a tool called PVM, (Parallel Virtual Machine,)which provides lower-level support for distributed programming.

MapReduce

MapReduce is a way to process large amounts of data using many computers at the same time. It is mainly used in web search and cloud computing. The process has two main steps: Map and Reduce. First, the Map function organizes data into key/value pairs. Then, the Reduce function groups and processes data with the same key. This method is very fast and can handle huge amounts of data, even terabytes, across thousands of computers. Big companies like Google use MapReduce to run thousands of tasks every day.

Hadoop Library

Hadoop is a software platform created by Yahoo! that helps process huge amounts of data across many computers. It can handle massive data storage and processing, even in petabytes. Hadoop is cost-effective because it is open-source and includes a free version of MapReduce, which helps manage large tasks efficiently. It works quickly by dividing tasks among many computers at the same time. Hadoop is also reliable because it automatically saves multiple copies of data, so if one computer fails, the system can continue running without losing data.

71 of 79

71

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

Open-Grid Services Architecture

Grid computing is designed to support large-scale applications that need to share resources and data across many computers. To make this easier, a standard called OGSA was created for public use of grid services. Genesis II is a system that follows this standard. It provides important features like a distributed environment for running programs, security through Public Key Infrastructure (PKI), a local certificate authority (CA) for authentication, and trust management to ensure safe data sharing in grid computing.

Globus Toolkits and Extensions

Globus is a software library created by researchers in the U.S. to help manage resources in grid computing. It follows OGSA standards to find, allocate, and secure resources in a distributed system. Globus also provides security by using PKI certificates for authentication across multiple sites. The latest version, GT 4, has been in use since 2008. IBM has further improved Globus to make it useful for business applications.

72 of 79

72

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Performance Metrics:

  • Performance in a distributed system depends on various factors.
  • It is measured in terms of MIPS (Millions of Instructions Per Second), Tflops (Tera Floating-Point Operations Per Second), or TPS (Transactions Per Second).
  • Other important measures include job response time, which shows how fast a system completes a task, and network latency, which measures the delay in data transfer.
  • A system with low latency and high bandwidth ensures fast and efficient communication between computers.
  • Some factors that slow down a system include OS boot time, compile time, I/O data rate, and the runtime support system.
  • Quality of Service (QoS) ensures smooth web and Internet services.
  • System availability and dependability ensure that the system runs without failures.
  • Security resilience protects the system from cyberattacks.

73 of 79

73

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Dimensions of Scalability

  1. Size Scalability: Size scalability means improving a computer’s performance by making it bigger. This can be done by adding more processors, memory, storage, or I/O channels. One way to measure this is by counting the number of processors a system has. However, not all computer systems can grow in size the same way. For example, in 1997, IBM S2 was expanded to 512 processors, but by 2008, IBM BlueGene/L had grown to 65,000 processors, showing a much higher level of scalability.

  • Software Scalability: Software scalability means improving the system by upgrading the operating systems, compilers, software libraries and programming tools. It also includes adding new applications and making system easier to use. However, some software upgrades may not work well on very large systems. Testing and adjusting new software for bigger systems can be difficult and time-consuming tasks.

  • Application Scalability: This refers to matching problem size scalability with machine size scalability. Problem size affects the size of the data set or the workload increase. Instead of increasing machine size, users can enlarge the problem size to enhance system efficiency or cost-effectiveness.

74 of 79

74

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Dimensions of Scalability

  1. Technology Scalability: Technology scalability means a system can adapt to new technologies over time. When upgrading a system, three things must be considered: time, space, and heterogeneity.

  • Time refers to upgrading to new processors, which may affect the motherboard, power supply, and cooling. Most systems upgrade their processors every 3 to 5 years.
  • Space is about packaging and energy use, ensuring new technology works smoothly with existing parts.
  • Heterogeneity means using hardware or software from different vendors, which can sometimes make upgrades harder.

75 of 79

75

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Scalability versus OS Image Count

76 of 79

76

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Scalability versus OS Image Count

  • Scalable performance means a system can work faster by adding more processors, memory, disk space, or I/O channels.
  • The number of OS images in a system depends on how many independent OS instances are running in a cluster, grid, P2P network, or cloud.
  • SMP (Symmetric Multiprocessor) systems have a single OS image and are limited to a few hundred processors due to hardware constraints.
  • NUMA (Non-Uniform Memory Access) systems connect multiple SMP nodes with distributed memory, allowing them to scale to thousands of processors. NUMA can run multiple OS images.
  • Clusters are made of multiple SMP servers or high-end machines, giving them higher scalability than NUMA systems.
  • Clouds can be seen as virtualized clusters, with the largest clouds in 2010 scaling to a few thousand virtual machines (VMs).
  • Cluster systems usually have more processors or cores than OS images, meaning they can handle many tasks at once.
  • Grid computing connects multiple clusters, supercomputers, or mainframes, so the number of OS images is much smaller than the total number of processors.
  • P2P networks can grow to millions of independent nodes, usually desktop computers, and their performance depends on network speed and quality.
  • Low-speed P2P networks, Internet clouds, and clusters should be compared at the same network level to evaluate their performance.

77 of 79

77

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Amdahl’s Law

  • Amdahl’s Law explains how much a program speeds up when using multiple processors.
  • Suppose a program takes T minutes to run on a single processor.
  • Part of the program (α) must run sequentially, while the rest can be executed in parallel.
  • When using n processors, the parallel portion runs faster, but the sequential part remains unchanged.
  • The total execution time is calculated as αT + (1 − α)T/n.
  • This formula shows that even with more processors, the program’s speedup is limited by the sequential portion.
  • Amdahl’s Law states that the speedup factor of using the n-processor system over the use of a single processor is expressed by:

  • The best speedup happens only if the sequential part of the program (α) is zero, meaning the code is fully parallel.
  • If the number of processors keeps increasing (n → ∞), the speedup (S) is limited to 1/α.
  • This means no matter how many processors are used, the speedup is restricted by the sequential portion of the code.
  • For example, if α = 0.25, the highest possible speedup is 4, even if hundreds of processors are used.
  • Amdahl’s Law teaches that reducing the sequential part is more important than just adding more processors.
  • Simply increasing the number of processors may not always improve speed significantly.

78 of 79

78

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

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. To execute a fixed workload on n processors, parallel processing may lead to a system efficiency defined as follows:

Very often the system efficiency is rather low, especially when the cluster size is very large. To execute the aforementioned program on a cluster with n = 256 nodes, extremely low efficiency E = 1/[0.25 × 256 + 0.75] = 1.5% is observed. This is because only a few processors (say, 4) are kept busy, while the majority of the nodes are left idling

79 of 79

79

3/19/2025

/skit.org.in

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

PERFORMANCE, SECURITY and ENERGY EFFICIENCY

Gustafson’s law

  • To use a large cluster efficiently, the problem size should be increased to match the cluster’s capability.
  • This idea is known as scaled-workload speedup, introduced by John Gustafson in 1988.
  • Let W be the original workload of a program.
  • When running on an n-processor system, the workload is adjusted to W′ = αW + (1 − α)nW.
  • The parallelizable part of the workload is scaled n times in the second term.
  • The adjusted workload W′ represents the time needed to run the task sequentially on a single processor.
  • The parallel execution time of this adjusted workload on n processors is defined by a scaled-workload speedup as follows:

  • This speedup is known as Gustafson’s law. By fixing the parallel execution time at level W, the following efficiency expression is obtained:

  • For the preceding program with a scaled workload, we can improve the efficiency of using a 256-node cluster to E′ = 0.25/256 + 0.75 = 0.751. One should apply Amdahl’s law and Gustafson’s law under different workload conditions. For a fixed workload, users should apply Amdahl’s law. To solve scaled problems, users should apply Gustafson’s law.