Results 1 
9 of
9
The Design of the PACLIB Kernel for Parallel Algebraic Computation
 In ACPC2, 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, nondeterminism, 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 ParaFunctional 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 multiprocessor runtime system of the computer algebra library SACLIB. The parallelization of several computer algebra algorithms on a shared memory multiprocessor demonstrates the elegance and efficiency of this approach. Keywords: ParaFunctional Programming, Computer Algebra, Compilation. 1 Introduction We present in this paper a small functional language D and its parafunctional 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 9 (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, nondeterminism, 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...
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, 6680 (1993). ..."
Abstract

Cited by 8 (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, 6680 (1993).
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...
Application of a ParaFunctional Language to Problems in Computer Algebra
 In HPFC'95  High Performance Functional Computing
, 1995
"... We describe how a parafunctional 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 highlevel programming interface for the parallel computer alge ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We describe how a parafunctional 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 highlevel 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 parafunctional 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, realworld computer algebra programs are for performance reasons usually written in a lowlevel 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 computersupported 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 computersupported session over the network ("virtual classroom"). This task is particularly challenging because it requires the coordination of concurrent activities operating in realtime 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 midterm future and allows nonexpert 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 objectoriented software library into which application/systemspecific components can be plugged. Our investigation is accompanied by a detail...
HPGP: HighPerformance Generic Programming for Computational Mathematics by CompileTime 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 higherorder 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 higherorder 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 highperformance mathematical software libraries for scientific and technical application domains. This system has the following features: 1. It is based on a powerful higherorder 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 compiletime. 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 compiletime instantiation, genericity does not cause any execution overhead; by automatically sharing instant...