• Home
  • 사이트맵
  • English

사용자지원

자주하는질문(FAQ)

홈 > 사용자지원 > 자주하는질문(FAQ)

데이터 목록
번호 구분 제목
25 TACHYON_작업실행 대규모 파일 I/O 성능 향상을 위한 방법은 어떤게 있나요?
● tachyon시스템의 경우 Lustre 파일시스템(/work01, /work02, /home01)에서 수백 MB 이상의 파일에 대해 I/O를 수행하는 경우 다음과 같은 striping 설정을 통해 I/O 성능을 향상할 수 있습니다.
이는 일반적인POSIX I/O 뿐만 아니라 MPI-IO, parallel HDF5 or parallel NetCDF등을 통한 application에서의 병렬 I/O 수행시에도 마찬가지로 영향을 끼칩니다.
실행 명령은 “lfs setstripe < directory_name > -s < number1 > -c < number2 >“ 와 같은 형태입니다.
이의 적용여부는 lfs getstripe < directory_name >을 통해 확인할 수 있습니다.
lustre 파일시스템의 현재 구성은 /work01의 경우 stripe size(“-s”)는 2MB이고 stripe count(“-c”)는 2이며,
대부분의 경우 이 default 값을 사용하는 것이 타당할 것으로 보이며,
잘못 조정을 할 경우 성능 저하가 일어날 수도 있습니다.
아래의 예는 /work01/$LOGNAME에 tmpdir를 만들었을 때 default stripe count/size값을 확인하는 방법과 이를 4MB의 stripe size와 4개의 stipe count를 사용하도록 변경하는 경우입니다.
이와 같이 구성할 경우 추후 해당 디렉토리에 큰 파일을 만들면 4MB 단위로 4개의 Lustre OSTs(Objective Storage Target: Lustre 병렬 I/O 서버의 기본 storage단위)에 분산되어 저장이 되게 됩니다.

------------------------------------------------------------------------
[tyhong@tachyonc ~]$ cd /work01/tyhong
[tyhong@tachyonc tyhong]$ mkdir tmpdir
[tyhong@tachyonc tyhong]$ lfs getstripe tmpdir
… …
tmpdir
stripe_count: 2 stripe_size: 2097152 stripe_offset: -1

[tyhong@tachyonc tyhong]$ lfs setstripe tmpdir -s 4m -c 4
[tyhong@tachyonc tyhong]$ lfs getstripe tmpdir
… …
tmpdir
stripe_count: 4 stripe_size: 4194304 stripe_offset: -1
------------------------------------------------------------------------

Tachyon uses the Lustre file system which allows users to set file striping at the file or directory level.
File striping will give some enhancement of I/O performance especially when users use large files(~ over hundreds MB file) for serial/parallel IO by accessing with POSIX, MPI-IO, parallel HDF5 or parallel NetCDF.
/work01 on Tachyon is by default set with 2 stripe count and 2 MB stipe size.
In most cases this default values give the reasonable I/O performance.
However users can check/changed this values by the method shown above.
In this example, a newly made file in tmpdir wll be striped into 4 OST's(Object Storage Targets: which are essentially a set of parallel IO servers’ Disk Array) with 4MB stripe size. 
24 TACHYON_작업실행 배타적인 노드 할당을 통해 batch 작업 실행할 수 있습니까?
● tachyon시스템의 경우 normal 큐에서 작업을 실행할 경우 다음과 같은 방법으로 배타적인 노드 할당을 할 수 있습니다. 이와 같은 방법으로 실행 할 경우 해당 노드에는 이 작업 실행되는 동안에는 다른 batch 작업은 실행 될 수 없습니다.
이를 위해서는 간단히 job script에서 “#$ -l exclusive=value”(아래 참조)를 추가를 해주면 됩니다.
value 는 16/[pe의 노드당 프로세스수] 으로 결정됩니다.
가령 “#$ -pe mpi_8cpu”를 통해 노드당 프로세스을 8개를 사용하고자 할 경우 16/8=2 이므로 value는 2가 됩니다.

● 아래의 예제 스크립트는 노드당 8개의 프로세스(혹은 CPU Cores)을 사용하여
총 24개의 프로세스를 가진 MPI작업을 배타적인 노드 할당의 형태로 실행하는 예입니다.
------------------------------------------------------------------------
#!/bin/bash
#$ -V
#$ -cwd
#$ -N test
#$ -pe mpi_8cpu 24
#$ -q normal
#$ -R yes
#$ -o $JOB_NAME.o$JOB_ID -j y
#$ -l normal
#$ -l h_rt=01:00:00
#$ -l exclusive=2
mpirun -machinefile $TMPDIR/machines -np $NSLOTS ./cpi.exe
------------------------------------------------------------------------

To run users’ batch job on the “exclusive” nodes of normal queue,
users are recommended to insert ““#$ -l exclusive=value” in batch script.
value can be decided by a rule, value=16/processes_per_node.
In a way of running a job like this, other jobs are not allowed to run the same nodes on which the “exclusive” jobs are running. 
23 TACHYON_작업실행 OOMMF를 사용하려고 하는데 SGE의 job-script를 어떻게 설정해 줘야 하나요?
● 아래 script를 참고하세요.
#!/bin/bash
#$ -V
#$ -cwd
#$ -N OOMMF_S
#$ -pe openmp 4
#$ -q long
#$ -R yes
#$ -l h_rt=168:00:00
#$ -M [email]
#$ -m e export OOMMF_THREADS=4
/usr/bin/tclsh /[oommf directory]/oommf.tcl oxsil -thread 4 +fg -pause 0 [file]
22 TACHYON_작업실행 NAMD를 돌릴 경우 charmrun을 사용하게 되는 데 이 경우 $machinefile의 형태가 SGE의 기본 포맷과 다릅니다. 이 경우 수행 방법은 어떻게 되나요?
● 아래의 예제 파일을 참조하시기 바랍니다.
이는 machinefile의 format을 적절히 charmrun에 맞게 변경합니다.
#!/bin/sh
#$ -V
#$ -cwd
#$ -N TEST
#$ -pe mpi_fu 32
#$ -q long
#$ -R yes
#$ -l h_rt=00:10:00

PREFIX="host"
PREFIX_NPS="+p"
FOREWORD="group main"
CURRENTDIR=`pwd`
SRCFILE=$TMPDIR/machines
TARGET=$CURRENTDIR/nodelist

[ -f $TARGET ] && rm -f $TARGET

echo $FOREWORD > $TARGET
sed -e "s/^/$PREFIX /g" $SRCFILE >> $TARGET
cat $TARGET

NPS="$PREFIX_NPS$NSLOTS"
echo $NPS
sleep 5
~/namd2/charmrun ++nodelist $TARGET $NPS ./namd2 ./fr3633.namd > ./fr3633.log
cleanipcs
exit 0 
21 TACHYON_작업실행 “Host key verification failed. Timeout during client startup.” 과 같은 에러가 뜨는 이유는 무엇인가요?
● 해당 계산노드가 문제가 있는 경우에 발생합니다.
이 경우 관리자에게 알려주시기 바랍니다
20 TACHYON_작업실행 “Disconnecting: Bad packet length 1830260420. Child exited abnormally! Killing remote processes...DONE”과 같은 에러 메시자가 뜨는 이유는 무엇인가요?
● 계산노드의 nscd(name service cache daemon)이 비정상적으로 동작할 경우 발생합니다.
이 경우 관리자에게 알려주시기 바랍니다. 
19 TACHYON_작업실행 application 실행시 다음과 같은 에러 발생후 종료합니다. “libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes. This will severely limit memory registrations.” 어떤 이유입니까?
● 계산노드의 SGE의 agent인 sgeexecd 비정상적으로 동작할 경우 발생합니다.
이 경우 관리자에게 알려주시기 바랍니다. 
18 TACHYON_작업실행 작업 수행시 다음과 같은 에러 메지지가 뜨는 이유가 무엇인가요? “Timeout during client startup. Killing remote processes...DONE”
● 이것은 mpi startup시 각 계산 노드간의 ssh connection이 정상적으로 수립이 안되어 발생합니다.
즉, mpi가 정상적으로 startup할 수 없어서 강제 종료되면서 발생합니다.
보통은 네트워크 장애이거나 아니면 /home01에 대한 access가 안되는 경우에 발생합니다.
이와 같은 상황이 발생하면 관리자에게 알려주시기 바랍니다. 
17 TACHYON_작업실행 SGE를 사용하면서 실행파일을 스크레치 디렉토리로 옮기지 않고 링크해서 사용하고 싶습니다. 어떻게 링크를 하나요? 예를들어 /work01/myid/hd에서 작업을 할 때 /home01/myid/jd/의 디렉토리에 실행파일이 들어있습니다. 그리고 이때 script 파일은 어디에 두어나 되나요?
● /home01/myid/jd 디렉토리를 /work01/myid/hd 로 링크
=> ln -s /home01/myid/jd /work01/myid/hd

이때 Job script는 항상 work 디렉토리에 있어야 됩니다.
예를 들어 exec.x를 수행하기 위한 script.sh는 "/work01/myid/" 내 어떤 디렉토리에 있어도 되며, script.sh에서 exec.x를 실행하는 내용을 “/work01/myid/hd/exec.x”이나 “/home01/myid/jd/exec.x”으로 절대경로를 정확히 적어주시면 됩니다.
16 TACHYON_작업실행 Hybrid code(MPI + OpenMP)를 사용하여 mpi 4 tasks, openmp 4 threads를 사용할 때, Script에 어떻게 지정해 주나요?
● -pe mpi_1cpu 4 :노드당 1개의 cpu를 사용하고 전체 4개의 cpu를 사용하는 것입니다.
-l OMP_NUM_THREADS=4 : mpi에서 사용하는 cpu마다 4개의 threads를 생성하는 것입니다.
이렇게 하시면 4개의 노드에 각각 1개의 mpi cpu를 사용하고 cpu마다 각각 4개의 openmp threads가 생성됩니다.
그리고 스크립트 아래 부분 mpirun 바로 위쪽에 “export OMP_NUM_THREADS=4”를 적어 주셔야 합니다.
콘텐츠 만족도 조사

퀵메뉴

  • 사용안내
  • 슈퍼컴퓨팅 서비스
  • 슈퍼컴퓨팅 교육
  • PLSI
  • EDISON
  • 연구망
본문 처음으로 바로가기

KISITI 슈퍼컴퓨팅센터 대전광역시 유성구 과학로 335 한국과학기술정보연구원 문의 080-041-1991 / FAX 042-869-0569

Copyrightⓒ2012 KISTI SUPERCOMPUTION CENTER ALL RIGHTS RESERVED.

관련사이트 바로가기