Top Banner
Workshop on Sustainable Software for Science: Practice and Experiences Communities Nancy Wilkins-Diehr [email protected]
12

Workshop on Sustainable Software for Science: Practice and Experiences Communities Nancy Wilkins-Diehr [email protected].

Mar 29, 2015

Download

Documents

Ruby Keeler
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Workshop on Sustainable Software for Science: Practice and Experiences Communities Nancy Wilkins-Diehr wilkinsn@sdsc.edu.

Workshop on Sustainable Software for Science: Practice and Experiences

Communities

Nancy [email protected]

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

6 projects in 9 minutesKey points, similarities, differences

• Ready, set go!• L. Christopherson, R. Idaszak, S. Ahalt. Develo

ping 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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

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

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

1. Design thorough discussion of research questions2. Develop working code3. Refine based on new requirements4. Publish open source

L. Christopherson, R. Idaszak, S. Ahalt. Developing Scientific Software through the Open Community Engagement Process

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

Gateway SustainabilityThrough shared infrastructure services

• SciGaP paper describes typical gateway tasks1. Developing user interfaces that are useful for end user

communities; 2. Managing domain-specific data and metadata; 3. Managing user identity, accounts, authorization and access for

multiple, evolving available resources; 4. 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;

5. Reliably running jobs and returning results, supporting advanced execution scenarios, managing data;

6. Providing job status feedback and easily understandable error reports;

7. Operating gateway services at a high level of availability;8. Operating trouble ticketing, support, and help desks

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

Best done by a science community

Shared, open-source development, open

governance

Gateways can be developed and operated more efficientlyMarlon Pierce, Suresh Marru, Mark A. Miller, Amit Majumdar, Borries Demeler. Science Gateway Operational Sustainability: Adopting a Platform-as-a-Service Approach

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

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

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

Gateways can be developed more efficiently and run more effectivelyNancy 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

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

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

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

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

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

Andy Terrel. Sustaining the Python Scientific Software Community

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

• NUMFocus priorities– Educational Programs – Promotion of high-level languages, reproducible scientific research,

and open code development – Collaborative research tools and documentation

• Governance is a loose grantor grantee relationship 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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

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

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

Frank Löffler, Steven R. Brandt, Gabrielle Allen and Erik Schnetter. Cactus: Issues for Sustainable Simulation Software

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

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

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences

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

Potential topic for discussionHow do we change the incentives?

• Increasingly digital nature of data means that software must be 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?

November 17, 2013Workshop on Sustainable Software for

Science: Practice and Experiences