Home       About       Products       Vault       Store       Media        Press

Grid and Distributed Computing

Setting the job type of the Job window of Pooch to Grid utilizes a Mac cluster to accomplish a subset of parallel computing called distributed computing, commonly called grid computing. Generally a subset of what clusters are capable of, distributed computing is where many independent executables run, starting and finishing in any order, only differing in their input. SETI@Home is a well-known example. Other common uses are parameter searches or other analyses of a system by varying one or only a few settings or inputs. While the code itself can only use a single processor, multiple processors are used because the code has multiple possible input settings.

Parallel Zoology Tutorial
Parallel Computing Tutorials
MPI (Message-Passing Interface)
Download Pooch
Purchase Pooch
Pooch Documentation
Mac Cluster Recipe
Parallel Applications
Screen Shots
Command-Line Interface
Web Interface
Pooch SDK for HPC
Consulting Services

Recognizing this need, we added in v1.6 of Pooch a feature to run a single-processor executable multiple times with different inputs. A very general way to do that is to vary a single integer from instance to instance of the executable. That integer is easily remapped into whatever parameter range of interest to the user.

With the Grid job type, the Job window replaces its node pane with field that specify the range of integers with which the executable is to be run. In this example, the integers range from 1 to 100. Setting the Step menu has it skip integers, so a setting of 7 would use 1, 8, 15, 22, and so on until 99. The integer is passed to the executable in a text file named "input" as well as on the command line. Pooch transfers any files produced by the executables back to the initiating machine.

Job Window Grid Job Type

This feature is intended to make it convenient to explore arbitrary parameter ranges for codes otherwise not meant for parallel computing. It makes use of Pooch's automatic output retrieval mechanisms.

To address more general cases, we suggest modifying the distributed computing example scripts available on the Scripting and Automation page. There, an AppleScript that performs the same functions as the Pooch Grid job type fully exposes the logic of the mechanism. You may modify it as you see fit so you can fully customize this grid/distributed computing behavior.

For more information on grid and distributed computing and how it differs from other types of parallel computing, see the Parallel Zoology page.

© Copyright 2001-2012 Dauger Research, Inc. All rights reserved. PO Box 3074, Huntington Beach, CA 92605 USA