Skip Navigation | ANU Home | Search ANU | SoCS | Staff Login
The Australian National University
ANU College of Engineering and Computer Science
School of Computer Science
Printer Friendly Version of this Document

UniSAFE

Student Projects

This page contains some possible student projects. They have been updated for semester 2. The details of what is expected will depend on the particular subject you are doing. The aim of this page is to provides a starting point for determining a project. If any of them look interesting then please feel free to drop by my office and talk to me about one of them(Or email me and we can arrange a time to meet).

I have labeled the projects in terms of their technical and conceptual difficulty - this is only a rough guide. Also projects are labeled as software development or research(or either). The size of these projects can be adapted to fit 6 to 24 credit points. Also the project descriptions provide a starting point for discussing a PhD topic.

E-Mail

Email usage stats collector

Project Type : Research (COMP8740 (AI), COMP8750 (CSys), COMP8770 (eSci), COMP8780 (HCI), COMP8790 (SE); COMP3760 (IS), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : E-Mail
Technical Difficulty Level : moderate
Conceptual Difficulty Level : high

This project will involve developing an extension for the open-source Thunderbird email manager which will enable stats to be collected about a users email use. This would enable researchers interested in user modelling to understand how different people use email. The types of stats we are interested in gathering would : how long does a user take to reply to messages, how long do they spend reading their emails, will they look at the body of a message before marking it as spam or deleting it, etc..


Computer Systems

A Computer Vision Java Library for the Cell

Project Type : Research/Software Development(COMP6703 (eSci), COMP8750 (CSys), COMP8760 (CSci), COMP8770 (eSci), COMP8790 (SE); COMP3750 (CSys), COMP3760 (IS), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Computer Systems
Technical Difficulty Level : high
Conceptual Difficulty Level : high

Computer vision libraries are important foundations for developing applications in areas such as: motion tracking, face recognition, object identification, gesture recognition, etc. This project aims at developing part of a computer vision library in Java which uses the Synergistic Processing Elements(SPEs) of the Cell Broadband engine. This will enable much of the computational burden of image processing to be offloaded to the SPEs freeing up the Power Processing Element(PPE) for other tasks.

This project will focus on understanding the overheads in interfacing Java with the SPEs of the Cell processor for computer vision applications. The goal is to produce a low latency efficient library that works for multi-threaded applications.


Fast Multipole Algorithm vs the Particle Mesh Ewald method

Project Type : Research/Software Development(COMP6703 (eSci), COMP8750 (CSys), COMP8760 (CSci), COMP8770 (eSci), COMP8790 (SE); COMP3750 (CSys), COMP3760 (IS), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Computer Systems
Technical Difficulty Level : high
Conceptual Difficulty Level : high

The simple n-body algorithm for calculating electrostatic interaction is O(n^2) where n is the number of particles. The particle mesh Ewald method enables the same computation to be done in O(n lg n) time, whereas, the fast multipole algorithm reduces this to O(n). Interestingly, the Ewald technique is more commonly used by molecular dynamics systems even though it is inferior in terms of time complexity. This project would involve implementing directly comparable versions in Java of these three algorithms to help understand their performance differences.

The goal would be to obtain a deeper understanding of the performance of these algorithms such that a more informed choose between them can be made. Also this project would aim to understand how such problems perform in a high level language such as Java. This project would feed into other projects which involve implementing these approaches on novel hardware such as the Cell or GPUs.


Particle Simulation

The below Particle Simulation projects involve collaboration with A/Prof Alistair Rendell and aim to improve the performance and capability of high performance computer systems that undertake Molecular Dynamics. Molecular Dynamic simulations are key tools for molecular biologists for advancing science and medicine. These projects aim to improve the computing foundations that will improve the systems of the future.

A number of the projects involve the Cell Broadband Engine. This is a high performance processor which includes 8 SIMD processors, called SPE's, which are able to perform a large number of floating point operation very quickly (peak ~25 GFlops in each SPE). These SPEs can be programmed in c, as instructions do not have direct access to main memory programming them can be a little tricky! These projects will involve learning how to program the SPEs. Note that the Cell is used within Sony's PS3 gaming machine. This is a very powerful and interesting architecture to program.

Particle Simulation of the Cell Broadband - Extending the types of interactions

Project Type : Research/Software Development(COMP6703 (eSci), COMP8750 (CSys), COMP8760 (CSci), COMP8770 (eSci), COMP8790 (SE); COMP3750 (CSys), COMP3760 (IS), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Particle Simulation
Technical Difficulty Level : high
Conceptual Difficulty Level : moderate

This project involves extending a simple molecular dynamics simulation that has been implemented on the Cell Broadband Engine to include some more complex particle effects. These effects would be chemical bonds and charge effects. This would enable the simulation to provide a basic molecular dynamics simulation of water, which is a most interesting and important molecule.

The project would build on a system that was developed by a previous student that simply evaluated Lennard-Jones interactions between particles. The research aim would be to evaluate the performance and limitations of such a simulation implemented on the Cell processor.


Particle Simulation on the Cell Broadband - Improving the performance

Project Type : Research/Software Development(COMP6703 (eSci), COMP8750 (CSys), COMP8760 (CSci), COMP8770 (eSci), COMP8790 (SE); COMP3750 (CSys), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Particle Simulation
Technical Difficulty Level : high
Conceptual Difficulty Level : moderate

This project involves improving the performance of a simple molecular dynamics simulation that has been implemented on the Cell Broadband Engine. The current implementation only uses one of the 8 SPE's within the cell processor. The aim of this project would be to make use of the other SPE's to improve the simulations performance. This involves moving data between SPE's on the cell. The research aim would be to explore and evaluate the performance and limitations of the system.


Particle Simulation on the Cell Broadband - Visualizing and User Interface

Project Type : Software Development (COMP6703 (eSci), COMP8750 (CSys), COMP8770 (eSci), COMP8780 (HCI), COMP8790 (SE); COMP3750 (CSys), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Particle Simulation
Technical Difficulty Level : moderate
Conceptual Difficulty Level : low

This project involves extending a simple molecular dynamics simulation to provide a visualization of the simulation. This will also involve implementing a user interface that enables control over the simulation. The aim of such a system would be for demonstration purposes and also to provide a simple visual check that the simulation is working as expected.


Particle Simulation using a FPGA

Project Type : Research/Software Development(COMP6703 (eSci), COMP8740 (AI), COMP8750 (CSys), COMP8760 (CSci), COMP8770 (eSci), COMP8790 (SE); COMP3750 (CSys), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Particle Simulation
Technical Difficulty Level : high
Conceptual Difficulty Level : moderate

FPGAs have been the subject of interest for acceleration of molecular dynamics simulations. FPGAs provide a very flexible way of pipelining the required computation, they have shown the ability of accelerating simulation performance. However other systems also provide performance improvements so an important question is: "how do all these different systems compare?". And hence the research aim would be to provide a performance comparison between: FPGA-based acceleration, GPU acceleration, RISC SIMD cluster (Cell Broadband Engine), and a more standard desktop architecture. This project would focus on FPGA's and involve the development of a simple particle simulation on an FPGA. The simulation would be similar to the one developed on the cell and GPU which involved Lennard-Jones interactions and a simple O(n^2) algorithm(where n is the number of particles).


Computer Vision

Calculating optical flow using an FPGA

Project Type : Software Development(COMP6703 (eSci), COMP8740 (AI), COMP8750 (CSys), COMP8760 (CSci), COMP8770 (eSci), COMP8790 (SE); COMP3750 (CSys), COMP4540/4720/4730(SE research), INFT4005(honours), COMP4005(honours))
Research Area : Computer Vision
Technical Difficulty Level : very high
Conceptual Difficulty Level : moderate

Vision processing is computationally expensive and this translates into : weight, power, and size, for a system doing the processing. When vision processing is required in autonomous or semi-autonomous robotic vehicles this becomes a significant issue. FPGA's are able to embed designs that can process a large amount of image data quickly, also their footprint is small in terms of : weight, power, and size. These factors make them ideally suited to vision processing in robotic vehicles. This project extends a previous student's work who implemented a optical flow algorithm within a FPGA. This project will involve attaching a camera and streaming to data directly from the camera into the FPGA(currently done off-line via a USB cable). This project would involve learning how to program an FPGA and control a camera. The project would be in collaboration with A/Prof Robert Mahony from the Department of Engineering and would be part of the 'Image based teleoperation of semi-autonomous robotic vehicles' ARC Discovery Grant he was awarded.