Overview
Topic status: We're looking for students to study this topic.
The SUN T2 Niagara workstation has 8 CPUs and can run 128 parallel hardware threads. The threads are not quite as fast as a single CPU on a standard PC, but the parallel speedup is extensive when it can be achieved. This project aims to implement a fully parallel bitwise processing library in C/C++. Bitwise objects are arrays of bits and are useful for representing, for instance, sets of objects, encrypted text, or document signatures. Bitwise processing is inherently parallel even on a single CPU where two 64-bit strings can be operated upon in one instruction (e.g. z = x|y; z=x&y; z=x^y; etc).When very long bit strings are to be operated upon, with a computer capable of running 128 threads in parallel, it is possible to operate on 8192 bits in one "cycle" where each thread executes a single instruction on a 64 bits integer. Of course one has to have an application which operates with large bit strings to take advantage of such a capability.
Aims: Implement a general purpose parallel processing library for bitwise operations on a multicore architecture. Several algorithms that are based on bitwise processing will be implemented. Specifically, we aim to fine tune the library to the hardware of the T2, but it should be platform independent. Furthermore, we aim to implement a prototype regular expression search engine for the Wikipedia using the multicore bitwise library.
Approaches: There are two parts to this project - the first part involves the development an efficient library that can maximise the utilisation of the multicore hardware and parallel threads of the Solaris operating system. The second part involves the development of a regular expression search engine for the Wikipedia. The regex should operate at the speed of a normal search engine - there is no search engine that supports regular expression search on large collections.
Requirements: Strong programming skills and an appetite for technical computing. Must have experience with C/C++ and Unix.
- Study level
- Honours
- Supervisors
- QUT
- Organisational unit
Science and Engineering Faculty
- Research area
- Contact
-
Please contact the supervisor.