Open Source on the Scientific Bleeding Edge
Why is it that though the free software movement largely sprung from academic
computer labs in the 1980s, some fields of academic research requiring
high-end computing power have been the last to develop quality open
source community codes? We'll explore that question through sharing our experiences
developing an open source scientific modelling framework for high-performance
computing.
The specific ideas & approaches discussed will include:
- Designing an open-source, modular, tiered architecture that manages complexity
by being based around the roles of people involved (such
as "materials scientist" & "framework developer" );
- Utilising test-driven development and refactoring, and why we believe they
are especially appropriate for an open community scientific research platform;
- Collaboration & cross-training efforts, from classic pair-programming
& appropriate use of Wikis, to week-long "development<->science camps";
- a flexible licensing approach whereby all _infrastructure_ is made open, but
small code components/plugins that represent the work of an individual scientist
can be kept proprietary until after publication.
While some of the issues we face are specific to
scientific computing, many of the ideas presented will be broadly
applicable, particularly to those developing projects where a high degree of
domain-specific knowledge is required, or performance & complex hardware play a
significant role (such as games & mobile computing).
Keywords:
Scientific Computing, Agile Modelling, Framework Development, Distributed Development, Programming for High Performance, Open Source Economics, Collaboration technologies
Stream:
Processes
Presentation Type:
30 minute Paper Presentation in English
Paper:
Open Source on the Scientific Bleeding Edge
|
|
Patrick Sunter
Project Coordinator & Software Engineer, Victorian Partnership for Advanced Computing
Australia
|
Patrick Sunter is a Project Coordinator and Software Engineer at the Victorian Partnership for Advanced Computing (VPAC), with several years experience developing high performance software frameworks and architectures for cutting-edge scientific modelling. Patrick's key skills are the ability to research, conceptualise, then translate complex mathematical algorithms into robust and re-usable software.
Patrick's role allows him to develop his broad interest in many fields of science and computing, and his leadership responsibilities have also sparked an interest in all ideas and tools that improve a software team's productivity in complex multi-disciplinary fields, such as the open source paradigm, agile modelling, and Wikis. One of his career highlights has been the opportunity of a 3-month exchange at the California Institute of Technology, working with some of the United States' leading scientific software developers.
Ref: OS6P0070