My Early Experiences at Supercomputing
I attended my first Supercomputing in 1993 as a postdoc in computational chemistry. It was a celebration of high-end hardware, which was particularly relevant to my work. But the technical program at that time didn’t hold so much interest for me as a chemist. For a long time, I wasn’t motivated to return to the annual conference.
By the year 2000, I’d changed jobs a couple of times, and I’d shifted my research program to focus on computer science, including many issues around software environments and software development – motivated in part by my experiences in computational chemistry. I started attending Supercomputing again. The conference was still a celebration of high-end hardware, but the technical program had expanded — both broadening and deepening. And it started to become more relevant to my personal research activities. I was part of a multi-institutional project to develop component-based software development approaches for high-performance scientific computing. We had offered tutorials for many years; and once Supercomputing added workshops to its program, we brought to Supercomputing an international workshop series we’d started for this community. But apart from that, I didn’t see too many opportunities at a typical Supercomputing to discuss the practice and experience of the development computational science and engineering software for high-end computers.
Since 2000, I’ve attended every Supercomputing conference but one. And over time, I’ve seen significant growth in the role that software plays in the conference. Next week, SC18 will convene in Dallas, Texas, and the roster of software-related events at this year’s conference is extensive. There are workshops on reproducibility and correctness, as well as on training and education in HPC – particularly important since so little formal training is available in software development practices for computational scientists and engineers. There are keynotes on software sustainability and development practices at two other workshops. There is a tutorial on producing better scientific software, and a tutorial on Spack, a next-generation package management tool designed with the special environment and needs of typical supercomputers in mind. And there’s a panel discussion on sustaining research software.
There are also a number of BOFs related to software. BOF stands for Birds of a Feather, and they are really just opportunities to gather communities of interest for discussions in a format defined by the organizers. But when you have 12,000+ people at a conference, there's a lot to discuss! This year, there are BOFs for the Spack community and the U.S. national research infrastructure for computing. But more significant to me is the BOF on "Software Engineering and Reuse for Computational Science and Engineering," which will be the fourth installment at Supercomputing, and a spin-off BOF on Research Software Engineering, a name that is gaining acceptance around the world for the community of people who invest their careers in the development of research software. The acceptance and high levels of participation we’ve seen in these events over the past couple of years are an indication of the growing recognition of software as an important topic to the Supercomputing community.
So if you think software development, productivity, and sustainability are important issues (and if you’re reading this blog, chances are you do), then I encourage you to join us at these events at SC18! Not only is your participation an opportunity for you to find like-minded people for discussion and exchanging experiences; it is also a statement to the organizers of Supercomputing that you value events on software, which helps pave the way for even more of these events in the future.
And remember, the Supercomputing conference series is fundamentally defined by what the community submits – not only papers and posters, but also proposals for workshops, tutorials, BOFs, panels, and other types of events. Submissions are competitive, so not every proposal will be accepted. But with persistence, we have the opportunity to make SC into even more of a software conference than it is already - to create a future where we can discuss software development experiences on par with the scientific results and the big iron on which they were obtained.
Bringing More Software into More Conferences
But remember, too, that Supercomputing is not the only venue that provides significant opportunities for the community to shape the meeting, beyond the traditional paper and poster submissions.
- ISC High Performance, the European counterpart to Supercomputing, offers many of the same types of events as SC and has submission deadlines coming up in the November-February time frame (depending on the type of event).
- SIAM conferences are traditionally participatory, with opportunities to organize minisymposia and topical poster sessions. You may have noticed previously on the BSSw Events page that events were listed for the Computational Science and Engineering 2017 (CSE17) and Parallel Processing 2018 (PP18) conferences, as well as a call for posters (now closed) for CSE19, coming this February.
- The Platform for Advanced Scientific Computing (PASC) conference series also includes the opportunity to organize minisymposia, with submission deadlines in the December-January time frame.
And many other conferences offer opportunities for companion tutorials and workshops.
- The long-standing Software Engineering for Science (SE4Science) workshop series has been associated with the International Conference on Software Engineering for many years, and in the past also with Supercomputing.
- The International Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE) series, for example, has colocated variously with Supercomputing, SciPy, Gateway Community Environments, the RSE Conference, and eScience.
Maybe in time, by working together, we can ensure that discussions about software are a prominent part of all of the technical conferences that we care about.
See you in Dallas!
David Bernholdt is a Distinguished R&D Staff Member and Group Leader at Oak Ridge National Laboratory (ORNL). He has leadership roles in multiple projects in the DOE Exascale Computing Project (ECP) and the Scientific Discovery through Advanced Computing (SciDAC) program. He also leads the Programming Environment and Tools area of the Oak Ridge Leadership Computing Facility (OLCF). His research interests center on making it easier and more productive to create and use computational science and engineering software on the largest high-performance computer systems.