Ben Clifford CV/Resume

Email: benc@hawaga.org.uk
Web page: http://www.hawaga.org.uk/ben/


Employment and Professional Activity

CQX Limited, August 2011-present

I supply my services as a contractor/freelancer. Primarily I work with functional languages, build distributed systems, and help people with their development infrastructure.

Examples of projects are:

University of Chicago, May 2018-February 2019

I worked as a programmer on parsl, a parallel scripting library for Python.

Beautiful Destinations, April 2016-March 2017

I worked as a programmer and systems person in a group focused on machine learning and analytics for Instagram images and other social media artefacts. The languages I worked in were primarily Haskell, Python and SQL, with some use of others such as R and PureScript.

Notably:

University of Chicago Department of Astronomy and Astrophysics, September 2010 - August 2011

Title: Computer Systems Programmer

I worked on a simulation of combustion and detonation, mostly on IBM BlueGene/P supercomputers scaling up to 65536 cores. The code uses a combination of MPI and OpenMP parallelisation implemented in a hybrid of C and Fortran. I concentrated on improving runtime efficiency of the core simulation and of IO; and on 3d visualisation of results using VisIt.

Contractor for USC/Information Sciences Institute, November 2009-April 2010

Working with ISI's Center for Health Informatics (CHI), I was involved in build/release generation of CHI's appliance DVDs, and in development of a Nagios based monitoring system for CHI's distributed multi-site environment.

Monash University MeSsAGE Lab, October-November 2009

Short-term visitor at Monash University, Melbourne (Australia) with a group working on similar topics as previous groups at the University of Chicago and the University of Southern California - primarily for skills and knowledge exchange between those groups.

University of Chicago Computation Institute, May 2006-July 2009

Title: Computer Systems Programmer

I worked primarily on Swift, a programming language and execution environment for coarse grained distributed parallel data-centric computation.

Development included the integration of many different components: at the hardware level, a range of architectures from laptops to IBM Blue Gene supercomputers and large scale grids of clusters; at the middleware level, a range of execution and data transfer systems including the Globus Toolkit and PBS; at the application layer, interfacing existing scientific application codes to the programming model provided by Swift; and at the social level, co-ordinating the needs of various application and infrastructure groups each with their own vested interests.

I developed a small suite of performance analysis tools to aid in characterisation and debugging of the use of Swift for specific applications and environments. This was especially useful as the application space changed from early use with hundreds of minute long tasks to a hundred thousand tasks of sub-second duration composed of many smaller subtasks often of millisecond duration.

In addition to production-level development, I prototyped the use of Swift in new environments, including the South African National Grid (SAGrid) using gLite middleware, and on campus workstation pools using Condor; I also developed a prototype to record provenance of output data produced by Swift and contributed to the Open Provenance Model (OPM).

I was also involved in education, outreach and training activities for Globus and the Open Science Grid.

In the summer of 2008, I mentored a Google Summer of Code student in a project to add stronger static type checking to Swift.

USC/Information Sciences Institute (ISI), Center for Grid Technologies, March 2002-January 2005

Title: Programmer Analyst III / Programmer Analyst IV

My activities under Dr. Carl Kesselman in the Center for Grid Technologies included:

Custom Networks, 1997-2001

At Custom Networks, a small IT company in the Greater London area, I worked in several areas:

Education

Queen Mary, University of London, 1997-2001

M.Sci in Mathematics, Upper second class honours. In particular, I focused on discrete mathematics, whilst for my masters project I learned some Latin and translated part of Newton's Principia Mathematica.

EPCC, University of Edinburgh, Summer 2000

Summer Scholarship Programme, consisting first of introductory courses on high performance and parallel computing followed by an eight week individual project investigating the use of Jini in a grid environment. See report below.

University of California, Los Angeles, academic year 1998-1999

University of California's Education Abroad Program. GPA: 3.644. Twice on Provost's Honors List.


Publications, papers, articles, reports, tutorials, talks

Haskell

Swift and Parsl workflow systems

Grid monitoring:

Replica location:

Tutorials:

I participated in the Grid2003 project which resulted in this paper:

As a student, I worked on JiniGrid at EPCC in the University of Edinburgh, producing the following final report:

For my M.Sci project, I was persuaded to refresh my Latin and read some of Newton's work under the watchful eye of Charles Leedham-Green.