Linda is available on a large number of parallel computer systems, including
shared-memory computers, distributed- memory computers, and networks. Most
Linda programs written for one machine run without change on others, facilitating
single-source portable parallel codes for all architectures.
Ease of Use
Linda implements parallelism via a global, logically-shared
memory, using a small number of simple but powerful operations. The
entire approach is easy to understand and quickly mastered.
Linda enables you to transform existing sequential C, C++, or Fortran
programs into parallel codes quickly and easily. Your return on those software
investments is not only preserved with Linda, but multiplied many times
While costly and specialized parallel computers once were required,
today you can start out with an existing departmental workstation network,
and combine cycles together to achieve parallel performance gains, increased
job throughput, and improved resource utilization levels.
Support for Heterogeneity
Linda makes operation on heterogeneous clusters easy and almost automatic
by providing transparent data conversion between architectures and well-thought-out
facilities for node selection, directory mapping, and program startup.
Linda's exceptionally low overhead results in high performance low-level
speed from a high-level tool.
Effective Code Development
Since Linda is a language extension implemented via pre-compile and
pre-link processing, it is possible to optimize code automatically and
provide extensive error reporting during the compile and link phases. Debugging
is simple and effective. Linda systems include Tuplescope, a graphical
debugging tool that makes it easy to debug process management and interprocess
communication. Moreover, both Linda and Tuplescope are fully compatible
with standard UNIX debuggers such as DBX and GDB.
High Performance on Special Parallel Architectures
Linda takes full advantage of the underlying architectures of all shared-memory
machines and distributed-memory parallel machines from vendors such as
IBM, Cray, SGI, HP, and Hitachi. Custom run-time systems make it possible
to target a single set of sources to any of these.
Dynamic Load Balancing
The virtual shared memory data model makes it easy to build software
using techniques that lead to automatic load balancing - even among heterogeneous