Pooch Manual In
Total Page:16
File Type:pdf, Size:1020Kb
What’s New As of August 21, 2011, Pooch is updated to version 1.8.3 for use with OS X 10.7 “Lion”: Pooch users can renew their subscriptions today! Please see http://daugerresearch.com/pooch for more! On November 17, 2009, Pooch was updated to version 1.8: • Linux: Pooch can now cluster nodes running 64-bit Linux, combined with Mac • 64-bit: Major internal revisions for 64-bit, particularly updated data types and structures, for Mac OS X 10.6 "Snow Leopard" and 64-bit Linux • Sockets: Major revisions to internal networking to adapt to BSD Sockets, as recommended by Apple moving forward and required for Linux • POSIX Paths: Major revisions to internal file specification format in favor of POSIX paths, recommended by Apple moving forward and required for Linux • mDNS: Adapted usage of Bonjour service discovery to use Apple's Open Source mDNS library • Pooch Binary directory: Added Pooch binary directory support, making possible launching jobs using a remotely-compiled executable • Minor updates and fixes needed for Mac OS X 10.6 "Snow Leopard" Current Pooch users can renew their subscriptions today! Please see http://daugerresearch.com/pooch for more! On April 16, 2008, Pooch was updated to version 1.7.6: • Mac OS X 10.5 “Leopard” spurs updates in a variety of Pooch technologies: • Network Scan window • Preferences window • Keychain access • Launching via, detection of, and commands to the Terminal • Behind the Login window behavior • Other user interface and infrastructure adjustments • Open MPI support: • Complete MPI support using libraries built into Leopard • Automatically installs Open MPI pls and ras Pooch modules • MPJ Express support: • Launching MPI-style Java code • Supports .jar and .class execution types • Long file, application, and directory name support • AppleScript access to user-defined nodelists and remote network data • Other features, optimizations, bug fixes, and updates Current Pooch users can renew their subscriptions today! Please see http://daugerresearch.com/pooch for more! MPI.Init(args); int me = MPI.COMM_WORLD.Rank(); int size = MPI.COMM_WORLD.Size(); System.out.println("Hi from <"+me+">"); MPI.Finalize(); version 1.7: • Universal Binary for running on mixed clusters of Intel- and PowerPC-Macs • manages both types of nodes, making all cluster data available • launches Universal binaries, enabling cross-processor clustering; Pooch is the first and only clustering solution to launch Universal Binaries in parallel • Remote job, file, and folder retrieval support, even through proxy nodes • New Job file format support, including saving and loading job data • save commonly used jobs, file and node combinations, to disk • supports standard file dialog and reminder sheets • Head node setting to access and control clusters with Linux-style topologies • accesses nodes behind a head node acting as a firewall and NAT router • coordinates Pooch features to launch jobs via the head node • Enhancements to the AppleEvent interface for job and user data • Automatic detection and retry of preferred IP address of remote nodes • Pooch Pro automatic user login using Keychain services • Other features, enhancements, bug fixes, and updates Please read on for more! Pooch Application Parallel OperatiOn and Control Heuristic Application Version 1.8.3 Copyright © 2001-11 Dauger Research, Inc. Code and manual written by Dean E. Dauger 1 Table of Contents I. Installing Pooch ·············································3 II. Your First Parallel Computation ·············································4 III. Introduction ·············································7 IV. Menus and Windows Menus ··········································12 Job Window ··········································24 Network Scan Window ··········································35 Node Info Window ··········································48 Get Files Window ··········································49 Node Registration Schedule Dialog ··········································50 Open MPI Module Install Window ··········································51 V. Pooch Pro ··········································52 VI. AppleScript Standard Suite ··········································64 Pooch Suite ··········································68 VII. Linux ··········································72 VIII. Security ··········································76 IX. Frequently Asked Questions ··········································78 X. Revision History ··········································83 XI. Credits ········································119 XII. Contact Information ········································120 2 I. Installing Pooch Make sure your Macintosh running OS X 10.21 is connected properly to the Internet. Almost any type of network connection (10BaseT, 100BaseT, Gigabit, Airport, or a mix) is sufficient. If this Mac is on an isolated network, manually configure the TCP/IP control panel to a unique IP address from 192.168.1.1 to 192.168.1.254. There are two ways to install Pooch: • For automatic installation, double-click the Pooch Installer: (There is no step three. Or two.) • For manual installation: 1. Copy the Pooch folder, containing the Pooch application, to your hard drive. 2. Open the Pooch application. So that your Mac will be available for computation if rebooted, we recommend the following: 3. From the File menu, select “Set Pooch in Account Startup Items”. That’s it! Your Mac is now ready for parallel computing. Repeat for additional Macs. 1 Also operates on OS 9. See the Introduction for system requirements. 3 II. Your First Parallel Computation Once Pooch is installed and running on each Mac of a local area network, you can use them as a parallel computer. You will need a parallel application to run. For our first test, let’s use the Power Fractal app. Run it on your machine first and note its performance. Step One - Selecting a Parallel Application Switch to the Pooch application and select New Job… from the File menu, which results in a new Job Window. Drag the Power Fractal app from the Finder to Pooch’s Job Window or click Select App…. 4 Step Two - Selecting Nodes By default, Pooch selects your own node as participating in the parallel job. To add other nodes, click on Select Nodes… in the Job Window to invoke the Network Scan Window. Double-clicking on a node moves it to the node list of the Job Window. 5 Step Three - Launching the Parallel Job Finally, click Launch Job to start your parallel job. Pooch should now be distributing the code and starting the parallel application. Once the job runs, you should see a measurable performance increase. Congratulations! You are now operating your first parallel computer. Optional - Your Second Parallel Computation 1. Open version 1.1 or later of Power Fractal. Note its performance. 2. From the Parallel menu, select “Automatically Launch onto Four Nodes”. The demo will now automatically ask Pooch to create a job using the four best nodes on the local network, then submit itself for parallel launch. This is an example of “Computational Grid” computing. 6 III. Introduction What is Pooch? Pooch serves as both the user interface to your parallel computer and the manager of your parallel computer. Cluster and grid computing are both examples of parallel computation. Pooch is the parallel computer management and user interface software that can prepare, launch, and monitor these types of parallel computing jobs. The first role of Pooch is to automate the process of starting a parallel application. A parallel application is much like a normal application except that it is designed to run on a collection of intercommunicating computational nodes.2 Manually starting such an application is a tedious process. Pooch automates this process, minimizing the user’s effort to operate and control a parallel computation. However, Pooch provides much more beyond this fundamental function. Pooch provides access to a great deal of information, customization, and automation regarding the life of jobs run on the cluster and the health of the cluster. Jobs can be launched immediately or queued for a later time or when specific conditions are met. Pooch can intelligently and dynamically acquire nodes using its heuristic algorithms or using custom AppleScripts prior to launch. Statistical information about nodes can be accessed, and some node behavior can be customized. Job status is monitored, and statistics about jobs are collected and retained during and after jobs have completed. Pooch serves as launcher, scheduler, queuing system, and multisystem 2 This contrasts with distributed computing, such as SETI@Home, in which the pieces of its computation are all but completely isolated from one another. 7 cluster monitor, all presented in a friendly user interface. The first thing that makes Pooch unique from all other software of its kind on any platform is the extension of the revered Macintosh ease-of-use to parallel computing. Since 1998, the AppleSeed project at UCLA’s Department of Physics has unquestionably demonstrated the practicality of leveraging the advantages of the Macintosh platform for the goals of numerically-intensive parallel computing. While others used Linux and Windows NT with a hodgepodge of command-line only, unreliable, unstable code fragments, AppleSeed provided the only known solution for parallel computing on the Mac OS. Users of software built by the AppleSeed team are not required to know the inner workings of an operating system, nor are they required to hire expert