U19ads501 - CC U-1
U19ads501 - CC U-1
COURSE OUTCOMES
•Describe the main concepts, key technologies, strengths, and limitations of cloud
computing and the possible applications for state-of-the-art cloud computing.
•Explain the different cloud deployment models and virtualization.
•Explain the types of services that a cloud computing can provide. Apply the
appropriate cloud computing solutions and recommendations according to the
applications used.
•Describe different cloud computing tools.
•Explain about the core issues of cloud computing such as security and privacy.
U19ADS501 - Cloud Computing
Unit-1
Cloud computing, often referred to as simply “the cloud,” is the delivery of on-
demand computing resources — everything from applications to data centers —
over the internet on a pay-for-use basis.
- IBM
Overview of Distributed Computing
https://www.ibm.com/docs/en/txseries/8.2?topic=overview-what-is-distributed-computing
Overview of Distributed Computing
Cluster computing
•Cluster computing is a type of computing where a group of computers or nodes
are interconnected through Local Area Network (LAN) so that they may function
as one unit.
•Some critical cluster computing applications include Earthquake Simulation,
Petroleum Reservoir Simulation, Weather Forecasting, and Google Search Engine.
Classification of Clusters
•High-Availability Clusters (HA), High-Performance-Computing Clusters (HPC), and
Load-Balancing Clusters(LB).
•High-Availability(HA) Cluster is a configuration where several computers work
hand in hand so that if one machine fails, the computer’s requests are redirected
to other computers in the network. This function results in zero downtime, and it
is for this reason that High-Availability clusters are known as Failover Clusters.
Cluster Computing
• Grid Computing
Grid Computing
In cloud computing, resources are used in While in grid computing, resources are used in
3.
centralized pattern. collaborative pattern.
4. It is more flexible than grid computing. While it is less flexible than cloud computing.
Each core is essentially a processor with its own private cache (L1 cache). Multiple
cores are housed in the same chip with an L2 cache that is shared by all cores.
In the future, multiple CMPs(Chip Multiprocessor) could be built on the same CPU
chip with even the L3 cache on the chip. Multicore and multithreaded CPUs are
equipped with many high-end processors, including the Intel i7, Xeon, AMD
Opteron, Sun Niagara, IBM Power 6, and X cell processors.
18
Technologies for Network-based Systems
Each row represents the issue slots for a single execution cycle:
•A filled box indicates that the processor found an instruction to execute in that issue slot
on that cycle;
•An empty box denotes an unused slot. 21
Technologies for network-based systems
Multithreading Processors
• Four-issue (e.g. Sun Ultrasparc I)
– Implements instruction level parallelism (ILP) within a single
processor.
– Executes more than one instruction during a clock cycle by
sending multiple instructions to redundant functional units.
• Fine-grain multithreaded processor
– Switch threads after each cycle
– Interleave instruction execution
– If one thread stalls, others are executed
• Coarse-grain multithreaded processor
– Executes a single thread until it reaches certain situations
• Simultaneous multithread processor (SMT)
– Instructions from more than one thread can execute in any given
pipeline stage at a time.
22
Technologies for network-based systems
GPU Computing
A GPU is a graphics coprocessor or accelerator mounted on a computer’s graphics card
or video card. A GPU offloads the CPU from tedious graphics tasks in video editing
applications. The world’s first GPU, the GeForce 256, was marketed by NVIDIA in 1999.
Early GPUs functioned as coprocessors attached to the CPU. Today, the NVIDIA GPU
has been upgraded to 128 cores on a single chip. Furthermore, each core on a GPU can
handle eight threads of instructions.
GPUs are designed to handle large numbers of floating-point operations in parallel.
Conventional GPUs are widely used in mobile phones, game consoles, embedded
systems, PCs, and servers.
23
Technologies for network-based systems
Memory and Storage Technology
The upper curve in Figure below plots the growth of DRAM chip capacity from 16
KB in 1976 to 64 GB in 2011.
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.
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.
24
Virtual Machines and Virtualization
Virtual Machines Middleware
Virtual machines (VMs) offer novel solutions to underutilized resources,
application inflexibility, software manageability, and security concerns in existing
physical machines.
Figure below illustrates the architectures of three VM configurations.
26
Virtual Machines and Virtualization Middleware
VM Primitive Operations
Low-level VMM operations are illustrated in Figure below.
First, the VMs can be multiplexed between hardware machines, as shown in Figure
(a).
Second, a VM can be suspended and stored in stable storage, as shown in Figure
(b).
Third, a suspended VM can be resumed or provisioned to a new hardware
platform, as shown in Figure (c).
Finally, a VM can be migrated from one hardware platform to another, as shown in
Figure (d).
27
Data Center Virtualization for Cloud Computing
• Data center virtualization typically uses virtualization software along with cloud
computing technology to replace traditional physical servers and other equipment
housed in a physical data center.
• A data center that uses virtualization in data centers, sometimes referred to as
a Software Defined Data Center (SDCC), allows organizations to control their entire
IT framework as a singular entity—and often from a central interface.
• The approach can trim capital and operational costs; improve agility, flexibility and
efficiency; save IT staff time and resources; and allow businesses to focus on core
business and IT issues.
• Research firm MarketersMedia reports that the global data center virtualization
market is projected to grow by 8 percent annually from 2017 through 2023. That
would make data center virtualization a U.S. $10 billion market.
• Virtualization of a data center and all its hardware components—including servers,
storage, and appliances—isn’t a new concept (it dates back to the 1960s).
• But now, advances in cloud computing, software and other components have
made the concept viable and even desirable.
28
Data Center Virtualization for Cloud Computing
Data Center Disaster Recovery
• Disaster recovery and business continuity-the benefits:
• Faster backups and recovery. In many cases, it’s possible to accomplish the task in
hours rather than day when data is virtualized.
• Better visibility into assets. A well-designed virtualized environment with the right
tools can aid in identifying and managing documents, files and other data.
• Failover is simplified. If it’s necessary to switch to a redundant system or go back
to a known working state, virtualization can help by speeding recovery time. It can
also provide a platform for testing systems before moving software back into a
production state.
• The need for a smaller footprint. Fewer servers, storage and other devices
translates directly into lower costs for disaster recovery.
29
Data Center Virtualization for Cloud Computing
Data Center Virtualization Products
30
System models for distributed and cloud
computing
In Table below, massive systems are classified into four groups: clusters, P2P
networks, computing grids, and Internet clouds over huge data centers.
31
1. Clusters of cooperative computers
A computing cluster consists of interconnected stand-alone computers which work cooperatively
as a single integrated computing resource.
Cluster Architecture
Figure below shows the architecture of a typical server cluster built around a low-latency,
high bandwidth interconnection network. This network can be as simple as a SAN (e.g.,
Myrinet) or a LAN (e.g., Ethernet).
To build a larger cluster with more nodes, the interconnection network can be built with
multiple levels of Gigabit Ethernet, Myrinet, or InfiniBand switches.
32
1. Clusters of cooperative computers
Single-System Image
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.
Cluster designers desire a some middleware to support SSI at various levels, including
the sharing of CPUs, memory, and I/O across all cluster nodes.
A cluster with multiple system images is nothing but a collection of independent
computers.
Hardware, Software, and Middleware Support
Clusters exploring massive parallelism are commonly known as MPPs.
The building blocks are computer nodes (PCs, workstations, servers, or SMP), special
communication software such as PVM or MPI, and a network interface card in each
computer node.
Most clusters run under the Linux OS. 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 or high availability (HA).
Both sequential and parallel applications can run on the cluster, and special parallel
environments are needed to facilitate use of the cluster resources.
33
1. Clusters of cooperative computers
Major Cluster Design Issues
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.
34
2. Grid computing infrastructures
Internet services such as the Telnet command enables 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.
Computational Grids
A computing grid offers an infrastructure that couples computers,
software/middleware, special instruments, and people and sensors together.
The grid is often constructed across LAN, WAN, or Internet backbone networks at
a regional, national, or global scale.
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.
The NSF TeraGrid in US, EGEE in Europe, and ChinaGrid in China for various
distributed scientific grid applications.
35
2. Grid computing infrastructures
• Figure below shows an example computational grid built over multiple resource sites owned
by different organizations.
Grid Families
National grid projects are followed by industrial grid platform development by
IBM, Microsoft, Sun, HP, Dell, Cisco, EMC, Platform Computing, and others.
New grid service providers (GSPs) and new grid applications have emerged
rapidly, similar to the growth of Internet and web services in the past two
decades.
36
3. Peer-to-Peer (P2P) Network
Evaluate
– Manage
– ..
– Finally, use it
– $$$$....$(High CapEx)
– $ - pay for what you use, based
on QoS
(Courtesy of Raj Buyya, 2012)
5. Order Status:
•The app can periodically check the status of an order by querying the web service.
•Request URL: https://api.shopease.com/orders/status?orderId=98765
•Response: JSON or XML with order status information.
Layered Architecture for Web Services
Service Oriented Architecture Data Catalogue
Grid Bank
…
Environments
Programming
…
Job Secure
Control Grid Node1
Schedule Advisor
Agent QoS Pricing
Algorithms
Applications
Trade Server
…
Deployment Agent
JobExec Resource Allocation