0% found this document useful (0 votes)
48 views18 pages

CC Unit 1

Uploaded by

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

CC Unit 1

Uploaded by

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

LECTURE NOTES ON

CLOUD COMPUTING
FACULTY: PRAGYA GUPTA
IV YEAR B.TECH- IT (VII SEMESTER)
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, the Linpack Benchmark for
high-performance computing (HPC) applications is no longer optimal for
measuring system performance.
 The emergence of computing clouds instead demands high-
throughput computing (HTC) systems built with parallel and distributed
computing technologies . We have to upgrade data centers using fast
servers, storage systems, and high-bandwidth networks. The purpose
is to advance network-based computing and web services with the
emerging new technologies.
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. For instance,
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 mini- computers such as the DEC
PDP 11 and VAX Series became popular among small businesses and
on college campuses.
 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.
Fig 1. Evolutionary trend toward parallel, distributed, and
cloud computing with clusters, MPPs, P2P networks, grids,
clouds, web services, and the Internet of Things.
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. This improvement was driven
mainly by the demands from scientific, engineering, and manufacturing
communities.

 For example,the Top 500 most powerful computer systems in the


world are measured by floating-point speed in Linpack benchmark
results. However, the number of supercomputer users is limited to less
than 10% of all computer users.

 Today, the majority of computer users are using desktop computers


or large servers when they conduct Internet searches and market-
driven computing tasks.
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.
 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. This book will address both HPC and
HTC systems to meet the demands of all computer users.
Three New Computing Paradigms
 A Figure 1. illustrates, with the introduction of SOA, Web 2.0 services become
available. Advances in virtualization make it possible to see the growth of
Internet clouds as a new computing paradigm. The maturity of radio-frequency
identification (RFID), Global Positioning System (GPS), and sensor
technologies has triggered the development of the Internet of Things (IoT).

Computing Paradigm Distinctions


 . The high-technology community has argued for many years about the precise
definitions of centralized computing, parallel computing, distributed computing,
and cloud computing. In general, distributed computing is the opposite of
centralized computing. The field of parallel computing overlaps with distributed
computing to a great extent, and cloud computing overlaps with distributed,
centralized, and parallel computing. The following list defines these terms more
clearly; their architectural and operational differences are discussed further in
subsequent chapters.
Computing Paradigm Distinctions
 Centralized computing. This is a computing paradigm by which all
computer resources are centralized in one physical system. All
resources (processors, memory, and storage) are fully shared and
tightly coupled within one integrated OS. Many data centers and
supercomputers are centralized systems, but they are used in parallel,
distributed, and cloud computing applications
 Parallel computing In parallel computing, all processors are either
tightly coupled with centralized shared memory or loosely coupled with
distributed memory. Some authors refer to this discipline as parallel
processing. Interprocessor communication is accomplished through
shared memory or via message passing. A computer system capable of
parallel computing is commonly known as a parallel computer .
Programs running in a parallel computer are called parallel programs.
The process of writing parallel programs is often referred to as parallel
programming.
Computing Paradigm Distinctions

 Distributed computing This is a field of computer science/engineering that


studies distributed systems. A distributed system consists of multiple
autonomous computers, each having its own private memory, communicating
through a computer network. Information exchange in a distributed system is
accomplished through message passing. A computer program that runs in a
distributed system is known as a distributed program. The process of writing
distributed programs is referred to as distributed programming.

 Cloud computing An Internet cloud of resources can be either a centralized or


a distributed computing system. The cloud applies parallel or distributed
computing, or both. Clouds can be built with physical or virtualized resources
over large data centers that are centralized or distributed. Some authors
consider cloud computing to be a form of utility computing or service computing
COMPUTER CLUSTERS FOR SCALABLE
PARALLEL COMPUTING
 Technologies for network-based systems
 With the concept of scalable computing under our belt, it‘s time to
explore hardware, software, and network technologies for distributed
computing system design and applications. In particular, we will focus
on viable approaches to building distributed operating systems for
handling massive parallelism in a distributed environment.

 Cluster Development Trends Milestone Cluster Systems


 Clustering has been a hot research challenge in computer
architecture. Fast communication, job scheduling, SSI, and HA are
active areas in cluster research.
Fundamental Cluster Design Issues
 Scalable Performance: This refers to the fact that scaling of
resources (cluster nodes, memory capacity, I/O bandwidth, etc.) leads
to a proportional increase in performance. Of course, both scale-up and
scale down capabilities are needed, depending on application demand
or cost effectiveness considerations. Clustering is driven by scalability.
 Single-System Image (SSI): A set of workstations connected by an
Ethernet network is not necessarily a cluster. A cluster is a single
system. For example, suppose a workstation has a 300 Mflops/second
processor, 512 MB of memory, and a 4 GB disk and can support 50
active users and 1,000 processes.
 By clustering 100 such workstations, can we get a single system that
is equivalent to one huge workstation, or a mega-station, that has a 30
Gflops/second processor, 50 GB of memory, and a 400 GB disk and
can support 5,000 active users and 100,000 processes? SSI
techniques are aimed at achieving this goal.
Fundamental Cluster Design Issues

 Internode Communication: Because of their higher node complexity,


cluster nodes cannot be packaged as compactly as MPP nodes. The
internode physical wire lengths are longer in a cluster than in an MPP.
This is true even for centralized clusters.
 A long wire implies greater interconnect network latency. But more
importantly, longer wires have more problems in terms of reliability,
clock skew, and cross talking. These problems call for reliable and
secure communication protocols, which increase overhead. Clusters
often use commodity networks (e.g., Ethernet) with standard protocols
such as TCP/IP.
Fault Tolerance and Recovery:

 Clusters of machines can be designed to eliminate all


single points of failure. Through redundancy, a cluster can
tolerate faulty conditions up to a certain extent.
 Heartbeat mechanisms can be installed to monitor the
running condition of all nodes. In case of a node failure,
critical jobs running on the failing nodes can be saved by
failing over to the surviving node machines. Rollback
recovery schemes restore the computing results through
periodic check pointing.
Architecture of Computer Cluster:
IMPLEMENTATION LEVELS OF VIRTUALIZATION

 Virtualization is a computer architecture technology by which


multiple virtual machines (VMs) are multiplexed in the same hardware
machine. The idea of VMs can be dated back to the 1960s . The
purpose of a VM is to enhance resource sharing by many users and
improve computer performance in terms of resource utilization and
application flexibility.
 Hardware resources (CPU, memory, I/O devices, etc.) or software
resources (operating system and software libraries) can be virtualized
in various functional layers. This virtualization technology has been
revitalized as the demand for distributed and cloud computing
increased sharply in recent years.
IMPLEMENTATION LEVELS OF
VIRTUALIZATION

 The idea is to separate the hardware from the software to yield better
system efficiency. For example, computer users gained access to much
enlarged memory space when the concept of virtual memory was
introduced. Similarly, virtualization techniques can be applied to
enhance the use of compute engines, networks, and storage. In this
chapter we will discuss VMs and their applications for building
distributed systems. According to a 2009 Gartner Report, virtualization
was the top strategic technology poised to change the computer
industry. With sufficient storage, any computer platform can be installed
in another host computer, even if they use proc.
Levels of Virtualization Implementation

 A traditional computer runs with a host operating system


specially tailored for its hardware architecture ,After
virtualization, different user applications managed by their
own operating systems (guest OS) can run on the same
hardware, independent of the host OS.

 This is often done by adding additional software, called a


virtualization layer .This virtualization layer is known as
hypervisor or virtual machine monitor (VMM). The VMs are
shown in the upper boxes, where applications run with their
own guest OS over the virtualized CPU, memory, and I/O
resources.
Levels of Virtualization Implementation
 The main function of the software layer for virtualization is
to virtualize the physical hardware of a host machine into
virtual resources to be used by the VMs, exclusively. This
can be implemented at various operational levels, as we
will discuss shortly.
 The virtualization software creates the abstraction of VMs
by interposing a virtualization layer at various levels of a
computer
 system. Common virtualization layers include the
instruction set architecture (ISA) level, hardware level,
operating system level, library support level, and
application level.

You might also like