ABSTRACT

In the areas of science, engineering, and even business, computationally intensive problems and applications are requiring more processing power than ever before. Despite increasing processor speed, traditional sequential computers can't supply the power needed to solve these problems. Parallel computers can usually be broken into two architectural groups: shared memory and message passing. Linda, a parallel-processing modeling language, offers an elegant yet powerful way to create parallel programs. Linda is sometimes referred to as the "portable parallel" because it's been implemented on a wide variety of parallel-computer architectures. Parallel solutions always involve a trade-off between communication and computation, which are characterized by their granularity. Most sequential computer programs contain some inherent parallelism that can be exploited for faster execution on parallel computers. Creating a parallel program, either from scratch or from an existing sequential program, includes decomposing the tasks into pieces that can be computed concurrently.