Curriculum Vitae of Peter Chubb
A project manager/software engineer with more than twenty years experience in UNIX and UNIX-related software, including over ten years experience in kernel software development in a wide variety of different commercial and open-source flavours of UNIX, including Linux.
KEY SKILLS
- Finding usable solutions to complex technical problems using `fuzzy' and incomplete information.
- Software analysis, architecture and design; software engineering process setup and evaluation; software quality assurance.
- UNIX application and kernel programming (C, Bourne shell, awk, lex, yacc, BK/CVS/RCS/SCCS, LaTeX, troff, etc.), and systems administration.
- Program maintenance (bug fixing, understanding and modifying others' programs, often with inadequate/no documentation).
- Reviewing contracts, technical documents and code, using Fagin Inspection methods, or informally.
- Writing technical and user documentation.
- Training others (both as mentor and in formal training sessions).
QUALIFICATIONS
- Ph.D. (Computer Science), University of NSW 1989
- B.E. (Hons I), University of NSW 1983
- B.Sc. (Physics), University of NSW 1981
Also the WorkCover approved OH&S Consultation course.
Key Experience
I have worked on a large number of different flavours of \UNIX{}, as user, programmer, administrator and kernel programmer. These include editions 6 and 7, System V, SVr4, SVr4.es, UXP/M, UXP/DS, Sequent's `Balance', Pyramid's dual universe system, BSD4.2, Linux from version 0.95 on, SCO UNIX, UnixWare, XENIX, minix, Irix versions 5 through 6.5.2, Tru64, Solaris, and Reliant. In general, the software I've designed has had to be portable between different flavours of UNIX, so has had to be independent of byte ordering or word length.
I have worked on machine-dependent code for a wide variety of computer architectures, including Motorola 6800, 6809 and 68000 series microprocessors, PDP11, mips, IBM 370, Sparc, Pentium and Itanium, ARM and Alpha. Of these I would consider myself proficient only on the Motorola and Itanium chips, and maybe the ARM.
Operating Systems worked on at kernel level include:
Linux (version 0.96 to 2.6)
Tru64
Irix (version 6.2 and 6.5)
Solaris
UXP/M
DC/OSx
SVr4.es
Xenix
7th Edition Unix
For a list of publications, see my ERTOS Homepage.
CAREER HISTORY
- 1981
- Graduated B.Sc. (Physics major).
- 1983
- Graduated 1st class honours in Electrical Engineering,
- 1983-4
- Professional Engineer grade 1 with Electricity Commission of NSW.
- 1985-8
- Working toward Ph.D. in Computer Science at UNSW.
- 1989
- Graduated; started as Software Engineer at Softway Pty Ltd.
- 1991-1998
- Senior Software Engineer at Softway Pty Ltd.
- 1999-2001
- Vice-President, Research at Aurema Pty Ltd
- 2002-2008
- Working on Gelato, the project to make IA64 Linux rock!
- 2009-present
Principal Research Engineer with NICTA
- 2009--present
- I work within NICTA as an open-source advocate, project leader, and domain expert in Linux and Open Source.
- 2004--2008
I had day-to-day management of the Gelato@UNSW team (see GelatoUNSWPeople). The contract with HP to fund gelato@UNSW was renewed twice; and I gained some additional funding from Google for work on Disk Scheduling.
- Key achievements during this time include
- Removing the 2TB disk size limit in Linux
- Attracted over 500 000 in grant money over the time
- Supervised numerous successful students
Best paper award for Itanium: A system implementor's tale at Usenix 2006
Fuzzy Penguin award for our work on Ia64SuperPages in Linux
Google grant for work on IOScheduling
- Numerous minor enhancements in the Linux kernel (see the kernel.org GIT log for details)
First prize in Artemis Orchestra competition for the robot clarinet (my work was in musical interpretation). See the Physics@UNSW pages for a short video
- Key achievements during this time include
I'm also secretary of the OH&S Consultation committee for NICTA's Sydney sites, and manage day-to-day a small number of non-Gelato people for the ERTOS group.
- 2002--2004
- I left Aurema in December 2001, to form the Gelato team at the University of NSW. Gelato is a project to improve scalability and performance on Intel's Itanium Processor Family (IA64). One of my first tasks was to hire some more people.
- During 2002, I worked on removing limitations from Linux's block device layer, allowing very large storage devices (bigger than 2TB) to be used with Linux, even on 32-bit platforms. This work was accepted into the Linux kernel at version 2.5.47. Other projects worked on in collaboration with the Distributed Systems group at UNSW include a framework to allow device drivers for discs and networks, etc., to be run in userspace, and micro-state accounting, which allows fine-grain accounting of where threads spend their time. My role in this position also included promoting the Itanium Processor Family and the Gelato federation; setting up and maintaining the Gelato@UNSW and the scalability.gelato.org websites, and a certain amount of systems administration.
In 2003, I changed my 30 hour-per-week Gelato position to a 16-HPW part time one, and took on in addition a 14HPW role with NICTA, to oversee Linux-related research within the Embedded and Real Time Operating system programme.
- During 2002, I worked on removing limitations from Linux's block device layer, allowing very large storage devices (bigger than 2TB) to be used with Linux, even on 32-bit platforms. This work was accepted into the Linux kernel at version 2.5.47. Other projects worked on in collaboration with the Distributed Systems group at UNSW include a framework to allow device drivers for discs and networks, etc., to be run in userspace, and micro-state accounting, which allows fine-grain accounting of where threads spend their time. My role in this position also included promoting the Itanium Processor Family and the Gelato federation; setting up and maintaining the Gelato@UNSW and the scalability.gelato.org websites, and a certain amount of systems administration.
- 1999--2001
- Promoted to Vice President --- Research in 1999. In this newly created position, I had oversight of all research and development, and recommended to the CEO what research should or should not go ahead on technical and commercial grounds;
- Was a member of the ARMTech (ARMTech is a resource management product for UNIX and Windows computers) Architecture Steering Committee (which evaluates and approves or rejects all changes to the ARMTech product).
- Established criteria for acceptance/rejection of research proposals, for tracking progress, and for inter-group communication.
- Directed research on resident set size control and on virtual memory controls for ARMTech.
- Acted as domain knowledge expert for all other groups in Aurema in areas of locking, multithreading, interrupts, kernel portability and related areas.
- Ported ARMTech to Linux on IA64; ported ARMTech to Linux 2.4; both as `skunkworks' projects.
- Interviewed and evaluated candidates for recruitment.
- Specified machines for employees to work with at home.
- Reviewed contracts, specifications, code and documentation for correctness, feasibility and consistency with policy and with other documents.
Liaised with linux.conf.au organisers for 2001 (Aurema was principle sponsor).
- Co-supervised a PhD student at the Basser department of Computer Science at Sydney University.
- Presented part of a course in advanced distributed systems at UNSW.
- 1991--1998
- Promoted to Senior Software Engineer.
- Specified a test methodology for Softway to use for its kernel products, based on P1003.3. Designed a framework to perform automated tests.
- Devised user-mode techniques for checkpoint-restart to allow proof-of-concept without access to kernel or library source.
- Was system architect, analyst and designer for the `Hibernator' project; a 12-person 7 year project to provide kernel-mode process checkpoint/restart under UXP/M (UXP/M is a trademark of Fujitsu.) and IRIX (IRIX is a trademark of SGI.). Was project manager for phases three through six.
- Set up a bug-tracking system using GPLed software (gnats); specified changes to allow gnats to track changes to source files in response to bugs; supervised the programmer who made the changes.
- Extended the debugger SDB to allow multi-threaded processes to be debugged.
- Ported the Java 1.1 runtime classes to Guava, Softway's home-grown Java virtual machine.
- Ported the Retix X.25 protocol stack to run on Stallion's embedded streams processor.
- Ported Ingres to Irix 6.2 in less than half the time allowed in the project plan.
Worked as consultant with Philips Australia on their `NetCaptain' cable internet project.
- Worked as consultant with Whitesmiths Australia on Optus's prepaid mobile phone system, and on their mobile-phone activation system.
- Helped form and was member of Softway's Quality committee, to review, test and approve the first Quality manual and procedures.
- 1989--1990
- joined Softway Pty Ltd as a Software Engineer.
- Developed and presented courses in C programming, Shell Programming, UNIX Systems Administration, Introduction to UNIX.
- Presented courses in Object-Oriented Software Engineering and SCO UNIX Systems Administration.
- Developed a driver for a new ESDI disc controller for Bull HN, as lead engineer in a team of two, for SCO Xenix and for Kodak's `Interactive' flavour of \UNIX.
Organisations and Outside Positions
- Helped to found the Sydney Linux User Group.
- Elected as returning officer or as assistant returning officer in the Australian Open Systems User Group (AUUG) each year 1998--2002
- Elected Secretary of the AUUG NSW chapter 1997--1999
- Convener of SWiGS (the first AUUG chapter) between 1992 and 2001.
- Appointed conference chair for three AUUG NSW summer conferences (1990, 1991, 1997).
- Appointed Honorary Associate in the Basser Department of Computer Science at Sydney University 2002--3.
Family, Hobbies and Recreations
I'm married and have two young daughters. My main activities, apart from looking after my daughters, are early music (I sing, play recorders, clarinet, piano and guitar, all rather badly; and am a contributor to the GNU Music project (mutopia and lilypond)), reading, amateur radio (I hold licence VK2FPC), bushwalking, Photography, Mexican and Thai cooking, and wine-tasting.
