How to use Xgrid?

7,520

Solution 1

One of the best options I've found for seeing if Xgrid is even what you are looking for is to read the Xgrid Tutorials from MacResearch.

Suffice to say Xgrid is predominantly aimed at the scientific community where they write their programs to take advantage of it, so wanting to use it to take advantage of programs such as iMovie, Photoshop, Final Cut, etc. is a non starter.

See the FAQ from the Xgrid mailing list:

If you want to use something similar to Xgrid with the Final Cut suite or Maya check out QMaster which is part of the Final Cut suite.

Solution 2

Chealion answered the how part of your question quite well.

To address which types of applications can use Xgrid:

Xgrid is well suited to any task that can be distributed to run in parallel on multiple computers, whether workstations or servers. Sometimes these problem sets are referred to as "embarrassingly parallel". Computations which take a long time to complete, but require little data to cross the network, are excellent candidates (like Seti@Home).

Xgrid consists of 3 main parts (controller, agent, client). Tasks are issued from the client (command-line or API) to the controller and run on any available agent, similar to earlier distributed scheduling systems like SGE (bsub/qsub) or MPI. In addition to custom-code utilizing xgrid APIs, any application that can be invoked from the command line can utilize xgrid. Running a task is as easy as the following (where uname could be any command-line application, like matlab, R, blender, maya, etc.):

$ xgrid -h controller.mygrid.com -job run /usr/bin/uname -a  
Darwin node006.mygrid.com 10.2.0 Darwin Kernel Version 10.2.0 ...

Common uses of Xgrid:

  • scientific computing
  • distributed 3D rendering
  • distributed audio / video processing

Xgrid is not well suited to tasks which are inter-dependent (have to be executed in serial) or those which require moving large amounts of data (where copying data takes longer than just running locally).

Xgrid itself simply executes a given task on a remote system, it cannot break down an operation performed by an application into smaller parts (like photoshop applying an effect to a single image). Tasks which can't be broken down into smaller pieces benefit more from co-processors or GPU processing (via CUDA / OpenCL / GPGPU).

In the case of Photoshop, xgrid would be useful if you had to apply transforms / effects against thousands of images, as each computer in the grid could work on a separate image concurrently.

Additional resources:

Related Applications...

Cross Platform Xgrid Components...

Share:
7,520

Related videos on Youtube

ParisNakitaKejser
Author by

ParisNakitaKejser

I'm a funny guy you probably want to defined as a geek/nerd, i'm from Denmark a small country on 5-6 million people and we speaking the Danish language. I'm studen a lot of stuff about computer, software developer and database technologies from books, internet and other blogs, if i need help i go to stackoverflow.com. And if you like to watch tutorials online, i have in 2015 open my owen YouTube Channel where i can share my know how to orther if you are intresset you can follow me there, every thing i publish its for free i just love to share what i know.

Updated on September 17, 2022

Comments

  • ParisNakitaKejser
    ParisNakitaKejser almost 2 years

    I have read a little about Xgrid on Mac OS X, and I read that I can use it to get more power for some applications.

    What type of software can use Xgrid? And how can I use it?

  • ParisNakitaKejser
    ParisNakitaKejser over 14 years
    Cool, can i use xgrid for Adobe Photoshop CS4 e.g.? :)
  • Chealion
    Chealion over 14 years
    FWIW, Xgrid and Compressor don't actually work together out of the box - instead Apple has a product included with Compressor called QMaster that does that job.
  • Chopper3
    Chopper3 over 14 years
    @NeoNman nopers, sorry, that would be like some kind of Holy Grail, with extra cheese and a free priority pass for space mountain, sorry.