Software Engineering and Reuse in Computational Science and Engineering
Authors: David Bernholdt (Oak Ridge National Laboratory)
Abstract: Software developers, researchers, trainers, and outreach staff will meet to raise awareness of the challenges and opportunities for developing and promoting software engineering practices, including the development of reusable software to enhance the computational science and engineering ecosystem for HPC systems to accelerate the “time to science”.
The BoF attendees will help develop an international “community of practice” to share experiences in developing quality software, gathering community feedback, addressing interoperability, and promoting software to applications developers and users.
We will identify strategies for ongoing efforts to inform, engage, and benefit the community and thereby advance the HPC software ecosystem.
Long Description: The engineering of software for computational science and engineering (CSE) gets little attention in our community. We celebrate the big machines, the scientific discoveries they enable when driven by sophisticated software, and the cleverness and creativity of the software itself. More rarely do we talk about how that software was designed, the successes and failures of the development processes used, testing and verification strategies that maximize confidence in the code while minimizing the use of expensive resources, and many other aspects of the entire lifecycle of a CSE application, including portability, sustainability, and overall productivity. Additionally, the majority of the developers of such software have little or no formal training in software engineering (SWE).
At the same time, the pace of change and level of diversity in the architectural arena have increased dramatically, and the drive to exascale exacerbates the situation. CSE software developers already facing scientific demands for “bigger, better and faster” modeling and simulation capabilities, entailing larger, more multidisciplinary and geographically dispersed development teams, must also contend with significant architectural changes. Further, increases in data volume and complexity, and the increasing integration of “big data” (analytics) infrastructures (both hardware and software) raise additional SWE challenges.
We believe this situation has the makings of a serious Software Crisis in CSE on HPC, which we ignore at our own expense in scientific productivity and opportunity. Fortunately, a growing number of organizations are paying more attention to this problem. But the work is not yet widely shared, and the uptake of good practices is fragmented. We believe that the next step in the process is a concerted effort to increase awareness and sharing of work on SWE for HPC CSE across the community, with the aim of fostering good practices that will result in software fit to power CSE through the next era of computing.
Our goal is to bring together people concerned about this topic to share existing activities, discuss how we can expand and improve on them, and share the results, complementing “traditional” venues for the academic (often versus practical) discussion of SWE for CSE, such as conferences and workshops. An interactive Google Doc will be used to collaboratively take notes of the discussion. These notes will be made publicly available and will form the basis for a community report.
The SC Conference Series provides an ideal venue for these discussions. A large fraction of the attendees are CSE practitioners, or researchers who support such activities. Past editions of this BoF (2015, 2016) have been very well attended and the discussions highly engaged. SC17 will also host a number of complementary activities, including a workshop (2017 International Workshop on Software Engineering for High Performance Computing in Computational and Data-Enabled Science and Engineering), a tutorial (Better Scientific Software) and potentially several other BOFs (we are aware of proposals on Reusable Software, and on the Software Engineer Careers in Research). We expect significant interest in this BOF and related ones, and we hope they can be scheduled not to overlap.
Conference Presentation: pdf
Birds of a Feather Index