Publication | Open Access
Strand: A practical parallel programming language
16
Citations
0
References
1989
Year
Cluster ComputingEngineeringData-level ParallelismParallel SoftwareProgram AnalysisParallelizing CompilerParallel ProcessingComputer EngineeringComputer ArchitectureParallel ImplementationParallel ProgrammingComputer ScienceParallel Programming ModelParallel ComputingStrand DesignMultiprocessor ArchitecturesParallel AlgorithmsEffective Parallel
Effective parallel programming requires tools that facilitate the design and implementation of parallel algorithms and provide portability across parallel computers. Strand is the first such tool to be available on a broad range of multiprocessor architectures, including hypercubes, meshes, computing surfaces, banyan networks, shared-memory machines and local area networks. Strand is a new concurrent logic programming language. Its design is motivated by extensive experience with previous languages of this type. This experience indicated that for most practical parallel programming requirements, these research languages were too complex, inefficient and difficult to implement. Strand applies a broad variety of simplifications to achieve a practical parallel programming tool. This paper describes the issues surrounding the Strand design and reports on initial experiences with the language. 24 refs., 3 figs.