2004. 8. 4 ㈜ 클루닉스 기술부

22
Supercomputing for Everyone Supercomputing for Everyone CLUNIX CLUNIX 2004. 8. 4 ㈜ ㈜㈜㈜㈜ ㈜㈜㈜ 기기기기기 기기 기기기기 (MM5/MPP) 기기기 기 기기 기기 기기 기기

description

기상연구소 응용 프로그램 (MM5/MPP) 시스템 별 성능 측정 결과 보고. 2004. 8. 4 ㈜ 클루닉스 기술부. 목 차. 테스트 요구 사항 테스트 시스템 환경 테스트 적용 환경 테스트 결과 테스트 진행자 결론 - 첨부 : 테스트 진행 과정 테스트 결과 측정 과정 테스트 진행 시 시스템 모니터링 자료. 테스트 요구 사항. MM5-MPP 성능 테스트 - PowerPoint PPT Presentation

Transcript of 2004. 8. 4 ㈜ 클루닉스 기술부

Page 1: 2004. 8. 4 ㈜  클루닉스 기술부

Supercomputing for EveryoneSupercomputing for Everyone CLUNIX CLUNIX

2004. 8. 4

㈜ 클루닉스 기술부

기상연구소 응용 프로그램 (MM5/MPP) 시스템 별 성능 측정 결과 보고

Page 2: 2004. 8. 4 ㈜  클루닉스 기술부

2 Copyright © 2004 Clunix, Inc.

목 차

테스트 요구 사항 테스트 시스템 환경 테스트 적용 환경 테스트 결과 테스트 진행자 결론

- 첨부 :

테스트 진행 과정테스트 결과 측정 과정테스트 진행 시 시스템 모니터링 자료

Page 3: 2004. 8. 4 ㈜  클루닉스 기술부

3 Copyright © 2004 Clunix, Inc.

테스트 요구 사항

MM5-MPP 성능 테스트 Linux 환경에서의 MM5/MPP 프로그램을 설치 하고 building

하여 생성되는 mm5.mpp 를 실행 했을 경우 수행 시간 측정 64bit 시스템 환경에서 MM5/MPP 의 정상 수행 여부 테스트 진행 중 시스템 Resource (CPU/Disk/Mem/Net) 의 사용

현황 파악 및 병목 Resource 측정

Process Architecture 별로 테스트 진행 Opteron AMD64 / Itenium2 / Xeon 시스템 별 테스트 성능 측정 각 시스템 환경에 최적한 구성 요소로 테스트 진행 함 ( OS, Compil

er )

Page 4: 2004. 8. 4 ㈜  클루닉스 기술부

4 Copyright © 2004 Clunix, Inc.

테스트 시스템 환경

Opteron AMD 64 시스템 Opteron AMD 64 Dual Processor ECC registered Memory 2G Ultra 320 SCSI 36G PGI –AMD64 Compiler

Itenium2 IA 64 시스템 Itenium2 IA 64 Dual Processor ECC registered Memory 1G Ultra 320 SCSI 36G Intel Fortran Compiler ( Itenium2 전용 )

P-IV (Xeon) IA 32 시스템 Xeon 2.4G(Hyper Threading) IA 32 Dual Processor ECC registered Memory 1G Ultra 320 SCSI 36G PGI –X86 Compiler

Page 5: 2004. 8. 4 ㈜  클루닉스 기술부

5 Copyright © 2004 Clunix, Inc.

테스트 적용 환경

MPI 프로그램 환경 MPI 병렬 프로그램 환경은 LAM-MPI 와 MPICH 두가지

방식으로 테스트를 하였고 , 동작 작업 진행 시 LAM-MPI 방식이 10% 정도의 성능향상이 있었음 . 추후 테스트 진행은 LAM-MPI 방식으로 진행

네트워크 환경 Gigabit 환경과 100M 환경에서 테스트를 진행함 .

테스트 DATA MM5 테스트 DATA 는 기본 input2mm5.tar.gz 으로 진행함 .

Page 6: 2004. 8. 4 ㈜  클루닉스 기술부

6 Copyright © 2004 Clunix, Inc.

테스트 결과

수행 프로세스 개수 별 수행 속도 ( 단위 : 분 / 초 )

proc 개수 시스템 1 개 2 개 4 개 6 개

AMD643 분 30 초 2 분 0.18 초 1 분 51 초 1 분 39 초

IA644 분 0.4 초 2 분 21.8 초

IA327 분 6.66 초 4 분 16 초 3 분 31 초 3 분 28 초

Page 7: 2004. 8. 4 ㈜  클루닉스 기술부

7 Copyright © 2004 Clunix, Inc.

테스트 진행자 결론 -1

Process 개수를 1 개로 하여 mm5.mpp 를 실행했을 경우 opteron 이 가장 우수한 성능을 가지고 있음을 확인함 . Process 개수를 늘려 나갈 경우에도 역시 opteron 이 가장 우수한 성능을 나타냄 ( 앞장의 측정 결과 참조 )

프로세스 통신 방식을 Ethernet 방식으로 했을 경우 실제 할당되는 네트워크 대역폭이 20M/b ~30M/b 임 . 그러므로 100M Switch 환경이나 1000M Switch 환경의 차이는 크게 없어 보임 . Myrinet 의 경우에는 Ethernet 방식과 다른 통신 방식임으로 노드 수가 늘어 날수록 성능 향상 요인이 있음 .

실제 프로세스의 수가 늘어남에 따라 CPU 사용률이 저하 되는것을 확인할 수 있음 . 두 가지 요인으로 추측되는데 , Cpu 이외의 다른 resource 의 병목으로 인한 경우와 실제 테스트에 사용된 테스트 Domain 의 size 가 작은 것임으로 작업량이 작은 경우일수 있는 가능성이 있다 .

Page 8: 2004. 8. 4 ㈜  클루닉스 기술부

8 Copyright © 2004 Clunix, Inc.

테스트 진행자 결론 -2

Xeon 의 Hyper Threading 기능을 사용 했을 경우 Process 의 수가 작을 경우에만 10%~20% 정도의 성능향상이 있음 process 수가 4 개 이상 일 경우에는 오히려 성능이 더 떨어짐 .

Xeon 의 4 개 프로세스를 사용하여 수행 했을 때가 8 개 Hyper Threading 기능을 사용 했을 때 보다 더 성능이 좋은 것을 확인함 .

추측되는 원인으로 Memory sharing 에 의한 메모리 병목 유발과 Process 간 system bus 의 병목 유발을 들 수 있음 .

Hyper Threading 기능을 사용할 경우 CPU 사용량이 현저하게 떨어짐 .

Multi node 구성 시에는 Xeon Hyper Threading 기능을 사용하지 않는 것을 권장

Page 9: 2004. 8. 4 ㈜  클루닉스 기술부

9 Copyright © 2004 Clunix, Inc.

테스트 진행 과정 -1

MM5/MPP 설치

MM5/MPP download : http://www.mmm.ucar.edu/mm5/ 에서 MM5V3 와 MPP 다운

# wget ftp://ftp.ucar.edu/mesouser/MM5V3/MM5.TAR.gz# wget ftp://ftp.ucar.edu/mesouser/MM5V3/MPP.TAR.gz

# cd /home/clunix# tar xzvf MM5.TAR.gz# cd MM5# tar xzvf MPP.TAR.gz

Configure.user file 수정 , 시스템 환경과 Compile 환경에 맞게 Makefile Option 수정

# cd MPP/RSL/RSL# make linux# cd ../../..# make mpp

Page 10: 2004. 8. 4 ㈜  클루닉스 기술부

10 Copyright © 2004 Clunix, Inc.

테스트 진행 과정 -2

# make mm5.deck

무사히 컴파일이 되면 /home/clunix/MM5 디렉토리 밑에 mm5.deck 가 생긴다 . 이것을 실행한다 .

# ./mm5.deck

그럼 /home/clunix/MM5/Run 밑에 mmlif 가 생성된다 .

# cd /home/clunix/MM5/Run

MM5 사이트에서 테스트 INPUT DOMAIN DATA 를 다운 받아서 테스트 한다 .

# wget ftp://ftp.ucar.edu/mesouser/MM5V3/TESTDATA/input2mm5.tar.gz# tar xzvf input2mm5.tar.gz

-rw-r--r-- bruyerec/users 1825164 2003-07-01 02:47:46 BDYOUT_DOMAIN1-rw-r--r-- bruyerec/users 170936 2003-07-01 02:47:46 LOWBDY_DOMAIN1-rw-r--r-- bruyerec/users 2889044 2003-07-01 02:47:46 MMINPUT_DOMAIN1-rw-r--r-- bruyerec/users 210980 2003-07-01 07:15:27 TERRAIN_DOMAIN2

Page 11: 2004. 8. 4 ㈜  클루닉스 기술부

11 Copyright © 2004 Clunix, Inc.

테스트 진행 과정 -3

Mm5.mpp 프로그램 수행

이제 LAM-MPI 를 실행한다 . LAM 은 일반 계정에서 실행되어져야 한다 .

# lamboot -v /etc/lamhost-----------------------------------------------LAM 6.5.9/MPI 2 C++/ROMIO - Indiana UniversityExecuting hboot on n0 (otn1 - 2 CPUs)...Executing hboot on n1 (otn2 - 2 CPUs)...Executing hboot on n2 (otn3 - 2 CPUs)...topology done-----------------------------------------------# mpirun -np 1 mm5.mppotn1 -- rsl_nproc_all 1, rsl_myproc 0

수행이 완료되면 ..rsl.error.000xrsl.out.000xshow_domain_000x 가 생성된다 .

Page 12: 2004. 8. 4 ㈜  클루닉스 기술부

12 Copyright © 2004 Clunix, Inc.

테스트 결과 측정 과정 – opteron 1

Process number : 1[clunix@otn1 Run]$ time mpirun -np 1 mm5.mppotn1 -- rsl_nproc_all 1, rsl_myproc 0

real 3m30.214suser 0m0.000ssys 0m0.000s

Process number : 2[clunix@otn1 Run]$ time mpirun -np 2 mm5.mppotn1 -- rsl_nproc_all 2, rsl_myproc 0otn1 -- rsl_nproc_all 2, rsl_myproc 1

real 2m0.184suser 0m0.000ssys 0m0.000s

Page 13: 2004. 8. 4 ㈜  클루닉스 기술부

13 Copyright © 2004 Clunix, Inc.

테스트 결과 측정 과정 – opteron 2

Process number : 4 [clunix@otn1 Run]$ time mpirun -np 4 mm5.mppotn1 -- rsl_nproc_all 4, rsl_myproc 0otn1 -- rsl_nproc_all 4, rsl_myproc 1otn2 -- rsl_nproc_all 4, rsl_myproc 2otn2 -- rsl_nproc_all 4, rsl_myproc 3real 1m51.920suser 0m0.000ssys 0m0.000s

Process number : 6[clunix@otn1 Run]$ time mpirun -np 6 mm5.mppotn1 -- rsl_nproc_all 6, rsl_myproc 0otn1 -- rsl_nproc_all 6, rsl_myproc 1otn2 -- rsl_nproc_all 6, rsl_myproc 2otn2 -- rsl_nproc_all 6, rsl_myproc 3otn3 -- rsl_nproc_all 6, rsl_myproc 4otn3 -- rsl_nproc_all 6, rsl_myproc 5real 1m39.816suser 0m0.000ssys 0m0.000s

Page 14: 2004. 8. 4 ㈜  클루닉스 기술부

14 Copyright © 2004 Clunix, Inc.

테스트 결과 측정 과정 – Itenium2

Process number : 1[clunix@rx2600 Run]$ time mpirun -np 1 mm5.mpp rx2600 -- rsl_nproc_all 1, rsl_myproc 0real 4m0.434suser 0m0.001ssys 0m0.001s

Process number : 2[clunix@rx2600 Run]$ time mpirun -np 2 mm5.mpp rx2600 -- rsl_nproc_all 2, rsl_myproc 0 rx2600 -- rsl_nproc_all 2, rsl_myproc 1

real 2m31.815suser 0m0.002ssys 0m0.003s

Page 15: 2004. 8. 4 ㈜  클루닉스 기술부

15 Copyright © 2004 Clunix, Inc.

테스트 결과 측정 과정 – Xeon 1

Process number : 1[clunix@www1 Run]$ time mpirun -np 1 mm5.mppwww1 -- rsl_nproc_all 1, rsl_myproc 0

real 7m6.661suser 0m0.000ssys 0m0.000s

Process number : 2[clunix@www3 Run]$ time mpirun -np 2 mm5.mppwww3 -- rsl_nproc_all 2, rsl_myproc 0www3 -- rsl_nproc_all 2, rsl_myproc 1

real 4m16.842suser 0m0.000ssys 0m0.000s

Page 16: 2004. 8. 4 ㈜  클루닉스 기술부

16 Copyright © 2004 Clunix, Inc.

테스트 결과 측정 과정 – xeon 2

Process number : 4 [clunix@www1 Run]$ time mpirun -np 4 mm5.mppwww1 -- rsl_nproc_all 4, rsl_myproc 0www2 -- rsl_nproc_all 4, rsl_myproc 1www3 -- rsl_nproc_all 4, rsl_myproc 2www3 -- rsl_nproc_all 4, rsl_myproc 3real 3m31.522suser 0m0.000ssys 0m0.010s

Process number : 6[clunix@www1 Run]$ time mpirun -np 6 mm5.mppwww1 -- rsl_nproc_all 6, rsl_myproc 4www1 -- rsl_nproc_all 6, rsl_myproc 0www3 -- rsl_nproc_all 6, rsl_myproc 2www3 -- rsl_nproc_all 6, rsl_myproc 3www2 -- rsl_nproc_all 6, rsl_myproc 1www2 -- rsl_nproc_all 6, rsl_myproc 5real 3m28.397suser 0m0.000ssys 0m0.010s

Page 17: 2004. 8. 4 ㈜  클루닉스 기술부

17 Copyright © 2004 Clunix, Inc.

테스트 진행 시 시스템 모니터링 자료

• 프로세스 모니터링

Page 18: 2004. 8. 4 ㈜  클루닉스 기술부

18 Copyright © 2004 Clunix, Inc.

테스트 진행 시 시스템 모니터링 자료

• 네트워크 모니터링 ( NFS 사용 시 20Mb~30Mb 사용 )

Opteron System ( 3node ) Itenium System ( 1node )

Xeon System ( 3node )

Page 19: 2004. 8. 4 ㈜  클루닉스 기술부

19 Copyright © 2004 Clunix, Inc.

테스트 진행 시 시스템 모니터링 자료

• Disk I/0 모니터링 ( 노드 당 1MB 정도 사용 )

Opteron System ( 3node ) Itenium System ( 1node )

Xeon System ( 3node )

Page 20: 2004. 8. 4 ㈜  클루닉스 기술부

20 Copyright © 2004 Clunix, Inc.

테스트 진행 시 시스템 모니터링 자료

• Memory 모니터링 ( 시스템 별 80% 정도 사용 )

Opteron System ( 3node ) Itenium System ( 1node )

Xeon System ( 3node )

Page 21: 2004. 8. 4 ㈜  클루닉스 기술부

21 Copyright © 2004 Clunix, Inc.

테스트 진행 시 시스템 모니터링 자료

• 리소스 모니터링

Page 22: 2004. 8. 4 ㈜  클루닉스 기술부

Supercomputing for EveryoneSupercomputing for Everyone CLUNIX CLUNIX

Supercomputing for Everyone

Clunix, Inc.㈜클루닉스

152-766

서울특별시 구로구 구로 3동 197-22 에이스테크노타워 5차 1007호Tel : + 82 2 3486 5896

Fax : + 82 2 3486 3959

www.clunix.com