Skip to main content
QUICK REVIEW

[논문 리뷰] Seeking the Principles of Sustainable Software Engineering

Justin Y. Shi|arXiv (Cornell University)|2014. 05. 18.
Green IT and Sustainability인용 수 4
한 줄 요약

이 논문은 암시적 병렬 프로그래밍 패러다임을 지속 가능한 소프트웨어 공학의 기초 원칙으로 제안하여, 한 번 작성된 애플리케이션을 다양한 플랫폼에서 최적화된 성능과 에너지 효율성으로 효율적으로 실행할 수 있도록 한다. 계산과 데이터 바인딩을 분리함으로써 런타임 최적화, 장애 격리, 스케일에 관계없이 재현 가능성을 지원하는 접근 방식은 기존의 명시적 병렬 처리에서 오랫동안 지속된 한계를 해결한다.

ABSTRACT

Like other engineering disciplines, software engineering should also have principles to guide the construction of sustainable computer applications. Tangible properties include a) unlimited scalability, b) maximal reproducibility, and c) optimizable energy efficiency. In practice, we expect a sustainable scientific application should be written once and execute many times on multiple different processing platforms of different scales with optimized performance and energy efficiency. For more than two decades, explicit parallel programming/processing paradigms only focused on performance. Practices showed that the rigid program-data binding prohibited dynamic runtime resource optimization and fault isolation, making it difficult to reproduce applications in scale. This paper reports our practice and experiences in search of the first principles of sustainable software engineering for compute and data intensive applications. Specifically, we report our practice and experiences using implicit parallel programming/processing paradigms.

연구 동기 및 목표

  • 계산 집약적 애플리케이션의 장기적 유지보수성과 적응 가능성 보장을 위한 지속 가능한 소프트웨어 공학의 기초 원칙을 규명하는 것.
  • 프로그램-데이터 바인딩이 고정되어 있어 런타임 최적화와 재현 가능성을 제한하는 명시적 병렬 프로그래밍의 한계를 해결하는 것.
  • 암시적 병렬 프로그래밍 패러다임이 이질적이고 확장 가능한 플랫폼에서 애플리케이션을 효율적으로 실행하는 데 어떻게 기여할 수 있는지 탐색하는 것.
  • 과학 소프트웨어 시스템에서 최대한의 재현 가능성, 무제한 확장성, 최적화 가능한 에너지 효율성 달성하는 것.
  • 동적 자원 적응과 장애 격리 기능을 지원하는 지속 가능한 소프트웨어 공학의 프레임워크 수립

제안 방법

  • 알고리즘 논리와 데이터 배치, 실행 스케줄링을 분리하기 위해 암시적 병렬 프로그래밍 패러다임을 채택하는 것.
  • 재구현 없이 다양한 처리 플랫폼 간 이식 가능하도록 애플리케이션을 설계하는 것.
  • 플랫폼 특성에 기반해 런타임 시스템이 동적 로드 밸런싱과 자원 할당을 수행하도록 활용하는 것.
  • 실행 순서와 데이터 이동을 자동 최적화할 수 있도록 데이터 플로우 및 작업 기반 추상화를 사용하는 것.
  • 모듈형이고 조합 가능한 실행 단위를 통해 장애 격리 메커니즘을 구현하는 것.
  • 다양한 스케일과 하드웨어 구성에서의 시스템 동작을 평가하여 지속 가능성 특성을 검증하는 것.

실험 결과

연구 질문

  • RQ1고성능 계산 애플리케이션에서 지속 가능성을 보장하기 위해 소프트웨어 공학 원칙을 어떻게 체계화할 수 있는가?
  • RQ2암시적 병렬 프로그래밍 모델은 다중 플랫폼 이식성과 성능 이식성에 어떤 역할을 하는가?
  • RQ3명시적 병렬 처리에서의 고정된 프로그램-데이터 바인딩은 런타임 최적화와 장애 격리에 어떤 방식으로 악영향을 미치는가?
  • RQ4다양한 하드웨어 플랫폼 간 에너지 효율성과 재현 가능성을 체계적으로 최적화하는 방법은 무엇인가?
  • RQ5성능과 신뢰성을 유지하면서도 무제한 확장성을 지원하는 아키텍처 패턴은 무엇인가?

주요 결과

  • 암시적 병렬 프로그래밍 패러다임은 계산과 데이터 바인딩을 성공적으로 분리하여 런타임 동적 최적화와 개선된 장애 격리를 가능하게 하였다.
  • 암시적 모델을 사용해 구축한 애플리케이션은 다양한 규모의 이질적 하드웨어 플랫폼에서 일관된 성능과 재현 가능성을 보였다.
  • 런타임에서 플랫폼 고유의 특성에 적응할 수 있도록 허용함으로써 최적화 가능한 에너지 효율성을 달성하였다.
  • 저수준 자원 관리를 추상화하고 자동 로드 분배를 가능하게 하여 무한한 확장성을 지원하는 모델이었다.
  • 프레임워크는 이질적 시스템 간에 재구성 최소화로 한 번 작성한 애플리케이션을 여러 차례 실행할 수 있도록 하였다.
  • 이 연구는 지속 가능한 소프트웨어 공학이 성능 이외의 원칙, 즉 이식성, 재현 가능성, 에너지 효율성까지 포함해야 한다는 점을 확인하였다.

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

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

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

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