FastDL
Timely Visualization and Analysis of Large Data Sets Using IDL and Parallel Computing
Often experiments and simulations generate large data sets that require immediate processing. Scientists exploring fluid and particle dynamics, high-energy and plasma physics, astrophysics and space sciences, biophysics, protein folding and medical science are challenged to visualize and analyze increasingly complex data. Many technical professionals rely on the Interactive Data Language (IDL) from ITT Visual Information Solutions, Inc. to visualize and analyze these large data sets.
However some analyses cannot be practically accomplished on a workstation or server with only symmetric multi-processing. And while distributed computing promises cost-effective computing power, IDL alone does not naturally take advantage of this parallel environment.
To bridge the gap between IDL and parallel computing, Tech-X Corporation has developed FastDL. With FastDL, scientists and developers can run IDL visualization and analyses applications in parallel, significantly shortening the time required to get results.
Because not every large scale visualization and analysis problem can be solved using the same parallel computing paradigm, FastDL offers two independent components that address the computational needs of parallel data analysis and visualization:
-
TaskDL - designed for problems where computations on each node are independent of one another and are performed on different data (task farming).
-
mpiDL - appropriate for complex problems where nodes need to communicate during the analysis and may need to perform different tasks.
TaskDL -- Task Farming for IDL
TaskDL helps scientists and developers quickly re-purpose IDL applications to run in parallel using a task farm paradigm. Within minutes and with minimal code changes, users can run serial IDL applications in parallel. TaskDL is appropriate for improving the performance of applications where parallelized tasks do not need to communicate with one another, such as movie frame rendering and Monte Carlo simulations.
How Does TaskDL Work?
TaskDL is an IDL task farming system that uses a central task server to distribute tasks amongst multiple worker nodes running IDL on local or remote machines. Each worker node operates independently, contributing its maximum computing power without being held back by high loads or problems with other worker nodes.
TaskDL sessions can be created from within any IDL program or interactive IDL session, where users can start the task server on a specified host machine, launch or terminate IDL workers on remote hosts, or query the server for task lists and task status. IDL tasks, which may be any executable IDL command or procedure with its associated arguments, may be sent to the server via an easy-to-use object interface. TaskDL offers mechanisms to define task priorities and task dependencies.
mpiDL -- Leverage MPI and Parallel Cluster Computing Experience in IDL
mpiDL is designed to meet the needs of scientists and developers who are familiar with parallel computing and want to use IDL for data visualization and analysis. This add-on library implements the Message Passing Interface (MPI) standard in IDL. Through message passing, mpiDL lets users delegate computation sub-tasks to machines in the cluster. Examples of problems well-suited to mpiDL are finite element analysis and analysis of distributed data sets created by parallel plasma or weather simulations.
How Does mpiDL Work?
The MPI library of communication routines is the standard message-passing interface for distributed-memory parallel computing. Tech-X Corporation's mpiDL is an add-on library that implements MPI as native IDL function calls, helping scientists and developers familiar with parallel computing quickly leverage the power of IDL.
With mpiDL, parallel programmers can write IDL programs that call MPI functions using the same approach they would use when writing C or Fortran programs. mpiDL also gives developers access to built-in specialized parallel functionality based on collections of primitive MPI communication and data types. Developers who are new to parallel programming using explicit message passing can get up to speed quickly by modifying the mpiDL examples to create their own parallel IDL programs.
FastDL System Requirements
Both FastDL components are designed to operate on clusters or networks of computers. TaskDL and mpiDL require a runtime license of IDL for each node in the cluster.
mpiDL also requires that the MPI libraries be installed on each node in the cluster.
TaskDL requires ssh access to the computers acting as workers.
Read more about FastDL in the FastDL Product Datasheet. See the FastDL Configuration Matrix for product compatibility information.
Learn More About FastDL
- Success Stories
- FAQ
- Examples
FastDL mpiDL Success Stories
Case Study: General Atomics Uses mpiDL for Large U.S. Fusion Experiment
General Atomics, together with the Department of Energy, is conducting one of the largest U.S. fusion energy experiments. This long-running experiment, called DIII-D, requires a calculation of many aggregate quantities such as temperature and density profiles for each test shot.
By combining the convenience of interactive visualization and analysis of IDL with the power of parallel computing, mpiDL helped generate rapid analysis of experimental data during the few minutes between shots of the DIII-D plasma fusion device. Speed-up was a factor of 8X on a 20-node cluster, providing General Atomics researchers with essential real-time feedback.
General Atomics researchers saw an 8X speed-up on a 20-node Linux cluster using mpiDL.
Case Study: Using mpiDL for Climate Prediction and Image Processing
Michael White, a research scientist at Utah State University, and Mark Schwartz from the University of Wisconsin-Milwaukee, are using mpiDL to accelerate data analysis for their environmental research. Their model predicts the year-day of first bloom and first leaf for a given year based on weather patterns, and makes predictions on the scale of 1 km2 for the entire continental United States. By deploying their model analysis code on a multi-node Linux cluster, White and Schwartz reused their existing IDL scripts and decreased processing times by a factor of 25X.
The map shows predicted day of year first leaf for 1981. Results produced by Michael White and Mark Schwartz on 10-node Linux Cluster using IDL parallelized with mpiDL.
FastDL
Frequently Asked Questions
What is FastDL?
FastDL is a suite of add-on libraries and tools for IDL from ITT Visual Information Solutions that provides task scheduling and message passing for parallel computing. FastDL consists of two components: mpiDL for message passing parallelism and TaskDL for task scheduling.
What do I need to use FastDL?
First, you need one or more machines connected in a common network -- this could be a Linux cluster, workstations in a LAN, or other network setup. FastDL requires a cluster with each node licensed for IDL. mpiDL requires an up-to-date installation of mpich while TaskDL needs ssh access to the cluster nodes and a common file system across the cluster (nfs).
What version of IDL do I need?
FastDL has been built and tested with both IDL 6.4 and 7.0.
What is the relationship between Tech-X Corporation and ITT Visual Information Solutions?
Tech-X Corporation and ITT Visual Information Solutions have worked together on a number of technology development projects.
Is commercial licensing available?
Yes. Contact sales@txcorp.com with inquiries.
Is non-commercial licensing available?
No, only commercial licensing is available for FastDL.
Where should I send my questions related to FastDL?
Support for FastDL is provided by Tech-X. You can contact our support staff by emailing support@txcorp.com. You may also address technical questions via email to the FastDL discussion list. Sales questions should be directed to sales@txcorp.com.
When I try to run the mpiDL or TaskDL test example files, I get the error message "Unable to connect to X Windows display."
IDL system errors, such as license manager errors, try to open a message window using X, which can cause this error. If you get this message, there may be an issue with the IDL licenses on the cluster. You can check your IDL license manager through the program 'lmstat' included in your IDL distribution. You can also log on to the worker machines and run 'idl -rt' to confirm that runtime licenses are available. Runtime or interactive licenses are needed by all nodes being used by mpiDL.
FastDL Example: Wavelet Analysis of NASA's SOHO Images Using TaskDL
NASA's Solar and Heliospheric Observatory mission generates a wealth of image data of the Sun and it's environs. Analysis of sequences of images can be time consuming and computationally intensive, although the image analysis routines may be applied to each image independently. To demonstrate the advantage of task-farming for this type of problem, we have written a simple analysis algorithm which we apply to SOHO images in parallel.
![]() |
View a larger, mpeg version of the Sun Image Animation |
For each image in the series (314 1024x1024 pixel images of the solar disk measured at 195 Angstroms) we calculate the discrete wavelet transform coefficients, subtract the coefficients from a baseline image, and reconstruct a difference image based on the residual wavelet coefficients. This analysis is simple and is just representative of the types of analysis which could be performed on time series' of image data. While the algorithm is simple, the process is time consuming, taking over 7 minutes when run in serial.
![]() |
View a larger, mpeg version of the Processed Sun Image Animation |
By using TaskDL we achieved better than 7x speedup on a cluster of 12 processors. Below is a plot which compares the speedup as a function of number of working processors. The data point for zero processors is the time for analysis running in serial.
Because each image is processed independently from the other images, speedup is nearly linear with number of working processors. The roll off from linearity is due to increasing network congestion from remote file writing.

