Concurrency in a System for Symbolic and Algebraic Computations

Show simple item record

dc.creator Mai, Stefan
dc.date.accessioned 2009-06-09T19:29:13Z
dc.date.available 2009-06-09T19:29:13Z
dc.date.issued 2009-06-09T19:29:13Z
dc.identifier.uri http://handle.tamu.edu/1969.1/86499
dc.description.abstract As miniaturization of computer components is approaching the limits of physics, researchers in computer architecture are looking for less conventional means to perpetuate Moore's law. Recent trends in hardware ve been adding more cores. Consequently multicore machines are now commodity. To help programmers benefit from Moore's dividend, researchers in programming techniques, tools and languages have been exploring several venues. A dominant theme is the design and implementation of parallel algorithms. Several programming models have been proposed, but none at the moment seem to be substantially better than others. While general parallel programming is a distinctively challenging task, we believe that scientific computation algorithms display algebraic structures, thanks to the rich mathematical objects they manipulate. The present work aims at exploring the extent to which algebraic properties displayed by computer algebra algorithms may be automatically exploited to take advantage of parallelism in the OpenAxiom scientific computation platform. We designed a runtime system that exploits the ubiquitous parallelism of modern CPUs; the system is also scaled to many-system clusters. By taking advantage of the existing InputForm domain in OpenAxiom and connecting of the standard input channel to sockets, we were able to minimize potentially hazardous modifications to the OpenAxiom source while still implementing desired functionality. Additionally, we designed and implemented FFI extensions to the OpenAxiom core to take advantage of SIMD instructions, particularly SSE2 (SIMD Streaming Extensions). The extension allowed us to nearly double the speed of common operations such as multiplying arrays of doubles. We also defined and implemented a foreign function interface for the OpenAxiom system. All of these additions were benchmarked using Berlekamp's algorithm for factorization of polynomials over integers. While much still remains to be done in parallelizing the algebra to work over many calculation nodes, mathematical annotations remain viable in unloading the burden of parallelizing code from the programmer by substituting a simpler activity. en
dc.description.provenance Submitted by Stefan Mai (iamnafets@tamu.edu) on 2009-05-13T14:59:50Z No. of bitstreams: 1 thesis.pdf: 157794 bytes, checksum: eebd16d0071259faff753089806d28f1 (MD5) en
dc.description.provenance Approved for entry into archive by Nicole Priolo(npriolo_10@tamu.edu) on 2009-06-09T19:29:13Z (GMT) No. of bitstreams: 1 thesis.pdf: 157794 bytes, checksum: eebd16d0071259faff753089806d28f1 (MD5) en
dc.description.provenance Made available in DSpace on 2009-06-09T19:29:13Z (GMT). No. of bitstreams: 1 thesis.pdf: 157794 bytes, checksum: eebd16d0071259faff753089806d28f1 (MD5) en
dc.format.medium electronic en_US
dc.language.iso en_US en
dc.subject SIMD en
dc.subject Computer Algebra en
dc.subject Concurrency en
dc.subject Parallelization en
dc.subject OpenAxiom en
dc.subject FFI en
dc.title Concurrency in a System for Symbolic and Algebraic Computations en
dc.type Thesis en
dc.type.genre Thesis en_US
dc.type.material text en_US
dc.format.digitalOrigin born digital en_US

Files in this item

Files Size Format View
thesis.pdf 157.7Kb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record