Performance Tuning !!!
무슨 작업을 하던 간에,, 가장 어려운 주제입니다.
얼마전에 Rocks 5.1 Cluster 를 구성했는데,
성능이 예상만큼 안나온다는 얘기를 들었습니다.
올 것이 왔구나!!!

성능을 개선하기 위해서 여러가지 접근 방법이 있겠지만,,
우선은 Compiler와 MPI Library를 변경하기로 하였습니다.
Intel Roll CD가 제공되지만,, Roll CD를 사용하지 않고,,
개별적으로 Intel Fortran Compiler + Intel MPI Libray 를 설치하는 방법을 사용했습니다.

  1. Compatibility Package 설치
    • Intel Compiler 설치를 위해서는 미리 설치되어 있어야 합니다.
    • compat-gcc-34, compat-gcc-34-g77, compat-gcc-34-c++, compat-libstdc++ 패키지 설치
    • yum -y install compat-gcc-34 compat-gcc-34-g77 compat-gcc-34-c++ compat-libstdc++
    • [compute node only] yum -y install gcc-g++
       
  2. Intel Fortran Compiler 설치
    • Intel Software download 싸이트에서 Evaluation 을 다운로드
    • 메일로 라이센스 키를 받으면 /opt/intel/licenses 디렉토리 아래에 복사
    • Evaluation 설치 파일을 받으면, /tmp로 이동 후 압축 해제
    • ./install.sh 스크립트로 설치 시작
    • 설치 과정에서 현재 OS(CentOS 5.2)가 호환되지 않는다는 메시지가 뜨지만 무시하고 넘어가면 설치를 계속할 수 있습니다.
    • 설치 완료 후 환경변수 load
      # source /opt/intel/Compiler/11.0/081/bin/ifortvars.sh intel64
       
  3. Intel MPI Library 설치
    • 설치 파일을 /tmp로 이동 후 압축 해제
    • machine.LINUX 파일을 편집해서 설치하기 위한 모든 노드 목록을 작성
      master
      slave
    • ./install.sh 스크립트로 설치 시작
    • 설치 완료 후 환경변수 load
      # source /opt/intel/impi/3.2.1/bin64/mpivars.sh
       
  4. MPI Program compile
    • 환경변수를 load 하면, ifort 명령으로 fortran compile이 가능함
    • MPI 프로그램을 compile 하기 위해서는 mpiifort 를 사용
    • mpif90 을 사용할 경우 gfortran 으로 compile됨
       
  5. SGE 와 연동해서 mpirun
    • Intel MPI Library 는 MPI-2 를 기반으로 구성되어 있음
    • mpdboot, mpdallexit 가 필요한데,, mpirun 스크립트를 사용하면 자동으로 실행해 줌
    • job submit 예제
       
      #!/bin/sh

      #
      #$ -cwd
      #$ -j y
      #$ -S /bin/bash
      #$ -pe mpich 4
      #
      echo '------------------------------------------'
      echo 'host='$HOSTNAME
      echo "Got $NSLOTS slots."
      echo '------------------------------------------'
      /opt/intel/impi/3.2.1.009/bin64/mpirun -np $NSLOTS /your/program/full/path/application

       
    • -cwd 옵션을 사용했는데도,, application full path를 적어줘야 동작함
      full path를 사용하지 않을 경우 [Errno 2] No such file or directory 발생
       

일단,, Intel Compiler 를 사용해서 성능이 개선되길 바래야죠..
성능 개선이 안될 경우 일이 더 복잡해지는데요...

'Rocks' 카테고리의 다른 글

SGE error: ending connection before all data received  (0) 2009.11.17
성능비교의 오류  (0) 2009.07.15
Rocks 설치 중 네트워크 연결 실패  (0) 2009.06.21
PXE-E32: TFTP open timeout  (0) 2009.06.21
rocks command  (0) 2009.06.21

+ Recent posts