서울시립대학교 전산물리센터 TIER-2 (CMS Analysis Facility) 이용자 가이드
소 개
서울시립대학교 Tier-2 센터는 그리드 시스템 기반 및 병렬 컴퓨팅 기반의 CMS 전산 모사 데이터 분석 환경을
국내외 CMS 실험 참여 물리학자들에게 제공하고 있다.
현재 그리드 시스템은 LCG-UI만을 제공하고 있으며 이를 이용하여 CRAB 등을 사용할 수 있다.
본 이용자 가이드는 이러한 컴퓨터 자원을 효율적으로 사용할 수 있는 방법을 다루고 있다.
작동하지 않거나 더 필요한 내용이 있을 때에는 주저하지 말고
geonmo@cern.ch로 메일을 보내기 바란다.
간단한 분석
병렬 컴퓨터에 직접 접속하기 위해서는 우선 ssh 를 통하여
gate.sscc.uos.ac.kr 을 거쳐야 한다.
통합 관리되는 계정은
원격 계정 신청서 를 통해 신청 및 발급이
가능하다. 발급된 모든 계정은 각자의 홈 디렉토리가 있으며 모든 병렬머신에서 같은 데이터를 유지한다.
따라서 이용자는 어떠한 노드에서도 자신의 분석 코드를 제작, 개발, 테스트를 할 수 있다.
Interactive root를 사용하여 간단한 작업은 바로
gate 머신에서 실행이 가능하다.
혹은 간단한 코드의 컴파일 테스트와 같은 일들은 모두
gate 머신에서 자유롭게 실험해 볼 수 있다.
그러나 긴 시간(수시간)을 요하는 일들의 경우, 더이상
gate 를 사용해서는 안된다. 오랜 시뮬레이션 시간을
요구하는 작업의 경우를 위해 우리 사이트는 Condor Batch System환경 (병렬 계산 환경)을 가지고 있어서,
간단히 Condor 에 작업을 보냄으로서 긴 시간을 요구하는 작업도 외부 그리드의 이용 없이 간단히
결과를 얻을 수 있다.
컴퓨팅 하드웨어 환경
디스크 팜을 제외한 대부분의 계산 및 운영 노드는 최신의 64비트 하드웨어와 그에 기반한 64비트 운영체제가
설치되어 운영중이다. 이러한 환경의 특징은 이용자가 입맛에 따라 64비트 소프트웨어와 32비트 소프트웨어를
마음대로 사용이 가능하다는 것이며, 64비트 리눅스 시스템은 이를 유연하게 처리할 수 있는 능력을 가지고 있다.
현재 주 사용 소프트웨어인 cmssw는 32비트 코드가 지배적이다. 그러나 버전 1_8_x에 이르러 점차 64비트
코드로 개발되어지고 있으며, 이러한 상황에서 CMS 물리에 참여하는 유저는 우리의 사이트에서 보다 넓은
소프트웨어 사용의 선택이 가능하게 된다.
디스크 이용 가이드
본 사이트는 2가지 다른 성격의 디스크 공간을 마련하고 있다. 2가지 모두 그 특성이 판이하게
다르므로, 사용자는 자신의 작업을 성공적으로 수행하기 위해 자신의 작업 특성과 디스크의 성격을
잘 조율하여 최적의 환경을 만들어 사용하여야만 한다.
중요한 데이터는 절대로
gate 의
/tmp 에 저장하면 안된다. 관리의 이유로
/tmp 디렉토리는
사전 통보 혹은 경고 없이 옮겨지거나 지워질 수 있다.
/home 디렉토리
현재 gate에서 사용되고 있는 /home는 Raid5로 연결되어 있는 디스크를 NFS로 연결하여 사용 중이다.
따라서, 이들 데이터는 디스크의 문제가 발생하였을 경우라도 8개의 디스크 중 동시에 2장 이상의 파손이
없다면 복구가 가능하다. 현재 총 용량이 1.4T로서 현재까지는 용량이 크게 부족한 상태가 아니므로
쿼터제를 실시하고 있지는 않으나, /home 디렉토리에 Event데이터를 장기간 보관해서는 안되며
장기간 보관이 필요하다면 /pnfs를 이용해야 한다.
/pnfs 디스크
/pnfs는 Lustre라고 하는 파일시스템을 이용한 초대형 디스크 시스템의 하나이다. 이는 CMS실험에서 사용되는 수십 수백 테라 바이트에
달하는 이벤트 및 리컨스트럭션 데이터 셈플들을 보관할 수 있는 용도에 적합하다. 주로 Condor 배치잡
혹은 그리드를 통한 배치잡을 통해 만들어진 데이터들이 저장되게 된다. dcache와는 달리 lustre는 일반적인 디렉토리와 접근 방식이
동일하다.
Condor 배치 시스템 이용 가이드
gate.sscc.uos.ac.kr 에서 섭밋
####################
##
## Test Condor command file
##
####################
universe = vanilla
executable = sh_loop
output = sh_loop.out
error = sh_loop.err
log = sh_loop.log
arguments = 60
should_transfer_files = IF_NEEDED
when_to_transfer_output = ON_EXIT
queue
[ssccuser@gate examples]$ condor_submit sh_loop.cmd
Submitting job(s).
Logging submit event(s).
1 job(s) submitted to cluster 7.
[ssccuser@gate examples]$
[ssccuser@gate examples]$ condor_q
-- Submitter: gate.sscc.uos.ac.kr : <192.168.10.3:32877> : gate.sscc.uos.ac.kr
ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD
7.0 ssccuser 2/21 02:33 0+00:00:01 R 0 0.0 sh_loop 60
1 jobs; 0 idle, 1 running, 0 held
[ssccuser@gate examples]$
[ssccuser@gate examples]$ condor_status
Name OpSys Arch State Activity LoadAv Mem ActvtyTime
slot1@t2cpu0001.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:09:11
slot2@t2cpu0001.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:09:10
. . .
slot2@t2cpu0009.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:05
slot3@t2cpu0009.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:06
slot4@t2cpu0009.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:07
slot1@t2cpu0010.ss LINUX X86_64 Claimed Busy 0.000 987 0+00:00:01
slot2@t2cpu0010.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:05:16
slot3@t2cpu0010.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:06
slot4@t2cpu0010.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:07
slot1@t2cpu0011.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:04
. . .
slot3@t2cpu0030.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:06
slot4@t2cpu0030.ss LINUX X86_64 Unclaimed Idle 0.000 987 0+00:10:07
Total Owner Claimed Unclaimed Matched Preempting Backfill
X86_64/LINUX 120 0 1 119 0 0 0
Total 120 0 1 119 0 0 0
[ssccuser@gate examples]$
[ssccuser@gate examples]$ condor_q
-- Submitter: gate.sscc.uos.ac.kr : <192.168.10.3:32877> : gate.sscc.uos.ac.kr
ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD
7.0 ssccuser 2/21 02:33 0+00:00:01 R 0 0.0 sh_loop 60
1 jobs; 0 idle, 1 running, 0 held
[ssccuser@gate examples]$ condor_rm 7.0
Job 7.0 marked for removal
[ssccuser@gate examples]
그리드를 이용한 섭밋
- 그리드 환경의 초기화
- 그리드 인증
-
grid-proxy-init 혹은 voms-proxy-init
- 로컬 사이트에 잡 보내기
이용 가능한 소프트웨어들
아래에 나열된 소프트웨어들은 CMS 데이터 분석에 필수적이다. 여기에 간단한 사용법을 소개한다.
자세한 학습은 이곳에서 다루지 않도록 하겠다.
ROOT
source /opt/etc/profile.d/root.sh %version%
HIROOT
source /opt/etc/profile.d/hiroot.sh %path%
CMSSW
자동으로 모든 환경이 로딩되게 되어있다.
scramv1 list
scramv1 p -n my_project CMSSW CMSSW_ver_sion_number
cmvenv
project CMSSW
cvs login
cvs co -r Modulepath/Codepath
edit, compile and run
--
GaramHahn - 17 Feb 2008