Thesis Defense

Download Report

Transcript Thesis Defense

Electrical and Computer Engineering Department
Fairfield University
MASTERS THESIS DEFENSE
Project: The Initium Remote Job
Submission Screensaver
By
Francisco Castellanos
Advisor: Professor Douglas A. Lyon, Ph.D.
Fairfield University
Outline
•
•
•
•
•
•
Overview of a grid system
Problem statement
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
What is grid computing?
• It is a parallel computing model
Fairfield University
Why use grid computing?
• It takes advantage networked computers
• It executes tasks in parallel
• It is FAST
Fairfield University
Task 1
Task 2
Network 1
Task 3
Task 4
Task ..
Task n
Network 2
Fairfield University
Basic Research Goal
• Make grid computing a little easier
Fairfield University
What is a screen saver?
• A program that wakes up when the
computer is idle.
• A program that terminates when the
computer is busy.
Fairfield University
Why use a screen saver?
• Screensavers are a minimal invasive
technology that can be used to volunteer
CPU cycles.
• Typically, computers are used between 40
and 60 hours out of a 168-hour week. (~
35% utilization).
Fairfield University
Outline
•
•
•
•
•
•
Overview of a grid system
Problem statement
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
Problem Statement
• Given a Network Of Workstations (NOW)
• Find a way of doing grid computing that is
easier
• Subject to the constraints:
– non-invasive process
– Portable solution
Fairfield University
The Initium RJS System
Web Server
Lookup Server
Task 1
Task 2
Task 3
Task ..
Task n
Network
Fairfield University
Compute Servers
Problem Statement
• Idleness detection
• Minimize intrusion into the desktop.
• Portable screensaver
Fairfield University
Lookup Server
User PC
Yes
Inactive
Invoke SS
No
Register
with LUS
Invoke CS
No
Screensaver
PC is still Inactive
Yes
Fairfield University
Terminate
CS
Lookup Server
CS
Execute
Job
Send
Answer
Yes
Send Job
Jobs to execute
No
Fairfield University
Outline
•
•
•
•
•
•
•
Overview of a grid system
Problem statement
Motivation
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
Motivation
• Use otherwise idle resources
• Inspired by SETI
• A Java-based screen saver for grid
computing is NEW.
Fairfield University
Outline
•
•
•
•
•
•
•
Overview of a grid system
Problem statement
Motivation
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
Approach
User-PC quiet time detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with
IRJS middleware
Fairfield University
Outline
•
•
•
•
•
•
•
Overview of a grid system
Problem statement
Motivation
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
User-PC Inactivity Detection
User Inactivity
Processing
Idleness
User Activity
• This process is a platform-specific activity.
• SaverBeans Screensaver SDK framework,
under the Java.net group.
Fairfield University
User-PC Quite Time Detection
SaverBeans SDK:
• Java-based framework.
• Provides native subroutines to invoke Java
methods in the screensaver.
Fairfield University
User-PC Quite Time Detection
…
public class RJSsaver extends
SimpleScreensaver {
public void init(){…}
public void paint( Graphics g ) {…}
public void destroy() {…}
…
}
Fairfield University
User-PC Quite Time Detection
…
public void init() {
iCount = iCount + 1;
if (iCount < 2){
startComputeServer();
launchLogMonitor();
}
}
Fairfield University
User-PC Quite Time Detection
Fairfield University
User-PC Quite Time Detection
Lookup Server
User PC
Yes
Inactive
Invoke SS
No
Invoke CS
Fairfield University
Register
with LUS
User-PC Quite Time Detection
Fairfield University
User-PC Quite Time Detection
Fairfield University
Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with
IRJS middleware
Fairfield University
Intrusion Minimization
User Inactivity
Processing
Join the grid
Idleness
Processing
Jobs
User Activity
• Resource restoration to its initial state.
• Cleanup and communication with LUS.
Fairfield University
Intrusion Minimization
SaverBeans SDK destroy method:
protected void destroy(){
cal= Calendar.getInstance();
killFile.mkdir();
System.out.println("CS Stoping at "+
cal.getTime().toString());
}
Fairfield University
Intrusion Minimization
Task 1
CS 1
Task 2
CS 2
Task 3
CS 3
Task 4
CS 4
Task ..
CS ..
Task n
CS n
Fairfield University
Intrusion Minimization
Leasing Process:
Send job
Available
Processing
Job
Job Completion
Send signal
Available
Busy/Avail.
Send response
Fairfield University
Dead
No response
Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with
IRJS middleware
Fairfield University
Screensaver Portability
Macintosh Solution:
• Creation of a Objective C program as the
screensaver.
• Invokes Java Classes.
Fairfield University
Screensaver Portability
(void)animateOneFrame { …
if(i==0){
NSLog(@" First time
%d
SS start
now", i);
//Call to java class to start CS
[NSClassFromString(@"RunCS")
newWithSignature:@"(Ljava/lang/String;)
",@"start"];
}
Fairfield University
Screensaver Portability
(void)stopAnimation
{
//Call to java class to stop CS
[NSClassFromString(@"RunCS")
newWithSignature:@"(Ljava/lang/String;)
",@"stop"];
NSLog(@"SS stop now %d ", i);
}
Fairfield University
Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with
IRJS middleware
Fairfield University
Screensaver Deployment
Involved:
• Screensaver Installer
• Java Web Start
• Configuration
Fairfield University
Screensaver Deployment
Web Server 1
Web Server 2
1
2
Beam over screensaver
distributable files, and
install and configure SS
1. Download and load
JWS screensaver installer
User PC / CS
3
Execute screensaver and
download and launch
JWS Compute Server
4
6
Launch Compute Server
and discover to LUS
Push computable jobs to
be executed
Look up Server
5
Pull JNLP links for
computable jobs
Fairfield University
Screensaver Deployment
Operating System Identification:
public static boolean isWindows(String str) {
if (isWindows()) {
String os =
getOsName().toLowerCase();
if (os.indexOf(str) > -1) return
true;
}
return false;
}
public static boolean isWindowsXp() {
return isWindows("xp");
}
Fairfield University
Screensaver Deployment
Beam Over Screensaver resources:
public static void downloadScreenSaverJar(File
outputJarFile, String urlStr) throws
IOException {
URL screenSaverUrl = getResourceUrl(urlStr);
UrlUtils.getUrl(screenSaverUrl, outputJarFile);
}
…
Fairfield University
Screensaver Deployment
Configuration:
• Win: Version sensitive directories
– For Windows 98: C:/windows/system/.
– For Windows NT: C:/winnt/system/.
– For other version: C:/windows/sytem32/.
• Unix:
– Xscreensaver Configuration + User dir
• Mac:
– Location. (~/Library/Screensavers/)
Fairfield University
Screensaver Deployment
Fairfield University
Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration
with IRJS middleware
Fairfield University
Screensaver IRJS Integration
Submitting Jobs to the IRJS System:
• Written in Java
• Main() method in class to execute
• Independent of user input
• Do not use any GUI
• Deployed as Java Web Start
• Output is written to .jar file.
Fairfield University
Screensaver IRJS Integration
public class FractalsJob_1 {
public static void main(String[] args) {
Point from = new Point(0, 0);
Point to = new Point(400, from.y + 100);
Utils.computeStrip(from, to,
"Fractals_out1.ppm.jar");
}
}
Fairfield University
Screensaver IRJS Integration
Fairfield University
Screensaver IRJS Integration
Fairfield University
Outline
•
•
•
•
•
•
Overview of a grid system
Problem statement
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
Outline
•
•
•
•
•
•
Overview of a grid system
Problem statement
Approach to solve the problem
Execution
Project Demonstration
Conclusion
Fairfield University
Conclusion
Experimental Results:
Experiment #
Experiment
Desc.
Computers
Number of Jobs
Total Processing Time
1
One CS
A
8
2m 53 sec
2
Two CS(s)
A, B
8
1m 7 sec
3
Three CS(s)
A, B, C
8
1 m 2 sec
4
Four CS(s)
A, B, C, D
8
50 sec
Fairfield University
Conclusion
IRJS System Experimental Results
.
180
Total Processing Time Sec.
200
160
140
120
100
80
60
40
20
0
1
2
3
Compute Se rv e rs
Fairfield University
4
Conclusion
Future Work :
• Mac implementation with SaverBeans
• Tasks-resource matching. Current: firstcome first-serve
• Improved interface to submit jobs to IRJS.
• Job partitioning. Current: manual
Fairfield University
Q/A
Fairfield University