ACCU London

Thursday 17th April 2008, 19:00

Russel Winder: Them threads, them threads, them useless threads – Recompiled

With the demise of rapidly increasing clock speeds as the way chip vendors sell new products, we now have rapidly increasing core count – multicore processors are here to stay, which means parallelism has, after 25 years of being the coming technology, arrived. In many ways Sun are at the forefront with their Niagra chip but AMD with Opteron and Intel with Itanium are showing what is happening.

On the software front Java has had threads and multi-threaded JVMs for a while. C and C++ had various threads libraries, but now of course C++ will have a single standard threads model. But is it all the wrong direction? Programming multithreaded systems is hard; concurrency is hard. In fact most programmers get it wrong when they try it. Yet the hardware vendors and the languages vendors are pushing this as the way forwards. Perhaps Occam and Erlang have it right – no shared memory, no synchronization, no hassles. Well the process-based, message-passing model of Occam and Erlang has some issues but nothing like the problems of shared-memory multithreading.

In this session, we will mull over some of these issues, looking perhaps towards the idea of what can be build on the thread-based hardware and operating systems to make parallel applications development tractable.

This presentation is based on but not the same as that given at accu2008.

About the Speaker

Russel was originally a theoretical particle physicist but decided in 1980 that being a UNIX systems programmer was more fun. However, academia continued to call and he moved to UCL to lecture in programming, software engineering and human-computer interaction, and do research on parallel programming languages and socio-technical aspects of software development. After 13 years at UCL, Russel moved to KCL to be Professor of Computing Science.

Having revamped the teaching programme, continued the research on parallel programming languages, and started research programmes in health informatics, it was time for new challenges so he left KCL to become CTO of OneEighty Software Ltd, a company creating novel virtual machine approaches to embedded systems. Unfortunately, the money ran out for this start-up before the orders flooded in, and so it had to fold – the technology has since been buried for reasons that involve conspiracy theories.

For the last three years, Russel has been a consultant, analyst, trainer (Java, Groovy and Python) and author ("Developing Java Software" third edition, and "Python for Rookies"). The recent rise of multicore processors means that parallelism has finally arrived (after 25 years of being the coming technology), so Russel, with two colleagues, has started a new consultancy practice (Concertant LLP) undertaking consultancy, training, analysis and management work in all areas of parallelism and concurrency. Russel is centrally involved with the development of the Groovy programming language, and is author of the Gant build framework.