Friday, October 31, 2014

Characteristics  of Cloud Computing

Following are the  key properties of Cloud Computing [1]. Cloud Computing is user centric, task centric, powerful, accessible, intelligent,  and Programmable [1]. Whenever, user stores the documents, messages, images, or applications etc. they belong to the user. Therefore, Cloud Computing is said to be user centric. If the focus of cloud Computing is on the task to be done for the  user needs, then it is said to be task centric [1]. According to David S. Linthicum [2] the five key characteristics of Cloud Computing are on-demand self-service, Ubiquitous network access, Location-independent, Rapid elasticity, and Pay-per-use [2]. William Voorsluys et al. [3] provide a cloud computing model with features  that satisfy the expectations of consumers. These features are self-service, per-usage metered and billed, elastic, and customizable [3].
Thus, the cloud computing is user and task centric, powerful, accessible, intelligent,   programmable. It provides on-demand self-service, ubiquitous network access, rapid elasticity,  customizability, and pay-per-use model and is  also location-independent.   
 
 
References
 
[1] Michael Miller, "Beyond the Desktop: An Introduction to Cloud Computing," In: Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate, Pearson Education, Inc., pp 7 - 21, 2009.
[2] Linthicum David S. "Where We Are, How We Got Here, and How to Fix It", In: Cloud Computing and SOA Convergence in Your Enterprise: A Step-By-Step Guide, First Edition, published by Pearson Education, Inc, publishing as Addison-Wesly Professional, pp 1-19, 2010.
[3] William Voorsluys,  James Broberg and Rajkumar Buyya, "Introduction to Cloud Computing," In: Cloud Computing: Principles and Paradigms, Edited by  Rajkumar Buyya, James Broberg and Andrzej Goscinski , Publisher, John Wiley and Sons, Inc.,  New Jersey, pp 3-41, 2011.

Wednesday, October 29, 2014

Cloud Computing Definitions

Cloud Computing is defined in various ways. Following are the few definitions given by the authors in their articles. Based on the Cloud Computing definition provided by the National Institute of Standards and Technology (NIST) [1] and Information Technology Laboratory, David S. Linthicum [2] defines Cloud Computing as 
"Cloud Computing is a pay-per-use model for enabling available, convenient, on demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [1-2]." 
In the opinion of Barrie Sosinsky, "Cloud Computing refers to applications and services that run on a distributed network using virtualized and accessed by common Internet protocols and networking standards [3]."
Buyya et al. [4] defined the Cloud Computing as follows "Cloud is a parallel and distributed computing system consisting of a collection of inter-connected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service level agreements (SLA) established through negotiations between the service provider and consumer."
For more definitions on cloud computing, provided by different authors, one can refer the book edited by Buyya et al. [5]. 
 
 
References
 
[1]  P. Mell and T. Grance, The NIST Definition of Cloud Computing, National Institute of Standards and Technology (NIST), Information Technology Laboratory, Technical Report Version 15, 2009.
[2] Linthicum David S. "Where We Are, How We Got Here, and How to Fix It", In: Cloud Computing and SOA Convergence in Your Enterprise: A Step-By-Step Guide, First Edition, published by Pearson Education, Inc, publishing as Addison-Wesly Professional, pp 1-19, 2010.
[3] Indiana, pp 3-22,Barrie Sosinsky "Defining Cloud Computing", In: Cloud Computing Bible, Wiley Publishing Inc., Indianapolis 2011.
[4] William Voorsluys,  James Broberg and Rajkumar Buyya, "Introduction to Cloud Computing," In: Cloud Computing: Principles and Paradigms, Edited by  Rajkumar Buyya, James Broberg and Andrzej Goscinski , Publisher, John Wiley and Sons, Inc.,  New Jersey, pp 3-41, 2011.
[5] Rajkumar Buyya, James Broberg and Andrzej Goscinski, Cloud Computing: Principles and Paradigms, Publisher, John Wiley and Sons, Inc., New Jersey, 2011.

 

Saturday, October 25, 2014

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.
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

2. John W Rittinghouse, James F Ransome:Cloud Computing Implementation, Management and Security, CRC Press 2013.

You can also download from the web site:

http://vtu.ac.in/pdf/schememtech2014/cseschemesyll.pdf