Published in

Proceedings of the 4th International Workshop on Parallel and Symbolic Computation - PASCO '10

DOI: 10.1145/1837210.1837239

Links

Tools

Export citation

Search in Google Scholar

Parallelising the computational algebra system GAP

Proceedings article published in 2010 by Reimer Behrends, Alexander Konovalov ORCID, Steve Linton, Frank Lübeck, Max Neunhöffer
This paper is available in a repository.
This paper is available in a repository.

Full text: Download

Green circle
Preprint: archiving allowed
Green circle
Postprint: archiving allowed
Red circle
Published version: archiving forbidden
Data provided by SHERPA/RoMEO

Abstract

We report on the project of parallelising GAP, a system for computational algebra. Our design aims to make concurrency facilities available for GAP users, while preserving as much of the existing code base (about one million lines of code) with as few changes as possible and without requiring users---a large percentage of whom are domain experts in their fields without necessarily having a background in parallel programming---to have to learn complicated parallel programming techniques. To this end, we preserve the appearance of sequentiality on a per-thread basis by containing each thread within its own data space. Parallelism is made possible through the notion of migrating objects out of one thread's data space into that of another one, allowing threads to interact and via limited use of lockable shared data spaces.