0% found this document useful (0 votes)
18 views

Chapter-1

The document outlines a course on cloud computing, detailing its objectives, outcomes, and suggested learning resources. It covers the evolution of computing paradigms, including high-performance and high-throughput computing, and discusses the significance of service-oriented architecture, virtualization, and the Internet of Things. Additionally, it highlights the prerequisites for students and poses questions to deepen understanding of cloud computing concepts.

Uploaded by

amulyapoojary49
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Chapter-1

The document outlines a course on cloud computing, detailing its objectives, outcomes, and suggested learning resources. It covers the evolution of computing paradigms, including high-performance and high-throughput computing, and discusses the significance of service-oriented architecture, virtualization, and the Internet of Things. Additionally, it highlights the prerequisites for students and poses questions to deepen understanding of cloud computing concepts.

Uploaded by

amulyapoojary49
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 113

CLOUD

COMPUTING
BCS601
CIE Marks 50
SEE Marks 50
Credits 04
Course objectives:
• Introduce the rationale behind the cloud computing revolution and the
business drivers

• Understand various models, types and challenges of cloud computing

• Understand the design of cloud native applications, the necessary


tools and the design tradeoffs.

• Realize the importance of Cloud Virtualization, Abstraction`s, Enabling


Technologies and cloud security
Course outcome (Course Skill
Set)
At the end of the course, the student will be able to:

1. Describe various cloud computing platforms and service providers.

2. Illustrate the significance of various types of virtualization.

3. Identify the architecture, delivery models and industrial platforms for


cloud computing based applications.

4. Analyze the role of security aspects in cloud computing.

5. Demonstrate cloud applications in various fields using suitable cloud


platforms.
Suggested Learning Resources:

Text Books:

1. Kai Hwang, Geoffrey C Fox, and Jack J Dongarra, Distributed and


Cloud Computing, Morgan Kaufmann, Elsevier 2012

2. Dan C. Marinescu, Cloud Computing Theory and Practice, Morgan


Kaufmann, 2nd Edition, Elsevier 2018

3. Google Cloud Teaching Resources – LMS [for practical component]

4. AWS Cloud Developing – AWS Academy Courses [for practical


component]
Reference Books:

1. Rajkumar Buyya, Christian Vecchiola, and Thamrai Selvi, Mastering Cloud


Computing McGrawHill Education, 1st Edition, 2017

2. Toby Velte, Anthony Velte, Cloud Computing: A Practical Approach,


McGraw-Hill Education, 2017.

3. George Reese, Cloud Application Architectures: Building Applications and


Infrastructure in the Cloud, O'Reilly Publication, 1st Edition, 2009

4. John Rhoton, Cloud Computing Explained: Implementation Handbook for


Enterprises, Recursive Press, 2nd Edition, 2009
Module-1

Distributed System Models and Enabling Technologies:

1. Scalable Computing Over the Internet

2. Technologies for Network Based Systems

3. System Models for Distributed and Cloud Computing

4. Software Environments for Distributed Systems and Clouds

5. Performance, Security and Energy Efficiency


SUMMARY
This chapter presents the evolutionary changes that have occurred in
parallel, distributed, and cloud computing over the past 30 years, driven by
applications with variable workloads and large data sets.

We study:

1. High-performance and high-throughput computing systems in parallel


computers appearing as computer clusters, service-oriented architecture.

2. Computational grids.

3. Peer-to-peer networks.

4. Internet clouds, and the Internet of Things.


SUMMARY
Systems are distinguished by their:

1. Hardware architectures

2. OS platforms

3. Processing algorithms

4. Communication protocols

5. Service models applied

Also introduce essential issues on the distributed systems:

1. Scalability 2. Performance 3. Availability 4. Security 5. Energy Efficiency


The Early Internet
• What started as a DARPA (Defense Advanced Research Project Agency) experiment in
decentralized computing communications between two university labs in California in 1970
became the Transmission Control Protocol/Internet Protocol, INTERNET PROTOCOL
SUITE (TCP/IP) developed as a standard in networking protocol or computer
communication standards, and it is the backbone of today’s Internet.

• With the TCP/IP protocols in place, users had the ability to link hypertext documents in an
information system accessible from any node or computer using the TCP/IP protocol. The
resulting information system or database is today’s World Wide Web.

• With the birth of the World Wide Web, expanded usages of this new technology arose along
with expanded business opportunities. Web servers, people who host and store the
documents and web browsers, companies set up to help you view linked documents, help
The Growth of the Internet

The Internet can be grouped into three distinct


segments characterized by how people interact with
this new technology.

 Web 1.0 - Internet of Connection

 Web 2.0 - Internet of Information

 Web 3.0 - Internet of Value


Web 1.0 - Internet of Connection
Characteristics of Web 1.0:

 Development of a host of web-based applications, which fostered online services, such as email.

 Content from Administrator.

 Managed by a Central Authority.

 Read-only, information was “pushed” to users.

 Email was the first widely adopted application on the Internet.

 Computers and items for connection became necessities. Technology advancements in


computers brought on changes; floppy disks became hard drives that stored MB, which turned
into GB, which turned into TB. Internet speeds switched from kilobits to tens of megabits per
second to gigabits per second, RAM grew from hundreds of kilobytes to gigabytes, and the dot-
com bubble began. Companies appeared to be attempting to cash in on this new technology;
most notable was a company called Netscape, which developed the first commercial Web
browser.
Web 2.0 - Internet of Information
Characteristics of Web 2.0:

 User-generated content.

 Read-write, individuals can interact with information.

 Information became siloed (separated from other people or things).

 Data became a commodity (data has become widely available and


accessible to the public, making it a valuable resource that can be used by
anyone.).

Web 2.0 saw emerging marketplaces that brought together unrelated buyers and
sellers in a seamless, low-cost way. Data became a commodity collected, siloed and
sold; we were giving up our information at a frenzied pace. Websites let users
Web 3.0 - Internet of Value

Characteristics of Web 3.0:

Web 3.0, also known as the third generation of the World Wide
Web, is characterized by several key features that are closely
related to cloud computing.

Decentralization, Distributed Ledger Technology (DLT), Artificial


Intelligence (AI) and Machine Learning (ML), Internet of Things
(IoT), Edge Computing, Open Standards, Security and Privacy,
Autonomous Systems, Real-time Data Processing, Scalability and
Prerequisites for students
1.Computer fundamentals: Students should be familiar with basic computer concepts,
such as:
• Operating Systems (Windows, Linux, macOS)
• Networking basics (TCP/IP, DNS, HTTP)
• Data structures and algorithms

2.Programming skills: Students should have a good grasp of at least one


programming language, such as:
• Python
• Java
• C++
• JavaScript

3.Database management: Students should have a basic understanding of database


concepts, including:
• Relational databases (e.g., MySQL)
• NoSQL databases (e.g., MongoDB)

4.Networking and security: Students should have a basic understanding of:


• Network protocols (e.g., TCP/IP, DNS, HTTP)
Questions for students about cloud computing:
1.What is cloud computing, and how does it differ from traditional computing?
2.What are the benefits and drawbacks of cloud computing?
3.What are the main cloud service models (IaaS, PaaS, SaaS), and how do
they differ?
4.What are the key characteristics of cloud computing (on-demand self-
service, broad network access, etc.)?
5.How do cloud providers ensure security and compliance in their
infrastructure?
6.What are the differences between public, private, and hybrid clouds?
7.How do you choose the right cloud provider for a specific project or
organization?
8.What are the common cloud computing architectures (e.g., monolithic,
microservices)?
9.How do you design and deploy a cloud-based application?
10.What are the challenges and best practices for migrating traditional
1.1 Scalable Computing over the
Internet
1.1.1 The Age of Internet Computing

1.1.2 Scalable Computing Trends and New Paradigms

1.1.3 The Internet of Things and Cyber-Physical Systems


1.1.1 The Age of Internet
Computing
1.1.1.1 The Platform Evolution

1.1.1.2 High-Performance Computing

1.1.1.3 High-Throughput Computing

1.1.1.4 Three New Computing Paradigms

1.1.1.5 Computing Paradigm Distinctions

1.1.1.6 Distributed System Families


Scenario: How Netflix Uses Scalable Computing Over the
Internet

Netflix is one of the largest streaming services in the world,


delivering videos to millions of users in different locations.

To do this efficiently, Netflix leverages cloud computing, high-


performance computing (HPC), high-throughput computing
(HTC), and distributed systems.
Cloud Computing: Cloud computing is a model for delivering computing resources
(servers, storage, databases, networking, software, and analytics) on demand via
the internet. It enables scalability, flexibility, and cost-efficiency by eliminating
the need for organizations to own and maintain physical hardware.

High-Performance Computing (HPC) System: A system designed for highspeed


processing and simulation of complex data.

High-Throughput Computing (HTC) System: A system designed for processing


large amounts of data quickly and efficiently.

Distributed Systems
A distributed system consists of multiple interconnected computers (nodes)
working together to achieve a common goal. In cloud computing, distributed
systems enable scalability, fault tolerance, and resource sharing across global
data centers.
Role of Service-Oriented Architecture
(SOA) in Cloud Computing
Service-Oriented Architecture (SOA) plays a crucial role in cloud computing by
enabling applications to be designed, deployed, and managed as independent,
loosely coupled services.
It provides a framework for building scalable, reusable, and interoperable
services that can be hosted and accessed over the internet.
Example: Facilitates Automation and Orchestration
• Cloud platforms use SOA principles to automate workflows, such as auto-scaling,
load balancing, and event-driven processing.
• Service orchestration allows multiple cloud services to work together in a
coordinated manner.
Example:
An e-commerce application can automatically scale its infrastructure during Black
Friday by orchestrating services like load balancers, databases, and caching
Example: Enables Modular and Scalable Applications

• SOA breaks down applications into independent services


that can be deployed, scaled, and updated separately.

• Cloud providers use SOA to offer modular services like storage


(AWS S3), computing (AWS EC2), and databases (AWS RDS)
that users can integrate as needed.

Example:
Netflix’s microservices architecture is an evolution of SOA, allowing
different services (login, recommendations, streaming) to function
Microservices is an architectural style where an application is divided into small, independent
services that communicate via APIs. Each service is loosely coupled, scalable, and deployable
independently, making applications more flexible and resilient.

Amazon Web Services (AWS) is the world's leading cloud computing platform, providing on-
demand computing resources to businesses, developers, and enterprises. AWS offers a scalable,
secure, and flexible cloud infrastructure that supports various computing needs, from basic web
hosting to high-performance computing (HPC) and AI/ML workloads.

AWS Compute Services

• AWS provides various compute options to run applications efficiently.

Amazon EC2 (Elastic Compute Cloud) – Virtual servers for running applications.
AWS Lambda – Serverless computing that executes code in response to events.
Amazon ECS & EKS – Managed services for Docker containers and Kubernetes clusters.
AWS Batch – HPC & HTC workloads optimized for batch processing.

Question: AWS cloud infrastructure


Three New Computing Paradigms
1. SOA (Service-Oriented Architecture): Enables Web 2.0 services

SOA is a software design pattern where services are provided to other components
via communication protocols over a network.

Example:
Amazon Web Services (AWS) provides cloud-based services (such as storage via S3,
computing via EC2) that businesses can use to build their applications.

2. Virtualization: Facilitates the Growth of Internet Clouds

• Virtualization is a technology that enables the creation of multiple virtual


environments on a single physical hardware system.

Example:
VMware and Microsoft Hyper-V allow organizations to run multiple virtual machines
on a single physical server, improving resource utilization.
Three New Computing Paradigms
3. Internet of Things (IoT): Driven by RFID, GPS, and Sensor Technologies

IoT is a computing paradigm where everyday objects are connected to the internet, enabling
data collection, exchange, and automation. Devices communicate using technologies
like RFID (Radio Frequency Identification), GPS (Global Positioning System), and sensors.

Example: Smart Homes (e.g., Google Nest, Amazon Echo) use IoT devices to automate
home functions like lighting, security, and temperature control.

Smart Cities use IoT-enabled traffic lights, surveillance cameras.

Healthcare: Wearable devices like Fitbit or Apple Watch monitor heart rate, steps, and sleep
patterns, sending data to mobile apps for health tracking.
For example, in a smart healthcare system:
1. IoT devices track patient vitals.
2. SOA ensures that different medical services communicate seamlessly.
3. Virtualization enables cloud storage and processing of patient data.
"What are the other latest computing paradigms in cloud
computing”

1. Edge Computing

2. Serverless Computing (Function-as-a-Service, FaaS)

3. Multi-Cloud & Hybrid Cloud Computing

4. Quantum Cloud Computing

5. AI-Driven Cloud Computing

6. Green Cloud Computing (Sustainable Cloud)


Computing Paradigm Distinctions

Centralized computing focuses on a single system handling all


processing.
Parallel computing speeds up tasks by using multiple
processors simultaneously.
Distributed computing spreads processing across multiple
independent systems.
Cloud computing can be centralized, distributed, or hybrid,
leveraging virtualization and scalability.
Distributed System Families
Distributed systems have evolved from
P2P networks to computational grids and
cloud computing.
Grids and clouds enable large-scale
computing by sharing resources across
distributed environments.
Massively distributed systems like
supercomputers and P2P networks.
Design Objectives for Future Systems
Design Objectives for Future Systems

The next generation of cloud computing systems must address key


scalability, security, and efficiency challenges while integrating emerging
technologies like AI, IoT, and blockchain.
1. Scalability and Elasticity
2. Security, Privacy, and Compliance
3. Intelligent and Autonomous Cloud Management
4. Edge and Fog Computing Integration
5. Energy Efficiency and Green Computing
6. Serverless and Microservices-Based Architectures
7. Quantum Computing Integration
8. Multi-Cloud and Hybrid Cloud Interoperability
9. Decentralized and Blockchain-Based Cloud Computing
Illustrates the evolution of HPC and HTC systems
Explain the evolution of High-Performance Computing (HPC) and High-
Throughput Computing (HTC) systems based on the given diagram. How do
paradigms like SOA, IoT, and virtualization contribute to this evolution?
1. Evolution from HTC and HPC Systems

HTC Systems (High-Throughput Computing)


• Deals with disparate nodes (geographically distributed computing resources).
• Uses a P2P (peer-to-peer) network for file sharing and distributed control to
perform tasks over a longer period.

Example: Grid computing where workloads are distributed across multiple


machines.

HPC Systems (High-Performance Computing)


• Uses homogeneous nodes (similar hardware for uniform performance).
• Uses Clusters or MPPs (Massively Parallel Processors) with centralized control for
high-speed computation.

Example: Supercomputers used in scientific simulations.


2. Transition to Computational & Data Grids

• Both HTC and HPC systems converge into computational and data grids, which allow for
large-scale distributed computing.

This is enhanced by:

1. Service-Oriented Architecture (SOA) – Standardizes how computing services interact,


making integration easier.

2. RFID & Sensors – Provide real-time data collection, essential for IoT and large-scale
monitoring applications.

3. Virtualization & Cloud Computing

• The computational and data grids evolve into cloud computing, integrating key
paradigms like:
• Internet of Things (IoT) – Connects smart devices for real-time data processing.
• Web 2.0 Services – Allows user-friendly, interactive web applications.

What are the key applications of High-Performance Computing (HPC)
and High-Throughput Computing (HTC) across various domains, and
how do they impact industries such as healthcare, finance, and
government services?"
The Trend toward Utility Computing
"How does technology convergence integrate different computing paradigms to
enhance High-Throughput Computing (HTC) and High-Performance Computing (HPC)
applications in modern distributed computing systems?"
1. Computing Paradigms Driving Convergence

The left side of the diagram lists several computing paradigms that contribute to this
convergence:

• Web services & Cloud computing – Provide scalable and on-demand resources.

• Data centers & Utility computing – Offer centralized storage and processing power.

• Service computing & Grid computing – Enable distributed computing and resource
sharing.

• P2P computing – Facilitates decentralized networking.

2. Technology Convergence: Unifying HTC & HPC

At the center, technology convergence acts as a bridge between diverse computing


paradigms, optimizing their combined potential for business (HTC) and scientific
(HPC) applications.
3. Attributes and Capabilities

The bottom section highlights the essential capabilities enabled by


technology convergence.

• Ubiquitous: Ensures reliability and scalability across different


computing environments.

• Autonomic: Enables dynamic and self-discovering resources, reducing


manual intervention.

• Composable: Ensures quality of service (QoS), service-level


agreements (SLA), and adaptability.
The Hype Cycle of New Technologies
"What does the hype cycle for emerging technologies illustrate about the evolution of
innovations, and how does it help in predicting their mainstream adoption?"
The diagram represents Gartner’s Hype Cycle for Emerging
Technologies (2010), which illustrates the stages of technological
maturity and adoption over time. It helps understand how new
technologies progress through initial excitement, disillusionment, and
eventual productivity.
1. Technology Trigger: This phase marks the introduction of new and emerging technologies that spark
interest.

• Examples: Wireless power, augmented reality, autonomous vehicles, extreme transaction


processing, and human augmentation.

• These technologies are in early R&D, attracting speculation but lacking real-world adoption.

2. Peak of Inflated Expectations: Technologies in this phase receive hype and unrealistic expectations.

• Examples: 3D printing, cloud computing, 4G, speech-to-speech translation, mobile robots, and
social analytics.

• While some projects show promise, many fail due to technological challenges or overestimation.
3. Trough of Disillusionment

Technologies that fail to deliver as expected experience a decline in


interest and investment.

Examples: Gesture recognition, mesh networks, microblogging,


virtual assistants, broadband over power lines.

4. Slope of Enlightenment

Technologies in this phase start seeing practical applications and


growing adoption.

Examples: Biometric authentication, predictive analytics, mobile


application stores, interactive TV.
5. Plateau of Productivity: Technologies that prove useful and become mainstream reach this
phase.

Examples: Speech recognition, location-aware applications, electronic paper, pen-centric


tablet PCs.

They achieve broad market adoption and integration into everyday use.

Predicting Mainstream Adoption

• Less than 2 years: Technologies close to productivity, such as speech recognition and biometric
authentication.

• 2 to 5 years: Technologies on the slope of enlightenment, like mobile app stores and
predictive analytics.

• 5 to 10 years: Innovations still in disillusionment but evolving, such as gesture recognition and
virtual assistants.

• More than 10 years: High-risk, long-term technologies like human augmentation and
The Internet of Things and Cyber-Physical Systems

Two major trends are discussed

1. Internet of Things (IoT): Extends the Internet to everyday


objects, enabling them to communicate and interact.

2. Cyber-Physical Systems (CPS): Integrates physical


processes with computing and communication, often involving
real-time monitoring and control.

Both IoT and CPS represent the extension of the Internet


beyond traditional computing devices to include a wide range
of physical objects and systems.
The Internet of Things and Cyber-Physical Systems
Multicore CPUs and Multithreading Technologies
1. Importance of Technology Advancements: Over the last 30 years, component and network

technologies have played a crucial role in High-Performance Computing (HPC) and High-Throughput

Computing (HTC).

• Component Technologies: hardware and software like Processors (CPUs, GPUs, TPUs), Memory

(RAM, Cache, HBM), Storage (SSD, NVMe, Distributed Storage).

• Network Technologies: communication and data transfer like Interconnection Networks, Cluster

Networking, Cloud and Grid Networking, Software-Defined Networking (SDN), Data Transfer Protocols

2. Processor Speed: Measured in MIPS (Millions of Instructions Per Second), representing CPU processing

capability.

3. Network Bandwidth: Measured in Mbps (Megabits per Second) or Gbps (Gigabits per Second). 1 GE

(Gigabit Ethernet) refers to 1 Gbps bandwidth for high-speed data transfer.

4. Technological Growth Trends: Continuous improvements in processor speed and network bandwidth
Example

Technological Growth Trends

Example: The evolution from dial-up internet (56 Kbps) in the 1990s
to fiber-optic internet (10 Gbps and beyond) today has drastically
improved communication and data processing.

Example: The shift from single-core to multicore CPUs (e.g., Intel


Core i9 with 24 cores) has significantly improved performance for
multitasking and parallel processing.
Improvements in Processor and Network Technologies
(1978–2011)
Growth in Processor Speed (MIPS)

• Steady increase in CPU performance over time.

• Early processors like Intel 286 (1982) and Motorola 68020 (1984) had relatively low
MIPS.

• Significant jumps in MIPS with Intel Pentium (1993), Pentium III (1999), and Pentium
4 (2000s).

• Intel Core i7 990X (2011) achieves a massive boost in MIPS compared to earlier CPUs.

Evolution of Network Bandwidth (Mbps)

• Early networking began with Ethernet (1978) at low speeds.

• Fast Ethernet (1995) introduced speeds up to 100 Mbps.

• Gigabit Ethernet (1998) increased to 1 Gbps, followed by 10 Gbps (2002).

• High-speed networking continues with 40 GE and 100 GE (2010s), supporting large-scale


Correlation Between Processor Speed and Network Bandwidth

• Both CPU processing power and network bandwidth have grown exponentially.

• Faster CPUs required better network infrastructure to handle increasing data loads.

• Advancements in HPC, cloud computing, and big data are enabled by this dual
progress.

Technology Advancements

• 1980s: Introduction of Motorola and Intel CPUs with modest performance.

• 1990s: Rapid growth in processor speeds with Pentium series and rise of Fast Ethernet.

• 2000s: Multi-core processors (Intel Core, AMD FX) and Gigabit+ Ethernet
advancements.

• 2010s: Transition towards high-performance computing, cloud services, and big


Multicore Processor Architecture:
Multicore Architecture:

The processor consists of multiple cores (Core 1, Core 2, ..., Core n), each
handling independent processing tasks.

L1 Cache (Private to Each Core):

• Each core has its own L1 cache, which is the fastest and closest memory to the
core.

• Helps reduce latency by storing frequently accessed instructions and data.

L2 Cache (Shared On-Chip Cache):

refers to a level of cache memory that multiple processor cores within a single chip
(such as a multi-core CPU or GPU) can access and use collectively.

• Acts as an intermediary between the private L1 caches and the larger memory
L3 Cache / DRAM (Off-Chip Memory): Off-Chip Memory refers to memory that is
located outside the processor chip and is accessed through external buses or interfaces

• L3 cache (if present) or DRAM serves as a larger, slower memory layer.

• Helps manage data exchange between CPU and main memory (RAM).

• Improves system performance by reducing the need for frequent access to main
memory.

Hierarchical Memory Approach:

• Faster but smaller caches (L1, L2) → Slower but larger memory (L3, DRAM).

• Optimizes speed and efficiency by balancing fast access and storage capacity.

Performance Optimization:

• Reduces data retrieval time and improves computational efficiency.


Multithreading Technology: Figure illustrates five
different microarchitectures used in modern CPU
processors
Threads are independent sequences of execution within a process. The way
processors manage these threads determines their efficiency in handling tasks.

Threads & Instruction-Level Parallelism (ILP)

ILP focuses on executing multiple instructions from a single thread in parallel.

Threads & Thread-Level Parallelism (TLP)

TLP focuses on executing multiple threads concurrently to enhance CPU


utilization.

Why Are Threads Important in Modern CPU Design?

• Efficient Resource Utilization

• Improved Performance for Multitasking


Instruction-Level Parallelism (ILP)

Definition: ILP refers to the ability of a processor to execute multiple instructions


from a single thread simultaneously.
1. 4-issue superscalar processor: Executes multiple instructions from the same thread in a
single cycle.

2. Fine-grain and coarse-grain multithreading: Improves ILP by efficiently switching


between threads to keep the processor busy.

3. Simultaneous multithreading (SMT) processor: Maximizes ILP by allowing multiple


instructions from different threads to execute in the same cycle.

Example: Matrix multiplication is an excellent example to demonstrate Instruction-Level


Parallelism (ILP) since it consists of independent arithmetic operations that can be executed in
parallel by modern processors. ILP techniques such as pipelining, loop unrolling, instruction
reordering, and register renaming help maximize performance.
Thread-Level Parallelism (TLP)

Definition: TLP refers to the ability of a processor to execute multiple


threads in parallel, improving overall system performance.
1. Fine-grain multithreaded processor: Switches between threads in each
cycle to optimize execution.

2. Coarse-grain multithreaded processor: Switches threads only when the


current thread stalls, reducing overhead.

3. Dual-core (CMP) processor: Runs two threads simultaneously on separate


cores, enhancing TLP.

4. Simultaneous multithreading (SMT) processor: Achieves both ILP and


TLP by executing multiple instructions from multiple threads in the same cycle.
Parallel Matrix Multiplication
Using Threads (Pthreads in C)

Parallel Merge Sort using Threads

• Each thread sorts a part of the array,


then merges results.

• Demonstrates divide-and-conquer
parallelism.

Producer-Consumer Problem
(Synchronization Example)

• Multiple producer threads insert


items into a shared buffer, and
consumer threads remove them.

• Introduces mutexes and condition


variables.
• ILP improves performance by executing multiple instructions per
cycle from a single thread.

• TLP improves efficiency by executing multiple threads


concurrently.

• Modern processors (e.g., dual-core and SMT architectures)


combine ILP and TLP to maximize computing power.
GPU Programming Model: Figure illustrates a heterogeneous computing
architecture where a CPU and a GPU work together for massively parallel execution.
GPU (Graphics Processing Unit)

• Composed of multiple multiprocessors.

• Each multiprocessor contains multiple processing cores labeled as


P1,P2,...,PnP_1, P_2, ..., P_nP1​,P2​,...,Pn​.

• Device memory serves as the GPU's dedicated memory for storing data.

CPU (Central Processing Unit)

• Connected to main memory.

• Works in coordination with the GPU by transferring data.

Communication Links

• There is a connection between device memory (GPU memory) and main


Massively Parallel Execution: The GPU architecture allows thousands of
processing cores to execute tasks simultaneously, making it highly
efficient for parallel workloads like scientific computing, AI, and big data
analytics.

CPU-GPU Collaboration: The CPU is responsible for control and


sequential operations, while the GPU handles highly parallel computations.

Memory Separation:

• GPUs have their own device memory, which is separate from the main
memory of the CPU.

• Efficient memory management and data transfer between the two are
Power Efficiency of the GPU
• Performance Comparison of CPU, GPU, and
Exascale (EF) Computing
• The figure illustrates the energy efficiency
(performance per watt) of CPUs, GPUs, and
Exascale (EF) computing over time, measured in
Gflops/W (Giga floating-point operations per
second per watt).
• Exascale computing refers to high-performance
computing (HPC) systems capable of executing at
least one exaFLOP (EF), or 10¹⁸ floating-point
operations per second (FLOPS).
(1,000,000,000,000,000,000 operations per second, One
quintillion operations per second,31 billion years)
• GPUs are significantly more power-efficient than CPUs for
computational workloads.
• Future Exascale computing (EF) is expected to
offer an order-of-magnitude improvement, making
HPC systems far more efficient.
System-Area Interconnects
• The nodes in small clusters are mostly
interconnected by an Ethernet switch or a
local area network (LAN).
• A LAN typically is used to connect client
hosts to big servers.
• A storage area network (SAN) connects
servers to network storage such as disk
arrays.
• Network attached storage (NAS) connects
client hosts directly to the disk arrays.
• All three types of networks often
appear in a large cluster built with
commercial network components.
• If no large distributed storage is shared, a
small cluster could be built with a
multiport Gigabit Ethernet switch plus
copper cables to link the end machines. All
three types of networks are
Virtual Machines
An example is an x-86 architecture desktop running its installed Windows OS, as shown in
part (a) of the figure.

Traditional Physical Machine (a):

• A single operating system (OS) runs directly on the hardware.

• All applications depend on this OS, creating limited flexibility and scalability.

Native VM Architecture (b):

• A hypervisor or Virtual Machine Monitor (VMM) runs directly on the hardware.

• It manages multiple Guest Operating Systems (Guest OS), each running applications.

• Offers high efficiency but requires hardware virtualization support.

Hardware virtualization is a technology that allows multiple operating systems or


virtual machines (VMs) to run on a single physical machine by abstracting hardware
resources
Hosted VM Architecture (c):

• The Host OS manages the hardware and runs the VMM as an application.

• The VMM enables multiple Guest OS and their respective applications.

• A Host OS (Host Operating System) is the main operating system installed on a physical
machine that manages hardware resources and runs virtual machines (VMs) or other
software applications.
Example: If you run Windows 11 and use VirtualBox to create an Ubuntu VM, then:
Windows 11 is the Host OS
Ubuntu is the Guest OS

Dual-Mode VM Architecture (d):

• Combines aspects of Native and Hosted VM architectures.

• A small Host OS and VMM work together to optimize hardware access.

• Balances flexibility and performance for system virtualization.


VM Primitive Operations
• First, the VMs can be multiplexed between hardware machines.

• Second, a VM can be suspended and stored in stable storage.

• Third, a suspended VM can be resumed or provisioned to a new


hardware platform.

• Finally, a VM can be migrated from one hardware platform to


another.

These VM operations enable a VM to be provisioned to any


available hardware platform. They also enable flexibility in
porting distributed application executions. Furthermore, the
Data Center Virtualization for Cloud Computing: Focus:
Basic architecture and design considerations of data
centers
A great example about Cloud Architecture and Data Center Design is Google’s Data Center
Infrastructure.
Cloud Architecture Overview
• Built using commodity hardware
• Uses x86 processors
• Low-cost terabyte disks
• Gigabit Ethernet for networking
Google Cloud Data Center Components
• Uses standard x86 servers
• Distributed storage with low-cost disks
• High-performance networking with software-defined infrastructure.
Software-Defined Infrastructure (SDI) is an IT architecture in which computing, storage, and
networking resources are abstracted, virtualized, and managed via software rather than hardware-
dependent configurations.
It enables automation, scalability, and flexibility by decoupling infrastructure control from physical
Performance vs. Cost Optimization

• Prioritizes price/performance ratio

• Uses distributed computing (MapReduce)

• Energy-efficient data centers

Real-World Applications of Cloud Infrastructure

• Google Drive: Cloud-based storage

• YouTube: Large-scale video streaming

• Gmail: Distributed cloud email service


Classification of Massive Systems: Classified into four
groups

Clusters: Groups of interconnected computers working


collectively.

P2P Networks: Decentralized networks where nodes


collaborate directly.

Computing Grids: Distributed systems that share resources


across locations.

Internet Clouds: Large-scale systems hosted in data centers.


Cluster Architecture

This diagram represents a Cluster


Computing System, where
multiple servers (nodes) are
interconnected using high-
bandwidth networks like SAN
(Storage Area Network), LAN
(Local Area Network), and NAS
(Network-Attached Storage).
These servers share I/O devices
and disk arrays, making the
cluster act as a single powerful
system connected to the internet.
Example: Google Search Engine (Google Web Indexing
Cluster)
Servers (Nodes in the Cluster) → Google Data Centers

• Google operates thousands of clustered servers across multiple data centers worldwide.

• These servers store and process huge amounts of web pages, search queries, and
indexing data.

High-Speed Network (SAN, LAN, NAS) → Google’s Private Fiber Network

I/O Devices & Disk Arrays → Distributed Storage System (Google File System - GFS)

• Google stores its data across massive distributed disk arrays (used in cloud

computing, big data processing. Example: Google File System (GFS) / Colossus
(Successor of GFS)), ensuring data redundancy and fast retrieval.

Gateway → Google’s Public Search Interface: The processed results are sent to users
via the internet.
Major Cluster Design Issues
Example is Google Borg, a cluster management system used by
Google to efficiently run its vast data centers.

Google Borg is a cluster management system that runs and manages millions of tasks
across thousands of servers in Google’s data centers.

It ensures that Google’s services—like Search, YouTube, Gmail, and Maps—run smoothly
without downtime.

cluster benefits
Allocates Resources Smartly – Decides which server runs which task based on availability.
Handles Failures Automatically – If a server fails, Borg moves tasks to another working
server.
Balances Workload – Ensures no single server is overloaded while others sit idle.
Scales Efficiently – Manages millions of jobs daily, making sure Google services run fast.
Computational Grids

• A Computational Grid (or Data Grid)

that connects multiple resources

through an IP Broadband network and

the Internet.

• The Grid (yellow section) contains

powerful computing resources,

databases, and expensive equipment.

• The Internet (green section) connects

various end-user devices like

computers, laptops, mobile phones,

and other digital devices.


Grid Computing: Multiple computers work together to solve large problems by
sharing resources.

Data Sharing: Users can access large datasets stored in databases remotely.

Resource Sharing: Expensive equipment and powerful servers can be accessed by


multiple users without owning them.

Example: Weather Forecasting: Imagine there is a global weather prediction


system.

• Satellites and weather stations (Expensive Equipment) collect data.

• Supercomputers (Grid) process the data.

• Databases store the historical weather records.

• Scientists and users access weather updates on their laptops, mobile phones,
P2P Systems

Physical Network The actual hardware


(routers, cables, Wi-Fi).

Overlay Network A logical layer where


devices communicate as if they are
directly connected, using virtual links.

P2P Systems use overlay networks to


establish efficient, decentralized
communication, improving performance
and reliability.
Example: BitTorrent Protocol (P2P File Sharing)

• Peer machines are simply client computers connected to the


Internet.

• All client machines act autonomously to join or leave the system


freely.

• No master-slave relationship exists among the peers.

• No central coordination or central database is needed.

• The system is self-organizing with distributed control.


Example: Skype or WhatsApp Calls Over the Internet

• When you make a WhatsApp call, your device connects to another


device directly using the internet, but not through a direct
physical connection.

• The actual data travels through multiple routers, networks, and physical
connections.

• WhatsApp's network (overlay network) makes it appear as if you are


directly connected to the other person's phone.

• This is similar to how P2P file-sharing networks like BitTorrent


work, where users share files without needing a central server.
Cloud Computing over the Internet

"The explosion of data has


promoted the idea of cloud
computing" means that the rapid
growth of data generation,
storage, and processing needs has
driven the adoption and development
of cloud computing technologies.

Cloud computing is the supply of


computer services including servers,
storage, databases, networking,
software and many more over the
internet or the ‘cloud’.
Virtualized Platform in Cloud Computing: Resources such as
hardware, software, and data sets are provisioned dynamically on demand.

Shift from Desktop Computing to Service-Oriented Platforms:


These platforms rely on server clusters and huge databases located in data
centers.

Benefits of Cloud Computing: low cost and simplicity to benefit both


users and providers.

User Application Support: Cloud computing aims to satisfy many user


applications simultaneously.

Design Requirements for Cloud Ecosystems: Must be designed to be


The Cloud Landscape

1. Traditional distributed computing 2. Cloud computing


systems
Is an on-demand computing paradigm, users
the system is typically owned and operated by a
can access computing resources on-demand.
single entity, such as a research laboratory or
company. Advantages:

Drawbacks: • Maintenance is handled by the cloud

• Constant system maintenance is required, provider, freeing up resources for more


which can be time-consuming and costly. important tasks.
• The system may not be utilized to its full • Resources can be scaled up or down as
capacity, leading to wasted resources.
needed, ensuring optimal utilization.
• Upgrading hardware and software can be
• Upgrades are handled by the cloud
expensive and may require significant
provider, reducing downtime and costs.
Infrastructure as a Service (IaaS)

Provides infrastructure components demanded by users, including: Servers, Storage,


Networks.

1. Allows users to deploy and run multiple Virtual Machines (VMs) with guest operating
systems and specific applications.

2. Users do not manage or control the cloud infrastructure.

3. Users can specify when to request and release resources as needed.

4. Offers flexibility and scalability for deploying applications without managing physical
hardware.

Examples:

• Amazon Web Services (AWS) EC2

• Google Compute Engine (GCE)


Platform as a Service (PaaS)

Provides a platform allowing users to develop, run, and manage


applications without dealing with the underlying infrastructure.

A cloud computing model where the user has control over the
application and data, but not the underlying infrastructure.

Examples:

• Google App Engine

• Microsoft Azure App Service

• AWS Elastic Beanstalk


Software as a Service (SaaS)
A cloud computing model where the user has access to software applications over the internet,
without having to install or maintain the software.

Examples:

• Google Workspace (Docs, Drive, Gmail)

• Microsoft Office 365

• Salesforce CRM

Public Cloud: A cloud computing model where the infrastructure is owned and operated by a

third-party provider, and is accessible over the internet.

Private Cloud: A cloud computing model where the infrastructure is owned and operated by a

single organization, and is not accessible over the internet.

Hybrid Cloud: A cloud computing model where a combination of public and private clouds are
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 (popular
event).

3. Separation of infrastructure maintenance duties from domain-specific application development.

4. Significant reduction in cloud computing cost, compared with traditional computing paradigms
(startup, pay-as-you-go pricing models).

5. Cloud computing programming and application development ( Google Cloud Shell, & Java or Python).

6. Service and data discovery and content/service distribution (media company, content delivery
networks (CDNs)).

7. Privacy, security, copyright, and reliability issues (ensure the security and privacy of its customers'
data).

8. Service agreements, business models, and pricing policies.


Layered Architecture for Web Services and Grids
Example: Cloud-Based Web Application Hosting:
A cloud-based e-commerce website like Amazon or Flipkart

Higher-Level Services (Application Layer)

Example: The Amazon website or a cloud-based CRM like


Salesforce.

• Application-Specific Services: E-commerce product catalog,


recommendation engine.

• Service Management: Load balancing (AWS Elastic Load Balancer),


monitoring (AWS CloudWatch).

• Service Discovery & Information: DNS-based service routing.


Base Hosting Environment

Example: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform.

• Protocol Layer: HTTP, FTP, DNS – Web browsing, file transfers, domain name resolution.

• Presentation Layer: XDR (eXternal Data Representation) – JSON, XML used in REST APIs.

• Session Layer: SSH (Secure Shell) – Secure login for remote servers (e.g., managing AWS

EC2).

• Transport Layer: TCP/UDP – TCP for reliable transactions (e.g., placing an order), UDP for live

streaming (e.g., Twitch on AWS).

• Network Layer: IP (Internet Protocol) – Routing packets between data centers and users.

• Data Link/Physical Layer: Fiber optics, Ethernet, or 5G networks providing connectivity.


The Evolution of SOA
The diagram illustrates the evolution of Service-Oriented
Architecture (SOA) by integrating clouds and grids to process and
transform raw data into decisions.

It highlights sensor services (SS) collecting raw data, filter services


(FS) processing data, and various clouds computing and storing data
before presenting it to decision-makers.

1. Raw Data Collection (Sensor Services - SS)

• Sensors (SS) collect data from different sources like databases,


cameras, IoT devices, or other grids.

• Example: IoT sensors in a smart city gathering traffic, weather, and


2. Data Processing (Filter Clouds & Filter Services - FS)

Raw data is filtered, categorized, and transformed into structured


information.

Example: Traffic cameras and weather sensors process data into traffic
congestion levels.

3. Computing and Storage Clouds

• Compute cloud performs complex calculations and analytics.

• Storage cloud retains historical and real-time data for further processing.

Example: Google Cloud or AWS Lambda computing and analyzing live


traffic and weather data
4. Discovery Clouds (Knowledge Extraction)

• Aggregates processed information to extract knowledge.

• Helps in service discovery and decision-making.

Example: Google Maps identifying alternate traffic routes using real-time


and historical traffic data.

5. Portal (Wisdom & Decisions)

The final processed knowledge is presented via an interface (portal) to make


informed decisions.

Example: A smart city dashboard showing real-time traffic


predictions, accident alerts, and suggested routes for emergency services.
Example: Smart Traffic Management System

Raw Data: IoT sensors, traffic cameras, GPS from vehicles.

Processing: Cloud-based AI analyzes congestion, road conditions.

Storage: Historical data stored in cloud databases.

Knowledge Extraction: AI predicts best routes and expected


delays.

Decision Making: Traffic lights are adjusted dynamically, or


drivers receive alternate route suggestions on apps like Google
Maps.
Transparency in Programming Environments
Example: Google Drive and Google Docs
Scenario: Cloud Storage & Cloud-Based Applications
User Data (Stored in Cloud Storage like Google Drive)
• Users store documents, spreadsheets, and other files on Google Drive.
• The data is owned by the user and is accessible from multiple devices.
Application Layer (Google Docs, Google Sheets, Web Browsers)
• Users edit documents using Google Docs, which runs in a web browser.
• No need to install separate software; applications run via cloud services.
Operating System Layer (Windows, macOS, Linux, Android, iOS)
• Google Drive and Google Docs can be accessed on different operating systems.
• Users can switch between OS platforms without losing access to data.
Hardware Layer (Laptops, Tablets, Smartphones, Desktops)
• Users can access Google Drive from any device with an internet connection.
• Data is not tied to a specific hardware platform.
Parallel and Distributed Programming Models
Amdahl’s Law
• The law is named after Gene Amdahl, who first proposed it in 1967

• It is a measure of the maximum speedup that can be achieved by parallelizing a


program.

Example: Suppose we have a program that takes 10 seconds to complete on a single


processor. We want to parallelize the program to run on 4 processors. We can divide the
program into 4 parts, each running on a separate processor.

Serial Fraction (f): Let's say that 20% of the program is serial, meaning it cannot be
parallelized. This means that 20% of the.

Parallel Fraction (1-f): program's execution time is not affected by the number of processors

The remaining 80% of the program can be parallelized, meaning it can be executed concurrently
on multiple processors.
Amdahl's Law:

Using Amdahl's Law, we can calculate the maximum speedup that can be achieved by parallelizing the
program:

S = 1 / (1 - f + f/n)

Where:

• S is the maximum speedup

• f is the fraction of the program that cannot be parallelized (20% in this case)

• n is the number of processors (4 in this case)

Substituting the values, we get:

S = 1 / (1 - 0.2 + 0.2/4) = 1 / (1 - 0.2 + 0.05) = 1 / 0.85 = 1.176

Maximum Speedup:

The maximum speedup that can be achieved by parallelizing the program is approximately 1.176.

This means that even with 4 processors, the program can only be sped up by a factor of 1.176, not 4.
• In cloud computing, Amdahl's Law is particularly relevant
because it helps to: Estimate scalability, Optimize
parallelization, Plan for resource allocation.

• why Amdahl's Law is important to consider in cloud


computing: Performance optimization, Cost optimization,
Predictability.

• Amdahl's Law is used in a variety of applications, including:


High-performance computing, Cloud computing, Artificial
Gustafson’s Law
• The law is named after John Gustafson, who first proposed it in 1988.

• Gustafson's Law suggests that the speedup of a program by parallel processing is


determined by the amount of data that can be processed in parallel, rather than the
number of processors.

Example: Suppose we have a program that takes 10 seconds to complete on a single processor.
We want to parallelize the program to run on 4 processors. We can divide the program into 4 parts,
each running on a separate processor.

Data Parallelism: Let's say that the program is data-parallel, meaning that it can process large
amounts of data in parallel. For example, the program is a matrix multiplication algorithm that can
process multiple rows of the matrix in parallel.

Processor Utilization: Assuming that each processor is fully utilized, we can calculate the total
processing power of the 4 processors that is, 4 processors x 100% utilization = 400% processing
Speedup: Using Gustafson's Law, we can calculate the maximum speedup that can be achieved
by parallelizing the program:

S = (1 - f) / (1 - f/n)

Where:

• S is the speedup

• f is the fraction of the program that is not parallelized (0 in this case, since the program is fully
parallelizable)

• n is the number of processors (4 in this case)

Substituting the values, we get:

S = (1 - 0) / (1 - 0/4) = 1 / (1 - 0.25) = 1.25

The maximum speedup that can be achieved by parallelizing the program is approximately 1.25.

This means that even with 4 processors, the program can only be sped up by a factor of 1.25,
not 4.
Threats to Systems and Networks
Diagram that categorizes various system attacks and network threats
into four types of losses: loss of confidentiality, loss of integrity, loss of
availability, and improper authentication.

Question: Explain the relationships between the attack techniques and their
impact on cybersecurity.

The given diagram categorizes system attacks and network threats into
four major types of cybersecurity losses:

1. Loss of Confidentiality (Information Leakage)

2. Loss of Integrity (Integrity Violation)

3. Loss of Availability (Denial of Service)


Loss of Confidentiality (Information Leakage): Confidentiality refers to preventing
unauthorized access to sensitive information.

Attackers use methods like:

• Eavesdropping – Capturing data during transmission.

Example: Packet sniffing tools like Wireshark can be misused to intercept network traffic.

• Traffic Analysis – Observing communication patterns to infer sensitive details.

Example: Identifying active users on a network based on metadata.

• EM/RF Interception – Capturing electromagnetic signals from devices.

Example: Side-channel attacks on wireless keyboards.

• Media Scavenging – Retrieving discarded storage devices to extract sensitive data.

Example: Data recovery from improperly wiped hard drives.

Impact on Cybersecurity: Leads to data breaches, privacy violations, and leakage of


Loss of Integrity (Integrity Violation): Integrity ensures data remains unaltered unless modified
by authorized users.

Attack techniques include:

Penetration – Gaining unauthorized access and modifying data. Example: SQL injection attacks
altering database records.

Masquerade – Impersonating a legitimate user or system. Example: Phishing emails tricking users
into sharing credentials.

Bypassing Controls – Exploiting weak security measures. Example: Privilege escalation attacks in
operating systems.

No Authorization – Accessing resources without permissions. Example: Unauthenticated API access.

Physical Intrusion – Physically tampering with hardware. Example: Plugging a malicious USB device
into a secure system.

Impact on Cybersecurity: Leads to misinformation, data corruption, financial fraud, and loss of
trust in digital systems.
Loss of Availability (Denial of Service - DoS): Availability ensures authorized users can
access resources without interruption.

Attackers disrupt services using:

DoS (Denial of Service) – Flooding a server with requests to make it unavailable.

Example: A botnet attack overwhelming a website.

Trojan Horse – Malicious software hidden inside legitimate programs.

Example: A fake antivirus program stealing system resources.

Trapdoor – Hidden backdoor access left in software.

Example: Unauthorized remote access left by a disgruntled employee.

Service Spoofing – Imitating a legitimate service to mislead users.

Example: Fake banking websites stealing credentials.

Impact on Cybersecurity: Causes downtime, financial losses, and reputational damage for
Improper Authentication (Illegitimate Use): Authentication ensures only
authorized users can access systems.

Attacks exploiting authentication weaknesses include:

Theft – Stealing credentials or session tokens.

Example: Keyloggers capturing passwords.

Resource Exhaustion – Overloading a system’s resources.

Example: Crypto-mining malware consuming CPU power.

Integrity Violation – Altering authentication mechanisms.

Example: Modifying password databases to grant unauthorized access.

Impact on Cybersecurity: Leads to unauthorized system control, data theft,


Power management issues in distributed computing platforms can be
categorized into four layers: the application layer, middleware layer,
resource layer, and network layer.
Example: Weather Forecasting Using Distributed Computing

Application Layer : Where user applications run, such as DNA sequencing, physics simulations,

and weather forecasting.

• Scientists use distributed computing for high-accuracy weather prediction models.

• Applications simulate atmospheric conditions, temperature variations, and predict rainfall.

Middleware Layer: Manages distributed resources and services like security, scheduling, and

communication.

• A resource broker allocates computing resources from different locations.

• Secure access ensures only authorized users can access weather data.

• Task analyzer & scheduler distribute computational tasks across multiple systems.

• Communication & information services handle data sharing across global weather stations.

• Reliability control ensures consistent and error-free predictions.


Resource Layer: Provides computational resources like servers,
laptops, and supercomputers.

• Weather data is processed on supercomputers for large-scale


simulations.

• Meteorologists use laptops & desktops for analysis and


visualization.

• Telescopes & satellites collect real-time weather data.

Network Layer: Enables connectivity between distributed


resources using routers, switches, and fiber optics.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy