You are on page 1of 24

Design and Implementation of the

Workflow of an Academic Cloud


Abhishek Gupta, Jatin Kumar, Daniel J Mathew,
Sorav Bansal, Subhashis Banerjee, Huzur Saran
IIT Delhi

Introduction
Why move to the cloud?

Lower cost
Higher utilization of computing resources
Ease of management

Why have a private cloud?

Privacy
Security

Design and Implementation of the


Workflow of an Academic Cloud

A Typical Academic Scenario


IIT Delhi

8000 students
450 faculty members
1000+ workstations
Many labs and server rooms across campus

Issues

High costs: hardware, power, management


Required: consolidation

Design and Implementation of the


Workflow of an Academic Cloud

Requirements for an IaaS Academic Cloud


Workflow: should be simple and usable by all
Cost and configurability: ideal if open source
Performance: both compute and I/O performance
are required
Maximize resource utilization

Design and Implementation of the


Workflow of an Academic Cloud

Currently Available Private Cloud Solutions


Ubuntu Enterprise Cloud

Familiarity with both Ubuntu and Eucalyptus required


Documentation is insufficient
Not highly customizable
Eucalyptus does provide a API

VMWare vCloud

One of the most stable cloud platforms, but


Licensing costs are very high

These private cloud solutions are for enterprise use;


what about an academic setup?

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Overview
Baadal = cloud (in Hindi)
Technology stack

Baadal
Web2py
Libvirt
Hypervisor Layer
Blade Server
6

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Components

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Workflow
Step 1: User logs in

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Workflow
Step 2:

User gives the


specifications of the VM: name,
operating system template and
RAM.
He also specifies a
faculty member who will
approve this request.

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Workflow
Step 3:
Faculty member logs in. He approves/rejects the requests
that have queued up till then. This request now goes to the
data center administrators who will give the final approval.

10

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Workflow
Step 4:
Data center administrator logs in. He appropriately
approves, modifies or rejects the requests approved by
faculty.

11

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Workflow
Step 5:
Once the request is approved, an appropriate host
is selected.
Step 6:
A pre-installed template with the required OS and
software is deployed to the selected host. A new
port on the perimeter server is forwarded to the
VNC port of the newly created VM. A VNC
password is also configured.
12

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Workflow
Step 7: The connection details (IP address, VNC port and
password) are sent to the user.

13

Design and Implementation of the


Workflow of an Academic Cloud

Cost Model and over-provisioning

Gold (1:1), Silver (1:2), Bronze (1:4) and Shutdown


Users are expected to switch levels while the
machine is running; no reboot required
Users are charged accordingly

14

Design and Implementation of the


Workflow of an Academic Cloud

Scheduler

On runlevel change, a VM is live-migrated to an


appropriate host
Greedy scheduling strategy used to find new host
On spawning/starting a VM our algorithm assigns an
appropriate host

15

Design and Implementation of the


Workflow of an Academic Cloud

Perimeter server

Fixed IP:port combination not possible due to


migrations
Perimeter server maps user ports to actual IP:port
combinations using iptables to do packet forwarding

16

Design and Implementation of the


Workflow of an Academic Cloud

Performance Graphs

With granularity of day, week and month to influence


users choice of runlevel

17

Design and Implementation of the


Workflow of an Academic Cloud

Other Features

Wake-On-Lan
Task Queues
Support for multiple datastores
Automated emails/reminders
Storage-specific plugins to optimize operations

18

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Infrastructure

32 blade servers each with 2x6 core Intel Xeon CPU


X5670 @ 2.93GHz and 16 GB RAM

16 blade servers each with 2x4 core Intel Xeon CPU


E5540 @ 2.53GHz and 12 GB RAM

A 10Gbps Ethernet backbone

50 TB of virtualized storage based on a NetApp 3210V


NAS and HP EVA6400 SAN with FC disks

19

Design and Implementation of the


Workflow of an Academic Cloud

Baadal: Performance
Test1

KVM + Desktop2 KVM + Server3

VMWare + Server4

Empty loop
(10,000,000)

21840 us

44321 us

44553 us

Fork (1,000,000)

29.72s

6.88s

3.97s

wget (685.29MB)

54.09s

20.36s

9.5s

cp (685.29MB)

71.97s

11.65s

26.07s

iscp (685.29MB)

29.64s

52.34s

4.75s

oscp (685.29MB)

73.54s

83.68s

4.86s

Ping hypervisor

0.2886s

0.3712s

0.1204s

1. Each VMs is allocated 1GB RAM, 1 vCPU and a 10 GB hard disk.


2. Desktops used are lab machines with typical configuration as 4GB RAM, C2D, 500GB
hard disk on a 1Gbps Ethernet
3. KVM + Server refers to KVM hypervisor running on HP Proliant BL460cG7 (16GB RAM,
24 CPU, 10Gbps Ethernet)
4. VMWare + Server refers to VMWare as hypervisor running on Dell PowerEdge R710
(24GB RAM, 16 CPU, 10Gbps Ethernet)
20

Design and Implementation of the


Workflow of an Academic Cloud

Changes to Baadal [by CSC@IITD]

We are not handing over the port number for connecting


to the VNC server due to network traffic issues and also
most of the Linux users can use SSH and Windows users
can use Remote Desktop from inside Windows. But we
have kept VNC ports for administration purposes.

We are using Kerberos for back-end authentication; it


can be easily replaced by any other authentication
mechanism using inbuilt Web2py authentication modules.

Faculty/students in the admin team have two roles i.e.


normal user and administrator, which they can switch
between.
21

Design and Implementation of the


Workflow of an Academic Cloud

Future Work: Community-based Cloud

Can be used to put under-utilized resources like lab


machines to good use

Challenges

Reliability
Network and storage topology
Scheduling

Solution for high reliability: record-replay

22

Already implemented successfully in Linux/KVM

Design and Implementation of the


Workflow of an Academic Cloud

References
1.

2.
3.

4.

5.

23

Laor Kivity, Kamay, Lublin, and Liguori. KVM: The Linux


Virtual Machine Monitor. Virtualization Technology for
Directed I/O. Intel Technology Journal, 10:225-230, July
2007.
Libvirt, the virtualization API. http://www.libvirt.org.
Massimo DiPierro. Web2py Enterprise Web
Framework, 2nd Ed. Wiley Publishing, 2nd edition, 2009.
Ubuntu enterprise cloud - overview.
http://www.ubuntu.com/business/cloud/overview.
VMWare vCloud Director - deliver infrastructure as a
service without compromise.
http://www.vmware.com/products/vclouddirector/features.html.
Design and Implementation of the
Workflow of an Academic Cloud

Thank You
Questions?

You might also like