A Heterogeneous Screen-Saver for CPU Scavenging

Using Pure Java with a network of workstations to build a super computer.

  • Douglas Lyon Fairfield University
Keywords: Distributed Computing, GridComputing, Java, Object-Oriented Programming, RMI, Screen Savers

Abstract

This paper describes an on-going project known as the Initium RJS (Remote Job Submission) system. The system mixes Java and native technologies to create a CPU-scavenging, hetrogeneous, screen-saver-based grid computing system.

Web start technologies, along with a unique upload and deployment technique, enable the semi-automatic installation of screen-savers. The Initium Wizard makes use of static dependency analysis to generate a jar file that minimizes the number of included classes. It prompts the programmer for security parameters that enable the automatic signing of the jar file for the purpose of authentication. Initium generates a Java Network Launch Protocol file (JNLP file) and automatically uploads both the JNLP and jar files to the web server.

The signing of a jar file enables screen-saver initiated web-start clients to execute a Java application in a trusted and distributed manner. Trusted jar files execute outside of the “sandbox”. This supplies an autonomic feature that enables CPU scavenging by the grid.

A screen-saver technology controls a Webstart application. The Webstart application uses a multi-cast query to locate a look up server (LUS). The LUS uses RMI/SSL to contact a Web Sever (WS) that collects grid information and dispatches jobs. The LUS sends results to the WS for later harvesting by the grid user.

We are interested in Screen-savers because they represent a minimally-invasive technology for volunteering CPU services. A computer that lacks a screen saver has a utilization that is typically between 40 and 60 hours out of a 168-hour week (i.e., 35% of the time). As Java programmers, we have found no work in the area of Java-based screen-savers with an eye toward grid computing, and thus we feel our efforts in this area are novel.

Java provides a heterogeneous compute environment and, by extension, a screen-saver framework ported to a variety of platforms should enable a heterogeneous volunteer army of CPUs upon which a grid may scavenge. We address several sub-problems related to this effort, including deployment, security and discovery.

Initium is a Latin word that means: “at the start”. It is part of an on-going project at both the DocJava Inc. Skunk works and Fairfield University.

Published
2019-09-29