The thesis topics listed here are available to strong undergraduate students. They are mostly associated with research projects and generally quite challenging; many topics have the potential to lead to a publication, and in average we get about one paper a year from the work of one (or more) undergraduate thesis students. Students who are not aiming for excellence are in the wrong place here.
Note that the below list is constantly updated, new topics are added as we identify them as work on various research projects proceeds. Topics marked are recent additions.
We are generally looking for honours candidates, or students with outstanding performance in operating systems. Specifically we guarantee a thesis topic to any student who has obtained a HD grade in UNSW's Operating Systems or Advanced Operating Systems course, no matter what their other grades are!
While IPC is highly optimised in
seL4, the corresponding
exception handling operations, while mapped onto IPC, are less
so. Recent student work has optimised one particular
exception (VM faults). Other critical exceptions, such as
invalid-instruction and unknown-syscall exceptions, which are
performance critical for instruction and syscall
emulation/virtualisation, remain unoptimised. These exceptions
carry a payload that exceeds the size transferrable in
registers, and thus cannot use existing IPC fastpath logic,
making fastpathing more of a challenge.
Analyse the performance of the present exception delivery operations and compare to the corresponding IPC operations. Develop a highly optimised implementation and create a pull request against the mainline (MCS) kernel.
Jointly supervised with Kevin Elphinstone
IPC is highly optimised
in seL4, and a fastpath for
the Notification signalling operation has recently been
developed by a student thesis, the
request is waiting to be merged into the kernel. seL4 mapps IRQs
onto Notifications, however, the IRQ delivery code is not yet
fast-pathed, but obviously performance critical. It should be
modelled on, and ideally share most code with the Signal
Analyse the performance of the present IRQ delivery operations and compare to the corresponding signalling operations. Develop a highly optimised implementation and create a pull request against the mainline (MCS) kernel.
Jointly supervised with Kevin Elphinstone
Investigate the design of high-performance I/O stacks (network and persistent storage) for seL4-based virtual machines, using seL4-native drivers or (more likely) Linux-native drivers hosted in their own per-driver Linux VM. Starting with the existing seL4 device driver framework, investigate the suitability of its driver and IP-stack interfaces, identify bottlenecks and suggest and evaluate improvements.
Specifically, perform detailed evaluation of overheads using PMU and tracing and compare to a Linux baseline, as well as pure seL4 system calls. The aim is to demonstrate a system consisting of web server, IP stack and Ethernet driver in separate address spaces/VMs with latencies, throughput and per-packet processing cost within 10% of the Linux baseline.
Jointly supervised with Peter Chubb
Most commercial protected-mode real-time OSes (RTOSes) are “fully preemptible” (in reality they are mostly preemptible, with non-preemptible critical sections). In contrast, seL4 is by design non-preemptible, but uses an incremental consistency design that allows supsending and restarting long-running operations if interrupts are pending. This design leads to reasonable worst-case interrupt latencies.
This thesis is to explore the performance limits of the non-preemptable approach, and compare it to the mostly-preeemptable one. Specifically, it is to investigate what iterrrupt latencies could be achieved in seL4 if there were no verification-provided constraints on the design and implementation, and the API could be simplified as needed. The features that must be kept are capability-based protection and the present scheduling model. Then compare this to a kernel that runs with interrupts enabled as much as possible, and uses interrupt-protected critical sections where possible. This investigation is initially to be performend in a uniprocessor context, extending it to multicore is a bonus.
The thesis will perform a theoretical analysis of what an optimal non-preemptible system system would look like, and long the biggest non-preemptible sections of the mostly-preemptible system would be. This should lead to a on-paper comparison of the performance limits of the two approaches. This will be complemented by an experimental part, where the existing seL4 code base is (possibly drastically) simplified to demonstrate the two approaches, and perform best-case and worst-case latency measurements.
This topic requires a very good understanding of OS implementation trade-offs and the effect of hardware. It also requires strong systems-programming skills. A convincing execution should lead to publishable results.
I will not take on students who have not shown a convincing performance in COMP3231 ``Operating Systems''. I normally expect students to have done COMP9242 ``Advanced Operating Systems'', although I make exceptions in special cases.
Most topics can lead to publications.
Contact the relevant supervisor.
Note for OS/FM related topics: We promise a thesis topic to every interested student who has obtained a HD grade in COMP3231/COMP9201 Operating Systems or COMP9242 Advanced Operating Systems. If necessary we will define additional topics to match demand.
We will not turn down any students doing exceptionally well in OS courses. However, this does not mean that an HD in OS or Advanced OS is a prerequisite for doing a thesis with me. Interested students with lower OS marks are welcome to talk to me if they feel they can convince me that they will be able to perform well in an OS thesis.
Keep in mind that these topics are all research issues and generally at the level of Honours Theses. They are not suitable for marginal students or students with a weak understanding of operating systems. We expect you to know your OS before you start.
Undergraduate thesis topics are also suitable for coursework Master's projects. Same conditions apply: You must have a pretty good track record in OS courses for OS and FM related topics.