View Proposal


Proposer
Hans Wolfgang Loidl
Title
Parallel symbolic computation on distributed memory machines
Goal
To develop a parallel implementation of a symbolic computation application in parallel Haskell and to assess the performance of the application on our distributed memory Beowulf network.
Description
Symbolic computation is characterised by performing compute-intensive operations on highly-structured, complex data. The parallelism in these applications is typically dynamic and irregular, i.e. it is generated throughout the computation and varies significantly in size. These characteristics make it difficult for conventional parallel programming languages. As a high-level parallel programming language, the pure, non-strict functional language Haskell will be used. It provides extensions to support both shared-memory and distributed-memory parallelism. The focus in this project is on the latter. This project will use the SymGrid-Par infrastructure for parallel programming, together with the GAP system for computational algebra, to implement one concrete symbolic application. Candidate applications come form the area of computational algebra, and include parallel resultant computation, squarefree factorisation and solving polynomial systems of equations. The thesis will report on the process of parallelising the application, reflect on the sources of parallelism, the suitability of the language and infrastructure for parallelisation, and assess the performance of the parallelised application on our Beowulf cluster.
Resources
GHC and Eden compilers, SymGrid-Par, GAP, Beowulf, Linux
Background
Functional Programming, parallel programming, Linux
Url
External Link
Difficulty Level
High
Ethical Approval
None
Number Of Students
2
Supervisor
Hans Wolfgang Loidl
Keywords
parallel computing
Degrees
Bachelor of Science in Computer Science
Bachelor of Science in Computer Systems
Bachelor of Science in Information Systems
Bachelor of Science in Software Development for Business (GA)
Master of Engineering in Software Engineering
Master of Design in Games Design and Development
Master of Science in Artificial Intelligence
Master of Science in Artificial Intelligence with SMI
Master of Science in Business Information Management
Master of Science in Computer Science for Cyber Security
Master of Science in Computer Systems Management
Master of Science in Computing (2 Years)
Master of Science in Data Science
Master of Science in Human Robot Interaction
Master of Science in Network Security
Master of Science in Robotics
Master of Science in Software Engineering
Bachelor of Science in Computing Science