Speakers of the Open Source, Multicore and Parallel Computing miniconf –
Wellington, NZ 19 January 2010
Schedule and Information about the miniconf
10:30 Lenz Gschwendtner – Erlang, MPI, and open standards
Abstract: This talk is about message passing environments with a focus on message queues and AMQP as an open standard using it and Erlang.
Bio: Lenz Gschwendtner is a true geek. Currently is CTO of idegeeo Group Ltd and Open Source Evangelist at Core Technology Ltd. Previously, he was CTO of united-domains and responsible for domains at Lycos Europe. Lenz likes Perl, Erlang and life in New Zealand.
11:15 James Reinders – Threading Building Blocks (TBB), open sourcing a model for parallel computing
Abstract: TBB is a very popular abstraction for parallelism in C++. The project was introduced in 2006, and then open sourced by Intel in 2007. The talk is an overview of both the project, its popularity and adoption, and why open sourcing was critical to its success and how Intel settled on open sourcing. James will speak to the important role open source should have for parallel computing. James will also present his three tier model for parallelism (TBB is one of them) showing how data, task and coordination should co-exist in an parallel application – and suggest what is needed to fill in the other two models.
Bio – James Reinders is Director and Chief Evangelist, Intel Software Development Products. He was the primary driver in leading Intel to open source TBB. James is an expert in the area of parallelism, Intel’s leading spokesperson on tools for parallelism and the author of the O’Reilly Nutshell book on TBB. James has decades of experience with high degrees of parallelism having worked on groundbreaking compilers and architectures such as the systolic arrays WARP and iWarp, and the world’s first TeraFLOP supercomputer (ASCI Red)
13:30 Zhiyi Huang – View-Oriented Parallel Programming (VOPP)
Abstract: View-Oriented Parallel Programming (VOPP) is a novel parallel programming model that uses views for communication between multiple processes. A view is a group of data objects in shared memory. VOPP requires that all shared data are partitioned into non-overlapping views. With the introduction of views, mutual exclusion and shared data access are bundled together in VOPP, which offers both convenience and high performance to parallel programming. Furthermore, VOPP can relieve the issues such as data race and deadlock in parallel programming. This talk will address the issues of VOPP such as programmability, performance advantages, portability, and limitation. It will also compare with other popular programming models such as MPI, OpenMP, and Transactional Memory. Finally, performance results of VOPP will be demonstrated through two example VOPP environments: VODCA and Maotai, which are implemented for cluster computers and multi-core computers, respectively.
Bio: Dr. Zhiyi Huang is a Senior Lecturer in the Department of Computer Science at the University of Otago, New Zealand. He received his BSc degree in 1986 and PhD degree in 1992 in Computer Science from the National University of Defense Technology (NUDT) in China. From 1992 to 1996, he worked as a Chief Technical Officer (CTO) in industry while also lecturing in the Department of Computer Science at the Beijing Institute of Technology (BIT). Then he worked at the School of Computing & Information Technology at the Griffith University in Australia as a Research Fellow from 1996 to 1998. Since 1998, he has been lecturing at the University of Otago. Dr Huang had been a visiting professor at EPFL (Swiss Federal Institute of Technology Lausanne) and Tsinghua University in 2005, and a visiting scientist at MIT. He is now the Technical Liaison of the Sun Microsystems Center of Excellence in OpenSPARC that is based in the University of Otago.
13:55 Matthias Meyer – Scientific high-performance computing — educational bottlenecks in academia
Abstract: Multi-core is coming of age since it is our only work-around for the current technological boundaries in chip design. It constitutes a shift in paradigm, no doubt associated with a steep learning curve. What impact does this development have in the scientific community? At first sight — none. On the one hand, parallel computation is nothing new to those few who explore the edge of computability using special high-performance machines. On the other hand, the programming skills of the average researcher in the natural sciences are surprisingly often limited to Excel & Co. This knowledge gap between `computer-able’ scientists and those who use it as a typewriter is large, and it has profound consequences. The advent of general-purpose parallel computing here yields huge opportunities for science and FOSS therein. In this talk I will show examples of scientific high-performance computations, and I will highlight a few software projects which aim at providing a bridge between usability and high-performance. This talk is shaped by my personal experience and will therefore include an assessment of the current state of affairs of scientific computing in NZ.
Bio: Matthias Meyer is a recent physics PhD graduate in the MacDiarmid Institute for Advanced Materials and Nanotechnology at Victoria University of Wellington, New Zealand. His work and interests in scientific computing (and the role of open-source therein), is directly related with (massive-) parallel computations.
14:10 Timo Hoenig – Extending the Scope of Mobile Devices Running GNU/Linux
While servers and desktop computers have enough resources to fulfill challenging tasks, small devices such as mobile phones, mobile Internet devices (MID), netbooks and laptops are often limited in their use due to the resources they have. As systems in the near environment of such devices often can provide more resources it would be desirable to share those. The talk will discuss ongoing research efforts for a solution of this problem and consist of an theoretic part (describing the challenges and design considerations) and a practical part (showing the utilized subsystems and interfaces). Using existing technologies such as ZeroConf, Bonjour and Avahi it is possible for devices to discover available resources autonomously. A target system is able to accept and release virtual CPUs at run-time in order to access resources of an underutilized system when available. The allocation and deallocation of resources is transparent for applications as the underlying technologies are being handled in kernel space.
Bio: Timo Hoenig is member of the research staff at the Department of Computer Science 4 (Distributed Systems and Operating Systems Group) at the University of Erlangen-Nürnberg (Germany) and Senior Software Engineer at Novell, Inc. / SUSE Linux Products GmbH. Timo had been working exclusively on open source over the last six years
14:30 Stephen Blackheath – Haskell and Multi-core
Abstract: Haskell is an advanced general-purpose functional programming language, and entirely open source. It offers some new approaches to programming for multi-core processors. This presentation will cover Haskell’s current state of the art, as well as the up-coming “Data Parallel Haskell” system, and research into GPU programming. It aims to make the community aware of what Haskell has achieved and what it promises in the future for parallel/multi-core programming.
Bio: Stephen Blackheath lives in Manawatu, New Zealand, but spent most of his life in Wellington. Stephen worked as a software developer on many large commercial projects, and contributed to several open source projects. Major technology areas are embedded systems, internet infrastructure, several web applications, and telematics. In 2007 he started a new project and decided to do some research into new technologies, including an attempt to find out what was the ‘best language’. Out of that process discovered Haskell and functional programming. Currently works for an American start-up writing a video game in Haskell for the iPhone.
14:50 Paul Bone – Automatic Parallelism in Mercury
Abstract: Most future performance improvements will come from the addition of extra processor cores. Harnessing this increase in computing power is difficult. When using traditional synchronisation methods it is easy to introduce bugs or cause poor performance. It is difficult to decide what should be parallelised, this involves understanding the runtime behavior of the program and the overheads of parallel evaluation. We present a method for automatically parallelising programs written in purely declarative languages. We argue that automatic profile directed parallelisation is feasible and reduces the time and cost of software development. NB: We recommend to attend the previous presentation about Haskell and Multi-core as it provides background information.
Bio: Paul Bone is a computer science research student at the University of Melbourne who completed his Honours project in 2008 in automatic parallelisation of programs written in purely declarative programming languages. Prior to this, Paul worked in industry, including a number of commercial open source projects. Paul also contributes to Mercury, a purely declarative logic language.
15:45 Remo Williams – Titanic, Mars and Open New Zealand
Abstract: This talk is about the use of open source in the parallel computing environments with which I have had the pleasure of working (specifically, for a NASA Mars mission ground data processing at the University of Arizona’s Lunar and Planetary Laboratory, as well as for Digital Domain’s special effects for Hollywood). I will add some future-thinking thoughts on NZ as a country where to develop an open source philosophy and put my particular experiences into context to share how important I believe Open Source Parallel Computing is.
Bio: Remo Williams is a California surfer and an Arizona skateboarder with a passion for high-performance computing and open-source software. His MSc. is in Electrical and Computer Engineering focused on distributed object computing for modeling and simulation, and lead him to the world of Hollywood special effects. At Venice Beach-based Digital Domain, he wrote code for what may have been the world’s largest render farm at the time, a distributed Linux cluster of 105 DEC Alphas created to render the computer graphics for “Titanic”. This eventually lead Remo to implement an open-source Beowulf cluster of 32 Fedora nodes for NASA’s 2001 Mars Odyssey spacecraft mission, at the University of Arizona’s Lunar and Planetary Laboratory. Using MPI to coordinate Monte-Carlo based simulation code to help scientists “reverse engineer” the chemical composition of Mars’ surface and atmosphere through data from Odyssey’s Gamma Ray Spectrometer, these modeling and simulation results helped gain a better understanding of our neighbouring planet, as well as guide landing locations for subsequent NASA missions to Mars. Having himself landed in Gisborne, New Zealand, where he continues to teach skateboarding, Remo joined the open-source development team for eXe, a content authoring tool for educators that earned the 2008 IMS Global Learning Impact finalist and People’s Choice Award. Remo is now a computing lecturer at Gisborne’s Tairawhiti Polytechnic, where he is an open-source evangelist at any opportunity, and guides students into open-source and parallel computing projects wherever possible.
16:10 – Rob Giltrap – Hunting for the World’s Largest Known Prime Numbers
Abstract: The Great Internet Mersenne Prime Search project has successfully found 13 new Mersenne Prime numbers and currently holds the top nine positions for the world’s largest known prime numbers. On any given day there are 60,000+ computers using spare computing cycles totaling over 43 TFLOP/s hunting for the next Mersenne prime number. Finds are rare (one every 1-2 years) and when one is discovered there is a race to rapidly verify the candidate, a process that typically takes over a week to complete. The Mlucas application (written primarily by Ernst W Mayer) is code developed for the fast verification of large prime numbers, driven by a high performance parallelised Fast Fourier Transform engine using OpenMP. In 2008, Mlucas was used to first verify what is currently the world’s largest known prime (a Mersenne prime at over 12.9 million digits in length) using 16 * SPARC64 VII CPU cores taking 13 days. This lightning talk will discuss the challenges of testing and tuning of the Mlucas application and system to deliver maximum performance at high core counts and then consider future challenges of utilising ever increasing core counts.
Bio: Rob Giltrap is a Solutions Architect for Sun Microsystems in New Zealand, focusing on high availability, high performance, mission critical system and storage solutions. A twenty year industry veteran he has a wealth of experience in squeezing the last ounce of performance out of systems and has verified the three largest known prime numbers in the last two years using large Sun systems. Rob has also been involved in many aspects of the open source community including running the local WellyLUG in it’s early years and was a founding member of the NZOSS Wellington branch.
16:25 James Reinders – Teaching Parallel Programming
Abstract: Intel has been helping universities put together parallel programming classes in its program to bring material and professors together. In mid 2009, a few of the people behind this also taught a 3 day intensive class at Brooklyn Technical High School to high school students and teachers. They used open source projects in their teaching, giving the student opportunities to continue afterwards on their own systems easily. The speaker, James Reinders, has been highly involved in the university programs and will talk about the status of the program and the directions he’d like to see in further teaching of parallelism.