1 / 12

Workshop on Sustainable Software for Science: Practice and Experiences

Workshop on Sustainable Software for Science: Practice and Experiences. Communities Nancy Wilkins-Diehr wilkinsn@sdsc.edu. 6 projects in 9 minutes Key points, similarities, differences. Ready, set go!

garron
Download Presentation

Workshop on Sustainable Software for Science: Practice and Experiences

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workshop on Sustainable Software for Science: Practice and Experiences Communities Nancy Wilkins-Diehr wilkinsn@sdsc.edu

  2. 6 projects in 9 minutesKey points, similarities, differences • Ready, set go! • L. Christopherson, R. Idaszak, S. Ahalt. Developing Scientific Software through the Open Community Engagement Process • Marlon Pierce, Suresh Marru, Mark A. Miller, Amit Majumdar, Borries Demeler. Science Gateway Operational Sustainability: Adopting a Platform-as-a-Service Approach • Lynn Zentner, Michael Zentner, Victoria Farnsworth, Michael McLennan, Krishna Madhavan, and Gerhard Klimeck, nanoHUB.org: Experiences and Challenges in Software Sustainability for a Large Scientific Community • Nancy Wilkins-Diehr, Katherine Lawrence, Linda Hayden, Marlon Pierce, Suresh Marru, Michael McLennan, Michael Zentner, Rion Dooley, Dan Stanzione. Science Gateways and the Importance of Sustainability • Andy Terrel. Sustaining the Python Scientific Software Community • Frank Löffler, Steven R. Brandt, Gabrielle Allen and Erik Schnetter. Cactus: Issues for Sustainable Simulation Software Workshop on Sustainable Software for Science: Practice and Experiences

  3. Robust SoftwareThrough professional development practices • Computational science is a first class science • Need reproducible, error-free results • Open Community Engagement Process • Agile approach applied to water science software • Lessons learned • Start small, build gradually • Refactor before adding new functionality • Encourage experimentation • Develop consensus before coding • Co-locate hack-a-thon teams when possible 1. Design thorough discussion of research questions 2. Develop working code 3. Refine based on new requirements 4. Publish open source • L. Christopherson, R. Idaszak, S. Ahalt. • Developing Scientific Software through the Open Community Engagement Process Workshop on Sustainable Software for Science: Practice and Experiences

  4. Gateway SustainabilityThrough shared infrastructure services Best done by a science community • SciGaP paper describes typical gateway tasks • Developing user interfaces that are useful for end user communities; • Managing domain-specific data and metadata; • Managing user identity, accounts, authorization and access for multiple, evolving available resources; • Getting community applications installed, running, and integrated with cyberinfrastructure middleware on a wide range of resources from campus, national, and international Grid and cloud efforts; • Reliably running jobs and returning results, supporting advanced execution scenarios, managing data; • Providing job status feedback and easily understandable error reports; • Operating gateway services at a high level of availability; • Operating trouble ticketing, support, and help desks Shared, open-source development, open governance Gateways can be developed and operated more efficiently Marlon Pierce, Suresh Marru, Mark A. Miller, AmitMajumdar, BorriesDemeler. Science Gateway Operational Sustainability: Adopting a Platform-as-a-Service Approach Workshop on Sustainable Software for Science: Practice and Experiences

  5. Workshop on Sustainable Software for Science: Practice and Experiences

  6. Gateway SustainabilityThrough shared expertise • Science Gateway Institute paper describes incubator offerings • Consultation and resources on topics such as business plan development, software engineering practices, software licensing options, usability, security and project management • Software repository and hosting service • Pool of developers available for project assignments lasting months to a year • Forum to connect members of the development community • Modular, layered framework that supports community contributions and allows developers to choose components. • Workforce development to train the next generation for careers in this cross- disciplinary area and build pools of institutional expertise that many projects can leverage Gateways can be developed more efficiently and run more effectively Nancy Wilkins-Diehr, Katherine Lawrence, Linda Hayden, Marlon Pierce, Suresh Marru, Michael McLennan, Michael Zentner, Rion Dooley, Dan Stanzione. Science Gateways and the Importance of Sustainability Workshop on Sustainable Software for Science: Practice and Experiences

  7. SustainabilityThrough community contribution • nanoHUB • 10-year history, 260,000 users annually • Contributions are an important part of the offerings • 4000 resources contributed by 1,000 authors • 300 simulation tools contributed by 411 authors • Developer-friendly policies to encourage contributions • “open access”, but not “open source” requirement • Contributors may license codes as open source, but only 16/323 have pursued this so far • Allows contributors to participate, but meet the requirements of their funding agency, institution, address IP concerns • Framework allows developers to restrict access to codes when necessary • Restrictions to US users, to non-D1 nations, to licensed individuals for some commercial codes • Quality control • Crowd-sourced, tools can be sorted by most used, most highly ranked • Contributions also to the HUBzero framework itself • Open source, LGPLv3 license • Contributors can create unique components and license as they choose • Changes to source code and redistribution must retain original license Lynn Zentner, Michael Zentner, Victoria Farnsworth, Michael McLennan, Krishna Madhavan, and Gerhard Klimeck, nanoHUB.org: Experiences and Challenges in Software Sustainability for a Large Scientific Community Workshop on Sustainable Software for Science: Practice and Experiences

  8. SustainabilityThrough community contribution • SciPy conference • Brings together academic, government and industry developers • One third of attendees are from industry • Just as HPC processors have been co­designed for science and gaming, scientific software is finding a joint co­design in partnerships with industry • But industry contributions to Python have been rare • Non-profit (NUMFocus) set up to support industry contributions Andy Terrel. Sustaining the Python Scientific Software Community Workshop on Sustainable Software for Science: Practice and Experiences

  9. NUMFocuspriorities • Educational Programs • Promotion of high-level languages, reproducible scientific research, and open­code development • Collaborative research tools and documentation • Governance is a loose grantor­granteerelationship with projects • Monies can be placed in the groups’ accounts • NUMFocus activities • Hires developers for open code development • Maintains testing machines for projects • Organizes the PyData conference series • Sponsors community members to attend conferences Workshop on Sustainable Software for Science: Practice and Experiences

  10. SustainabilityThrough community contribution and modular design • Cactus project began in 1996 • Revolutionary modular design • “flesh” provides interfaces between Cactus modules or “thorns” • Users can use modules written by others and can write their own • Far-reaching ramifications of this approach • I/O, time integration, mesh refinement, PAPI counters, boundary conditions can all be abstracted from science code • Community has grown and diversified, other science areas using the Cactus framework Frank Löffler, Steven R. Brandt, Gabrielle Allen and Erik Schnetter. Cactus: Issues for Sustainable Simulation Software Workshop on Sustainable Software for Science: Practice and Experiences

  11. IncentivesA common problem mentioned by nearly all contributors • Software often developed by students, who move on • Cactus combats this by fostering an enjoyable programming environment that encourages involvement after graduation • Open source licensing, modular approach, ability to see one’s code reused all are attractive • Paper publication is the measuring stick in academic reward system • No rewards for documentation, testing, professional software engineering, porting to new platforms • Cactus partially combats this by closely coupling code developments to science so at least development work is publishable • Citation of software use can be difficult to enforce • Uncertain career paths • Software developers often multidisciplinary experts while tenure track positions are often domain-specific Workshop on Sustainable Software for Science: Practice and Experiences

  12. Potential topic for discussionHow do we change the incentives? • Increasingly digital nature of data means that software mustbe recognized as a fundamental to research • How do we make sure it’s developed and supported responsibly? • Is change within academic institutions needed? • If so, what do we do? • Are there examples of successes? • Is there a career path in software development? • If so, how do we prepare students? • Are there other opportunities for improvement beyond changes to the academic system? Workshop on Sustainable Software for Science: Practice and Experiences

More Related