Star-P® for MATLAB® Users
The Star-P parallel software platform brings scalability and performance to MATLAB users, while retaining the traditional ease-of-use of a very high level language (VHLL) platform like MATLAB.
- No more "out of memory" caused by limited desktop resources - Star-P has been used on Terabyte sized problems
- Faster time to solution - Star-P's constructs are the easiest way to add parallelism to MATLAB codes. Hardware parallelism can dramatically reduce run times
- Star-P brings the power of server based computational resources such as servers, clusters and On Demand systems in "the cloud" - directly to the user's desktop
Simple and Efficient Parallel Computing for Science and Technology
The programmer interacts with the standard MATLAB desktop environment, enhanced with a few simple
Star-P commands:
-
Tedious parallel programming is eliminated (No MPI, C, Fortran)
- Conversion from serial to parallel is easy and mostly automated
Star-P with MATLAB environment supports:
- Serial computing (plain MATLAB)
- Data-Parallel computing (*p tag)
- Task-Parallel computing (ppeval command)
- Additional functions for data- and task-parallel computing through
- Star-P Connect Library API link
Functions Available with Star-P for Parallel Computing
Star-P comes equipped with a large number of
MATLAB compatible functions
supporting a wide range of application areas. Star-P's unique "data-parallel" functions
provide automatic parallelization of operations on large data structures.
A small number of easy to learn special functions make up the Star-P
"command set"
which allow the user to specify parallelism within the application.
New functions are developed continuously.
Data Parallel and Task Parallel Computing
Leveraging both data- and task-parallel computing is necessary in many scientific and technical simulations. Star-P enables users to work in both
modes and to seamlessly interoperate between the two.
-
Star-P's
data-parallel mode enables algorithms requiring large-scale memory access and inter-processor communication, often called "global
array computing", such as those found in matrix manipulation and signal processing applications.
-
Star-P's task-parallel mode is ideally suited
for parallelization of algorithms often called "embarrassingly parallel," where computations can be naturally broken up into largely independent
processes such as Monte Carlo simulation, or parallelization of For loops.
With Star-P, task-parallel computing is triggered by using the "ppeval"
function call, analogous to MATLAB's feval (or 'function evaluate')
command. In this example, the use of "ppeval" replaces the For loop
used in the serial version of the code to carry out, in parallel, FFT
operations on a brain image at 10 different rotations.
Simple MATLAB script for finding the eigenvector of a random matrix.
Adding the *p construct makes variables parallel. Through propagation,
related variables also become parallel. Functions on parallel variables
are transparently "overloaded" and processed on a multi-core server
or cluster.
Scale and Performance
Star-P has been tested in a variety of environments, and has shown a clear performance scaling with the number of processors involved in parallel
computation. Additionally, Star-P uses all memory in a multi-core server or cluster for data processing, enabling interactive simulations with very
large, real-life data sets.
The scale and performance of Star-P computing depends on the properties of the hardware platform and cluster interconnects. Best performance
is achieved when the choice of computing mode is best matched to all segments of the algorithm being tested or simulated. Star-P has been
tested and scaled to manipulate 3 Terabyte-sized matrices, on machines reaching 512 processors. Star-P runs on servers with x86-64 multi-core
microprocessors such as Intel's Xeon 5100 and AMD's Opteron, and Intel's multi-core Itanium. Supported operating systems include SUSE and
Redhat Linux.
The Future
Data sizes continue to grow and new and better algorithms are being developed. At the same time, commodity micro-processors are quad core now and moving to greater levels of parallelism. This causes a problem for the domain expert who has limited time to develop parallel applications.
Star-P is a tool that turns this problem into an opportunity for scientists, engineers and analysts to use servers, clusters and On Demand, cloud resources to dramatically increase their productivity.