우리의 작업 그룹은 건물 에너지 성능을 시뮬레이션하는 데스크탑 응용 프로그램을 생성합니다. .NET 응용 프로그램이며 사용자가 많은 시뮬레이션을 실행하면 시간이 많이 걸릴 수 있습니다. 시뮬레이션은 완전히 병렬화가 가능 하며 "사무실"에 매우 중요한 HPC 컴퓨팅 리소스가 있습니다.
우리가 가진 한 가지 아이디어는 사용자가 매우 오래 실행될 것이라는 시뮬레이션을 오프로드 할 수 있도록하는 것입니다 (각 개별 시뮬레이션은 약 30-120 초 동안 실행되지만 많은 수의 시뮬레이션을 실행하는 데 며칠이 걸릴 수 있음). 아무도 전에 이것을 한 적이 있습니까? 그렇다면 작업을 쉽게하기 위해 라이브러리를 사용 했습니까? 노력할만한 가치가 있었습니까?
추가 편집 :
시뮬레이션 오프로드를위한 개별 작업은
- 파일 포장 (약 5Mb)
- 서버에 업로드하고
- 패키지를 개별 시뮬레이션으로 분해 (각각 약 30-120 초 걸리고 완전히 병렬화 가능), 시뮬레이션 수는 사용자가 선택한 옵션 수 (절연, 건물 방향 등)와 최악의 선택의 함수입니다. 가능한 모든 옵션은 약 1E50 시뮬레이션이됩니다. 100에서 ~ 1E5 시뮬레이션을 실행하는 것은 알려져 있지 않지만 대부분의 사용자는 10 미만으로 실행됩니다.
- 완성 된 시뮬레이션을 재 조립하고 훨씬 더 큰 파일을 다운로드합니다.
우리 그룹이 처음 사용하기 때문에 어떤 인터페이스를 사용해야하는지 확실하지 않으며 예산 삭감으로 시간이 지나면 완료 될 수 있지만 다음 사람 (있는 경우)이 쉽게 유지할 수 있어야합니다.
이 응용 프로그램은 이미 .NET 4를 사용하고 있으며 사용자가 보유한 모든 코어를 사용하도록 확장 할 수 있습니다 (개발 시스템에는 8 개의 코어가 있음).