Title: Electrical and Computer Engineering Department
1- 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.
2- Outline
- Overview of a grid system
- Problem statement
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
3What is grid computing?
- It is a parallel computing model
4Why use grid computing?
- It takes advantage networked computers
- It executes tasks in parallel
- It is FAST
5Task 1
Task 2
Network 1
Task 3
Task 4
Task ..
Network 2
Task n
6Basic Research Goal
- Make grid computing a little easier
7What is a screen saver?
- A program that wakes up when the computer is
idle. - A program that terminates when the computer is
busy.
8Why 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).
9- Outline
- Overview of a grid system
- Problem statement
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
10Problem 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
11The Initium RJS System
Compute Servers
Lookup Server
Web Server
Task 1
Task 2
Task 3
Task ..
Task n
Network
12Problem Statement
- Idleness detection
- Minimize intrusion into the desktop.
- Portable screensaver
13Lookup Server
User PC
Yes
Inactive
Invoke SS
Register with LUS
No
Invoke CS
No
PC is still Inactive
Terminate CS
Screensaver
Yes
14Lookup Server
Execute Job
Send Answer
CS
Yes
Jobs to execute
Send Job
No
15- Outline
- Overview of a grid system
- Problem statement
- Motivation
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
16Motivation
- Use otherwise idle resources
- Inspired by SETI
- A Java-based screen saver for grid computing is
NEW.
17- Outline
- Overview of a grid system
- Problem statement
- Motivation
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
18Approach
User-PC quiet time detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with IRJS middleware
19- Outline
- Overview of a grid system
- Problem statement
- Motivation
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
20User-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.
21User-PC Quite Time Detection
- SaverBeans SDK
- Java-based framework.
- Provides native subroutines to invoke Java
methods in the screensaver. -
22User-PC Quite Time Detection
-
- public class RJSsaver extends SimpleScreensaver
- public void init()
- public void paint( Graphics g )
- public void destroy()
-
-
23User-PC Quite Time Detection
-
- public void init()
- iCount iCount 1
- if (iCount lt 2)
- startComputeServer()
- launchLogMonitor()
-
-
24User-PC Quite Time Detection
25User-PC Quite Time Detection
Lookup Server
User PC
Yes
Inactive
Invoke SS
Register with LUS
No
Invoke CS
26User-PC Quite Time Detection
27User-PC Quite Time Detection
28Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with IRJS middleware
29Intrusion Minimization
User Inactivity
Join the grid
Processing
Idleness
Processing Jobs
User Activity
- Resource restoration to its initial state.
- Cleanup and communication with LUS.
30Intrusion Minimization
- SaverBeans SDK destroy method
- protected void destroy()
-
- cal Calendar.getInstance()
- killFile.mkdir()
- System.out.println("CS Stoping at "
cal.getTime().toString()) -
31Intrusion Minimization
CS 1
Task 1
CS 2
Task 2
CS 3
Task 3
CS 4
Task 4
CS ..
Task ..
CS n
Task n
32Intrusion Minimization
Send job
Processing Job
Available
Job Completion
Send signal
Dead
Available
Busy/Avail.
No response
Send response
33Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with IRJS middleware
34Screensaver Portability
- Macintosh Solution
- Creation of a Objective C program as the
screensaver. - Invokes Java Classes.
35Screensaver Portability
- (void)animateOneFrame
- if(i0)
- NSLog(_at_" First time d SS start now", i)
- //Call to java class to start CS
- NSClassFromString(_at_"RunCS")
- newWithSignature_at_"(Ljava/lang/String)",_at_"start"
36Screensaver Portability
- (void)stopAnimation
-
- //Call to java class to stop CS
NSClassFromString(_at_"RunCS") - newWithSignature_at_"(Ljava/lang/String)",_at_"stop"
- NSLog(_at_"SS stop now d ", i)
-
37Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with IRJS middleware
38Screensaver Deployment
- Involved
- Screensaver Installer
- Java Web Start
- Configuration
39Screensaver Deployment
40Screensaver Deployment
- Operating System Identification
- public static boolean isWindows(String str)
- if (isWindows())
- String os getOsName().toLowerCase()
- if (os.indexOf(str) gt -1) return
true -
- return false
-
- public static boolean isWindowsXp()
- return isWindows("xp")
-
41Screensaver Deployment
- Beam Over Screensaver resources
- public static void downloadScreenSaverJar(File
outputJarFile, String urlStr) throws IOException
- URL screenSaverUrl getResourceUrl(urlStr)
- UrlUtils.getUrl(screenSaverUrl, outputJarFile)
-
-
42Screensaver 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/)
43Screensaver Deployment
44Approach
User-PC quiescence detection
Intrusion Minimization
Screensaver Portability
Screensaver Deployment
Screensaver Integration with IRJS middleware
45Screensaver 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.
46Screensaver 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") -
-
47Screensaver IRJS Integration
48Screensaver IRJS Integration
49- Outline
- Overview of a grid system
- Problem statement
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
50- Outline
- Overview of a grid system
- Problem statement
- Approach to solve the problem
- Execution
- Project Demonstration
- Conclusion
51Conclusion
Experimental Results
52Conclusion
53Conclusion
- Future Work
- Mac implementation with SaverBeans
- Tasks-resource matching. Current first-come
first-serve - Improved interface to submit jobs to IRJS.
- Job partitioning. Current manual
54Q/A