Results 1  10
of
11
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
(Show Context)
. 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...
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
(Show Context)
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...
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...
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
(Show Context)
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). V ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
(Show Context)
. 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
(Show Context)
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...
RT++  Higher Order Threads for C++: Tutorial and Reference Manual (Version 1.0)
, 1996
"... This report presents RT , a software package that provides higherorder threads in the programming language C . Its features include a typesafe functional thread interface, lazy thread creation, garbagecollected types (lists, arrays, pointer structures) and controlled nondeterminism (thread bags). ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This report presents RT , a software package that provides higherorder threads in the programming language C . Its features include a typesafe functional thread interface, lazy thread creation, garbagecollected types (lists, arrays, pointer structures) and controlled nondeterminism (thread bags). Threads are firstorder objects that can be used like any other objects and that are automatically reclaimed when they are not referenced any more. The package has been ported to numerous types of monoprocessors and shared memory multiprocessors and can be easily embedded into existing application frameworks. Supported by the Austrian Science Foundation (FWF) grant S5302PHY "Parallel Symbolic Computation" and by the Advanced Information Technology Program (AITP) of Informationtechnology Promotion Agency(IPA), Japan, in the frame of the project "Coordination Programming in Open Computing Environment". The online version of this document and the source code of the described syste...
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 o ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
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...
Relaxation and Hybrid Approaches for Efficient Polynomial Basis Computation on Distributed Memory Machines
, 1995
"... : Two new approaches to efficiently compute an important polynomial basis (Grobner basis) on distributed memory machines are presented. The first approach is based on relaxation of dependencies present in the sequential computation. For the relaxation approach, speculative parallelism is achieved. I ..."
Abstract
 Add to MetaCart
(Show Context)
: Two new approaches to efficiently compute an important polynomial basis (Grobner basis) on distributed memory machines are presented. The first approach is based on relaxation of dependencies present in the sequential computation. For the relaxation approach, speculative parallelism is achieved. In the hybrid approach, a Grobner basis of a set of polynomials is computed in a treestructured fashion. The upper level nodes compute the Grobner basis using the relaxation approach. This hybrid approach takes advantages of both the treestructured computation and dependency relaxation at upper level nodes in the tree. The hybrid approach provides significant speedups for the examples considered in this paper. Both approaches exploit parallelism in an irregularly structured Grobner basis computation and provide encouraging speedups. A comparative study of both approaches along with some insights on their scalability is provided. The performance data provided in this paper results from experi...