Advertisement

Towards High-Performance Computational Algebra with GAP

  • Reimer Behrends
  • Alexander Konovalov
  • Steve Linton
  • Frank Lübeck
  • Max Neunhöeffer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6327)

Abstract

We present the project of parallelising the computational algebra system GAP. Our design aims to make concurrency facilities available for GAP users, while preserving as much of the existing codebase (about one million lines of code) with as few changes as possible without requiring users (a large percentage of which 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.

Keywords

GAP shared memory programming threads data spaces 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bacon, D.F., Konuru, R., Murthy, C., Serrano, M.: Thin locks: featherweight synchronization for java. In: PLDI 1998: Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation, pp. 258–268. ACM, New York (1998)CrossRefGoogle Scholar
  2. 2.
    Behrends, R., Konovalov, A., Linton, S., Lübeck, F., Neunhöffer, M.: Parallelising the computational algebra system GAP. Extended abstract. In: PASCO 2010 (accepted 2010)Google Scholar
  3. 3.
    Boyapati, C., Lee, R., Rinard, M.: Ownership types for safe programming: preventing data races and deadlocks. In: Proceedings of the 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM SIGPLAN Notices, vol. 37(11), pp. 211–230. ACM, New York (2002)CrossRefGoogle Scholar
  4. 4.
    The GAP Group. GAP – Groups, Algorithms, and Programming, Version 4.4.12 (2008), http://www.gap-system.org

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Reimer Behrends
    • 1
  • Alexander Konovalov
    • 1
  • Steve Linton
    • 1
  • Frank Lübeck
    • 2
  • Max Neunhöeffer
    • 3
  1. 1.School of Computer ScienceUniversity of St Andrews 
  2. 2.LDFMRWTH Aachen 
  3. 3.School of Mathematics and StatisticsUniversity of St Andrews 

Personalised recommendations