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

Chapter-1

The document outlines the course structure for Cloud Computing (BCS 601), including objectives, outcomes, and modules covering various aspects of cloud technology, virtualization, security, and programming environments. It emphasizes the evolution of computing paradigms, including high-performance and high-throughput computing, and the importance of scalability, security, and energy efficiency in distributed systems. Suggested textbooks and resources are provided for further learning and practical application in cloud computing.

Uploaded by

shivaraj BG
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Chapter-1

The document outlines the course structure for Cloud Computing (BCS 601), including objectives, outcomes, and modules covering various aspects of cloud technology, virtualization, security, and programming environments. It emphasizes the evolution of computing paradigms, including high-performance and high-throughput computing, and the importance of scalability, security, and energy efficiency in distributed systems. Suggested textbooks and resources are provided for further learning and practical application in cloud computing.

Uploaded by

shivaraj BG
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 101

Cloud Computing BCS 601

CLOUD COMPUTING
Semester 6
Course Code 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.

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.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

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.

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 virtualizations.

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.

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.

Textbook 1: Chapter 1: 1.1 to 1.5

Module-2

Virtual Machines and Virtualization of Clusters and Data Centers:


Implementation Levels of Virtualization, Virtualization Structure/Tools and
Mechanisms, Virtualization of CPU/Memory and I/O devices, Virtual
Clusters and Resource Management, Virtualization for Data Center
Automation.

Textbook 1: Chapter 3: 3.1 to 3.5

Module-3

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Cloud Platform Architecture over Virtualized Datacenters: Cloud


Computing and Service Models, Data Center Design and Interconnection
Networks, Architectural Design of Compute and Storage Clouds, Public
Cloud Platforms: GAE, AWS and Azure, Inter-Cloud Resource Management.

Textbook 1: Chapter 4: 4.1 to 4.5

Module-4

Cloud Security: Top concern for cloud users, Risks, Privacy Impact
Assessment, Cloud Data Encryption, Security of Database Services, OS
security, VM Security, Security Risks Posed by Shared Images and
Management OS, XOAR, A Trusted Hypervisor, Mobile Devices and Cloud
Security Cloud Security and Trust Management: Cloud Security Defense
Strategies, Distributed Intrusion/Anomaly Detection, Data and Software
Protection Techniques, Reputation-Guided Protection of Data Centers.

Textbook 2: Chapter 11: 11.1 to 11.3, 11.5 to 11.8, 11.10 to 11.14

Textbook 1: Chapter 4: 4.6

Module-5

Cloud Programming and Software Environments: Features of Cloud


and Grid Platforms, Parallel and Distributed Computing Paradigms,
Programming Support for Google App Engine, Programming on Amazon
AWS and Microsoft, Emerging Cloud Software Environments.

Textbook 1: Chapter 6: 6.1 to 6.5

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

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.

Textbook 1: Chapter 1: 1.1 to 1.5

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.2 Technologies for Network-based Systems
1.2.1 Multicore CPUs and Multithreading Technologies
1.2.2 GPU Computing to Exascale and Beyond
1.2.3 Memory, Storage, and Wide-Area Networking
1.2.4 Virtual Machines and Virtualization Middleware
1.2.5 Data Center Virtualization for Cloud Computing
1.3 System Models for Distributed and Cloud Computing
1.3.1 Clusters of Cooperative Computers
1.3.2 Grid Computing Infrastructures
1.3.3 Peer-to-Peer Network Families
1.3.4 Cloud Computing over the Internet
1.4 Software Environments for Distributed Systems and Clouds
1.4.1 Service-Oriented Architecture (SOA)
1.4.2 Trends toward Distributed Operating Systems
1.4.3 Parallel and Distributed Programming Models
1.5 Performance, Security, and Energy Efficiency
1.5.1 Performance Metrics and Scalability Analysis
1.5.2 Fault Tolerance and System Availability
1.5.3 Network Threats and Data Integrity
1.5.4 Energy Efficiency in Distributed Computing.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

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.
These 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

1.1 SCALABLE COMPUTING OVER THE INTERNET


Over the past 60 years, computing technology has undergone a series of
platform and environment changes.
We assess evolutionary changes in
1. Machine Architecture
2. Operating System Platform
3. Network Connectivity
4. Application Workload.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

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.
Examples:
1. The applications of modern computer systems that practice parallel
and distributed computing.
2. Large-scale internet applications have significantly enhanced the
quality of life and information services in society today.

1.1.1 The Age of Internet Computing


Billions of people use the Internet every day.
As a result, supercomputer sites and large data centers must provide
high-performance computing services to huge numbers of Internet users
concurrently. Because of this high demand,
High-performance computing (HPC) applications is no longer optimal
for measuring system performance.
Thus:
The emergence of computing clouds instead demands high-throughput
computing (HTC) systems built with parallel and distributed computing
technologies by upgrading:
 Data centers using fast servers
 Storage systems
 High-bandwidth networks
Statement: The purpose is to advance network-based computing and
web services with the emerging new technologies.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Below are the strategic approaches / examples: that Leverages


innovation, scalability, and security and how it impacts the above
statement.
Adopt Edge Computing
 Why: Edge computing reduces latency by processing data closer to
the source, improving performance for real-time applications.
 How:
o Deploy edge servers or micro data centers.
o Use edge frameworks like AWS IoT Greengrass, Azure IoT
Edge, or Google Edge TPU.
o Integrate edge computing with 5G networks for faster data
transmission.
Implement AI and Machine Learning
 Why: AI/ML can optimize network performance, predict failures, and
personalize web services.
 How:
o Use AI-driven network management tools for traffic
optimization and anomaly detection.
o Integrate ML models into web services for personalized user
experiences.
o Deploy AI-powered chatbots and virtual assistants for
customer support.
Integrate Blockchain for Security and Transparency
 Why: Blockchain enhances data security, integrity, and transparency
in network-based systems.
 How:
o Use blockchain for secure identity management and
authentication.
o Implement smart contracts for automated, trustless
transactions.
o Explore decentralized web services (Web3) for peer-to-peer
interactions.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Some other examples:


2 Leverage 5G Networks
3 Embrace Serverless Architectures
4 Utilize Quantum Computing (Future-Proofing)
5 Enhance Security with Zero Trust Architecture
6 Adopt WebAssembly (Wasm)
7 Leverage IoT and Smart Devices
8 Explore Web3 and Decentralized Technologies
9 Optimize with Containerization and Kubernetes
10 Focus on API-First Development
11 Incorporate Augmented Reality (AR) and Virtual Reality (VR)
12 Invest in Sustainable Computing
Why:
 Green computing reduces energy consumption and environmental
impact.
How:
 Use energy-efficient hardware and data centers.
 Optimize algorithms and code for lower resource usage.
 Adopt renewable energy sources for powering infrastructure.

1.1.1.1 The Platform Evolution


 Computer technology has gone through five generations of
development, with each generation lasting from 10 to 20 years.
Successive generations are overlapped in about 10 years.
 From 1950 to 1970, a handful of mainframes, including the IBM
360 and CDC 6400, were built to satisfy the demands of large
businesses and government organizations.
 From 1960 to 1980, lower-cost minicomputers such as the DEC
PDP 11 and VAX Series became popular among small businesses
and on college campuses.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 From 1970 to 1990, we saw widespread use of personal


computers built with VLSI microprocessors.
 From 1980 to 2000, massive numbers of portable computers
and pervasive devices appeared in both wired and wireless
applications.
 Since 1990, the use of both HPC and HTC systems hidden in clusters,
grids, or Internet clouds has proliferated. These systems are
employed by both consumers and high-end web-scale computing
and information services.

Figure: Illustrates the evolution of HPC and HTC systems.


Diagram illustrates the integration of High-Throughput Computing
(HTC) and High-Performance Computing (HPC) systems within
computational frameworks to handle diverse computing tasks and data
management.
HTC Systems (Left):
 Designed for distributed, geographically sparse nodes.
 Uses P2P networks for file sharing and distributed control.
 Often operates in environments like Web 2.0 services and Service-
Oriented Architecture (SOA).

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

HPC Systems (Right):


 Consist of homogeneous nodes with centralized control.
 Utilize Clusters or Massively Parallel Processors (MPPs) for
high-speed processing.
 Commonly connected with sensors and Internet of Things (IoT).
Convergence via Computational and Data Grids (Center):
 Both HTC and HPC systems connect through computational and
data grids, enabling integration of disparate clusters and data-
intensive processing.
Internet Clouds (Bottom):
 Both systems leverage cloud computing through virtualization,
enabling scalable access for applications like Web 2.0 and IoT.

1.1.1.2 High-Performance Computing


 For many years, HPC systems emphasize the raw speed
performance.
 The speed of HPC systems has increased from Gflops in the early
1990s to now Pflops in 2010.
Gflops stands for Gigaflops, which means 1 billion (10^9) floating-
point operations per second.
Pflops stands for Petaflops, which means 1 quadrillion (10^15)
floating-point operations per second.
 This improvement was driven mainly by the demands from
scientific, engineering, and manufacturing communities.
This increase from Gflops to Pflops represents a massive leap in
computational power, enabling more complex simulations, data analysis,
and scientific research.

1.1.1.3 High-Throughput Computing


 The development of market-oriented high-end computing systems is
undergoing a strategic change from an HPC paradigm to an HTC
paradigm.
 This HTC paradigm pays more attention to high-flux computing.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

High-flux computing refers to a computing paradigm that


emphasizes processing a large volume of tasks or data over time,
rather than focusing on the speed of individual computations. It is closely
associated with High-Throughput Computing (HTC), where the goal
is to maximize the throughput (total number of tasks completed)
rather than the speed (time taken to complete a single task).
 The main application for high-flux computing is in Internet searches
and web services by millions or more users simultaneously.
 The performance goal thus shifts to measure high throughput or the
number of tasks completed per unit of time.
 HTC technology needs to not only improve in terms of batch
processing speed, but also address the acute problems of cost,
energy savings, security, and reliability at many data and enterprise
computing centers.

1.1.1.4 Three New Computing Paradigms


1. SOA (Service-Oriented Architecture): Enables Web 2.0 services.
2. Virtualization: Facilitates the growth of Internet clouds, marking a
new computing paradigm.
3. IoT (Internet of Things): Driven by advancements in RFID, GPS,
and sensor technologies.
Historical Context:

 1969: Leonard Kleinrock predicted the evolution of computer


networks into utilities similar to electricity and telephone services.
 1984: John Gage coined the phrase, "The network is the
computer."
 2008: David Patterson stated, "The data center is the
computer," highlighting the shift towards service-based software.
 Recent: Rajkumar Buyya simplified it to, "The cloud is the
computer."

1.1.1.5 Computing Paradigm Distinctions


1. Centralized Computing:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o All computer resources (processors, memory, storage) are


centralized in one physical system.
o Resources are fully shared and tightly coupled within a single
integrated operating system.
o Commonly used in data centers and supercomputers, even in
parallel, distributed, and cloud computing applications.

2. Parallel Computing:
o Processors are either tightly coupled with centralized shared
memory or loosely coupled with distributed memory.
o Interprocessor communication occurs through shared memory
or message passing.
o Systems capable of parallel computing are called parallel
computers, and programs running on them are called parallel
programs.
o The process of writing such programs is known as parallel
programming.
3. Distributed Computing:
o Involves multiple autonomous computers, each with its own
private memory, communicating through a network.
o Information exchange is achieved through message passing.
o Programs running in such systems are called distributed
programs, and the process of writing them is known as
distributed programming.
4. Cloud Computing:
o Can be either centralized or distributed.
o Utilizes parallel or distributed computing, or both.
o Built with physical or virtualized resources over large data
centers.
o Some view it as a form of utility computing or service
computing.
5. Alternative Terms:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o Concurrent Computing/Programming: Often refers to the union


of parallel and distributed computing, though interpretations
may vary.
o Ubiquitous Computing: Involves computing with pervasive
devices at any place and time using wired or wireless
communication.
o Internet of Things (IoT): A networked connection of everyday
objects (computers, sensors, humans, etc.), supported by
Internet clouds for ubiquitous computing.
o Internet Computing: Covers all computing paradigms over the
Internet.

1.1.1.6 Distributed System Families


1. Evolution of Distributed Systems:
o Since the mid-1990s, P2P networks and cluster networks have
been consolidated into national projects for wide-area
computing infrastructures, known as computational grids or
data grids.
o Recent interest has surged in using Internet cloud resources
for data-intensive applications.
o Internet clouds result from shifting desktop computing to
service-oriented computing using server clusters and large
databases at data centers.
2. Grids and Clouds:
o Grids and clouds are disparity systems emphasizing resource
sharing in hardware, software, and data sets.
o They are part of massively distributed systems designed to
exploit high degrees of parallelism or concurrency.
3. Massively Distributed Systems:
o Examples include:
 The Tianhe-1A system in China (2010) with 86,016 CPU
cores and 3,211,264 GPU cores.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 The largest computational grid connecting hundreds of


server clusters.
 P2P networks involving millions of client machines.
 Experimental cloud computing clusters with thousands
of processing nodes.
4. Future HPC and HTC Systems:
o Both High-Performance Computing (HPC) and High-Throughput
Computing (HTC) systems will require multicore or many-core
processors to handle large numbers of computing threads.
o Emphasize parallelism and distributed computing to meet
demands for throughput, efficiency, scalability, and reliability.
o System efficiency depends on speed, programming, and
energy consumption (throughput per watt).
5. Design Objectives for Future Systems:
o Efficiency:
 In HPC, it measures resource utilization by exploiting
massive parallelism.
 In HTC, it relates to job throughput, data access,
storage, and power efficiency.
o Dependability:
 Measure’s reliability and self-management from chip to
system and application levels.
 Ensures high-throughput service with Quality of Service
(QoS) assurance, even during failures.
o Adaptation:
 Refers to the ability to support billions of job requests
over massive data sets and virtualized cloud resources
under varying workloads and service models.
o Flexibility:
 Measures the ability of distributed systems to perform
well in both HPC (science/engineering) and HTC
(business) applications.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.1.2 Scalable Computing Trends and New Paradigms


1. Predictable Technology Trends:
o Technology trends drive computing applications, and
designers/programmers aim to predict future system
capabilities.
o Jim Gray’s Paper: "Rules of Thumb in Data Engineering"
highlights the interplay between technology and applications.
o Moore’s Law: Processor speed doubles every 18 months, a
trend validated over the last 30 years, though its future
validity is uncertain.
o Gilder’s Law: Network bandwidth has doubled annually in
the past, but it’s unclear if this trend will continue.
2. Commodity Hardware:
o The price/performance ratio of commodity hardware has
improved significantly, driven by the desktop, notebook, and
tablet markets.
o This has led to the adoption of commodity technologies in
large-scale computing.
3. Distributed Systems:
o Emphasize resource distribution and concurrency (high
degree of parallelism, or DoP).
o Understanding the degrees of parallelism is crucial before
discussing the specific requirements for distributed
computing.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

4. Future Computing Trends:


o The future of computing trends, including the validity of
Moore’s and Gilder’s laws, will be explored in more detail in
subsequent chapters.
1.1.2.1 Degrees of Parallelism
1. Evolution of Parallelism:
o Bit-Level Parallelism (BLP): In the past, computers were
bit-serial, but BLP enabled the transition to word-level
processing. Over time, microprocessors evolved from 4-bit to
64-bit CPUs.
o Instruction-Level Parallelism (ILP): Allows processors to
execute multiple instructions simultaneously. Techniques like
pipelining, superscalar computing, VLIW (very long instruction
word), and multithreading have been used to achieve ILP. It
relies on branch prediction, dynamic scheduling, speculation,
and compiler support.
o Data-Level Parallelism (DLP): Popularized by SIMD (single
instruction, multiple data) and vector machines. Requires
significant hardware and compiler support for efficient
execution.
o Task-Level Parallelism (TLP): Emerged with multicore
processors and chip multiprocessors (CMPs). TLP is more
challenging to implement due to difficulties in programming
and compiling code for multicore systems.
2. Modern Processors:
o Modern processors incorporate BLP, ILP, and DLP, supported
by advancements in hardware and compilers.
o TLP, however, has not been as successful due to the
complexity of programming and compiling for multicore CMPs.
3. Transition to Distributed Processing:
o As computing moves from parallel to distributed
processing, job-level parallelism (JLP) becomes more
prominent.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o Coarse-grain parallelism (e.g., JLP) is built on top of fine-grain


parallelism (e.g., BLP, ILP, DLP).
1.1.2.2 Innovative Applications
1. Transparency in HPC and HTC Systems:
o Both High-Performance Computing (HPC) and High-Throughput
Computing (HTC) systems aim for transparency in:
 Data access
 Resource allocation
 Process location
 Concurrency in execution
 Job replication
 Failure recovery
o Transparency is crucial for both users and system
management.

2. Key Applications Driving Development:

3. Challenges in Applications:
o Distributed Transaction Processing: Widely used in banking
and finance, representing 90% of the market for reliable
banking systems. Challenges include:
 Managing multiple database servers.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Maintaining consistency of replicated transaction


records.
 Addressing software support limitations, network
saturation, and security threats.
4. General Application Requirements:
o Almost all applications demand:
 Computing economics
 Web-scale data collection
 System reliability
 Scalable performance
1.1.2.3 The Trend toward Utility Computing
1. Common Characteristics of Computing Paradigms:
o Ubiquity: These paradigms are pervasive in daily life.
o Reliability and Scalability: Key design objectives in these
computing models.
o Autonomic Operations: Aimed at self-organization to
support dynamic discovery.
o Composability: Designed to work with QoS (Quality of
Service) and SLAs (Service-Level Agreements).
o Realization of Computer Utility Vision: These paradigms
collectively achieve the vision of computing as a utility.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

2. Utility Computing:
o Focuses on a business model where customers receive
computing resources from paid service providers.
o All grid/cloud platforms are considered utility service
providers.
o Cloud Computing: Offers a broader concept than utility
computing, enabling distributed cloud applications to run on
any available servers in edge networks.
3. Technological Challenges:
o Encompasses all aspects of computer science and
engineering, including:
1. Hardware: Development of network-efficient
processors, scalable memory, and storage schemes.
2. Software: Distributed operating systems, middleware
for machine virtualization, new programming models,
effective resource management, and application
program development.

1.1.2.4 The Hype Cycle of New Technologies

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

These points summarize the progression and maturity prediction for


various technologies based on the 2010 hype cycle analysis.
1. Hype Cycle of New Technologies:
o Emerging technologies go through a hype cycle with five
stages:
1. Trigger: Initial introduction and rising expectations.
2. Peak of Inflated Expectations: Hype and over-
enthusiasm.
3. Trough of Disillusionment: Decline in expectations
due to unmet promises.
4. Slope of Enlightenment: Gradual improvement and
understanding.
5. Plateau of Productivity: Mainstream adoption and
practical use.

2. Timeframes for Mainstream Adoption:


o Hollow Circles: Technologies expected to reach mainstream
adoption in less than 2 years.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o Gray Circles: Technologies expected to take 2 to 5 years to


reach mainstream adoption.
o Solid Circles: Technologies requiring 5 to 10 years to reach
mainstream adoption.
o Triangles: Technologies needing more than 10 years to
reach mainstream adoption.
o Crossed Circles: Technologies expected to become
obsolete before reaching the plateau.
3. Examples from 2010:
o Consumer-Generated Media: At the disillusionment
stage, expected to reach mainstream adoption in less than
2 years.
o Internet Micropayment Systems: In the enlightenment
stage, expected to take 2 to 5 years to mature.
o 3D Printing: At the rising expectation stage, predicted to
take 5 to 10 years to reach mainstream adoption.
o Mesh Network Sensors: At the inflated expectation
stage, expected to take more than 10 years to reach
mainstream adoption.
o Cloud Technology: Had just crossed the peak of
expectations in 2010, expected to take 2 to 5 years to
reach the productivity stage.
o Broadband over Power Line: Expected to become
obsolete before leaving the disillusionment stage.
4. Promising Technologies in 2010:
o Technologies at their peak expectation stage in 2010 (e.g.,
biometric authentication, interactive TV, speech recognition,
predictive analytics, media tablets) were expected to take 5
to 10 years to reach mainstream adoption.
o Once a technology begins climbing the slope of
enlightenment, it typically reaches the plateau of
productivity within 2 to 5 years.
1.1.3 The Internet of Things and Cyber-Physical Systems

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Two major trends are discussed:


o Internet of Things (IoT): Extends the Internet to everyday
objects, enabling them to communicate and interact.
o Cyber-Physical Systems (CPS): Integrates physical
processes with computing and communication, often involving
real-time monitoring and control.
o Both IoT and CPS represent the extension of the Internet
beyond traditional computing devices to include a wide range
of physical objects and systems.
1.1.3.1 The Internet of Things
The below points summarize the concept of Internet of Things,
technologies, scale, communication patterns, connectivity, and future
vision of the Internet of Things (IoT).
1. Concept of the Internet of Things (IoT):
o Introduced in 1999 at MIT.
o Refers to the networked interconnection of everyday
objects, tools, devices, or computers.
o Viewed as a wireless network of sensors that connects all
things in daily life.
o Objects can vary in size, time, and place.
2. Technologies Enabling IoT:
o Objects are tagged using RFID, GPS, or related
sensor/electronic technologies.
o IPv6 Protocol: Provides 2^128 IP addresses, enabling
universal addressability for all objects on Earth.
3. Scale of IoT:
o Estimated that every human will be surrounded by 1,000 to
5,000 objects.
o IoT must track 100 trillion static or moving
objects simultaneously.
o Complexity is reduced by filtering out fine-grain objects.
4. Global Development of IoT:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o IoT extends the traditional Internet and is more heavily


developed in Asia and European countries.
5. Communication in IoT:
o All objects and devices are instrumented, interconnected,
and interact intelligently.
o Three communication patterns:
 H2H (Human-to-Human)
 H2T (Human-to-Thing)
 T2T (Thing-to-Thing)
o Things include machines like PCs and mobile phones.
6. Connectivity in IoT:
o Connections can occur anytime (day, night, indoors,
outdoors, on the move) and anywhere (PC, indoor, outdoor,
on the move).
o Goal is low-cost, intelligent connections between humans,
machines, and objects.
7. IoT as a Dynamic Network:
o IoT forms a dynamic network of networks.
o Still in its infancy stage, with many prototype IoT systems
under experimentation.
8. Role of Cloud Computing:
o Cloud computing and future Internet technologies are
expected to support fast, efficient, and intelligent
interactions among humans, machines, and objects.
9. Vision of a Smart Earth:
o A smart Earth includes:
 Intelligent cities, clean water, efficient power,
convenient transportation, good food supplies,
responsible banks, fast telecommunications, green IT,
better schools, good health care, and abundant
resources.

1.1.3.2 Cyber-Physical Systems

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1. Definition of Cyber-Physical Systems (CPS):


o CPS results from the interaction between computational
processes and the physical world.
o Integrates "cyber" (heterogeneous, asynchronous)
with "physical" (concurrent, information-dense) objects.
2. Core Technologies in CPS:
o Merges the "3C" technologies:
 Computation
 Communication
 Control
o Forms an intelligent closed feedback system between the
physical world and the information world.
3. Focus of CPS:
o Actively explored in the United States.
o Emphasizes virtual reality (VR) applications in the physical
world.
o Aims to transform how we interact with the physical world,
similar to how the Internet transformed interactions with the
virtual world.
4. Comparison with IoT:
o IoT: Focuses on networking connections among physical
objects.
o CPS: Focuses on exploring VR applications and integrating
computational processes with the physical world.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.2 Technologies for Network-based Systems


1.2.1 Multicore CPUs and Multithreading Technologies
1.2.2 GPU Computing to Exascale and Beyond
1.2.3 Memory, Storage, and Wide-Area Networking
1.2.4 Virtual Machines and Virtualization Middleware
1.2.5 Data Center Virtualization for Cloud Computing

1.2 TECHNOLOGIES FOR NETWORK-BASED SYSTEMS

1. Focus of the Section:

o Explores hardware, software, and network technologies for


designing and applying distributed computing systems.
o Emphasizes scalable computing concepts.
2. Objective:

o Develop viable approaches to building distributed operating


systems.
o Address the challenge of handling massive parallelism in
distributed environments.
1.2.1 Multicore CPUs and Multithreading Technologies
Significance of Component and Network Technologies: Over the
past 30 years, advancements in component and network technologies
have been crucial for the development of High-Performance Computing
(HPC) and High-Throughput Computing (HTC) systems.
Processor Speed: Measured in MIPS (Millions of Instructions Per Second),
which indicates the processing capability of CPUs.
Network Bandwidth: Measured in Mbps (Megabits per Second) or Gbps
(Gigabits per Second), reflecting data transfer rates in network systems.
The unit GE refers to 1 Gbps Ethernet bandwidth, showcasing high-speed
data transfer capabilities.
Trends Over Time: Growth in processor speed and network bandwidth
has driven innovation and improved computational performance in
modern systems.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.2.1.1 Advances in CPU Processors


Multicore Architectures:

 Modern CPUs have architectures with dual, quad, six, or more cores.
 These architectures exploit Instruction-Level Parallelism (ILP) and
Thread-Level Parallelism (TLP).
Processor Speed Growth:

 Evolution of processor speeds across generations:

o VAX 780 (1978): 1 MIPS.


o Intel Pentium 4 (2002): 1,800 MIPS.
o Sun Niagara 2 (2008): 22,000 MIPS.
 Growth aligns with Moore’s Law.

Clock Rate Progression:

 Increased from 10 MHz (Intel 286) to 4 GHz (Pentium 4) over 30


years.
 Clock rates are limited by power and heat constraints, rarely
exceeding 5 GHz.
Challenges in Clock Rate Growth:

 Limitations arise from heat generation and high-power consumption


in CMOS-based chips.
 Further improvements depend on advancements in chip technology.
Exploitation of ILP:

 Modern CPUs leverage ILP mechanisms such as:

o Multiple-issue superscalar architecture.


o Dynamic branch prediction.
o Speculative execution.
 Requires hardware and compiler support.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Parallelism in GPUs:

 Graphics Processing Units (GPUs) utilize Data-Level Parallelism (DLP)


and TLP with many-core architectures.
 GPUs contain hundreds to thousands of simple cores for parallel
processing.
Multicore Processor Architecture:

 Each core has its own private L1 cache.


 Cores share an L2 cache, with future designs potentially including L3
cache on the chip.

Examples of High-End Processors:

 Intel i7, Xeon, AMD Opteron, Sun Niagara, IBM Power 6, and X Cell
processors.
 Support multithreading for enhanced performance.
Niagara II Example:

 Features 8 cores, each capable of handling 8 threads.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Achieves a maximum ILP and TLP of 64 (8 cores × 8 threads).


Performance Benchmark:

 Intel Core i7 990x (2011) achieved an execution rate of 159,000


MIPS.

1.2.1.2 Multicore CPU and Many-Core GPU Architectures

1. Future of Multicore CPUs:

o Multicore CPUs may evolve from tens of cores to hundreds or


more in the future.
o However, CPUs face limitations in exploiting massive Data-
Level Parallelism (DLP) due to the memory wall problem.
2. Rise of Many-Core GPUs:

o The limitations of CPUs have driven the development of many-


core GPUs with hundreds or more thin cores.

3. Instruction Set Architectures:

o Commercial CPUs incorporate both IA-32 and IA-64 instruction


set architectures.
o x86 processors have been extended to support High-
Performance Computing (HPC) and High-Throughput
Computing (HTC) systems in high-end server processors.
4. Shift in Top 500 Systems:

o Many RISC processors in Top 500 systems have been replaced


by multicore x86 processors and many-core GPUs.
o This trend suggests x86 upgrades will dominate data centers
and supercomputers.
5. GPU Applications in Supercomputing:

o GPUs are being used in large clusters to build supercomputers


in Massively Parallel Processing (MPP) systems.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

6. Future of Processor Industry:

o The industry is focusing on developing asymmetric or


heterogeneous chip multiprocessors.
o These chips will integrate both fat CPU cores and thin GPU
cores on the same chip.
1.2.1.3 Multithreading Technology

The image conveys how different processor architectures manage the


execution of instructions across multiple threads using instruction-level
parallelism (ILP) and thread-level parallelism (TLP).

It illustrates the execution patterns of five processor types:


understanding of typical instruction scheduling patterns in these five
micro-architectures in modern processors.

Processor Types: Five processor architectures are:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1. Four-issue superscalar processor.


2. Fine-grain multithreaded processor.
3. Coarse-grain multithreaded processor.
4. Two-core Chip Multiprocessor (CMP).
5. Simultaneous Multithreaded (SMT) processor.
Four-Issue Superscalar Processor:

 Single-threaded with four functional units.


 Executes only instructions from the same thread in each cycle.
 Instruction scheduling efficiency is lower when there are idle slots
(blank cells).
Fine-Grain Multithreaded Processor:

 Four-way multithreaded over four functional data paths.


 Switches execution between different threads in each cycle.
 Reduces idle slots by interleaving threads cycle-by-cycle.
Coarse-Grain Multithreaded Processor:

 Four-way multithreaded, similar to fine-grain but executes several


instructions from the same thread for a few cycles before switching
to another thread.
 Leads to bursts of execution for individual threads followed by
switching.
Dual-Core CMP (Chip Multiprocessor):

 Two processing cores, each a single-threaded, two-way superscalar


processor.
 Executes instructions from different threads completely on separate
cores.
 No inter-thread switching within the same core.
Simultaneous Multithreaded (SMT) Processor:

 Four functional units with simultaneous scheduling of instructions


from different threads in the same cycle.
 Maximizes throughput by utilizing thread-level parallelism (TLP)
effectively.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.2.2 GPU Computing to Exascale and Beyond

Definition of GPU:

o A GPU (Graphics Processing Unit) is a graphics coprocessor or


accelerator mounted on a computer’s graphics or video card.
o It offloads graphics tasks from the CPU, particularly in video
editing applications.
Historical Context:

o The world’s first GPU, the GeForce 256, was introduced by


NVIDIA in 1999.
o Modern GPUs can process at least 10 million polygons per
second and are now used in nearly every computer.
Integration with CPUs:

o Some GPU features have been integrated into certain CPUs.

Core Comparison:

o Traditional CPUs have few cores (e.g., Xeon X5670 has six
cores).
o Modern GPUs can have hundreds of processing cores.
Throughput Architecture:

o GPUs use a throughput architecture designed for massive


parallelism.
o They execute many concurrent threads slowly, unlike CPUs,
which execute a single long thread quickly.
Rise of GPU Clusters:

o Parallel GPUs or GPU clusters are gaining attention over CPUs


with limited parallelism.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o General-purpose computing on GPUs (GPGPUs) has emerged


in the High-Performance Computing (HPC) field.
NVIDIA’s CUDA Model:

o NVIDIA’s CUDA model is designed for HPC using GPGPUs.

1.2.2.1 How GPUs Work

Evolution of GPUs:

o Early GPUs functioned as coprocessors attached to the CPU.


o Modern NVIDIA GPUs have been upgraded to 128 cores on a
single chip.
Massive Parallelism in GPUs:

o Each GPU core can handle eight threads of instructions.


o A single GPU can execute up to 1,024 threads concurrently,
enabling true massive parallelism.
o This contrasts with conventional CPUs, which can handle only
a few threads.
CPU vs. GPU Optimization:

o CPUs are optimized for latency caches.


o GPUs are optimized for higher throughput with explicit
management of on-chip memory.
Expanded Use of GPUs:

o Modern GPUs are not limited to graphics or video coding.


o They are used in High-Performance Computing (HPC) systems
to power supercomputers with massive parallelism at
multicore and multithreading levels.
Floating-Point Operations:

o GPUs are designed to handle large numbers of floating-point


operations in parallel.
o They offload data-intensive calculations from the CPU, not just
video processing tasks.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Applications of GPUs:

o Widely used in mobile phones, game consoles, embedded


systems, PCs, and servers.
o NVIDIA CUDA Tesla or Fermi GPUs are used in GPU clusters and
HPC systems for parallel processing of massive floating-point
data.
1.2.2.2 GPU Programming Model

FIGURE shows the interaction between a CPU and GPU in performing


parallel execution of floating-point operations concurrently.
CPU Characteristics:

o The CPU is a conventional multicore processor with limited


parallelism.

GPU Architecture:

o The GPU has a many-core architecture with hundreds of


simple processing cores organized as multiprocessors.
o Each GPU core can handle one or more threads.
Role of GPU in Computation:

o The GPU offloads the CPU’s floating-point kernel computation


tasks.
o The CPU instructs the GPU to perform massive data
processing.
Memory Bandwidth Requirement:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o The bandwidth between the on-board main memory and the


on-chip GPU memory must be matched for efficient
processing.
NVIDIA’s CUDA Programming:

o This process is implemented using NVIDIA’s CUDA


programming.
o Examples of GPUs used include the GeForce 8800, Tesla, and
Fermi.

1.2.2.3 Power Efficiency of the GPU

 Compares the CPU and GPU in their performance/power ratio


measured in Gflops/watt per core.
 In 2010, the GPU had a value of 5 Gflops/watt at the core level,
compared with less than 1 Gflop/watt per CPU core.
 This may limit the scaling of future supercomputers. However, the
GPUs may close the gap with the CPUs.
 Data movement dominates power consumption. One needs to
optimize the storage hierarchy and tailor the memory to the
applications.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 We need to promote self-aware OS and runtime support and build


locality-aware compilers and auto-tuners for GPU based MPPs.
 This implies that both power and software are the real challenges in
future parallel and distributed computing systems.

1.2.3 Memory, Storage, and Wide-Area Networking


1.2.3.1 Memory Technology

 The upper curve in Figure 1.10 plots the growth of DRAM chip
capacity from 16 KB in 1976 to 64 GB in 2011.
 This shows that memory chips have experienced a 4x increase in
capacity every three years.
 Memory access time did not improve much in the past. In fact, the
memory wall problem is getting worse as the processor gets faster.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

For hard drives, capacity increased from 260 MB in 1981 to 250 GB


in 2004.
 The Seagate Barracuda XT hard drive reached 3 TB in 2011. This
represents an approximately 10x increase in capacity every eight
years.
 The capacity increase of disk arrays will be even greater in the years
to come.
 Faster processor speed and larger memory capacity result in a wider
gap between processors and memory.
 The memory wall may become even worse a problem limiting the
CPU performance in the future.

1.2.3.2 Disks and Storage Technology

Beyond 2011, disks or disk arrays have exceeded 3 TB in capacity.


The lower curve in Figure 1.10 shows the disk storage growth in 7
orders of magnitude in 33 years.

Growth of Flash Memory and SSDs:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o Rapid growth of flash memory and SSDs is influencing the


future of High-Performance Computing (HPC) and High-
Throughput Computing (HTC) systems.
o SSDs offer significant speedups in many applications.
Durability of SSDs:

o The mortality rate of SSDs is low.


o A typical SSD can endure 300,000 to 1 million write cycles per
block.
o SSDs can last several years even under heavy write usage.
Limitations in Large System Development:

o Power consumption, cooling, and packaging are key limiting


factors.
o Power increases linearly with clock frequency and
quadratically with voltage.
o Clock rates cannot be increased indefinitely, and there is a
demand for lower voltage supplies.
Future of Storage Technology:

o Jim Gray’s statement highlights the evolution of storage


technology:
 Tape units are dead.
 Disks are the new tape units.
 Flash memory is replacing disks.
 Memory is now functioning as caches.
o This trend indicates the direction of future storage systems.
Cost Barrier for SSDs:

o As of 2011, SSDs were still too expensive to replace stable


disk arrays in the storage market.
1.2.3.3 System-Area Interconnects

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

The nodes in small clusters are mostly interconnected by an Ethernet


switch or a local area network (LAN). As Figure 1.11 shows,
 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
commercially available.
1.2.3.4 Wide-Area Networking

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

The lower curve in Figure 1.10 plots the rapid growth of Ethernet
bandwidth from 10 Mbps in 1979 to 1 Gbps in 1999, and 40 ~ 100
GE in 2011.

Speculation on Network Speeds: By 2013, 1 TBPS (Terabit per second)


network links were expected to become available.

Historical Network Bandwidths: In 2006, network bandwidths were


reported as:

 1,000 Gbps (international),


 1,000 Gbps (national),
 100 Gbps (organization),
 10 Gbps (optical desktop),
 1 Gbps (copper desktop).
Network Performance Growth: Network performance was increasing
by a factor of two every year, outpacing Moore’s Law (which predicts CPU
speed doubling every 18 months). This rapid growth implies that more
computers will be used concurrently in the future.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Impact on Distributed Systems: High-bandwidth networking enables


the development of massively distributed systems.

Interconnect Trends in HPC:

 The IDC 2010 report predicted that InfiniBand and Ethernet would
dominate as the primary interconnect technologies in High-
Performance Computing (HPC).
 Most data centers were using Gigabit Ethernet as the interconnect in
server clusters.

1.2.4 Virtual Machines and Virtualization Middleware

 A conventional computer has a single OS image.


 This offers a rigid architecture that tightly couples application
software to a specific hardware platform.
 Some software running well on one machine may not be executable
on another platform with a different instruction set under a fixed OS.
 Virtual machines (VMs) offer novel solutions to underutilized
resources, application inflexibility, software manageability, and
security concerns in existing physical machines.
 Today, to build large clusters, grids, and clouds, we need to access
large amounts of computing, storage, and networking resources in a
virtualized manner.
 We need to aggregate those resources, and hopefully, offer a single
system image.
 In particular, a cloud of provisioned resources must rely on
virtualization of processors, memory, and I/O facilities dynamically

1.2.4.1 Virtual Machines

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

In Figure 1.12, the host machine is equipped with the physical hardware,
as shown at the bottom of the figure.

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.
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.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Simplifies deployment but may have performance overhead due to


the host 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.
1.2.4.2 VM Primitive Operations

Virtual Machine Monitor (VMM)

The VMM provides the VM abstraction to the guest OS. With full
virtualization, the VMM exports a VM abstraction identical to the physical
machine so that a standard OS such as Windows 2000 or Linux can run
just as it would on the physical hardware. Low-level VMM operations are
indicated by Mendel Rosenblum and illustrated in Figure 1.13.

 First, the VMs can be multiplexed between hardware machines, as


shown in Figure 1.13(a).
 Second, a VM can be suspended and stored in stable storage, as
shown in Figure 1.13(b).

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

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


hardware platform, as shown in Figure 1.13(c).
 Finally, a VM can be migrated from one hardware platform to
another, as shown in Figure 1.13(d).

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 VM approach will significantly
enhance the utilization of server resources.

Multiple server functions can be consolidated on the same hardware


platform to achieve higher system efficiency.

This will eliminate server sprawl via deployment of systems as VMs, which
move transparency to the shared hardware. With this approach, VMware
claimed that server utilization could be increased from its current 5–15
percent to 60–80 percent.

1.2.4.3 Virtual Infrastructures

 Physical resources for compute, storage, and networking at the


bottom of Figure 1.14 are mapped to the needy applications
embedded in various VMs at the top.
 Hardware and software are then separated.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Virtual infrastructure is what connects resources to distributed


applications.
 It is a dynamic mapping of system resources to specific applications.
 The result is decreased costs and increased efficiency and
responsiveness.
Customer Spending Breakdown:
 Server Spending (blue): Represents the baseline cost of
purchasing and maintaining physical servers.
 Management Cost (orange): Reflects the increasing cost of
managing servers as the infrastructure scales.
 Power & Cooling Expense (green): Indicates growing energy and
cooling costs, which become significant as server density increases.
Server Growth:
 Physical Server Installed Base (line): Shows steady growth in
the number of physical servers over the years.
 Logical Server Installed Base (dashed line): Highlights the
exponential increase in logical (virtualized) servers due to
virtualization technologies.
Virtualization Impact:
 The Virtualization Management Gap (shaded region):
Demonstrates a mismatch between the growth of logical servers
and the management capabilities or practices to handle them
effectively. It suggests challenges in scaling virtualization
management systems.
Cost Trends:
 Over time, management, power, and cooling expenses grow faster
than the baseline server spending, emphasizing the need for cost
optimization.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.2.5 Data Center Virtualization for Cloud Computing


Focus: Basic architecture and design considerations of data centers.
Cloud Architecture:
o Built using commodity hardware and network devices.
o Most cloud platforms use popular x86 processors.
Data Center Components:
o Low-cost terabyte disks.
o Gigabit Ethernet for networking.
Design Emphasis:
o Prioritizes performance/price ratio over speed performance
alone.
o Storage and energy efficiency are more important than sheer
speed performance.
1.2.5.1 Data Center Growth and Cost Breakdown
Data Center Size:
o Large data centers may have thousands of servers.
o Smaller data centers typically have hundreds of servers.
Cost Trends: The cost to build and maintain data center servers has
increased over the years.
Cost Breakdown (2009 IDC Report):
o 30% for purchasing IT equipment (servers, disks, etc.).
o 33% for the chiller.
o 18% for the uninterruptible power supply (UPS).
o 9% for computer room air conditioning (CRAC).
o 7% for power distribution, lighting, and transformer costs.
Management and Maintenance: About 60% of the total cost is
allocated to management and maintenance.
Cost Changes Over Time:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o Server purchase costs did not increase significantly.


o Electricity and cooling costs increased from 5% to 14% over
15 years.

1.2.5.2 Low-Cost Design Philosophy


Cost Considerations for Data Centers:
 High-end switches or routers may be too expensive for building data
centers.
 High-bandwidth networks may not align with the economics of cloud
computing.
Preference for Commodity Hardware:
 Given a fixed budget, commodity switches and networks are more
desirable.
 Commodity x86 servers are preferred over expensive mainframes.
Role of the Software Layer: The software layer manages:
 Network traffic balancing.
 Fault tolerance.
 Expandability.
Network Technology in Cloud Computing: Ethernet is the
fundamental network technology used in nearly all cloud computing data
centers.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.3 SYSTEM MODELS FOR DISTRIBUTED AND CLOUD COMPUTING


Structure of Distributed and Cloud Computing Systems:
 Built over a large number of autonomous computer nodes.
 Nodes are interconnected by SANs, LANs, or WANs in a hierarchical
manner.
Networking Technology:
 Modern LAN switches can easily connect hundreds of machines to
form a working cluster.
 WANs can connect multiple local clusters to create a large "cluster
of clusters."
Scalability of Massive Systems:
 Massive systems are highly scalable and can achieve web-scale
connectivity.
 Can be built with millions of computers connected to edge networks.
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.
Scale of Participation:
 These systems can involve hundreds, thousands, or even millions of
computers as participating nodes.
Collaboration and Functionality:
 Nodes work collectively, cooperatively, or collaboratively at various
levels.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Systems are characterized by technical and application-specific


aspects.
Clusters in Supercomputing:
 Clusters are widely used in supercomputing applications.
 In 2009, 417 of the Top 500 supercomputers were built using cluster
architecture.
 Clusters have laid the foundation for developing large-scale grids
and clouds.
P2P Networks in Business Applications:
 P2P (peer-to-peer) networks are most appealing for business
applications.
 The content industry hesitated to adopt P2P technology due to
concerns over copyright protection in ad hoc networks.
Challenges with National Grids:
 Many national grids built in the past decade were underutilized.
 The underutilization was due to a lack of reliable middleware and
well-coded applications.
Advantages of Cloud Computing:
 Cloud computing offers low cost and simplicity for both providers
and users.
 These advantages make cloud computing an attractive option for
large-scale systems.
In Table 1.2, massive systems are classified into four groups: clusters, P2P
networks, computing grids, and Internet clouds over huge data centers.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.3.1 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.

1.3.1.1 Cluster Architecture

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Above figure shows the architecture of a typical server cluster built around
a low-latency, high bandwidth interconnection network.

Interconnection Networks for Clusters:

 Can be as simple as a SAN (e.g., Myrinet) or a LAN (e.g., Ethernet).


 To build larger clusters, multiple levels of Gigabit Ethernet, Myrinet,
or InfiniBand switches can be used.

Scalability through Hierarchical Construction:

 Scalable clusters can be built by using hierarchical connections via


SAN, LAN, or WAN.
 This allows for an increasing number of nodes in the cluster.

Cluster Connectivity to the Internet:

The cluster is connected to the Internet through a VPN (virtual private


network) gateway.

 The gateway's IP address is used to locate the cluster.

System Image and Resource Management:

 The system image of a computer is determined by how the OS


manages shared cluster resources.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Most clusters have loosely coupled nodes, meaning each node


operates independently.

Autonomous Node Management:

 Each server node in a cluster has its own OS managing its


resources.
 As a result, clusters typically have multiple system images due to
the autonomous nature of nodes under different OS control.

1.3.1.2 Single-System Image (SSI).

Greg Pfister, has indicated that an ideal cluster should merge multiple
system images into a single-system image (SSI).

 Cluster designers desire a cluster operating system or some


middleware to support SSI at various levels, including the sharing of
CPUs, memory, and I/O across all cluster nodes.
 An SSI is an illusion created by software or hardware that presents a
collection of resources as one integrated, powerful resource.
 SSI makes the cluster appear like a single machine to the user.
 A cluster with multiple system images is nothing but a collection of
independent computers.

1.3.1.3 Hardware, Software, and Middleware Support

 Clusters exploring massive parallelism are commonly known as


MPPs (Massively Parallel Processors).
 Almost all HPC (High-Performance Computing) clusters in the Top
500 list are also MPPs.
 The building blocks of clusters include:
o Computer nodes (PCs, workstations, servers, or SMP).

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

o Special communication software such as PVM (Parallel Virtual


Machine) or MPI (Message Passing Interface).
o A network interface card in each computer node.
 Most clusters run under the Linux operating system This is due to
Linux's flexibility, scalability, and ability to support a wide range of
hardware configurations.
 The computer nodes are interconnected by a high-bandwidth
network (such as Gigabit Ethernet, Myrinet, InfiniBand, etc.).
 Special cluster middleware supports are needed to create SSI
(Single System Image) or high availability (HA).
 Both sequential and parallel applications can run on the cluster.
 Special parallel environments are needed to facilitate the use of
cluster resources.
 For example, distributed memory has multiple images. Users may
want all distributed memory to be shared by all servers by forming
distributed shared memory (DSM).
 Many SSI features are expensive or difficult to achieve at various
cluster operational levels.
 Instead of achieving SSI, many clusters are loosely coupled
machines.
 Using virtualization, one can build many virtual clusters dynamically,
upon user demand.

1.3.1.4 Major Cluster Design Issues

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Unfortunately, a cluster-wide OS for complete resource sharing is not


available yet.

Middleware or OS extensions were developed at the user space to achieve


SSI at selected functional levels.

Without this middleware, cluster nodes cannot work together effectively to


achieve cooperative computing.

The software environments and applications must rely on the middleware


to achieve high performance.

The cluster benefits come from:

 Scalable performance
 Efficient message passing
 High system availability
 Seamless fault tolerance
 Cluster-wide job management

1.3.2 Grid Computing Infrastructures

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

In the past 30 years, users have experienced a natural growth path from
Internet to web and grid computing services.

 Internet services such as the Telnet command enable a local


computer to connect to a remote computer.
 A web service such as HTTP enables remote access of remote web
pages.
 Grid computing is envisioned to allow close interaction among
applications running on distant computers simultaneously.
 Forbes Magazine has projected the global growth of the IT-based
economy from 1 trillion in 2001 to 20 trillion by 2015.
 The evolution from Internet to web and grid services is certainly
playing a major role in this growth.

1.3.2.1 Computational Grids

 Computational Grids: Like an electric utility power grid, a


computing grid offers an infrastructure that couples computers,
software/middleware, special instruments, and people and sensors
together.
 Grid Construction: The grid is often constructed across LAN, WAN,
or Internet backbone networks at a regional, national, or global
scale.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Enterprises and Organizations: Enterprises or organizations


present grids as integrated computing resources. They can also be
viewed as virtual platforms to support virtual organizations.
 Computers Used in a Grid: The computers used in a grid are
primarily workstations, servers, clusters, and supercomputers.
Personal computers, laptops, and PDAs can be used as access
devices to a grid system.
 Resource Sites: The resource sites offer complementary
computing resources, including workstations, large servers, a mesh
of processors, and Linux clusters to satisfy a chain of computational
needs.
 Grid Infrastructure: The grid is built across various IP broadband
networks including LANs and WANs already used by enterprises or
organizations over the Internet.
 User Perspective: The grid is presented to users as an integrated
resource pool as shown in the upper half of the figure.
 Special Instruments: Special instruments may be involved such
as using the radio telescope in SETI@Home search of life in the
galaxy and the austrophysics@Swineburne for pulsars.
 Grid Integration: The grid integrates the computing,
communication, contents, and transactions as rented services.
 User Base: Enterprises and consumers form the user base, which
then defines the usage trends and service characteristics.
 Examples of Distributed Scientific Grid Applications: The NSF
TeraGrid in US, EGEE in Europe, and ChinaGrid in China for various
distributed scientific grid applications.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.3.2.2 Grid Families

Grid technology demands new distributed computing models,


software/middleware support, network protocols, and hardware
infrastructures.

In Table 1.4, grid systems are classified in essentially two categories:


computational or data grids and P2P grids. Computing or data grids are
built primarily at the national level.

 National Grid Projects: National grid projects are followed by


industrial grid platform development by IBM, Microsoft, Sun, HP,
Dell, Cisco, EMC, Platform Computing, and others.
 Industrial Grid Platforms: Industrial grid platforms have been
developed by various companies, including IBM, Microsoft, Sun, HP,
Dell, Cisco, EMC, and Platform Computing.
 New Grid Service Providers: New grid service providers (GSPs)
have emerged rapidly, similar to the growth of Internet and web
services in the past two decades.
 New Grid Applications: New grid applications have emerged
rapidly, including applications in fields such as finance, healthcare,
and scientific research.
 Grid Technology Evolution: Grid technology has evolved rapidly,
with new distributed computing models, software/middleware
support, network protocols, and hardware infrastructures emerging
to support the growth of grid applications.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.3.3 Peer-to-Peer Network Families

An example of a well-established distributed system is the client-server


architecture. In this scenario, client machines (PCs and workstations) are
connected to a central server for compute, e-mail, file access, and
database applications.

 The P2P architecture offers a distributed model of networked


systems. First, a P2P network is client-oriented instead of server-
oriented.
 P2P systems are introduced at the physical level, where nodes are
connected to each other through a network.
 At the logical level, P2P systems are introduced through overlay
networks, which are virtual networks built on top of physical
networks.
 P2P systems are designed to allow nodes to communicate with each
other directly, without the need for a central server. This allows for
greater flexibility and scalability.

1.3.3.1 P2P Systems

In a P2P system, every node acts as both a client and a server, providing
part of the system resources.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Peer machines are simply client computers connected to the


Internet.
 All client machines act autonomously to join or leave the system
freely.
 This implies that no master-slave relationship exists among the
peers.
 No central coordination or central database is needed. In other
words, no peer machine has a global view of the entire P2P system.
 The system is self-organizing with distributed control.

Each peer machine joins or leaves the P2P network voluntarily. Only the
participating peers form the physical network at any time.

 Unlike the cluster or grid, a P2P network does not use a dedicated
interconnection network.
 The physical network is simply an ad hoc network formed at various
Internet domains randomly using the TCP/IP and NAI protocols.
 Thus, the physical network varies in size and topology dynamically
due to the free membership in the P2P network.

1.3.3.2 Overlay Networks

Data items or files are distributed in the participating peers. Based on


communication or file-sharing needs, the peer IDs form an overlay

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

network at the logical level. This overlay is a virtual network formed by


mapping each physical machine with its ID, logically, through a virtual
mapping as shown in Figure 1.17.

 When a new peer joins the system, its peer ID is added as a node in
the overlay network. When an existing peer leaves the system, its
peer ID is removed from the overlay network automatically.
 Therefore, it is the P2P overlay network that characterizes the
logical connectivity among the peers.
 There are two types of overlay networks: unstructured and
structured.
 An unstructured overlay network is characterized by a random
graph. There is no fixed route to send messages or files among the
nodes. Often, flooding is applied to send a query to all nodes in an
unstructured overlay, thus resulting in heavy network traffic and
nondeterministic search results.
 Structured overlay networks follow certain connectivity topology
and rules for inserting and removing nodes (peer IDs) from the
overlay graph. Routing mechanisms are developed to take
advantage of the structured overlays.

1.3.3.3 P2P Application Families

Based on application, P2P networks are classified into four


groups, as shown in Table 1.5.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

P2P Network Families: The first family is for distributed file sharing of
digital contents (music, videos, etc.) on the P2P network.

Distributed File Sharing: This includes many popular P2P networks


such as Gnutella, Napster, and BitTorrent, among others.

Collaboration P2P Networks: Collaboration P2P networks include MSN


or Skype chatting, instant messaging, and collaborative design, among
others.

Distributed P2P Computing: The third family is for distributed P2P


computing in specific applications.

For example, SETI@home provides 25 Tflops of distributed computing


power, collectively, over 3 million Internet host machines.

Other P2P platforms, such as JXTA, .NET, and FightingAID@home,


support naming, discovery, communication, security, and resource
aggregation in some P2P applications.

1.3.3.4 P2P Computing Challenges

Heterogeneity Problems in P2P Computing: P2P computing faces


three types of heterogeneity issues:

 Hardware: Too many hardware models and architectures to choose


from.
 Software: Incompatibility between software and the OS.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Network: Different network connections and protocols, making real-


world applications complex.
System Scalability:

 Scalability is needed as workload increases.


 System scaling is directly related to performance and bandwidth.
 P2P networks inherently possess these properties.
Data Location and Design Objectives: Data location significantly
affects collective performance.

Three key design objectives in distributed P2P applications:

 Data locality: Keeping data close to where it is needed.


 Network proximity: Reducing latency by optimizing network
paths.
 Interoperability: Ensuring compatibility across systems.

P2P Performance Factors: Performance is influenced by:

 Routing efficiency.
 Self-organization by participating peers.
Challenges in P2P Networks:

 Fault tolerance: Handling peer failures gracefully.


 Failure management: Managing and recovering from failures.
 Load balancing: Distributing workloads evenly across peers.
 Lack of trust: Peers are strangers, leading to security and privacy
concerns.
 Copyright violations: A major concern for industries using P2P
technology.
Resource Sharing in P2P Networks: All clients in a P2P network
provide resources, including:

 Computing power.
 Storage space.
 I/O bandwidth.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Advantages of P2P Networks:

 Robustness: Distributed nature prevents single points of failure.


 Data replication: Data can be replicated across multiple peers,
reducing data loss in case of node failures.
Disadvantages of P2P Networks:

 Lack of centralization: Makes system management difficult.


 Security issues: Anyone can log on and cause damage or abuse.
 Unreliable clients: Client computers may not be reliable or virus-
free.
Thus:

 Reliable for a small number of peer nodes.


 Suitable for applications with low security requirements and no
concerns about data sensitivity.

1.3.4 Cloud Computing over the Internet

Gordon Bell, Jim Gray, and Alex Szalay advocate that computational
science is becoming data-intensive.

Supercomputers need to be balanced systems, not just CPU farms, but


also equipped with petascale I/O and networking arrays.

Future of Data Processing: Working with large data sets will involve
sending computations (programs) to the data, rather than copying data to
workstations.

Trend in IT:

 Computing and data are moving from desktops to large data


centers.
 Data centers provide on-demand provision of software, hardware,
and data as a service.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Data Explosion and Cloud Computing: The explosion of data has


promoted the idea of cloud computing.

Definition of Cloud Computing: Cloud computing has been defined


differently by various users and designers.

IBM defines a cloud as:

 A pool of virtualized computer resources.


 Capable of hosting diverse workloads, including batch-style backend
jobs and interactive, user-facing applications.
Features of Cloud Computing:

 Allows workloads to be deployed and scaled out quickly through


rapid provisioning of virtual or physical machines.
 Supports redundant, self-recovering, and highly scalable
programming models.
 Enables workloads to recover from hardware/software failures.
Real-Time Resource Management: Cloud systems can monitor
resource use in real time. This enables rebalancing of resource allocations
when necessary.

1.3.4.1 Internet Clouds

Virtualized Platform in Cloud Computing:


 Cloud computing uses a virtualized platform with elastic resources.
 Resources such as hardware, software, and data sets are
provisioned dynamically on demand.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Shift from Desktop Computing to Service-Oriented Platforms:


 The goal is to move desktop computing to service-oriented
platforms.
 These platforms rely on server clusters and huge databases located
in data centers.
Benefits of Cloud Computing:
 Leverages low cost and simplicity to benefit both users and
providers.
 Machine virtualization enables cost-effectiveness.
User Application Support: Cloud computing aims to satisfy many user
applications simultaneously.
Design Requirements for Cloud Ecosystems: Must be designed to be
secure, trustworthy, and dependable.
Perceptions of Cloud Computing:
 Some users view the cloud as a centralized resource pool.
 Others see it as a server cluster that practices distributed
computing across all servers.

1.3.4.2 The Cloud Landscape

In traditional distributed computing systems, the system is typically


owned and operated by a single entity, such as a research laboratory or
company, for their own on-premises computing needs. However, these
systems have several drawbacks:

 Constant system maintenance is required, which can be time-


consuming and costly.
 The system may not be utilized to its full capacity, leading to wasted
resources.
 Upgrading hardware and software can be expensive and may
require significant downtime.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Cloud computing, on the other hand, is an on-demand computing


paradigm that can help alleviate these problems. With cloud computing,
users can access computing resources on-demand, without having to
worry about the underlying infrastructure. This means that:

 Maintenance is handled by the cloud provider, freeing up resources


for more important tasks.
 Resources can be scaled up or down as needed, ensuring optimal
utilization.
 Upgrades are handled by the cloud provider, reducing downtime and
costs.

Below figure depicts the cloud landscape and major cloud players, based
on three cloud service models.

Infrastructure as a Service (IaaS)

Provides infrastructure components demanded by users, including:


Servers, Storage, Networks and Data center fabric

 Allows users to deploy and run multiple Virtual Machines (VMs) with
guest operating systems and specific applications.
 Users do not manage or control the underlying cloud infrastructure.
 Users can specify when to request and release resources as
needed.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Offers flexibility and scalability for deploying applications without


managing physical hardware.

Platform as a Service (PaaS)

Allows users to deploy user-built applications onto a virtualized cloud


platform.

 Includes: Middleware, Databases, Development tools and Runtime


support (e.g., Web 2.0, Java)
 Combines hardware and software integrated with specific
programming interfaces.
 Providers supply: APIs and Software tools (e.g., Java, Python, Web
2.0, .NET)
 Users are freed from managing the underlying cloud infrastructure.
 Focuses on application development and deployment without
worrying about hardware or software maintenance.

Software as a Service (SaaS)

This refers to browser-initiated application software over thousands of paid


cloud customers.

 Applications of SaaS: The SaaS model applies to business processes,


industry applications, consumer relationship management (CRM),
enterprise resources planning (ERP), human resources (HR), and
collaborative applications.
 Customer Perspective: On the customer side, there is no upfront
investment in servers or software licensing.
 Provider Perspective: On the provider side, costs are rather low,
compared with conventional hosting of user applications.

Internet clouds offer four deployment modes:

 Private, Public, Managed, and Hybrid.

These modes demand different levels of security implications.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

The different SLAs imply that the security responsibility is shared among
all the cloud providers, the cloud resource consumers, and the third-party
cloud-enabled software providers.

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

3. Separation of infrastructure maintenance duties from domain-specific


application development

4. Significant reduction in cloud computing cost, compared with traditional


computing paradigms

5. Cloud computing programming and application development

6. Service and data discovery and content/service distribution

7. Privacy, security, copyright, and reliability issues

8. Service agreements, business models, and pricing policies

1.4 SOFTWARE ENVIRONMENTS FOR DISTRIBUTED SYSTEMS AND


CLOUDS

This section introduces popular software environments for using


distributed and cloud computing systems.

1.4.1 Service-Oriented Architecture (SOA)

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Different distributed computing architectures (grids/web services, Java,


CORBA) build on the OSI model and use base software environments
(.NET, JVM, broker networks) to create higher-level environments.

These environments focus on entity interfaces and communication,


effectively rebuilding the top OSI layers at a logical (entity) level rather
than a physical (bit) level.

Entities in Different Architectures:

 In grids/web services, an entity is a service.


 In Java, an entity is a Java object.
 In CORBA, an entity is a CORBA distributed object (which can be
implemented in various languages).

Base Networking Abstractions:

 All these architectures build on the traditional seven Open


Systems Interconnection (OSI) layers, which provide
foundational networking abstractions.

Base Software Environment:

 For web services, the base environment is .NET or Apache Axis.


 For Java, the base environment is the Java Virtual Machine
(JVM).
 For CORBA, the base environment is a broker network.

Higher-Level Environment:

1. On top of the base software environment, a higher-level


environment is built to reflect the unique features of the
distributed computing environment.

This includes:

 Entity interfaces (defining how entities interact).


 Inter-entity communication (how entities communicate with each
other).

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Rebuilding OSI Layers:

 The higher-level environment essentially rebuilds the top four


OSI layers (Session, Presentation, Application, and sometimes
Transport layers).
 However, this is done at the entity level (logical level) rather than
the bit level (physical level).

1.4.1.1 Layered Architecture for Web Services and Grids

 The architecture is hierarchical, starting from physical networking


components to high-level web and grid services.
 The base hosting environment acts as a bridge between network-
level and service-level operations.
 The higher-level services focus on application needs, service
discovery, and workflow automation.
 The lower-level network stack ensures connectivity and data
exchange over the internet.
 The architecture supports web services and grid computing, making
it scalable and interoperable.

Layered Structure: The architecture is divided into multiple layers, each


serving a specific role in web services and grid computing.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Lower-Level (Bit Level Internet): This layer includes essential


networking protocols and infrastructure, such as:

 Data Link/Physical Layer: Hardware and transmission media.


 Network Layer: IP addresses and routing.
 Transport Layer: Protocols like TCP and UDP.
 Session Layer: Secure communication using SSH.
 Presentation Layer: Data encoding using XDR.
 Application Layer: Protocols such as HTTP, FTP, and DNS.

Base Hosting Environment: Acts as a transition layer between the


lower-level network stack and higher-level services.

Higher-Level (Service Internet and Service Context):

 Service Interfaces: Define how applications interact.


 Service Internet Transport → Protocol: Enables communication
over the internet.
 Service Discovery and Management: Helps applications find and
manage services.
 Workflow and Grids: Facilitate distributed computing and
automation.
 Application-Specific Services: Provide domain-specific
functionalities

1.4.1.3 The Evolution of SOA

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Figure 1.21 Illustrates the evolution of Service-Oriented Architecture


(SOA) by showing how raw data from various sensor services (SS), such as
databases, grids, and devices, is processed through multiple layers to
become useful knowledge for decision-making.

The filter services (FS) refine raw data, and the processed data moves
through different clouds (compute, storage, filter, and discovery) to
extract meaningful information.

Finally, all refined data and insights are sent to a portal, where users can
access and make informed decisions. This structured approach helps in
managing large-scale data efficiently for better intelligence and decision-
making.

Evolution of SOA: SOA has evolved over the years and applies to various
computing paradigms such as: Grids, Clouds, Grids of clouds, Clouds of
grids, Clouds of clouds (Interclouds) and Systems of systems.

Sensor Services (SS) for Data Collection: A large number of sensors


provide data-collection services, denoted as SS (sensor service).

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Sensors can include: ZigBee devices, Bluetooth devices, Wi-Fi


access points, Personal computers, GPS devices and Wireless
phones.
 Raw data is collected by these sensor services.

Interaction with Computing Resources: SS devices interact with large


and small computers, Grids, Databases, Compute cloud, Storage cloud,
Filter cloud and Discovery cloud.

Filter Services (FS) for Data Refinement: Filter services (FS) help
eliminate unwanted raw data.

 They respond to specific requests from: The Web, The Grid, Web
services.
 A collection of filter services forms a filter cloud.

Role of SOA in Data Processing

 Various clouds exist for compute, storage, filter, and discovery.

 SOA helps process massive raw data into useful information.

 It extracts intelligence and wisdom from large knowledge bases.

 Intelligent decisions are made based on biological and machine


wisdom.

Web Interface and Portals in Distributed Systems: Most distributed


systems require a web interface or portal. The data stream follows a
sequence of:

 Compute cloud
 Storage cloud
 Filter cloud
 Discovery cloud

Finally, inter-service messages converge at the portal, which is


accessed by all users.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.4.1.4 Grids versus Clouds

The distinction between grids and clouds is becoming


increasingly blurred. The main differences between the two are:

1. Resource allocation: Grids typically use static resources, while


clouds emphasize elastic resources.

2. Dynamic resource allocation: Clouds use virtualization and


autonomic computing to dynamically allocate resources, whereas
grids do not.

It is possible to build a hybrid system that combines the benefits


of both grids and clouds.

For example:

1. A cloud of clouds: This would allow for negotiated resource


allocation and better support for critical business process models.

2. A grid of clouds: This would enable the use of static resources


from a grid, while also leveraging the elastic resources of a cloud.

3. A cloud of grids: This would allow for the integration of multiple


grids, each with its own set of resources and capabilities.

4. Inter-clouds: This would enable the integration of multiple clouds,


allowing for the sharing of resources and the creation of a more
robust and scalable system.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.4.2 Trends toward Distributed Operating Systems

1.4.2.1 Distributed Operating Systems

Understanding these approaches is crucial for designing and


implementing effective distributed systems that meet the needs of users
and applications.

Tanenbaum's Approaches to Distributed Resource Management.

Tanenbaum identifies three approaches for distributing resource


management functions in a distributed computer system.

The first approach is to build a network OS over a large number of


heterogeneous OS platforms.

 This approach offers the lowest transparency to users and is


essentially a distributed file system.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Independent computers rely on file sharing as a means of


communication in this approach.

The second approach is to develop middleware to offer a limited degree


of resource sharing.

 This approach is similar to the MOSIX/OS developed for clustered


systems.

The third approach is to develop a truly distributed OS to achieve higher


use or system transparency.

 This approach aims to provide a higher level of transparency and


resource sharing among computers in the system.

Thus, Tanenbaum's approaches highlight the trade-offs between


transparency, resource sharing, and system complexity in distributed
computer systems.

1.4.2.2 Amoeba versus DCE

Table 1: Comparison of Amoeba and DCE

Feature Amoeba DCE

Middleware-based system for


Academically developed at Free
Development distributed computing
University in the Netherlands
environments

Promoter None Open Software Foundation (OSF)

Usage Primarily used in academia Primarily used in academia

Commercial No successful commercial OS No successful commercial OS


Success products products

Table 2: Requirements for Distributed Operating Systems

Requirement Description

Virtualization of Support virtualization of resources in distributed

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Requirement Description

Resources environments

Resource Balance resource management workload by distributing


Management functionalities to any available server

Take a lightweight microkernel approach like Amoeba or


OS Design
extend an existing OS like DCE by extending UNIX

User Experience Free users from most resource management duties

1.4.2.3 MOSIX2 for Linux Clusters

 MOSIX2 is a distributed OS that runs with a virtualization layer in the


Linux environment.

 The virtualization layer provides a partial single-system image to


user applications.

 MOSIX2 supports both sequential and parallel applications.

 It discovers resources and migrates software processes among Linux


nodes.

 MOSIX2 can manage a Linux cluster or a grid of multiple clusters.

 It provides flexible management of a grid, allowing owners of


clusters to share their computational resources among multiple
cluster owners.

 The MOSIX2 is being explored for managing resources in all sorts of


clusters, including Linux clusters, GPU clusters, grids, and even
clouds if VMs are used.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.4.2.4 Transparency in Programming Environments

Figure 1.22 shows the concept of a transparent computing infrastructure


for future computing platforms.

 The user data, applications, OS, and hardware are separated into
four levels. Data is owned by users, independent of the applications.
 The OS provides clear interfaces, standard programming interfaces,
or system calls to application programmers.
 In future cloud infrastructure, the hardware will be separated by
standard interfaces from the OS.
 Thus, users will be able to choose from different OSes on top of the
hardware devices they prefer to use.
 To separate user data from specific application programs, users can
enable cloud applications as SaaS.
 Thus, users can switch among different services. The data will not
be bound to specific applications.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.4.3 Parallel and Distributed Programming Models

Message-Passing Interface (MPI)

 Primary Programming Standard: MPI is the primary


programming standard used to develop parallel and concurrent
programs to run on a distributed system.
 Library of Subprograms: MPI is a library of subprograms that can
be called from C or FORTRAN to write parallel programs running on a
distributed system.
 Distributed Systems: MPI is designed to work with clusters, grid
systems, and peer-to-peer (P2P) systems, as well as upgraded web
services and utility computing applications.
 Parallel Programming: MPI enables parallel programming,
allowing multiple processes to run concurrently and communicate
with each other.
 Message Passing: MPI uses message passing to enable
communication between processes, allowing them to exchange data
and coordinate their actions.
 Portability: MPI is designed to be portable, allowing programs
written in MPI to run on a variety of platforms and architectures.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Alternative to Low-Level Primitives: While MPI is a high-level


interface, it can be used as an alternative to low-level primitives
such as the Parallel Virtual Machine (PVM) for distributed
programming.

Benefits:

 Efficient Communication.
 Easy to Use.
 Scalability.
 Flexibility.

Use Cases:

 High-Performance Computing.
 Cloud Computing.
 Computing.
 Peer-to-Peer Computing.

MapReduce

1. Web Programming Model: MapReduce is a web programming


model for scalable data processing on large clusters over large data
sets.

2. Mainly Used in: MapReduce is mainly used in web-scale search


and cloud computing applications.

3. Map Function: The user specifies a Map function to generate a set


of intermediate key/value pairs.

4. Reduce Function: The user applies a Reduce function to merge all


intermediate values with the same intermediate key.

5. Highly Scalable: MapReduce is highly scalable to explore high


degrees of parallelism at different job levels.

6. Large Data Handling: A typical MapReduce computation process


can handle terabytes of data on tens of thousands or more client
machines.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

7. Simultaneous Execution: Hundreds of MapReduce programs can


be executed simultaneously; in fact, thousands of MapReduce jobs
are executed on Google's clusters every day.

Benefits:

 Scalability
 Parallelism
 Flexibility
 Ease of Use

Use Cases:

 Web-Scale Search:
 Cloud Computing
 Data Processing
 Big Data

Hadoop Library

 Hadoop offers a software platform that was originally developed by


a Yahoo! group.
 The package enables users to write and run applications over vast
amounts of distributed data.
 Users can easily scale Hadoop to store and process petabytes of
data in the web space. Also, Hadoop is economical in that it comes
with an open-source version of MapReduce that minimizes overhead
in task spawning and massive data communication.
 It is efficient, as it processes data with a high degree of parallelism
across a large number of commodity nodes, and it is reliable in that
it automatically keeps multiple data copies to facilitate
redeployment of computing tasks upon unexpected system failures.

1.4.3.4 Open Grid Services Architecture (OGSA)

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

The development of grid infrastructure is driven by large-scale distributed


computing applications. These applications must count on a high degree
of resource and data sharing.

Table 1.8 introduces OGSA as a common standard for general public use
of grid services.

1.5 PERFORMANCE, SECURITY, AND ENERGY EFFICIENCY

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Performance metrics are needed to measure various distributed


systems.

1.5.1.1 Performance Metrics

 CPU speed in MIPS and network bandwidth in Mbps to estimate


processor and network performance.
 In a distributed system, performance is attributed to a large number
of factors.
 System throughput is often measured in MIPS, Tflops (tera floating-
point operations per second), or TPS (transactions per second).
 Other measures include job response time and network latency.
 An interconnection network that has low latency and high bandwidth
is preferred. System overhead is often attributed to OS boot time,
compile time, I/O data rate, and the runtime support system used.
 Other performance-related metrics include the QoS for Internet and
web services; system availability and dependability; and security
resilience for system defense against network attacks.

1.5.1.2 Dimensions of Scalability

 Users expect distributed systems to deliver scalable performance.


 Resource upgrades should be backward compatible with existing
hardware and software.
 Overdesigning a system may not be cost-effective.
 System scaling can involve increasing or decreasing resources
based on practical factors.

Size Scalability:
 Achieved by increasing machine size to enhance performance or
functionality.
 "Size" refers to adding processors, cache, memory, storage, or I/O
channels.
 Measured by counting the number of processors installed.
 Not all architectures are equally size-scalable.
 Example: IBM S2 scaled to 512 processors in 1997.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Example: IBM BlueGene/L scaled to 65,000 processors in 2008.

Software Scalability:

 Involves upgrades to the OS, compilers, libraries, and application


software.
 Includes porting new software and improving programming
environments.
Challenges:

 Some software upgrades may not work with large system


configurations.
 Testing and fine-tuning new software on larger systems is complex.
Application Scalability:

 Focuses on matching problem size scalability with machine size


scalability.
 Problem size affects data set size or workload increase.
 Instead of increasing machine size, users can enlarge the problem
size to improve system efficiency or cost-effectiveness.
Technology Scalability:

Refers to a system's ability to adapt to changes in building technologies


(e.g., components, networking).
Three key aspects to consider:
Time (Generation Scalability):

 Impact of new-generation processors on motherboard, power


supply, packaging, and cooling.
 Commodity processors are typically upgraded every 3-5 years.
Space:

 Concerns related to packaging and energy efficiency.


 Requires harmony and portability among suppliers.
Heterogeneity:

 Involves using hardware or software from different vendors.


 May limit scalability due to compatibility issues.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

1.5.1.3 Scalability versus OS Image Count

In Figure 1.23, scalable performance is estimated against the multiplicity


of OS images in distributed systems deployed up to 2010.

labelled Figure 1.23, is a graphical representation that illustrates the


relationship between system scalability (measured by the number of
processors or cores in a system) and the multiplicity of OS images (i.e.,
the number of operating system instances running in a system).

The graph uses a logarithmic scale on the y-axis to represent scalability,


ranging from 1 to 10^7 (10 million) processors or cores.

 The image helps users understand how different system


architectures (e.g., SMP, NUMA, Cluster, Cloud) scale in terms of the
number of processors/cores and the number of OS images.

 It highlights the trade-offs between scalability and the complexity of


managing multiple OS images.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Systems like Cloud and Grid offer high scalability but require
managing multiple OS instances, while SMP is simpler but less
scalable.

 The graph serves as a reference for choosing the right system


architecture based on scalability needs and OS management
complexity.

Scalability:

 The y-axis represents the scalability of a system, measured by the


number of processors or cores.
 Higher values indicate systems capable of handling more processors
or cores, implying greater scalability.
Multiplicity of OS Images:

 The x-axis represents the number of operating system instances (OS


images) running in a system.
 Systems with a single OS image (e.g., SMP) are on the left, while
systems with multiple OS images (e.g., Cloud, Grid) are on the right.
System Architectures:

The graph categorizes different system architectures based on their


scalability and OS image multiplicity:

 SMP (Symmetric Multi-Processing): Typically has a single OS


image and moderate scalability.
 NUMA (Non-Uniform Memory Access): Scalable but limited by
memory access constraints.
 Cluster: Multiple OS images with moderate to high scalability.
 P2P (Peer-to-Peer): Distributed systems with multiple OS images
and varying scalability.
 Cloud: Highly scalable with multiple OS images, designed for large-
scale distributed computing.
 Grid: Similar to Cloud but often used for specific large-scale
computational tasks.
Technology Context:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 The graph is based on 2010 technology, reflecting the state of


system architectures and scalability at that time.

1.5.1.4 Amdahl’s Law

 Amdahl's Law is used to analyze the speedup of a program when


parallelized across multiple processors.
 It considers the fraction of the program that must run sequentially
(sequential bottleneck) and the fraction that can be parallelized.

Execution Time Calculation:

Speedup Factor: Speedup (S) is the ratio of the execution time on a


single processor to the execution time on n processors.

Formula:

Upper Bound on Speedup:

Sequential Bottleneck:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Thus:

Increasing the number of processors alone does not guarantee a good speedup if
the sequential bottleneck is large. Focus should be on reducing the
sequential portion of the code to improve parallel performance.

1.5.1.5 Problem with Fixed Workload

 Amdahl’s law assumes the same amount of workload for both


sequential and parallel execution.

 This is called fixed-workload speedup by Hwang and Xu.

System Efficiency:

When executing a fixed workload on n processors, system efficiency is


defined as

Challenges with Large Cluster Size: System efficiency is often low,


especially when the cluster size is very large.

Example: Consider a cluster with n=256

Efficiency calculation:

This shows extremely low efficiency.

Reason for Low Efficiency:

 Only a few processors (e.g., 4 processors) remain busy.


 The majority of the nodes are left idling.

1.5.1.6 Gustafson’s Law

Gustafson's Law Overview:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Gustafson's Law focuses on achieving higher efficiency in parallel


computing by scaling the problem size to match the capabilities of a
large cluster.
 It is also referred to as the scaled-workload speedup.

Scaled Workload:

 Let W be the workload of a given program.

 When using an n-processor system, the workload is scaled to:

Only the parallelizable portion of the workload is scaled n times.

Scaled-Workload Speedup:

 The scaled workload W′ represents the sequential execution time on


a single processor.

 The parallel execution time of the scaled


workload W on n processors is given by:

This is known as Gustafson's Law.

Efficiency Expression:

Application of Amdahl's Law and Gustafson's Law:

 Amdahl's Law should be applied for fixed workloads.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Gustafson's Law should be applied for scaled problems where the


workload is increased to match the cluster's capabilities.

1.5.2 Fault Tolerance and System Availability

In addition to performance, system availability and application flexibility


are two other important design goals in a distributed computing system.

1.5.2.1 System Availability

The figure helps users understand how different computing architectures


scale in terms of processor count and reliability, aiding in system selection
based on performance needs and fault tolerance.

The image presents a comparison of system configurations based on


system availability and system size (# of processor cores) as estimated in
2010. It categorizes different computing architectures, showing how they
scale in terms of processor cores and availability:

Small-scale systems: SMP (Symmetric Multiprocessing) and NUMA (Non-


Uniform Memory Access) have low system sizes and moderate availability.

Medium-scale systems: Clusters and Cloud Computing offer higher


availability with more processor cores.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Large-scale systems: Massively Parallel Processing (MPP) and Grid


Computing operate at a much larger scale with varying availability.

Extreme-scale systems: P2P (Peer-to-Peer) networks extend beyond


MPP/Grid but tend to have lower availability.

High Availability (HA):

 HA is desired in clusters, grids, P2P networks, and cloud systems.


 A system is highly available if it has a long Mean Time To Failure
(MTTF) and a short Mean Time To Repair (MTTR).

System Availability Formula: System availability is defined as:

Factors Affecting System Availability:

 Hardware, software, and network components can fail.


 A single point of failure is any failure that can bring down the
entire system.
 Designing a dependable system involves eliminating single points of
failure.

Enhancing System Availability:

 Adding hardware redundancy.


 Increasing component reliability.
 Designing for testability.
1.5.3 Network Threats and Data Integrity
Clusters, grids, P2P networks, and clouds demand security and copyright
protection if they are to be accepted in today’s digital society.
1.5.3.1 Threats to Systems and Networks

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Network viruses and attacks pose significant threats to systems and


networks, leading to financial losses and operational disruptions.
 Various attack types, such as information leaks, integrity violations,
DoS, and illegitimate use, can cause different types of damage.
 Open resources like data centers, P2P networks, and cloud
infrastructures are particularly vulnerable and require protection.
 Users must take responsibility for securing these systems to prevent
malicious intrusions and ensure their reliability.

Threats to Systems and Networks:

 Network viruses have caused widespread attacks, leading to a worm


epidemic that has disrupted routers and servers.
 These incidents have resulted in significant financial losses for
businesses, governments, and services.
Types of Attacks and Their Damage:

 Loss of Confidentiality: Caused by information leaks.


 Loss of Integrity: Caused by user alteration, Trojan horses, and
service spoofing attacks.
 Denial of Service (DoS): Results in a loss of system operation and
Internet connections.
 Illegitimate Use: Caused by lack of authentication or
authorization, allowing attackers to misuse computing resources.
Vulnerable Systems:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Open resources such as data centers, P2P networks, and grid and
cloud infrastructures are potential targets for attacks.
 Users need to protect clusters, grids, clouds, and P2P systems to
prevent malicious intrusions.
Consequences of Attacks:

 Malicious intrusions can destroy valuable hosts, network resources,


and storage resources.
 Internet anomalies in routers, gateways, and distributed hosts can
hinder the acceptance of public-resource computing services.
User Responsibility:

 Users must ensure the security of clusters, grids, clouds, and P2P
systems.
 If these systems are not adequately protected, users should avoid
using or trusting them for outsourced work.
Thus,
The diagram visually explains how different cyber threats impact system
security, helping users understand vulnerabilities and their
consequences on confidentiality, integrity, availability, and
authentication.
1.5.3.2 Security Responsibilities

The three primary security requirements are confidentiality, integrity,


and availability.

 These are critical for most Internet service providers and cloud
users.
 The responsibility for security control shifts from providers to users
across different cloud service models: SaaS, PaaS, and IaaS.

SaaS (Software as a Service):

 The cloud provider is responsible for performing all security


functions.
 Users rely entirely on the provider for security.

IaaS (Infrastructure as a Service):

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Users assume almost all security functions.


 The provider is only responsible for ensuring availability.

PaaS (Platform as a Service):

 The provider is responsible for maintaining data


integrity and availability.
 The user is responsible for confidentiality and privacy control.

1.5.3.3 Copyright Protection

 Collusive piracy is the main source of intellectual property violations


within the boundary of a P2P network.
 Paid clients (colluders) may illegally share copyrighted content files
with unpaid clients (pirates).
 Online piracy has hindered the use of open P2P networks for
commercial content delivery. One can develop a proactive content
poisoning scheme to stop colluders and pirates from alleged
copyright infringements in P2P file sharing.
 Pirates are detected in a timely manner with identity-based
signatures and timestamped tokens. This scheme stops collusive
piracy from occurring without hurting legitimate P2P clients.

1.5.3.4 System Defense Technologies

Three generations of network defense technologies have appeared in the


past.

 In the first generation, tools were designed to prevent or avoid


intrusions. These tools usually manifested themselves as access
control policies or tokens, cryptographic systems, and so forth.
However, an intruder could always penetrate a secure system
because there is always a weak link in the security provisioning
process.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 The second generation detected intrusions in a timely manner to


exercise remedial actions. These techniques included firewalls,
intrusion detection systems (IDSes), PKI services, reputation
systems, and so on.
 The third generation provides more intelligent responses to
intrusions.

1.5.3.5 Data Protection Infrastructure

 Security infrastructure is required to safeguard web and cloud


services.
 At the user level, one needs to perform trust negotiation and
reputation aggregation over all users.
 At the application end, we need to establish security precautions in
worm containment and intrusion detection against virus, worm, and
distributed DoS (DDoS) attacks.
 We also need to deploy mechanisms to prevent online piracy and
copyright violations of digital content.

1.5.4 Energy Efficiency in Distributed Computing

Energy Efficiency in Distributed Computing

 Primary performance goals: high performance, high throughput, and


performance reliability (fault tolerance and security)
 New challenges: energy efficiency, workload and resource
outsourcing
 Energy efficiency is crucial for sustainability of large-scale
computing systems

Energy Consumption Issues in Servers and HPC Systems


(Distributed Power Management - DPM)

 Energy consumption raises monetary, environmental, and system


performance issues
 Examples: Earth Simulator (12 megawatts peak power) and Petaflop
(100 megawatts peak power)

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Energy costs during peak operation times: 1,200 and 10,000 per
hour, respectively
 Cooling is another issue due to negative effects of high temperature
on electronic components

Impact of High Temperature on Electronic Components

 Rising temperature derails circuit from normal range


 Decreases lifetime of electronic components

1.5.4.1 Energy Consumption of Unused Servers

Energy Consumption of Unused Servers

 Companies spend a significant amount of money on hardware,


software, operational support, and energy for server farms (data
centers)

 Companies should identify whether their installed server farm is at


an appropriate level, particularly in terms of utilization

 Estimated 15% of full-time servers are left powered on without


being actively used (idling) on a daily basis

 Around 4.7 million servers worldwide are not doing any useful work

 Potential savings in turning off these servers:

 $3.8 billion globally in energy costs

 $24.7 billion in total cost of running nonproductive servers

 11.8 million tons of carbon dioxide per year (equivalent to 2.1


million cars)

 In the United States, 3.17 million tons of carbon dioxide


(equivalent to 580,678 cars)

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Actionable Step for IT Departments

 Analyze servers to find unused and/or underutilized servers

1.5.4.2 Reducing Energy in Active Servers

After identifying unused/underutilized servers for energy savings, it is also


necessary to apply appropriate techniques to decrease energy
consumption in active distributed systems with negligible influence on
their performance.

Power management issues in distributed computing platforms can be


categorized into four layers (see Figure 1.26): the application layer,
middleware layer, resource layer, and network layer.

1.5.4.3 Application Layer

 Most user applications in various fields (science, business,


engineering, finance) focus on increasing system speed or quality

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Energy-aware applications are needed to design sophisticated


energy management applications without compromising
performance
 First step: explore the relationship between performance and energy
consumption

An application's energy consumption depends on:

 Number of instructions needed to execute the application

 Number of transactions with the storage unit (or memory)

These two factors (compute and storage) are correlated and affect
completion time

1.5.4.4 Middleware Layer

Acts as a bridge between the application layer and the resource layer

Provides various capabilities:

 Resource broker
 Communication service
 Task analyzer
 Task scheduler
 Security access
 Reliability control
 Information service

Responsible for applying energy-efficient techniques, particularly in task


scheduling

 Traditional scheduling aimed at minimizing makespan (execution


time of a set of tasks)

 Distributed computing systems require a new cost function that


covers both makespan and energy consumption.

1.5.4.5 Resource Layer

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Resource Layer

 Consists of various resources, including computing nodes and


storage units

 Interacts with hardware devices and the operating system

 Responsible for controlling distributed resources in distributed


computing systems

Power Management Mechanisms

 Several mechanisms have been developed for efficient power


management of hardware and operating systems

 Majority are hardware approaches, particularly for processors

Dynamic Power Management (DPM)

 Hardware devices (e.g. CPU) can switch from idle mode to lower-
power modes

 Achieves energy savings by reducing power consumption

Dynamic Voltage-Frequency Scaling (DVFS)

 Energy savings achieved by controlling power consumption based


on frequency and voltage supply

 Execution time and power consumption controllable by switching


among different frequencies and voltages

1.5.4.6 Network Layer

Network Layer:

 Responsible for routing and transferring packets and enabling


network services to the resource layer

 Main challenge: determining how to measure, predict, and create a


balance between energy consumption and performance

Energy-Efficient Networks: Two major challenges:

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

 Developing models that comprehensively represent networks,


considering interactions among time, space, and energy
 Developing new, energy-efficient routing algorithms and protocols
against network attacks

Data Centers: Increasing importance in storing and processing


information, providing services, and driving economic and social
development.

Traditional data centers suffer from:

 High construction and operational costs


 Complex resource management
 Poor usability
 Low security and reliability
 Huge energy consumption

1.5.4.7 DVFS Method for Energy Efficiency

The DVFS method enables the exploitation of the slack time (idle time)
typically incurred by intertask relationship.

Specifically, the slack time associated with a task is utilized to execute the
task in a lower voltage frequency.

The relationship between energy and voltage frequency in CMOS circuits


is related by:

_ _ _*****_ _ _

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

Basic Techniques and Technologies:

1. High-Performance Computing (HPC) System: A system


designed for high-speed processing and simulation of complex data.

2. High-Throughput Computing (HTC) System: A system designed


for processing large amounts of data quickly and efficiently.

3. Peer-to-Peer (P2P) Network: A network where nodes act as both


clients and servers, allowing for decentralized data sharing and
collaboration.

4. Computer Cluster vs. Computational Grid: A comparison of two


approaches to distributed computing, where a cluster is a group of
computers connected together, while a grid is a network of
computers that can be dynamically allocated and deallocated.

5. Service-Oriented Architecture (SOA): An architectural style that


structures an application as a collection of services that can be
accessed and used by other applications.

6. Pervasive Computing vs. Internet Computing: A comparison of


two approaches to computing, where pervasive computing is about
embedding computing capabilities in everyday objects, while
internet computing is about accessing computing resources over the
internet.

7. Virtual Machine vs. Virtual Infrastructure: A comparison of two


approaches to virtualization, where a virtual machine is a software
emulation of a physical machine, while virtual infrastructure is a
software-defined infrastructure that abstracts away physical
hardware.

8. Public Cloud vs. Private Cloud: A comparison of two approaches


to cloud computing, where a public cloud is a shared infrastructure
provided by a third-party provider, while a private cloud is a
dedicated infrastructure managed by an organization.

By: Shivaraj BG & Shwetha Kamath


Cloud Computing BCS 601

9. Radio-Frequency Identifier (RFID): A technology that uses radio


waves to communicate between devices, often used for tracking
and identification purposes.

10. Global Positioning System (GPS): A technology that uses


satellites to provide location information and navigation.

11. Sensor Network: A network of sensors that collect and


transmit data from the physical environment.

12. Internet of Things (IoT): A network of physical devices,


vehicles, buildings, and other items that are embedded with
sensors, software, and connectivity, allowing them to collect and
exchange data.

13. Cyber-Physical System (CPS): A system that integrates


physical and computational components to interact with the
physical world and respond to changes in the environment.

By: Shivaraj BG & Shwetha Kamath

You might also like