Frequently Asked Questions

 

What is XGrid?

XGrid is a program developed by Apple that allows very easy setup of a cluster of computers, or agents (that would be you). A client computer (that would be me) can ask the cluster to perform some tedious tasks when the agent computers are idle and would otherwise waste their CPU. Many tasks can then be performed in parallel by all the computers in the cluster and the results will be obtained much faster than if the jobs were run in only one machine.

 

Where can I learn more about XGrid?

Here are several links:

Xgrid on apple.com

Xgrid introduction by James Reynolds

Xgrid on MacDevCenter

 

Can I run XGrid on a PC with Windows or Linux?

No, XGrid can only work for now on a PowerPC or Intel Mac running OS X.3.9 or higher. A Linux version of the agent has been developed by Daniel Cote (link here), as well as a Java version that can run on Linux and Windows, developed by Curtis Campbell (link here), but please do not use these for this project. The agent will be able to receive the jobs but unable to run the attached executable, because the executable needs Mac OS X libraries (Cocoa) and will thus fail to run under Linux, even on a mac. In the future, we may be able to compile a Linux version of the program, but it is not a priority at present.

 

What version of the operating system should I be running?

XGrid requires that you have X.3.9 or higher. To know what version you are running, you should go in the upper-left corner of your screen, in the Apple Menu. If the apple is multicolored (and you have a color screen...), you are running OS 9 or lower, and cannot use XGrid. If you have a shiny blue apple, you are running OS X. You can then choose the item 'About this Mac' in this Apple menu. If the version number starts with 10.1 or 10.2, you cannot use XGrid. If the version number starts with 10.3, you should run Software Update (look for 'Software Update...' in the Apple menu) to update to 10.3.9. If the version number starts with 10.4, you are all set (of course, it is still recommended to run the Sofware Update once in a while).

 

Should I be an administrator to install and configure XGrid?

Yes, you need the username and password of an administrator of the computer. If the computer is yours and/or you are the only user, you ARE probably an administrator. To know if you or other users are administrators, you can open the 'Accounts' item in the System Preferences.

 

What will you use my computer for?

I am trying to fit some biochemical kinetic models with fluorescent data for a G-protein coupled receptor. To find the final parameters, I have to try many combinations of starting values for the parameters (several thousands possibilities) to make sure I am not missing the right fit. This is a task particularly suited for parrallel processing. Read more about it in the Project section.

 

Will XGrid tasks slow down my computer?

The XGrid tasks run transparently in the background, and will not interfere with your work. The XGrid agent will only start after 15 minutes of inactivity. As soon as you move the mouse and start working again on your computer, any communication with the controller is stopped. The current running task might still be finished in the background, but it has very low priority (as set by the UNIX instruction nice, i.e. this process will be 'very nice' to the others) and no new task is started. So only very demanding users might vaguely notice a little bit of a small lag for one fraction of a millisecond when going back to work on their computer.

If you are curious, you might want to try to set your computer to 'always accept task' in the XGrid Preference Panel. You may not even notice that XGrid is working (apart from the fact that I will not use the cluster all the time anyway).

The only occasion when you would want to switch off XGrid is if you were yourself doing some CPU-intensive computation, in which case you may even want to set up and use your own XGrid cluster...

 

Why should I set my computer to never sleep?

This does not mean that your screen will never go to sleep. This is only for the system itself (processor, communication,...). If your computer goes to sleep, it will not be available for XGrid. XGrid does not have the power to wake up your computer (and this is a good thing). You might have your computer set to sleep because you want to save energy. But if your computer is used in a cluster, there is no need to save energy that is now being used for good, and not wasted anymore (if you think that fundamental research is not a waste of energy and money...).

 

Isn't there a screensaver for Xgrid?

There was a screensaver with the previous version of Xgrid (TP2). Unfortunately, it is now gone in Xgrid 1.0. However, you may want to try the Xgrid@Stanford widget if you are running on Tiger. And as explained by mekentosj.com, you can easily make the widget back into a screensaver!

 

How do I know that you are using my computer at a particular time?

Unfortunately, there is no easy way to tell from within XGrid. You can however start the application 'Activity Monitor' that you will find in the Utilities folder inside the Applications folder on your hard drive. This application gives information similar to the top instruction in Unix. It displays a real-time list of all the processes running on your computer. You can choose to show only the processes for Other Users. The process 'xgridagentd' should always be there. Another process (called 'biock' as of today) might also be running, and is responsible for the 'blue bars' that you might then see in the CPU tab (bottom of the window). However, this process may not show even if I am using the cluster; as said above, your computer will no be used if you are working on other tasks.

 

Can I temporarily switch off XGrid? Is this going to take the whole cluster down?

You can switch on and off the agent at any time by going the the Sharing pref pane (or the XGrid Preference Pane on Panther) in the System Preferences and press the Stop/Start button. The XGrid application is designed to work transparently with as many computers as available, and shutting down one agent will not affect the other agents and the controller. The controller might decide to send the job to another agent when one is not available anymore.

 

By installing XGrid, am I allowing the whole world to use my computer?

No, only the computer that you set as the controller can use it, and this is my computer, at the IP address 'b161-g4.stanford.edu'.

 

 

What part of my computer are you going to have access to?

Xgrid jobs run as the user 'nobody' on grid agents (you are an agent!). It means I can read/write/execute files only if permissions are set to “others” (this is the information you get in the 'Get Info' of any file). Very few places have 'write' permission for 'others' in your computer, except if they are specifically supposed to do so (like Public folders). Many system files have by default 'read' or 'execute' permissions for 'others' (this is because all users should be allowed to at least USE those system components). However, they don't have 'write' permissions, so I cannot accidentally damage them. None of the files in your Home directory have 'read' permissions (well, except your 'Public' folder', of course), which means I will not have access to these AT ALL.

Xgrid jobs can thus execute all commands in /bin, /sbin (except init), /usr/bin, and /usr/sbin. The jobs can write to places like /tmp and /Volumes. And jobs can read files like /etc/authorization, /etc/hostconfig, /etc/hosts.allow, and /etc/httpd/httpd.conf. None of this is a major security risk, but this isn't something you would like to allow anyone to do. Information can be obtained to help perform a serious attack against the computer. A bogus Xgrid job could just fill up the computer hard disk making it slow and eventually unusable without some serious fixing.

 

Enough jargon, just tell me what the risk is!!

OK, bottom line: Xgrid job security is excellent (it would actually be impossible to make it better) if you want to allow your computer to run jobs from a trusted associate, coworker, computer administrator, or even 3rd party developer (like Seti@Home or Folding@Home). But the job security is not good enough (and never can be, really, and it shouldn't have to be) if you are going to run jobs of a complete stranger from a country where computer crimes are common and unpunished.

 

What if I have other questions/problems?

Contact me: charles•parnot@gmail•com.

 

 

Acknoledgements

Thanks to James Reynolds (university of Utah). I used the contents of its web page as a starting point for the FAQ:

http://www.macos.utah.edu/documentation/administration/xgrid/xgrid_presentation.html