- Our suggestion
-
The basic idea is to couple Xgrid with the Dashboard, another piece of Apple software that catches surrounding people's eyes.
To implement this connection we see two possibilities:
- Apple could develop the widget, for example with a design similar to the existing Tachometer screensaver in the Technology Preview 2 version (TP2), and the widget could be shipped with Tiger
- Apple could develop a simple API to publicly expose to the machine running the agent process what the status of the cluster is (total speed,...). This would allow third party developers to use that info. This could be done through a Cocoa framework, which itself would communicate directly with the agent process (thus an 'agent API', to be distinguished from the existing 'client API'). A (cheap) alternative is to simply have a log saved somewhere as a text file by the agent process. Either way, 3rd parties developers could use that information to develop their own widget, and potentially come up with great ideas and stunning graphics...
- Agent API
A few more words about what the 'agent API' could do. Ideally, it would return a dictionary with keys like 'speed', 'numberOfAgents', 'numberOfActiveAgents', etc... The simplest dictionary should at least return just the speed, which would be sufficient to emulate the behavior of the screensaver in TP2.
In more elaborate implementations, the dictionary could include keys provided optionally by the xgrid server or by the client. This way, the manager of a xgrid cluster could have the option to send some info to the agents to stimulate them and entertain them:
- this info could be sent by the server and would be included in the server GUI through some optional checkboxes (included by Apple).
- this info could be sent at the client level when submitting a job. For instance, one might set up a cluster in a university to use idle resources to do some protein folding. The jobs submitted would include a key 'proteinName' sent to the agent together with the job itself.
- in parallel, different widgets could be developed to take advantage of those keys and display something meaningful to the agents (and distract them in their jobs, but this is another issue...)
- Demo Widget
-
We have developed a widget tailored for the Xgrid@Stanford cluster. Because the cluster is running with TP2, we had to use a different approach to get the cluster information sent to the agents. This information is provided through an xml file saved on the xgrid@stanford web server at regular intervals. Because this info is available on the web, the computer running the widget does not have to be an agent. As the current dashboard implementation hasn't been finalized yet, this demo functions in Safari 1.3 or higher only.
- Additional Comments
-
- Contrary to the screensaver, the agent would get an idea of the cluster status even when its computer is not idle and potentially not actually participating in the cluster; this will not be the case if the agent is set to 'always' accept tasks.
- The widget could also make sense for the user of a xgrid client or controller; it seems the APIs for the client will be available in Tiger to allow the developement of a widget.
Charles Parnot
Alexander Griekspoor