Parallel Computing Toolkit
Provides Inexpensive Computing Solution with High Functionality
Parallel Computing Toolkit for Mathematica makes parallel programming affordable to users with access to either a multiprocessor machine or a network of heterogeneous machines--without requiring dedicated parallel hardware. Parallel Computing Toolkit can take advantage of existing Mathematica kernels on all supported operating systems--including Unix, Linux, Windows, and Macintosh--connected through TCP/IP, thus enabling users to use existing hardware and Mathematica licenses to create low-cost "virtual parallel computers."
Parallel Computing Toolkit supports all common parallel programming paradigms such as virtual shared or distributed memory, automatic or explicit scheduling, and concurrency including synchronization, locking, and latency hiding. Other features of Parallel Computing Toolkit include machine-independent implementation, parallel functional programming, and failure recovery and automatic reassignment of stranded processes in the event of a system failure.
Parallel Computing Toolkit implements many parallel programming primitives and includes high-level commands for parallel execution of operations such as animation, plotting, and matrix manipulation. It comes with numerous examples demonstrating many popular new programming approaches such as parallel Monte Carlo simulation, visualization, searching, and optimization. Because Parallel Computing Toolkit also provides the Mathematica source code for all high-level commands, these operations and examples can serve as templates for building additional parallel programs.
Users can benefit by employing Parallel Computing Toolkit in a number of ways. The easiest, and often surprisingly effective, method is simply for users to wrap a command such as ParallelEvaluate around their code. Parallel Computing Toolkit then assigns individual calculations automatically to free processes across the network. With slightly more effort, advanced users of Parallel Computing Toolkit can optimize performance even more by using explicit scheduling of their calculations. Like all parallel computing environments, Parallel Computing Toolkit shows the best performance improvements for inherently parallel computations like many list and matrix operations or for repetitive operations like Monte Carlo simulations.
Engineers, scientists, and analysts can use Parallel Computing Toolkit to perform the large-scale computations often involved in the product-design and problem-solving processes. Says Roman Maeder, creator of Parallel Computing Toolkit, "One of my key motivations for writing this package was to finally make serious parallel computing truly accessible to a wide range of workgroups, labs, and classrooms." Parallel Computing Toolkit is written entirely in the platform-independent Mathematica programming language.
More information on Parallel Computing Toolkit.