Term Paper for Grid Computing

Assignment 3:
A Team-based and Integrated
Term Paper and Project
Semester 1, 2012
Goals


Team Size: 4 persons (3 is also acceptable)
Term Paper (10 marks):




To develop an ability of reviewing the State-of-the-Art in order to
understand emerging/new trends in Grid/Cloud computing
Develop an ability to conduct critical analysis of existing systems and
their characterises including strength and weakness
Develop an ability to compile a written report by working with a team.
Project (25):




To gain hand-on experience with various technologies by designing
and developing an entire Grid/Cluster/Cloud system.
To foster an ability to design and implement a working grid
system/application of your own.
An opportunity to implement novel solution to overcome the
limitations in the current systems, which are highlighted in your term
paper.
Enhance students ability to work and cooperate in a team-based
software engineering project that involves multi-skilled participants.
Term Paper:
Study of 4 Grid/Cloud Technologies with focus on
Scheduling

A study on any 4 of the following technologies:




Aneka: www.cloudbus.org | www.manjrasoft.com (select Aneka related papers)
Amazon EC2: aws.amazon.com/ec2/ | Amazon Web Services (AWS)
Google App Engine:

code.google.com/appengine/ and

MapReduce: http://labs.google.com/papers/mapreduce.html
Condor and Condor-G :

http://www.cs.wisc.edu/condor/ | http://www.cs.wisc.edu/condor/condorg/




http://www.cs.wisc.edu/condor/doc/icdcs1988.pdf
Microsoft Azure:

http://www.microsoft.com/windowsazure/
Sun Grid Engine (SGE)

Now called Oracle Grid Engine.
Write a report (min. 5 pages) on your study, compare their
features especially related to architecture, scheduling, policies,
support for different types of applications, etc..

Recommended Template:
http://www.cs.mu.oz.au/678/TermPaperStyle.doc
Term Paper Contents

The goal of the term paper is to understand/carry out a detailed
study of the recent Grid/Cloud systems by identifying and
investigating:







Introduction
The current active projects in this area
Comparative analysis and evaluation of existing systems and projects
Identify weakness in the current systems/technologies in terms of
their solutions/capabilities, implementation, availability, efficiency for
one or more platforms
Conclusion
References
And this would prepare you for (a) a better implementation of your
project & get good marks and (b) “system analyst” job!
Project Requirements

Basic Requirements – 15 marks



Create a simple job management system with a Master and a
set of workers running on different machines
Implement a simple Round robin/FCFS algorithm for assigning
jobs
Quality Attributes:





A simple security (password-based authentication) from master to
worker (so that workers serve one authorized persons)
Monitor health status of Workers (running, active, dead, how
many jobs are running)
Query status of job while executing
Cancel a running job
Worker
Should be able to detect failed jobs
and re-schedule them.
master
Worker
Worker
Project Requirements

Advanced Requirements – 10 marks
 Graphical User Interface (3 marks)


Advanced Scheduling Algorithms



Command line functionality
Earliest Deadline First (2 marks)
Earliest Deadline Constrained by Budget (2
marks)
Priority Queues and Scheduling (3 marks)
Worker
master
Advanced
Management
Worker
Worker
Project Timeline: Managing
Complexity (1/2)

Phase 1:

Worker
Write a simple Worker that accepts commands for executing programs



master
In initial implementation assume that the program executable is present on the
machine running Worker and write a Master (client) program that takes the name of
program and arguments and passes to the Worker for execution.
Extend the above so that Execution and data files can be transferred at runtime from
Master to the Worker; And also copies output file back to the Master machine.
Phase 2: (Basic Requirements)



Extend Master that takes jobs (multiple executables and input files) and
distributes them to different workers
Implement a simple Round robin algorithm for assigning jobs
Quality Attributes:
A simple security (password-based authentication) from master to worker (so that
workers serve one authorized persons)

Monitor health status of Workers (running, active, dead, how many jobs are running)

Query status of job while executing

Cancel a running job
Worker
Should be able to detect failed jobs and re-schedule them.


master
Worker
Worker
Project Timeline: Managing
Complexity (2/2)

Phase 3:


Advanced Requirements
Final Demo & Report Submission
Worker
master
Advanced
Management
Worker
Worker
Project Report

You need to submit a project report containing:






Architecture
Design
Implementation
Some evaluation results
Contribution of each team member towards
implementation.
Make your project report to look like a nice
“software engineering” oriented conference
paper!
Special note

Although both term paper and project are
carried out in team, that does NOT necessarily
mean that all members of the project will
receive the same marks.




Marks depend on your contribution!
Report should have a Table which provides details
on who did what in the project?
During the demonstration of project (each
phase), the lecturer will ask questions to test
the contribution of each member to the project
and then decide final marks.
Finally, any team member who did NOT
contribute actively to the project, he/she will
loose marks. So, please participate actively.
Deadline for Submission
1.
2.
3.
6.
1. Term Paper: May 18 or early (by email to TA)
2. Basic Demo of Project (to make sure that all is going
fine - No Evaluation/Marking; just a consultation on
project or any team issue) – May 21, 2-4pm (same room
as previous demos).
3. Project Demo (venue same as earlier assignments)
and Implementation report: June 1 - Final
4.
4. Submit report/project when done by email.
5.
You need to demonstrate the project.
Feel free contact for advice: the lecturer especially after
each lecture) OR meet TA in person/email.