Syllabus (VTU)
Cloud
Computing
M. Tech. Computer Science and Engineering
Semester:
I Year: 2014-2015
COURSE
OBJECTIVES
To
learn how to use Cloud Services.
To
implement Virtualization
To
implement Task Scheduling algorithms.
Apply
Map-Reduce concept to applications.
To
build Private Cloud.
Topics:
Module
I
Introduction,
Cloud Infrastructure
Cloud
computing, Cloud computing delivery models and services, Ethical
issues, Cloud vulnerabilities, Cloud computing at Amazon, Cloud
computing the Google perspective, Microsoft Windows Azure and online
services, Open-source software platforms for private clouds, Cloud
storage diversity and vendor lock-in, Energy use and ecological
impact, Service level agreements, User experience and software
licensing. Exercises and problems.
10 Hours
Module
II
Cloud
Computing: Application Paradigms.
Challenges
of cloud computing, Architectural styles of cloud computing,
Workflows: Coordination of multiple activities, Coordination based on
a state machine model: The Zookeeper, The Map Reduce programming
model, A case study: The GrepTheWeb application , Cloud for science
and engineering, High-performance computing on a cloud, Cloud
computing for Biology research, Social computing, digital content and
cloud computing.
10
Hours
Module
III
Cloud
Resource Virtualization.
Virtualization,
Layering and virtualization, Virtual machine monitors, Virtual
Machines, Performance and Security Isolation,
Full virtualization and paravirtualization, Hardware support for
virtualization, Case Study: Xen a VMM based paravirtualization,
Optimization of network virtualization, vBlades, Performance
comparison of virtual machines, The dark side of virtualization,
Exercises and problems.
10
Hours
Module
IV
Cloud
Resource Management and Scheduling.
Policies
and mechanisms for resource management, Application of control theory
to task scheduling on a cloud, Stability of a two-level resource
allocation architecture, Feedback control based on dynamic
thresholds, Coordination of specialized autonomic performance
managers, A utility-based model for cloud-based Web services,
Resourcing bundling: Combinatorial auctions for cloud resources,
Scheduling algorithms for computing clouds, Fair queuing, Start-time
fair queuing, Borrowed virtual time, Cloud scheduling subject to
deadlines, Scheduling Map Reduce applications subject to deadlines,
Resource management and dynamic scaling, Exercises and problems.
10
Hours
Module
V
Cloud
Security, Cloud Application Development.
Cloud
security risks, Security: The top concern for cloud users, Privacy
and privacy impact assessment, Trust, Operating system security,
Virtual machine Security, Security of virtualization, Security risks
posed by shared images, Security risks posed by a management OS, A
trusted virtual machine monitor, Amazon web services: EC2 instances,
Connecting clients to cloud instances through firewalls, Security
rules for application and transport layer protocols in EC2, How to
launch an EC2 Linux instance and connect to it, How to use S3 in
java, Cloud-based simulation of a distributed trust algorithm, A
trust management service, A cloud service for adaptive data
streaming, Cloud based optimal FPGA synthesis .Exercises and
problems.
10
Hours
LAB
EXPERIMENTS
NOTE:
Simulate
using object oriented programming, any available cloud environment
(Eg;
Amazon cloud) and VMware for resource virtualization.
Create
a Collaborative learning environment for a particular learning topic
using Google Apps. Google Drive, Google Docs and Google Slides must
be used for hosting e-books, important articles and presentations
respectively. The instructor must use the Google Sheets to convey
the timetable for different events and for analyzing the scores for
individual assignment submission.
Modeling and
simulation Cloud computing environments, including Data Centers,
Hosts and Cloudlets and perform VM provisioning using CloudSim:
Design a host with two CPU cores, which receives request for hosting
two VMs, such that each one requires two cores and plans to host
four tasks units. More specifically, tasks t1, t2, t3 and t4 to be
hosted in VM1, while t5, t6, t7, and t8 to be hosted in VM2.
Implement space-shared allocation policy and time-shared allocation
policy. Compare the results.
Model
a Cloud computing environment having Data center that had 100 hosts.
The hosts are to be modeled to have a CPU core (1000 MIPS), 2 GB of
RAM and 1 TB of storage. Consider the workload model for this
evaluation included provisioning requests for 400 VMs, with each
request demanding 1 CPU core (250 MIPS), 256 MB of RAM and 1 GB of
storage. Each VM hosts a web-hosting application service, whose CPU
utilization distribution was generated according to the uniform
distribution. Each instance of a webhosting service required 150,000
MIPS or about 10 minutes to complete execution assuming 100%
utilization. Simulate Energy-conscious model for power consumption
and power management techniques such as Dynamic Voltage and
Frequency Scaling (DVFS). Initially, VMs are to be allocated
according to requested parameters (4 VMs on each host). The Cloud
computing architecture that is to be considered for studying energy
conscious resource management techniques/policies included a data
center, CloudCoordinator, and Sensor component. The CloudCoordinator
and Sensor perform their usual roles. Via the attached Sensors
(which are connected with every host), CloudCoordinator must
periodically monitor the performance status of active VMs such as
load conditions, and processing share. This real time information is
to be passed to VMM, which can use it for performing appropriate
resizing of VMs and application of DVFS and soft scaling.
CloudCoordinator continuously1 has to adapt allocation of VMs by
issuing VM migration commands and changing power states of nodes
according to its policy and current utilization of resources.
Model
and simulate the environment consisting of a data center with 10,000
hosts where each host was modeled to have a single CPU core
(1200MIPS), 4GB of RAM memory and 2TB of storage. Consider the
provisioning policy for VMs as space-shared, which allows one VM to
be active in a host at a given instance of time. Make a request from
the end-user (through the Datacenter Broker) for creation and
instantiation of 50 VMs that had following constraints: 1024MB of
physical memory, 1 CPU core and 1GB of storage. The application
granularity was modeled to be composed of 300 task units, with each
task unit requiring 1,440,000 million instructions (20 minutes in
the simulated hosts) to be executed on a host. Minimal data transfer
(300 KB) overhead can be considered for the task units (to and from
the data center). After the creation of VMs, task units were
submitted in small groups of 50 (one for each VM) at inter-arrival
delay of 10 minutes.
Implement
Map Reduce concept for (a)
Strassen’s Matrix Multiplication for a huge matrix. (b)
Computing the average number of citation index a researcher has
according to age among some 1 billion journal articles. Consider a
network of entities and relationships between them. It is required to
calculate a state of each entity on the basis of properties of the
other entities in its neighborhood. This state can represent a
distance to other nodes, indication that there is a neighbor with the
certain properties, characteristic of neighborhood density and so on.
A network is stored as a set of nodes and each node contains a list
of adjacent node IDs. Mapper emits messages for each node using ID of
the adjacent node as a key. Reducer must re compute state and rewrite
node with the new state. Implement this scenario.
Course
Outcomes:
The
students should be able to:
-Demonstrate
and experiment simple Cloud Applications
-Apply
resource allocation, scheduling algorithms.
-
Implement Map-Reduce concept.
-
Create virtual machines from available physical resources.
-
Setup a private cloud.
-Familiarize
with Open Stack.
Text
Book:
1.
Dan C Marinescu: Cloud Computing Theory and Practice. Elsevier(MK)
2013.
REFERENCES:
1.
Rajkumar Buyya , James Broberg, Andrzej Goscinski: Cloud Computing
Principles and Paradigms, Willey 2014.