Module 1
Module 1
APPLICATIONS
Department of
Computer Science & Engineering
www.cambridge.edu.in
Department of Computer Science & Engineering www.cambridge.edu.i
Mastering Cloud Computing
Module I:
Chapter 1 — Introduction Chapter 3 — Virtualization
Module II
Chapter 4 — Cloud Computing Architecture Chapter 5 — Aneka: Cloud Application Platform
Module III
Chapter 6 — Concurrent Computing: Thread Programming Chapter 7 — High-Throughput Computing: Task Programming
Module IV
Chapter 8 — Data Intensive Computing: Map-Reduce Programming
Module V
Chapter 9 — Cloud Platforms in Industry Chapter 10 — Cloud Applications
I cannot invest in
infrastructure, I just
started my business….
I want to focus on
application logic and not
maintenance and scalability
issues
Applications
Development and
Runtime Platform
Compute
Cloud Manager
Private Resources
Quality of Service
Pay as you go
Billing
IT outsourcing
Security
Cloud
Computing?
Defining Cloud
A Closer look
• Large enterprise can offload some of their activities to Cloud based system.
• Small Enterprises and Start-ups can afford to translate into business results their
ideas more quickly without excessive upfront cost
Platform as a Service
Runtime Environment for Applications Development
and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka
Infrastructure as a Service
Virtualized Servers Storage and
Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
Characteristics and Benefits
• No Upfront Commitments
• On demand access
• Nice pricing
• Simplified application acceleration and scalability
• Efficient resource allocation
• Energy efficiency and seamless creation and use third-party services.
Clusters
Mainframes
• Distributed Systems
🡪A distributed system is a collection of independent computers that appears to its users as a
single system and also it acts as a single computer.
🡪The main and primary motive of distributed systems is to share resources and to utilize
them better.
Virtualization
• In computing, virtualization refers to the act of creating a virtual (rather than actual)
version of something, including virtual computer hardware platforms, storage devices,
and computer network resources.
• Another Cloud Technology of Cloud Computing
• Hardware virtualization
• Storage or Network Virtualization
• Paas
• For Developers
• Paas
• Web role (to host application), worker role (container of applications for work load processing)
and virtual machine role (provides virtual environment).
• https://azure.microsoft.com
• https://cloud.google.com/hadoop
• http://hadoop.apache.org/
• One of the key features of Aneka is the ability of providing different ways for
expressing distributed applications by offering different programming models;
• http://www.manjrasoft.com/products.html
Programming Languages
Execution Stack
Programming
Language level
Virtualization
Operative Systems
OS- level Virtualization
Hardware
Hardware - level
Virtualization
● Three major components of Virtualized Environments
– Guest – system component that interacts with
Virtualization Layer.
– Host – original environment where guest runs.
– Virtualization Layer – recreate the same or different
environment where guest will run.
• Increased Security
• Managed Execution
✔ - Sharing
✔ - Aggregation
✔ - Emulation
✔ - Isolation
• Portability
– Sharing
● Creating separate computing environment within the
same host.
● Underline host is fully utilized.
– Aggregation
● A group of separate hosts can be tied together and represented as single virtual host.
– Emulation
● Controlling & Tuning the environment exposed to guest.
– Isolation
● Complete separate environment for guests
● Performance tuning
● Nonprivileged instructions
– That can be used without interfering with other tasks because they do
not access shared resources. Ex. Arithmetic , floating & fixed point.
● Privileged instructions
– That are executed under specific restrictions and are mostly used for
sensitive operations, which expose (behavior-sensitive) or modify
(control-sensitive) the privileged state.
● Behavior-sensitive – operate on the I/O
● Control-sensitive – alter the state of the CPU register.
● Main Modules :-
– Dispatcher
● Entry Point of VMM
● Reroutes the instructions issued by VM instance.
– Allocator
● Deciding the system resources to be provided to the
VM.
● Invoked by dispatcher
– Interpreter
● Consists of interpreter routines
● Executed whenever a VM executes a privileged instruction.
● Trap is triggered and the corresponding routine is executed.
● Theorems 1
– For any conventional third-generation computer, a VMM may be
constructed if the set of sensitive instructions for that computer is a
subset of the set of privileged instructions.
● Theorems 2
– A conventional third-generation computers is recursively
virtualizable if:
● It is virtualizable and
● A VMM without any timing dependencies can be constructed for it.
● Theorems 3
– A hybrid VMM may be constructed third- generation machine in
which the set of user- sensitive instructions is a subset of the
set of privileged instructions.
– In HVM, more instructions are interpreted rather than being
executed directly.
● CPU installed on the host is only one set, but each VM that runs on the host
requires their own CPU.
● It means CPU needs to virtualized, done by hypervisor.
● Hardware-assisted virtualization
– In this hardware provides architectural support for building a
VMM able to run a guest OS in complete isolation.
– Intel VT and AMD V extensions.
● Partial virtualization
– Partial emulation of the underlying hardware
– Not allow complete isolation to guest OS.
– Address space virtualization is a common feature of
contemporary operating systems.
– Address space virtualization used in time- sharing system.
● Emulation can be used to execute program binaries compiled for different h/w
architures
● Two techniques can be implemented:-
– Interpretation -
● In this every source instruction is interpreted by an emulator for executing native ISA instructions,
● Minimal start up cost but huge overhead.
– Binary translation -
● In this every source instruction is converted to native instructions with equivalent functions.
● Block of instructions translated , cached and reused.
● Large overhead cost , but over time it is subject to better performance.
● It allows decoupling the physical organization of the h/w from its logical
representation.
● Using Network based virtualization known as storage area network (SAN).
● It combines h/w appliances and specific software for the creation and
management of a virtual n/w.
● It can aggregate different physical networks into a single logical network.
• Advantages of Virtualization
✔ Reduced spending
✔ Sandbox
✔ Portability
✔ Efficient use of resources.
✔ Easier backup and disaster recovery
✔ Better business continuity
✔ More efficient IT operations
✔ Upfront costs.
✔ Software licensing considerations
✔ Possible learning curve
✔ Performance degradation
• Maintain the status of virtual processor
• Support of privileged instructions
• Support of paging within VM
✔ Inefficiency and degraded user experience
✔ Security holes and new threats
• Xen: paravirtualization
• VMware: full virtualization
• Microsoft Hyper-V
two levels: Ring 0 for the kernel code, and Ring 3 for user application and non privileged OS code.