Orchestrating Production Computer Algebra Components into Portable Parallel Programs
نویسندگان
چکیده
This paper demonstrates that it is possible to obtain good, scalable parallel performance by coordinating multiple instances of unaltered sequential computational algebra systems in order to deliver a single parallel system. The paper presents the first substantial parallel performance results for SymGrid-Par, a system that orchestrates computational algebra components into a high-performance parallel application. We show that SymGrid-Par is capable of exploiting different parallel/multicore architectures without any change to the computational algebra component. Ultimately, our intention is to extend our system so that it is capable of orchestrating heterogeneous computations across a high-performance computational Grid. For now, we illustrate our approach with a single, unmodified production computational algebra system, GAP, running on two common commodity architectures — a homogeneous cluster and an eight-core system. Computational algebra applications are large, specialised, and symbolic, rather than the more commonly studied numerical applications. They also exhibit high levels of irregularity, and multiple levels of irregularity. We demonstrate that for three small but representative algebraic computations, good parallel speedup is possible relative to a sequential GAP system running on a single processor/core. We compare the performance of the orchestrated system with that of parGAP, an established parallel implementation of GAP, demonstrating
منابع مشابه
Orchestrating computational algebra components into a high-performance parallel system
This paper demonstrates that it is possible to obtain good, scalable parallel performance by coordinating multiple instances of unaltered sequential computational algebra systems in order to deliver a single parallel system. The paper presents the first substantial parallel performance results for SymGrid-Par, a system that orchestrates computational algebra components into a high-performance p...
متن کاملA Distributed Computer Algebra System Based on Maple and Java
Distributed Maple is a system for writing parallel programs in the computer algebra system Maple. It allows to create concurrent tasks and to execute them by Maple kernels running on different machines of a network. The system consists of two components: 1. A Java class library which implements a general purpose communication and scheduling mechanism for distributed applications. 2. A binding t...
متن کاملParallel computing using MPI and OpenMP on self-configured platform, UMZHPC.
Parallel computing is a topic of interest for a broad scientific community since it facilitates many time-consuming algorithms in different application domains.In this paper, we introduce a novel platform for parallel computing by using MPI and OpenMP programming languages based on set of networked PCs. UMZHPC is a free Linux-based parallel computing infrastructure that has been developed to cr...
متن کاملApplication of a Para-functional Language to Problems in Computer Algebra
We describe how a para-functional programming language is applied to implementing parallel computer algebra algorithms on a shared memory multiproces-sor. The language we use is pD, a small functional language that we have developed as a high-level programming interface for the parallel computer algebra package PACLIB. pD provides several facilities to express parallel algorithms in a exible wa...
متن کاملAn Object-oriented Implementation Model for the Promoter Language Technical Report
The PROMOTER programming language is designated for data parallel applications that are to run on massively parallel computers with distributed memory. This paper presents an object-oriented implementation model for the PROMOTER language. An object-oriented approach to compile data-parallel programs to message passing programs can reduce design complexity, facilitate reuse of components, and ea...
متن کامل