Open Source on the Scientific Bleeding Edge

By:
To add a paper, Login.

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