JACK WHITHAM PhD MEng
Professional Activities - Publications - Software - Articles
   
       
    Home -> Professional Activities    

 
 
  
Photograph of Jack Whitham
Professional Activities
An overview and a detailed list of my recent activities at work.
Publications
A list of my peer-reviewed academic publications; most are available for download.
Software
Software written by myself, not necessarily work-related.
Articles
Written works that are not formal publications.
 
  
 

On this page, I have attempted to list all of the work I have been involved with at the University of York in the last year or two. My curriculum vitae gives a concise summary that omits most of the details, but covers a longer period of time. This page is organised by category as follows:

 
   
Research work. Writing papers and research reports.
 
Membership of professional societies. Learning to use tools and languages.
 
Software implementation skills. Hardware implementation skills.
 
Reviewing papers by other people. Teaching undergraduates.
 
Designing systems to support experiments. Presenting work.
   
 

Research work

My research looks at improving the time-predictability of computers. Modern machines are fast, but because of the design decisions that permeate both software and hardware, it can be difficult to quantify exactly how long an operation will take. This is a problem for "hard"
real-time systems, where it's important to be able to show that computations will be completed on time.

In my research, I'm trying to find new ways of building computers to maximise guaranteed rather than average performance. I advocate an evolutionary approach to this problem, i.e. looking for changes to existing methods that are as simple as possible in the expectation that small changes are more likely to be accepted by engineers and other researchers.

To date, I've completed a PhD thesis, for which I implemented a time-predictable CPU design. It was specifically designed to exploit instruction-level parallelism (for improved performance), while still supporting worst-case execution time (WCET) analysis. Later, I applied the work to a more conventional CPU design.

A time-predictable CPU is useless without a time-predictable memory subsystem. So, my research interest shifted from CPUs towards the challenge of reducing worst-case memory latency. Existing solutions such as caches are not time-predictable because their behaviour depends on recent accesses. A cache can service most accesses quickly, but not all, and this is a problem for guaranteed performance. That doesn't mean caches are useless for real-time systems, since methods do exist to analyse their behaviour, but only for special cases and with caveats. A cache alternative known as a scratchpad is far more time-predictable, but scratchpads can introduce new problems. I have proposed a solution for these. Two conference papers have been submitted on the subject.

I am studying single-threaded C programs on single-core systems, which is arguably the simplest case, but one that has not been adequately addressed. The vastly more complicated cases of multi-core systems and Java support are both of concern to my EMUCO and JEOPARD projects.

Writing papers and research reports

Technical writing is a required skill for researchers, and I get a great deal of practice in my work. My publications page has examples of my peer-reviewed papers. The following list gives all of the substantial documents I have written recently, whether published, unpublished or incomplete. Earlier work is listed on my publications page.

Membership of professional societies

I am a full member of the
IEEE and an associate member of the IET.

Learning to use tools and languages

One of my strengths is an ability to learn to use new software tools and programming languages rapidly. I am already familiar with a wide variety of languages and tools, including:

Software implementation skills

I often need to write programs for my work; I write so many short programs that it would be impossible to list them all here (although I can make some of them
available online). Here is a list of software engineering projects that I have led or contributed to.

Hardware implementation skills

During the course of my work, I have designed both "soft" hardware (which exists in an FPGA in the form of an
IP core) and physical hardware on prototyping boards. I have also modified free IP cores from Opencores, and built Linux and uClinux systems using Xilinx IP cores. Here is a list of some of the work I've done.

Reviewing papers by other people

I have reviewed papers for various leading real-time systems conferences, including:
I have also reviewed papers for the following journals:

Teaching undergraduates

I have worked as a teaching assistant at the University, helping undergraduate students with exercises and laboratory work. The courses I have assisted with include:

Designing systems to support experiments

Aside from
my PhD thesis, the largest system designed by myself is the new generation of "virtual lab" project, which will support teaching and research. During the design process, I considered: I decided to implement the simplest valid solutions for all of these problems. Most are solved by avoiding assumptions about the usage of the system; the idea is that application-specific adaptations must be applied by the user (e.g. using reference designs) rather than being enforced by the virtual lab design itself. To provide multiple sessions at low resource cost, I wrote a single-threaded server application with a "select" system call as a dispatcher. For security, the unmodified SSH protocol is used. The simple design also helps to assure reliability, and support for automated experiments and tests provides a way to test reliability over a long period of time.

Presenting work

I have presented most of my
publications to audiences at conferences and workshops. I have also given several presentations for the Real-time Systems Group at York, including thesis seminars. My presentation tool of choice is Beamer, but I have also used Powerpoint and Openoffice. Most of my presentation slides are available for download.


       
  Copyright (C) Jack Whitham 1997-2010