Results 1 -
9 of
9
The Design of the PACLIB Kernel for Parallel Algebraic Computation
- In ACPC-2, LNCS vol.734
, 1993
"... . This paper describes the runtime kernel of Paclib, a new system for parallel algebraic computation on shared memory computers. Paclib has been developed as a professional tool for the simple design and efficient implementation of parallel algorithms in computer algebra and related areas. It provi ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
. This paper describes the runtime kernel of Paclib, a new system for parallel algebraic computation on shared memory computers. Paclib has been developed as a professional tool for the simple design and efficient implementation of parallel algorithms in computer algebra and related areas. It provides concurrency, shared memory communication, non-determinism, speculative parallelism, streams and a parallelized garbage collection. We explain the main design decisions as motivated by the special demands of algebraic computation and give several benchmarks that demonstrate the performance of the system. Paclib has been implemented on a Sequent Symmetry multiprocessor and is portable to other shared memory machines and workstations. 1 Introduction Computer algebra is that branch of computer science that aims to provide exact solutions of scientific problems. Research results of this area are e.g. algorithms for symbolic integration, polynomial factorization or the exact solution of algeb...
A Para-Functional Programming Interface for a Parallel Computer Algebra Package
- Journal of Symbolic Computation
, 1994
"... : We describe the design and implementation of pD, a parallel variant of a small functional language that serves as a programming interface for the parallel computer algebra package PACLIB. pD provides several facilities to express parallel algorithms in a flexible way on different levels of abstrac ..."
Abstract
-
Cited by 9 (7 self)
- Add to MetaCart
: We describe the design and implementation of pD, a parallel variant of a small functional language that serves as a programming interface for the parallel computer algebra package PACLIB. pD provides several facilities to express parallel algorithms in a flexible way on different levels of abstraction. The compiler translates a pD module into statically typed parallel C code with explicit task creation and synchronization constructs. This target code can be linked with the PACLIB kernel, the multi-processor runtime system of the computer algebra library SACLIB. The parallelization of several computer algebra algorithms on a shared memory multi-processor demonstrates the elegance and efficiency of this approach. Keywords: Para-Functional Programming, Computer Algebra, Compilation. 1 Introduction We present in this paper a small functional language D and its para-functional variant pD that is used as a parallel programming interface for the computer algebra package PACLIB. Parallelism...
PACLIB - A System for Parallel Algebraic Computation on Shared Memory Multiprocessors
- Johannes Kepler University
, 1993
"... This paper gives an overview on the structure and the use of Paclib, a new system for parallel algebraic computation on shared memory computers. Paclib has been developed as a professional tool for the simple design and efficient implementation of parallel algorithms in computer algebra and related ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
This paper gives an overview on the structure and the use of Paclib, a new system for parallel algebraic computation on shared memory computers. Paclib has been developed as a professional tool for the simple design and efficient implementation of parallel algorithms in computer algebra and related areas. It provides concurrency, shared memory communication, non-determinism, speculative parallelism, streams and pipelining and a parallelized garbage collection. Paclib has been implemented on a Sequent Symmetry multiprocessor and is portable to other shared memory machines and workstations. Several algebraic algorithms have been implemented in Paclib and demonstrate the effectiveness of the system. 1 Introduction Computer algebra is that branch of computer science that aims to provide exact solutions of scientific problems. Research results of this area are e.g. algorithms for symbolic integration, polynomial factorization or the exact solution of algebraic equations and inequalities...
Virtual Tasks for the PACLIB Kernel
- Parallel Processing: CONPAR 94 --- VAPP VI International Conference on Parallel and Vector Processing
, 1994
"... . We have extended the task management scheme for the parallel computer algebra package PACLIB. This extension supports "virtual tasks" (tasks that are not yet executable) which are created more efficiently than "real tasks" (tasks that are immediately scheduled for execution). Virtual tasks become ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
. We have extended the task management scheme for the parallel computer algebra package PACLIB. This extension supports "virtual tasks" (tasks that are not yet executable) which are created more efficiently than "real tasks" (tasks that are immediately scheduled for execution). Virtual tasks become real only when the system is idling or existing real tasks can be recycled. Consequently, the overhead for task creation and synchronization but also the memory requirements of a parallel program may be reduced. We analyze the system theoretically and experimentally and compare it with another virtual task package. 1 Introduction The purpose of this paper is twofold: first it reports the extension of the task management scheme for a parallel programming package developed at our institute. Second it carefully investigates the semantic and performance consequences of this modification and compares them with the results reported for a system that was developed elsewhere with similar objectives...
Process Scheduling in DSC and the Large Sparse Linear Systems Challenge
- J. Symbolic Comput
, 1998
"... this paper appeared in "Design and Implementation of Symbolic Computation Systems," A. Miola (ed.), Springer Lect. Notes Comput. Science, 722, 66--80 (1993). ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
this paper appeared in "Design and Implementation of Symbolic Computation Systems," A. Miola (ed.), Springer Lect. Notes Comput. Science, 722, 66--80 (1993).
Application of a Para-Functional Language to Problems in Computer Algebra
- In HPFC'95 | High Performance Functional Computing
, 1995
"... We describe how a para-functional programming language is applied to implementing parallel computer algebra algorithms on a shared memory multiprocessor. The language we use is pD, a small functional language that we have developed as a high-level programming interface for the parallel computer alge ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We describe how a para-functional programming language is applied to implementing parallel computer algebra algorithms on a shared memory multiprocessor. 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 flexible way on different levels of abstraction. The compiler translates a pD program into parallel C code with explicit task creation and synchronization constructs. The implemented para-functional programs perform as efficient as manually coded parallel C programs. 1 Introduction While most computer algebra algorithms [3] are based on the concept of pure functions, real-world computer algebra programs are for performance reasons usually written in a low-level imperative style (typically in C). Consequently, there is little resemblance between the notation in which the mathematical theory is formulated a...
CONCERT - A Software Architecture for Coordinating Education Sessions in Distributed Environments
, 1997
"... This paper sketches an environment for distributed education that supports the lecturer in preparing and performing a computer-supported session over the network ("virtual classroom"). This task is particularly challenging because it requires the coordination of concurrent activities operating i ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This paper sketches an environment for distributed education that supports the lecturer in preparing and performing a computer-supported session over the network ("virtual classroom"). This task is particularly challenging because it requires the coordination of concurrent activities operating in real-time on objects of different types located in a distributed network environment. We describe the CONCERT software architecture that can be implemented with realistic efforts in the mid-term future and allows non-expert users to perform such a task. Since technology is rapidly evolving, we focus on the design of an abstract architecture under which various technologies can be integrated and on top of which different programming interfaces can be built. This architecture can be implemented in form of an application framework i.e. of an object-oriented software library into which application/system-specific components can be plugged. Our investigation is accompanied by a detail...
HPGP: High-Performance Generic Programming for Computational Mathematics by Compile-Time Instantiation of Higher Order Functors
, 1997
"... A functor is a parameterized program module i.e. a function that takes modules as arguments and returns a module as its result. A higher-order functor deals in the same way with modules whose components are functors themselves. We propose to develop a generic compilation system for the construction ..."
Abstract
- Add to MetaCart
A functor is a parameterized program module i.e. a function that takes modules as arguments and returns a module as its result. A higher-order functor deals in the same way with modules whose components are functors themselves. We propose to develop a generic compilation system for the construction of high-performance mathematical software libraries for scientific and technical application domains. This system has the following features: 1. It is based on a powerful higher-order functor language. 2. It is an open library that can be retargeted to any core language. 3. It is able to resolve functor instantiation at compile-time. The functor language is expressive enough to build all types and type constructors without referring to the core language (thus maximizing flexibility) and to express all interactions between modules by parameterization (thus maximizing reusability). By compile-time instantiation, genericity does not cause any execution overhead; by automatically sharing instant...

