Parallel OperatiOn and Control Heuristic Application
Pooch provides a Macintosh user interface for
distributing and initiating a numerically-intensive parallel application on a
networked cluster of Macintoshes.
It coordinates the distribution of data, acts
out commands from other Pooches, and
provides a user interface to start and monitor parallel computing jobs.
Pooch technology allows the user to combine supercomputing-level features with an
easy-to-use, modern user interface, a combination unmatched by any other cluster
Its unique technology design allows it to be flexible enough to operate in a
wide variety of network environments and cluster configurations and while
supporting the largest number of programming environments.
It has supported the industry-standard Message-Passing Interface since day one,
making it easy to write portable supercomputing code on a Mac cluster.
At the same time it supports grid- and distributed-computing models.
Installs on a node in seconds!
Employs easy-to-use Macintosh graphical user interface, including
"brushed metal" look available in OS X 10.3 and later.
Requires a minimum of system configuration - similar to a web browser
Clusters virtually any combination of Intel or PowerPC Macintoshes running OS 9 or OS X
- demonstrated robustness (other clustering solutions have been known to break due to inconsistencies in the kernel version)
- Supports automated, "Computational Grid"-like cluster access for mainstream applications
- For examples, see the
Power Fractal app
the Fresnel Diffraction Explorer.
The Job Window provides access to two drawers for commonly used functions:
- the Recent Items drawer displays and recalls
recently used app, files, nodes, and nodes of the remote node scan cache
- the Options drawer accesses all the options of the job
Includes a new Dashboard widget to monitor cluster and job activity
Easily coexists with other applications, such as Adobe Photoshop or Microsoft Office
Does not depend on File Sharing, Network File System (NFS), rsh, static host files,
Does not require modifications to the hardware or the operating system
Is so easy that
a sixth-grader has built a Mac cluster
the Recipe for yourself!
Dynamically discovers resources on any TCP/IP network (10BaseT, 100BaseT, Gigabit, Airport, or combinations)
Actively queries nodes for current status and other time-dependent attributes
Determines the capability and capacities of compute nodes on demand
Recognizes and utilizes multiprocessor Macs and OS X multitasking for cluster computing
by automatically launching
multiple tasks on multiprocessor machines (running OS X 10.2.1 or later):
- Parallel applications can use one API to mix
parallel computing both inside a box and across boxes
The Network Scan Window views the cluster in three alternative views:
- a Node
View for adding news to a job and to display diagnostics about nodes of the cluster
- a Job View to scan the entire network for queued, launching,
running, terminated, and aborted jobs and display statistics about these jobs
- a Network View to scan multiple networks simultaneously
Utilizes after-hours computing and unutilized machines
Supports five different user interfaces:
Supports customized job queuing using AppleScript, Automator, or via Unix command line
Schedules node registration and deregistration
- Supports seven different implementations of the Message-Passing Interface API:
- MacMPI_X - UCLA AppleSeed
- mpich - Argonne National Laboratory
- MPI-Pro - MPI Software Technology, Inc.
- mpich-gm - for Myrinet hardware from Myricom, Inc.
- LAM/MPI - Pervasive Computing Labs, Indiana University
- MPJ Express - University of Reading and partners (New in 1.7.5)
- Open MPI - Open System Laboratory, Indiana University, and collaborators (New in 1.7.6)
- Launches seven application types (see
On OS 9:
- Classic applications
- Carbon applications
On OS X:
- Carbon applications
- Universal applications (New in 1.7)
- Cocoa bundle-based applications
- Mach-O executables (in the background or in the Terminal)
- Unix shell scripts (in the background or in the Terminal)
- AppleScript applications
- Java .jar and .class executables
Includes patent-pending technologies!
An advanced queuing and scheduling system for retaining jobs until specific conditions
are met integrated with:
A job tracking system designed to monitor the progress and execution of jobs
and retain statistics and other historical data about terminated jobs
Secure resource management, via a modern graphical user interface,
by users and groups, regulating CPU time quotas, job duration limits,
and even rollover minutes! (Pooch Pro)
Rates nodes to support "Computational Grid"-like features such
as the ability to choose the "best" nodes automatically
In its "Automatically Acquire Nodes" feature, jobs utilize Pooch's heuristic algorithms to automatically acquire
a specified number of nodes or processors in a cluster
Searches for and combines resources over the Internet
- nodes in Munich, Germany, have been combined with nodes 6000 miles away at UCLA
(a. k. a.
and Service Location Protocol (SLP) simultaneously
Securely sends internode commands using 512-bit rotating encryption
Recognizes and preserves Unix-style file privileges
Copies entire folder structures
Monitors currently running processes and jobs
Kills remote processes and jobs
Runs on nodes while they are logged out! (OS X only)
* using Pooch and
AltiVec Fractal Carbon
Power Macintoshes connected using a TCP/IP
network (100BaseT, 10BaseT, Gigabit, Airport, etc.) running Mac OS 9 and
CarbonLib 1.2 or later.
Pooch on OS X 10.2.1 and later is fully supported.
For documention, including a
one-page Pooch Quick Start, see the Manual Page.
You can try out Pooch for yourself starting at the
You can also get started at
the Mac Cluster Recipe.