Skip to main content
QUICK REVIEW

[논문 리뷰] HEP Software Foundation Community White Paper Working Group - Software Development, Deployment and Validation

B. Couturier, G. Eulisse|arXiv (Cornell University)|2017. 12. 21.
Scientific Computing and Data Management참고 문헌 7인용 수 5
한 줄 요약

이 화이트페이퍼는 고에너지물리학(HEP) 분야에서 소프트웨어 개발, 배포 및 검증을 향상시키기 위해 오픈소스 소프트웨어 커뮤니티의 최선의 실천 방식을 수용함으로써 전 분야에 걸친 전략을 제안한다. 장기적인 지속 가능성과 분산된, 이질적인 HEP 협업 간의 상호운용성을 보장하기 위해 중심화된 포럼, 표준화된 교육, 개선된 도구, 소프트웨어 기여에 대한 보다 나은 인식을 추진한다.

ABSTRACT

The High Energy Phyiscs community has developed and needs to maintain many tens of millions of lines of code and to integrate effectively the work of thousands of developers across large collaborations. Software needs to be built, validated, and deployed across hundreds of sites. Software also has a lifetime of many years, frequently beyond that of the original developer, it must be developed with sustainability in mind. Adequate recognition of software development as a critical task in the HEP community needs to be fostered and an appropriate publication and citation strategy needs to be developed. As part of the HEP Softare Foundation's Community White Paper process a working group on Software Development, Deployment and Validation was formed to examine all of these issues, identify best practice and to formulare recommendations for the next decade. Its report is presented here.

연구 동기 및 목표

  • 여러 기관에 걸쳐 분산되어 있으며 소프트웨어 전문 지식 수준이 다양한 팀들이 참여하는 대규모, 분산형 소프트웨어 개발의 과제를 해결하기 위해.
  • 원래 개발자가 퇴직한 후에도 지속 가능한 소프트웨어 유지보수를 보장하기 위해 코드 품질, 모듈성 및 장기적 유지보수성 향상에 최선의 실천 방식을 추진하기 위해.
  • 공유 교육 자료를 제작하고 실험 간 협업을 촉진함으로써 지식 공유를 촉진하고 중복을 줄이기 위해.
  • 표준화된 도구, 성능 인스트루멘테이션 및 메트릭 기반 개발을 통해 복잡한 스트로스틱 HEP 소프트웨어 출력의 검증 및 배포를 향상시키기 위해.
  • 개발자들이 공정한 인정과 경력 발전을 받을 수 있도록 소프트웨어 기여에 대한 공식적인 인정 체계를 확립하기 위해.

제안 방법

  • 성공적인 산업 포럼(예: Concurrency Forum)을 모델로 삼아, 신기술 동향을 모니터링하고 소프트웨어 과제에 대한 논의를 촉진하는 공동체 포럼을 구축하기 위해.
  • 신규 팀원의 온보딩을 간소화하고 중복을 줄이기 위해 표준화된 소프트웨어 프로젝트 템플릿 및 패키징 솔루션을 개발하고 배포하기 위해.
  • Software Carpentry, LHCb StarterKit, ALICE Juniors 등의 성공적인 이니셔티브를 기반으로 한 실험에 관계없이 적용 가능한 핵심 교육 프로그램을 제작하기 위해.
  • HEP 사용 사례를 공유하고 더 넓은 소프트웨어 개발 트렌드에서 학습하기 위해 외부 소프트웨어 커뮤니티(예: SciPy, SC, WSSSPE)와의 협력을 강화하기 위해.
  • 병렬 처리 및 시스템 동작을 모니터링하기 위해 성능 측정 및 프로파일링 도구의 프로토타입을 개발하기 위해, 기존 도구(예: igprof)를 기반으로 하여.
  • 사용량을 추적하고 소프트웨어 기여에 대한 공식적인 인정을 가능하게 하기 위해 메트릭 기반 소프트웨어 인용 체계를 설계하기 위해.

실험 결과

연구 질문

  • RQ1다양한 일정, 규모 및 자금 조달 모델을 가진 실험들 간에 HEP 소프트웨어 개발 방식을 어떻게 표준화할 수 있는가?
  • RQ2원래 개발자가 퇴직하고 코드베이스가 수십 년에 걸쳐 유지되는 상황에서 장기적인 소프트웨어 지속 가능성을 확보할 수 있는 메커니즘은 무엇인가?
  • RQ3지리적으로 산만하게 흩어져 있고 문화적으로 다양성이 있는 HEP 팀 간에 지식과 최선의 실천 방식을 효과적으로 공유할 수 있는 방법은 무엇인가?
  • RQ4대규모에서 복잡한 스트로스틱 HEP 소프트웨어 출력의 검증을 향상시키기 위해 어떤 도구와 워크플로우가 유용한가?
  • RQ5소프트웨어 기여가 경력 발전과 연구 기여에 기여할 수 있도록 공식적으로 인정하고 인용할 수 있는 방식은 무엇인가?

주요 결과

  • 성공적인 산업 포럼을 모델로 삼은 HEP 소프트웨어 전용 공동체 포럼은 신기술 동향을 모니터링하고 프로토타이핑 활동을 조율하는 데 필수적이다.
  • 표준화된 프로젝트 템플릿과 패키징 솔루션은 온보딩 시간을 크게 단축시키고 실험 간 소프트웨어 유지보수성을 향상시킨다.
  • Software Carpentry 및 LHCb StarterKit와 같은 이니셔티브를 기반으로 한 실험에 관계없이 적용 가능한 교육 프로그램은 커뮤니티 전반에서 핵심 소프트웨어 역량을 구축하는 데 효과적이다.
  • 외부 소프트웨어 커뮤니티(예: SciPy, WSSSPE)와의 통합은 지식 교환을 가능하게 하고 현대적 개발 관행의 도입을 가속화한다.
  • 성능 인스트루멘테이션 도구, 예를 들어 igprof의 향상된 버전은 병렬 처리 및 HPC 환경에서 소프트웨어 효율성 향상을 측정하고 향상시키는 데 핵심적이다.
  • 메트릭 기반 소프트웨어 인용 체계는 소프트웨어 기여에 대한 공식적인 인정을 가능하게 하여 공정한 기여 인정과 경력 발전을 지원한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.