Date post: | 29-Mar-2015 |
Category: |
Documents |
Upload: | ruby-keeler |
View: | 213 times |
Download: | 0 times |
Workshop on Sustainable Software for Science: Practice and Experiences
Communities
Nancy [email protected]
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
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
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
November 17, 2013Workshop on Sustainable Software for
Science: Practice and Experiences
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
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
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
• 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
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
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
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