My research objectives and interests are in computer architecture related areas, in particular automatic parallelization.
I received the Benefactors' Scholarship from St John's College, University of Cambridge.
My research on automatic binary parallelisation is also sponsored by ARM Ltd.
Over the last three decades, many attempts have been made to automatically extract parallelism from a sequential program. Typically they required the access to source code but few favoured parallelising binary executables directly. Binaries was considered more difficult to analyse and translating sequential binaries into parallel forms would be more challenging. However, no evidence has shown that the extra symbolic information retrieved from source code is a necessity for automatic parallelisation. It would be very interesting to know even with limited dataflow and type information in binaries, whether binary parallelisation can still deliver efficient performance.
GABP is a proof-of-concept tool that seeks to parallelise general application binaries without needing their source code. The GABP modifies application binaries as they execute using dynamic binary rewriting engine. To reduce runtime instrumentation overheads, the GABP performs aggressive static analysis on the binary and appends static hints along with the binary for runtime modification. Currently the tool is being investigated on top of both ARM and x86-64 architectures.