DSC: a system for distributed symbolic computation
ISSAC '91 Proceedings of the 1991 international symposium on Symbolic and algebraic computation
Constructing permutation representations for large matrix groups
ISSAC '94 Proceedings of the international symposium on Symbolic and algebraic computation
Fortran M: a language for modular parallel programming
Journal of Parallel and Distributed Computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
STAR/MPI: binding a parallel library to interactive symbolic algebra systems
ISSAC '95 Proceedings of the 1995 international symposium on Symbolic and algebraic computation
ISSAC '96 Proceedings of the 1996 international symposium on Symbolic and algebraic computation
Proceedings of the Second International Workshop on Computer Algebra and Parallelism
Proceedings of the Second International Workshop on Computer Algebra and Parallelism
Computer Algebra on MIMD Machine
ISAAC '88 Proceedings of the International Symposium ISSAC'88 on Symbolic and Algebraic Computation
Computation with permutation groups
SYMSAC '71 Proceedings of the second ACM symposium on Symbolic and algebraic manipulation
Indigo: user-level support for building distributed shared abstractions
HPDC '95 Proceedings of the 4th IEEE International Symposium on High Performance Distributed Computing
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
Scalable parallel coset enumeration using bulk definition
Proceedings of the 2001 international symposium on Symbolic and algebraic computation
Scalable parallel coset enumeration: bulk definition and the memory wall
Journal of Symbolic Computation - Computer algebra: Selected papers from ISSAC 2001
Using TOP-C and AMPIC to port large parallel applications to the computational grid
Future Generation Computer Systems - Selected papers from CCGRID 2002
The TOP-C parallel model and symbolic algebra
ACM SIGSAM Bulletin
Proceedings of the 2006 international symposium on Symbolic and algebraic computation
Harnessing parallel disks to solve Rubik's cube
Journal of Symbolic Computation
Hi-index | 0.00 |
The goal of this work is to simplify parallel application development, and thus ease the learning barriers faced by non-experts. It is especially useful where there is little data-parallelism to be recognized by a compiler. The applications programmer need learn the intricacies of only one primary subroutine in order to get the full benefits of the parallel interface. The applications programmer defines a high level concept, the task, that depends only on his application, and not on any particular parallel library. The task is defined by its three phases: (a) the task input, (b) sequential code to execute the task, and (c) any modifications of global variables that occur as a result of the task. In particular, side effects (which change global variable values) must not occur in phase (b). Forcing the user to re-organize his computation in these terms allows us to present the applications programmer with a single global environment visible to all processors (whether on a SMP or a NOW architecture), in the context of a masterslave architecture. Both a shared memory implementation (running on an SGI or SUN Solaris architecture) and a NOW memory implementation (running on top of MPI) are described. The implementations were tested by a naive program for integer factorization, and by a more sophisticated Todd-Coxeter coset enumeration. Integer factorization was chosen so as to exercise the major features of TOP-C in an unambiguous context.