여러 작업을 실행할 때 HPC 클러스터(sge)의 성능이 저하됨

여러 작업을 실행할 때 HPC 클러스터(sge)의 성능이 저하됨

아, 이것이 장기적으로 가능한 일이라는 것을 알지만 여기서는 단서가 없습니다. 저는 oracale 그리드 엔진(sge)의 HPC(고성능 컴퓨팅 클러스터)에서 여러 컴퓨터 시뮬레이션을 실행하고 있습니다. 단일 작업은 컴퓨터에 작업을 추가할 때 특정 속도(초당 약 80단계)로 실행됩니다. 특정 임계값에서는 속도가 2만큼 감소합니다. 한 컴퓨터(CPU 종류는 모릅니다)에서 임계값은 16개의 CPU에 대해 11개의 작업입니다. 동일한 수와 종류의 CPU를 가진 다른 CPU의 경우 임계값은 8입니다.

처음에는 이것이 메모리 문제라고 생각했지만 각 작업에는 약 60MB - 100MB가 소요되고 각 컴퓨터에는 16GB의 RAM이 있습니다.

이런 문제를 겪으신 분 계신가요? 이것을 분석할 수 있는 방법이 있나요?

감사해요.

답변1

클러스터 설정을 알지 못한 채 CPU가 하이퍼스레팅을 사용하고 있는지 궁금합니다. 과도한 위협을 받는 코어는 물리적 코어 양의 두 배로 표시되지만, 비물리적 코어의 경우 계산 능력이 선형적으로 증가하지 않을 수 있습니다.

https://superuser.com/questions/279629/how-much-speedup-does-a-hyper-thread-give-in-theory

답변2

여러 가지 이유가 있을 수 있습니다.

작업이 많은 메모리를 소비하지 않더라도 메모리 버스(CPU를 RAM에 연결하는)를 가득 채울 수 있습니다. 버스가 꽉 차면 작업을 더 추가하면 메모리 버스에 더 많은 부담이 가해져 모든 것이 느려집니다.

또 다른 가능한 이유는 I/O입니다. 작업에서 많은 파일 작업(예: 파일 열기/쓰기/닫기 작업)을 수행하는 경우 너무 많은 작업이 동시에 실행되면 시스템의 디스크가 이를 따라잡지 못할 수 있습니다.

다른 이유는 공유 캐시나 부동 소수점 실행 장치와 같은 CPU의 다른 병목 현상 때문입니다.

관련 정보