CS4997 Honours Thesis Topics

Below is a list of suggestions for honours thesis topics that I am interested in supervising. These are just a few ideas I have in mind and not the only ones I am interested in supervising. My main areas of interest are in the following: Please feel free to drop by and discuss any of the below topics, or any other topic that you feel may be of interest.



Title: Execution Migration in a Hardware/Software Instruction Set

Description: Assume you have the instruction set belonging to a virtual machine, such as Java. This instruction set can be implemented in many ways. For Intel the instruction set is fully implemented in a hardware processor. For the Java virtual machine it is often times implemented in software. What if you have a hybrid instruction set? That is ALL of the instruction set implemented in software, but an overlapping part of it as well in a hardware processor. There becomes a new problem of when to move execution from software to hardware, and vice-versa. This work will research effective ways of solving this problem. Currently, I have some different algorithms in place for making this decision. However, I now want to start considering branch instructions as a factor in the decision process. The first job of this student would be to collect statistics on different applications to try and determine a branch prediction model. No fear! This sounds harder than it actually is as I already have a development environment in place that will make the collection process rather easy.


Title: Instance Specific Hardware Acceleration

Description: Reconfigurable computing allows one to design their own custom hardware solution for a given problem. This is done on the basis that a hardware implementation is faster than a software one. With a specific problem in mind, investigate the potential performance gains of a hardware solution over a software solution. I have several different available hardware devices that can be used to perform this research. The only realy requirement is a keen interest to learn and play with some hardware!


Title: Hardware/Software Network Packet Classification

Description: This project will do some initial work into the co-design and implemntation of a hardware/software system that can perform a real-time analysis of network packets for classification purposes. Network classification is important for system administrators to monitor the network for intrusion detection, security, and performance. Some of the trade-offs that must be considered are throughput (performance) and cost. There are many possibilities for this research, so be sure to drop by and discuss it further for some specific ideas.


Title: Real-Time Applications for a Robot

Description: This project will continue on with previous work in developing a small real-time kernel for an operating system and some useful applications to utilize a robot. The robot is rather well equipped in terms of hardware, however is lacking from the software perspective. If you have any neat ideas on what you can do with a small robot, then drop by and lets talk!