슈퍼컴 5 호기누리온 사용자지침서 ( 베타서비스용 ) 2018 년 11 월 슈퍼컴퓨팅서비스센터

Similar documents
슬라이드 1

Microsoft Word - src.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - chap01-C언어개요.pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

untitled

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

서현수

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

[Brochure] KOR_TunA

Microsoft Word - DELL_PowerEdge_TM_ R710 서버 성능분석보고서.doc

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Windows 8에서 BioStar 1 설치하기

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Appendix B

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

슬라이드 1

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

PowerPoint Template

천둥사용자매뉴얼 서울대학교매니코어프로그래밍연구단매니코어소프트 ( 주 ) 버전 년 4월 22일

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

<4D F736F F D20C5EBC7D5C7D8BCAEBDC3BDBAC5DB5F D2BC0C720424D54B0E1B0FABAB8B0EDBCAD2E646F63>

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

슬라이드 1

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

공개 SW 기술지원센터


슬라이드 1

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

USER GUIDE

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

슬라이드 1

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Microsoft Word - PLC제어응용-2차시.doc

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

슬라이드 1

PowerPoint 프레젠테이션

TACHYON_Userguide_V1_0.hwp

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft PowerPoint - 권장 사양

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

JDK이클립스

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

tut_modelsim(student).hwp

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

워드표준 가이드

PowerPoint 프레젠테이션

Install stm32cubemx and st-link utility

PowerPoint 프레젠테이션

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

3.Bladesystem

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Studuino소프트웨어 설치

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

슬라이드 1

SBR-100S User Manual

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

초보자를 위한 분산 캐시 활용 전략

Hitachi Content Platform 클라우드 & 소프트웨어정의클라우드오브젝트플랫폼 Hitachi Content Platform Hitachi Data Ingestor Hitachi Content Platform Anywhere REVISION NO

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

C# Programming Guide - Types

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

인켈(국문)pdf.pdf

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

API 매뉴얼

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

Cloud Friendly System Architecture

Microsoft Word 클러스터 시스템 사용자 매뉴얼

단계

Mango220 Android How to compile and Transfer image to Target

Secure Programming Lecture1 : Introduction

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

Chapter ...

Transcription:

슈퍼컴 5 호기누리온 사용자지침서 ( 베타서비스용 ) 2018 년 11 월 슈퍼컴퓨팅서비스센터

누리온시스템베타서비스사용자지침서 1 누리온시스템사양및구성 1 가. 계산노드 2 나. 인터커넥트네트워크 4 다. 스토리지 5 2 사용자환경 10 가. 계정발급 10 나. 로그인 10 다. 사용자쉘변경 12 라. 사용자비밀번호변경 1 마. 작업디렉터리및쿼터정책 1 사용자프로그래밍환경 16 가. 프로그래밍도구설치현황 16 나. 프로그램컴파일 17 다. 싱귤레러티 (singularity) 컨테이너이미지사용법 21 4 스케줄러 (PBS) 를통한작업실행 28 가. 큐구성 28 나. 작업제출및모니터링 2 다. 작업제어 5 사용자기술지원 4 별첨 1 작업스크립트주요키워드 5 별첨 2 누리온소프트웨어설치목록 7 별첨 Lustre stripe 사용법 46

누리온시스템베타서비스사용자지침서 1. 누리온시스템사양및구성 KISTI 슈퍼컴퓨터 5 호기누리온 (NURION) 은리눅스기반의초병렬클러스터시스템으로 이론최고성능 (Rpeak) 25.7PFlops 의연산처리성능을갖고있다. 프로세서 메인메모리 고성능인터커넥트 고성능파일시스템 (Burst Buffer) 병렬파일시스템 구분 KNL 계산노드 CPU-only 노드 제조사및모델 Cray CS500 노드수 8,05 12 성능최고성능 (Rpeak) 25. PFlops 0.4 PFlops 모델 Intel Xeon Phi 7250 (KNL) Intel Xeon 6148 (Skylake) CPU 당이론성능.0464 TFLOPS 1.56 TFLOPS CPU 당코어수 68 20 노드당 CPU 수 1 2 On-package Memory 16GB, 490GB/s - 모델 16GB DDR4-2400 16GB DDR4-2666 구성 16GB x6, 6Ch per CPU 16GB x12, 6Ch per CPU 노드당메모리 (GB) 96GB 192GB 대역폭 115.2GB/s 128GB/s 전체크기 778.6TB 24.8TB 토폴로지 Blocking Ratio Switches 구성 포트당대역폭 서버수 서버당디스크 전체용량 대역폭 Fat Tree 50% Blocking 278x 48-port OPA edge switches 8x 768-port OPA core switches 100Gbps DDN IME240 Servers 48ea 16x 1.2TB NVMe SSD, 2x 0.45TB NVMe SSD 0.92PB usable 20GB/sec per server, 0.8TB/s total 파일시스템 Lustre 2.7.21. 전체용량 대역폭 RAID 구성 /scratch: 21PB, /home: 0.76PB, /apps: 0.5PB 0.TB/s RAID6(8D+2P) [ 누리온시스템사양및구성 ] - 1 -

누리온시스템베타서비스사용자지침서 가. 계산노드누리온시스템의계산노드는총 8,47개로매니코어기반의 Intel Xeon Phi 7250 프로세가장착된 8,05개계산노드와 Intel Xeon Gold 6148 프로세서가장착된 12개계산노드로구성되어있다. KNL( 매니코어 ) 노드 KNL 노드에장착된 Intel Xeon Phi 7250 프로세서 ( 코드명 Knights Landing) 는 1.4GHz 기본주파수에 68개코어 ( 쓰레드 272개 ) 로동작한다. L2 캐시메모리는 4MB이며, 온패키지메모리인 MCDRAM (Multi-Channel DRAM) 은 16GB( 대역폭 490GB/s) 이다. 노드당메모리는 96GB로 16GB DDR4-2400 메모리가 6채널로구성되어있다. 2U크기의인클로저 (enclosure) 에는 4개의계산노드가장착되며, 42U 표준랙에 72개의계산노드로구성되어있다. [KNL 기반계산노드블록다이어그램 ] [KNL 기반계산노드 ] - 2 -

누리온시스템베타서비스사용자지침서 SKL(CPU-only) 노드 SKL(CPU-only) 노드에는 2개의 Intel Xeon Gold 6148 프로세서 ( 코드명 Skylake) 가장착되어있다. 기본주파수는 2.4GHz이며 20개코어 ( 쓰레드 40개 ) 로동작한다. L 캐시메모리는 27.5MB이며, 각 CPU당메모리는 96GB( 노드당 192GB) 로 16GB DDR4-2666 메모리가 6채널로구성되어있다. 2U크기의인클로저 (enclosure) 에는 4개의계산노드가장착되어있다. [SKL 기반 CPU-only 노드블록다이어그램 ] [SKL 기반 CPU-only 노드 ] - -

누리온시스템베타서비스사용자지침서 나. 인터커넥트네트워크노드간계산네트워크및파일 I/O 통신을위한인터커넥트네트워크로인텔 OPA (Omni-Path Architecture) 를사용하고있다. 100G OPA를사용하여 Fat-Tree 구조로계산노드간 50% blocking, 스토리지간 non-blocking 네트워크로구성하였다. 계산노드와스토리지는 277개의 48포트 Edge 스위치에연결되며모든 Edge 스위치는 8대의 768포트 Director 스위치에연결하였다. [ 인터커넥트네트워크구성도 ] - 4 -

누리온시스템베타서비스사용자지침서 다. 스토리지 병렬파일시스템및버스트버퍼구성 Nurion의병렬파일시스템 (Parallel File System, 이하 PFS) 과버스트버퍼 (Burst Buffer, 이하 BB) 는 DDN(Data Direct Network) 사 IME(Infinite Memory Engine) 와 Lustre 파일시스템기반의 EXAScaler 솔루션을사용하여서비스된다. PFS는 DDN ES14KX 모델로구성된스크래치 (/scratch), 홈 (/home01), 어플리케이션 (/app) 세개의파일시스템을제공하고있으며, 각파일시스템은 SFA7700X 스토리지를사용하는두대의메타데이터서버 (MDS) 를포함한다. BB는계산노드와병렬파일시스템사이에서동작하는 NVMe 기반의캐시로약 829TB의용량을제공한다. PFS는 765TB 용량의홈디렉터리 (/home01) 와 510TB 용량의사용자어플리케이션이제공디렉터리 (/applic), 21PB 글로벌스크래치디렉터리 (/scratch) 를제공하고있다. 해당파일시스템은계산노드, 로그인노드, 아카이빙서버 (Data Mover) 에마운트되어서비스되고있다. [ 병렬파일시스템및버스트버퍼전체랙구성 ] - 5 -

누리온시스템베타서비스사용자지침서 다음그림은스크래치 (/scratch), 홈 (/home01), 어플리케이션 (/app) 파일시스템의상세 구성을나타낸다. MDS OSS /home01 /apps (1 SSU) /scratch (9 SSU) 파일 striping([ 별첨] 참조 ) 은 Lustre의대표적인특징이라할수있으며 OST(Object Storage Target), 즉물리적으로분산되어있는디스크에하나의파일을분산시켜저장함으로써병목현상을제거하고 I/O 성능을향상시킬수있다. Nurion 파일시스템의 striping 설정은아래와같다. stripe-count stripe-size /home01 1 1M /apps 1 1M /scratch 4 1M [ Nurion 파일시스템 striping 설정 ] - 6 -

누리온시스템베타서비스사용자지침서 버스트버퍼 - 개요버스트버퍼 (Burst Buffer) 는 계산노드와 스토리지 (/scratch) 사이의 I/O 가속화를위한 캐시레이어로병렬파일시스템의 small I/O 또는 random I/O의 취약성을 보완하고자 5호기 Nurion에최초도입되었다. I/O 의존성이높은 사용자 어플리케이션을 지원을 목표로 하고 있으며, 응용수행과제가 버스트버퍼 사용에 적절한지사전평가후전용큐 ( 큐명, bb_cache, bb_falt) 를통해지원하고있다. - 시스템구성버스트버퍼구성을위해 DDN사의 IME240 솔루션이적용되었으며, IME는계산노드와병렬파일시스템사이에서동작하는 NVMe 기반의캐시를제공한다. 아래그림은버스트버퍼의상세구성을나타낸다. 시스템 DDN IME240, Infinite Memory Engine Appliance 소프트웨어 버전 CentOS 7., IME 1.2 최대 IO 성능 20 GB/s 네트워크인터페이스 2 x OPA SSD 타입 1.2TB, NVMe 드라이브 SSD 수량 16ea(1.2TB NVMe) + 1ea(450GB SSD) 용량 (RAW) 19.2TB [ IME 단일노드구성 ] - 7 -

누리온시스템베타서비스사용자지침서 총시스템수총용량 (Raw) 총용량 ( 패리티적용시 ) 최대 IO 성능 IME240 x 48대 921.6TB 829.4TB (EC,9+1) 0.8TB/s * EC: Erasure Coding ( 설정은변경될수있음 ) [ 버스트버퍼전체구성 ] - 사용방법 IME는 FUSE(File System In USErspace) 를사용하여 IME-API를제공하고있다. 따라서 IME 클라이언트서버는 FUSE를통해 IME 디바이스를마운트하여사용하게된다. 주의할것은 IME는 /scratch 파일시스템의캐시역할을수행하기때문에 /scratch 파일시스템이사전에반드시마운트되어있어야한다. FUSE를사용하여마운트된 IME 디렉터리는 /scratch_ime이며최초사용자가해당디렉터리 (/scratch_ime/$user) 접속하면스크래치 (/scratch/$user) 파일시스템의모든디렉터리와파일들을동일하게확인할수있다. 이는실제 IME 디바이스에존재않은데이터이며버스트버퍼를이용하여작업수행시스크래치파일시스템에서 IME로캐싱하여수행하게된다. IME 를사용하게위해서는우선아래그림에있는데이터의라이프사이클을파악해야 한다. IME 이데이터처리단계는크게 prestage, prefetch, sync, releas 단계가있으며 각각에대해 IME-API 를제공하고있다. [ 데이터라이프사이클 ] - 8 -

누리온시스템베타서비스사용자지침서 ime-ctl -i $INPUT_FILE ime-ctl -r $OUTPUT_FILE ime-ctl -p $TMP_FILE ime-ctl -s $FILE 작업데이터에대해 Stage-In 실행 (/scratch 에서 /scratch_ime 로데이터캐싱 ) 버스트버퍼의캐시데이터를병렬파일시스템과동기화 (/scratch_ime 캐싱데이터를 /scratch 로전송 ) 버스트버퍼캐시에데이터삭제 (/scratch_ime 퍼지 ) 버스트버퍼에캐싱된데이터의상태정보제공 * ime-ctl --help 를통해상세옵션확인가능 - 작업제출을통한버스트버퍼사용예제 * 주의 ) BB 의캐시데이터가 PFS 로 release(#ime-ctl -r) 완료되기전 purge(#ime-ctl -p) 명령이 수행되면해당데이터가손상됨. - 9 -

누리온시스템베타서비스사용자지침서 - 주의사항버스트버퍼는초기작업수행시사용자데이터를버스트버퍼의디바이스로캐싱하는단계와주기적으로캐시데이터를 PFS( 병렬파일시스템 ) 로 flushing(sync) 해주는작업의부하가발생한다. 그렇기때문에병렬파일시스템 (Lustre) 에서취약한대량의 small I/O가많거나 checkpoint가잦은어플리케이션에대해서유리하다. 또한버스트버퍼는캐시의용도로사용되기때문에상대적으로 PFS( 약 20PB) 에비해 BB( 약 0.92PB) 의용량이작다. 따라서여러사용자들이사용중에버스트버퍼의용량이차게되면임계치설정에따라데이터가캐시에서삭제될수있으니응용수행에대한데이터관리가매우중요하다. - 10 -

누리온시스템베타서비스사용자지침서 2. 사용자환경 가. 계정발급 - 누리온시스템의베타서비스사용을승인받은연구자는헬프데스크 (https://helpdesk.ksc.re.kr) 웹서비스를통해계정을신청한다. 신청방법 : 헬프데스크웹사이트접속, ( 상단 ) 계정신청 -> ( 좌측 ) 계정신청 -> ( 하단 ) 누리온시스템베타서비스메뉴를통해계정신청후발급받는다. - OTP(One Time Password, 일회용비밀번호 ) 설정 슈퍼컴퓨터접속시에 OTP에서제공하는보안숫자를입력하여야하며, KISTI 슈퍼컴퓨팅서비스센터에서는 OTP를위한스마트폰앱을제공한다. OTP 스마트폰앱의다운로드주소는 150.18.146.81 이며, OTP 앱설정할때필요한인증코드는계정담당자 (account@ksc.re.kr) 에게아래의내용을작성하여메일로요청한다. 메일제목 OTP 요청 - 사용자 ID ( 예 ) OTP 요청 - x12abc 수신인 account@ksc.re.kr 메일내용 ( 예제 ) 사용자 ID: x12abc 휴대폰번호 : 010-124-5678 이름 : 홍길동 스마트폰을사용하고있지않은사용자의경우, 계정담당자 (account@ksc.re.kr) 에게문의 나. 로그인 - 사용자는누리온시스템로그인노드 (nurion.ksc.re.kr) 를통해서접근이가능하다 ( 하단, 노드구성참조 ). - 기본문자셋 (encoding) 은유니코드 (UTF-8) 이다. - 로그인노드에대한접근은 ssh, scp, sftp, X11 만허용된다. 1 유닉스또는리눅스환경 $ ssh -l < 사용자 ID> nurion.ksc.re.kr [-p 22] - 11 -

누리온시스템베타서비스사용자지침서 2 윈도우환경 - X 환경실행을위해 Xming 실행 프로그램은인터넷을통해무료로다운로드후설치 - putty 나 SSH Secure Shell Client 등의 ssh 접속프로그램을이용 프로그램은인터넷을통해무료로다운로드가능 - 12 -

누리온시스템베타서비스사용자지침서 ssh -> X11 tap -> check Enable X11 forwarding X display location : localhost:0.0 만약, DNS 캐싱문제로접속이안될경우에는캐시를정리 ( 명령프롬프트에서 ipconfig /flushdns 명령어수행 ) 하고재접속 C: ipconfig /flushdns 파일송수신 - FTP 클라이언트를통해 ftp 나 sftp 로 Datamover 노드 (nurion-dm.ksc.re.kr) 로접속하여 파일을송수신한다 ( 하단, 노드구성참조 ) $ ftp nurion-dm.ksc.re.kr 또는 $ sftp [ 사용자 ID@]nurion-dm.ksc.re.kr [ P 22] - 1 -

누리온시스템베타서비스사용자지침서 - 윈도우환경에서는 WinSCP 와같이무료로배포되고있는 SFTP 클라이언트프로그램을 이용하여접속한다. 4 노드구성 호스트명 CPU Limit 비고 로그인노드 nurion.ksc.re.kr 20 분 ssh/scp/sftp 접속가능 컴파일및 batch 작업제출용 ftp 접속불가 Datamover 노드 nurion-dm.ksc.re.kr - ssh/scp/sftp 접속가능 ftp 접속가능 컴파일및작업제출불가 계산노드 KNL node[0001-805] - CPU-only cpu[0001-012] - PBS 스케줄러를통해작업실행가능 일반사용자직접접근불가 다. 사용자쉘변경 - 누리온시스템의로그인노드는기본쉘로 bash 이제공된다. 다른쉘로변경하고자할경우 chsh 명령어를사용한다. $ chsh - 14 -

KISTI-5 테스트베드시스템사용자지침서 - 현재사용중인쉘을확인하기위해서 echo $SHELL 을이용하여확인한다. $ echo $SHELL - 쉘의환경설정은사용자의홈디렉터리에있는환경설정파일 (.bashrc,.cshrc 등 ) 을수정하 여사용하면된다. 라. 사용자비밀번호변경 사용자패스워드를변경하기위해서는로그인노드에서 passwd 명령을사용한다. $ passwd 패스워드관련보안정책 o 사용자패스워드길이는최소 9자이며, 영문, 숫자, 특수문자의조합으로이뤄져야한다. 영문사전단어는사용이불가하다. o 사용자패스워드변경기간은 2개월로설정 (60일) 된다. o 새로운패스워드는최근 5개의패스워드와유사한것을사용할수없다. o 최대로그인실패허용횟수 : 5회 - 5회이상틀릴경우, 이계정의 ID는 lock이걸리므로, 계정담당자 (account@ksc.re.kr) 에게문의해야한다. - 같은 PC에서접속을시도하여 5회이상틀릴경우, 해당 PC의 IP 주소는일시적으로 block 되므로이경우에도계정담당자 (account@ksc.re.kr) 에게문의해야한다. o OTP 인증오류허용횟수 : 5회 - 5회이상틀릴경우, 계정담당자 (account@ksc.re.kr) 에게문의해야한다. 마. 작업디렉터리및쿼터정책 홈디렉터리및스크래치디렉터리에대한정보는아래와같다. 구분 디렉터리경로 용량제한 파일수제한 파일삭제정책파일시스템백업유무 홈디렉터리 /home01 64GB 10K N/A X Lustre 스크래치디렉터리 /scratch 100TB 1M 15 일동안접근하지않은파일은자동삭제 X - 홈디렉터리는용량및 I/O 성능이제한되어있기때문에, 모든계산작업은스크래치디렉터리인 /scratch의사용자작업공간에서이루어져야한다. - 사용자작업디렉터리는용도에따라다른정책을적용받는다. - 베타서비스기간동안은백업을지원하지않는다. - 15 -

. 사용자프로그래밍환경 가. 프로그래밍도구설치현황 컴파일러및라이브러리모듈 구분 아키텍처구분모듈 Cray 모듈 컴파일러 컴파일러의존라이브러리 MPI 라이브러리 MPI 의존라이브러러 Intel 패키지 응용소프트웨어 상용소프트웨어 craype-mic- craype-network-opa cdt/17.10 cray-ccdb/.0. cray-cti/.6 cray-fftw/..6.2 cray-fftw_impi/..6.2 cray-impi/1.1.4 cray-lgdb/.0.7 cray-libsci/17.09.1 craype/2.5.1 intel/17.0.5 intel/18.0.1 hdf4/4.2.1 hdf5/1.10.2 lapack/.7.0 impi/17.0.5 ch2/2. fftw_mpi/2.1.5 hdf5-parallel/1.10.2 parallel-netcdf/1.10.0 advisor/18.2.0 vtune/18.2.0 cmake/.12. forge/18.1.2 grads-2.2.0 gromacs/2016.4 lammps/8mar18 namd/2.12 cfx/v145 cfx/v170 cfx/v181 cfx/v191 gaussian/g16.a0 항목 craype-x86-skylake craypkg-gen/1..5 msr-tools/1. ch2_cce/ 2.2rc._noslurm papi/5.5.1. perftools/6.5.2 perftools-bas/6.5.2 perftools-lite/6.5.2 PrgEnv-cray/.2 intel/18.0. ncl/6.5.0 ncview/2.1.7 netcdf/4.6.1 mpi/. fftw_mpi/..7 netcdf-hdf5-parallel/4.6.1 advisor/18..0 vtune/18..0 python/2.7.15 python/.7 qe/6.1 R/.5.0 siesta/4.0.2 siesta/4.1-b fluent/v145 fluent/v170 fluent/v181 fluent/v191-16 -

상용소프트웨어정보 분야소프트웨어버전라이센스디렉터리위치 열유체역학 ANSYS CFX ANSYS Fluent V145 V170 V181 V191 4 개 (HPC 128) /apps/commercial/ansys /apps/commercial/ansys 화학 / 생명 Gaussian g16-a0 작업수제한없음단일노드내 CPU 수제한없음 /apps/commercial/g16/g16 Gaussian 은 helpdesk 계정담당자 (account@ksc.re.kr) 를통해사용권한신청후사용 가능함 나. 프로그램컴파일 5 호기누리온시스템베타서비스는 Intel 컴파일러를지원한다. 또한, Intel 컴파일러를사용 하여사전에컴파일한 MPI 라이브러리를사용자에게제공한다. 병렬프로그래밍환경지원을위해, 본시스템은 IMPI, MVAPICH2, OpenMPI 를지원한다. 1) 컴파일러및 MPI 환경설정 (modules) 5호기누리온시스템은 module 명령어를이용하여쉽게환경변수를설정한후소프트웨어사용이가능하다. 주로쓰이는 module 명령어들은다음과같다. 기본필요모듈 모듈 craype-mic- 이나 craype-x86-skylake 둘중사용할시스템에해당하는모듈하나를반드시 load 해야함 $ module load craype-mic- 혹은, $ module load craype-x86-skylake 사용가능한모듈목록출력 $ module avail av 모듈적재 $ module add load [module name] - 17 -

적재된모듈삭제 $ module rm unload [module name] 적재된모듈목록출력 $ module list 적재된모든모듈삭제 $ module purge 적재된모든모듈삭제시기본적재모듈도삭제 자주사용하는환경은.bashrc 등 startup 스크립트에적어주면로그인할때마다기본적으로적용된다. 2) 순차프로그램컴파일 순차프로그램은병렬프로그램환경을고려하지않은프로그램을말한다. 즉, OpenMP, MPI와같은병렬프로그램인터페이스를사용하지않는프로그램으로써, 하나의노드에서하나의프로세서만사용해실행되는프로그램이다. 순차프로그램컴파일시사용되는컴파일러별옵션은병렬프로그램을컴파일할때도그대로사용되므로, 순차프로그램에관심이없다하더라도참조하는것이좋다. 벤더컴파일러명령프로그램소스확장자 icc C.c Intel icpc C++.c,.C,.cc,.cpp,.cxx,.c++ ifort F90.f,.for,.ftn,.f90,.fpp,.F,.FOR,.FTN,.FPP,.F90-18 -

Intel 컴파일러주요옵션 컴파일러옵션 -O[1 2 ] -ip, -ipo -qopt_report=[0 1 2 4] -xcore-avx512 -xmic-avx512 -fast -static/-static-intel/ -i-static -shared/-shared-intel/ -i_dynamic 설명오브젝트최적화. 숫자는최적화레벨프로시저간최적화벡터진단정보의양을조절 512bits 레지스터를가진 CPU를지원 512bits 레지스터를가진 MIC를지원 -O -ipo no-prec-div static, -fp-model fast=2 매크로공유라이브러리를링크하지못하게함공유라이브러리를링크를함 -g fp 디버깅정보를생성 -qmp -mp_report=[0 1 2] -ax<processor> -axs OpenMP 기반의 multi-thread 코드사용 OpenMP 병렬화진단레벨조절특정프로세서에최적화된코드를생성 SIMD Extensions4(SSE4) 벡터라이징컴파일러와미디어가속명령어들을활용하는특화된코드를생성. -tcheck 스레드기반의프로그램의분석을활성화함. -pthread 멀티스레딩지원을받기위해 pthread 라이브러리를추가함. -msse<,4.1>,-mssse Streaming SIMD Extensions 지원 -fpic,-fpic PIC (Position Independent Code) 가되도록컴파일 -p 프로파일링정보를생성 (gmon.out) -unroll<n> unroll 활성화. <n> 은최대횟수 (64 비트만지원 ) -mcmodel medium -help 2GB 이상의 memory allocation 이필요한경우사용 옵션목록출력 권장옵션 : -O fpic xcore-avx512 (Skylake) 권장옵션 : -O fpic xmic-avx512 (KnightsLanding) 권장옵션 : -O fpic xcommon-avx512 (Skylake & KnightsLanding) - 19 -

Intel 컴파일러사용예제 $ icc/ifort -o test.exe -O -xcore-avx512 test.c/cc/f90 ) 병렬프로그램컴파일 OpenMP 컴파일 OpenMP는컴파일러지시자만으로멀티스레드를활용할수있도록간단하게개발된 기법으로 OpenMP를사용한병렬프로그램컴파일시사용되는컴파일러는순차프로그램과 동일하며, 컴파일러옵션을추가하여병렬컴파일을할수있는데, 현재대부분의컴파일러가 OpenMP 지시자를지원한다. 컴파일러 프로그램 옵션 icc / icpc C / C++ -qmp ifort F77/F90 -qmp - Intel 컴파일러사용시 OpenMP 컴파일예제 $ icc/ifort -o test.exe -qmp -O2 -xcore-avx512 test.c/cc/f90 MPI 컴파일 사용자는다음표의 MPI 명령을실행할수있는데, 이명령은일종의 wrapper로써.bashrc를통해지정된컴파일러가소스를컴파일하게된다. 컴파일러 프로그램 소스확장자 mpicc C.c mpicxx/mpicc C++.cc,.c,.cpp,.cxx mpif90 F77/F90.f,.for,.ftn,.f90,.f95,.fpp mpicc 로컴파일을하더라도, 옵션은 wrapping 되는본래의컴파일러에해당하는옵션을 사용해야한다. - Intel 컴파일러사용시 MPI 컴파일예제 $ mpicc/mpif90 -o test.exe -O2 -xcore-avx512 test.c/cc/f90 - Intel 컴파일러사용시 impi 컴파일예제 $ mpiicc/mpiifort -o test.exe -O2 -xcore-avx512 test.c/cc/f90-20 -

디버거 DDT 사용예제 5호기시스템에서 DDT를사용하기위하여는로그인노드에서인터랙티브작업제출을하여노드로접속해야한다. 노드로접속한후사용할아키텍처, 컴파일러, MPI를선택하고 DDT 를사용하기위한모듈까지선택한다. $ module load craype-mic- or craype-x86-skylake $ module load intel/17.0.5 impi/17.0.5 $ module load forge/18.1.2 본예제는위와같은환경에서테스트되었다. DDT를사용하기전사전준비로컴파일시 g O0 옵션을넣어실행파일을생성한다. $ mpiicc -o test.x -g -O0 test.c 사용자의데스크탑에서 xming 실행및 ssh X환경설정완료한후 ddt 실행명령을실행한다. $ ddt & 명령을실행하여아래와같은팝업실행창을확인한다. 위명령중 RUN 을선택하여아래와같이디버깅할파일선택한후다시새로운팝업 창의 RUN 선택한다. - 21 -

아래와같이선택된실행파일에대한디버깅모드로진입하여디버깅을진행할수있다. 프로파일러 Intel vtune Amplifier 2018..0 사용예제본시스템에서프로파일러인 vtune을사용하기위하여인터랙티브작업제출하여노드로진입후사용하여야한다. 노드에서아키텍처, 컴파일러, MPI 를선택한후 vtune을선택하면프로파일러를사용할수있다. $ module load craype-mic- or craype-x86-skylake - 22 -

$ module load intel/18.0. impi/18.0. $ module load vtune/18..0 본예제는위와같은환경에서진행되었다. CLI 사용법 Intel vtune Amplifier를 CLI 모드로실행할때명령어는아래와같은형식이다. $ amplxe-cl 옵션분석할프로그램실행 $ amplxe-cl collect hotspots /home01/$user/test/test.x 위와같이이미컴파일된실행파일을준비하여명령어형식에맞게실행시 r000hs 디렉터리생성되는것을확인할수있다. 디렉터리가생성된것을확인후리포트생성을위한명령을실행하면아래와같은결과를출력된다. $ amplxe-cl report hotspots /home01/$user/test/r000s amplxe: Using result path `/home01/$user/test/r000hs' amplxe: Executing actions 75 % Generating a report Function CPUTime CPUTime:EffectiveTime CPUTime:EffectiveTime:Idle CPUTime:EffectiveTime:Poor CPUTime:EffectiveTime:Ok CPUTime:EffectiveTime:Ideal CPUTime:EffectiveTime:Over CPUTime:SpinTime CPUTime:OverheadTime Module Function(Full) SourceFile StartAddress --------- -------- ----------------------- ---------------------------- ---------------------------- -------------------------- ----------------------------- ---------------------------- ------------------ ---------------------- ---------- --------------- ----------- ------------- multiply1 21.568s 21.568s 0.176s 21.92s 0s 0s 0s 0s 0s matrix.mic multiply1 multiply.c 0x401590 init_arr 0.020s 0.020s 0s 0.020s 0s 0s 0s 0s 0s matrix.mic init_arr matrix.c 0x40284 amplxe: Executing actions 100 % done GUI 사용결과확인방법 Intel vtune Amplifier 는 GUI 모드역시지원한다. 여기서는 GUI를이용한결과확인방법만설명한다. 사용자의데스크탑에서 xming 실행 - 2 -

$ amplxe-gui 아래의화면에서 New Analysis 버튼을클릭하여아래와같은그림에서 cpu 수와체크확인 후 Start 버튼을클릭하면분석이시작된다. 완료되면아래와같이분석결과가요약되어나타난다. 프로파일러 Cray-Pat 사용예제 본시스템에서프로파일러인 CrayPat 을사용하기위하여인터랙티브작업제출을통해계산노 - 24 -

드에접속하여아래와같이아키텍처등환경을설정한후예제를진행하였다. $ module load craype-mic- or craype-x86-skylake $ module load perftools-base/6.5.2 perftools/6.5.2 $ module load PrgEnv-cray/.2 cce/8.6. 먼저예제에사용될 test.c 파일을컴파일한다. $ cc test.c 위실행결과로 a.out 이라는실행파일이생성된다. CrayPat으로분석을위하여 pat_build를이용하여새로운실행파일을생성한다. $ pat_build -O apa a.out 위의실행결과로 a.out+pat 라는파일이생성된다. 생성된실행파일은 MPI 로작성된파일이므로 mpirun 으로실행한다. $ mpirun -np 4./a.out+pat 실행을완료하면 a.out+pat+114026-2s 디렉터리가생성되고 xf-files/002812.xf 파일이생긴다. $ pat_report a.out+pat+114026-2s 위와같이 pat_report를실행하면.ap2 파일과.apa 파일이생성된다. $ pat_build -O a.out+pat+114026-2s/build-options.apa.apa 파일을이용하여다시실행파일을생성하면 a.out+apa 이름의파일이생성된다. 이렇게생성된 a.out+apa 파일을실행하면 $ mpirun -p 4./a.out+apa a.out+pat+114026-2s 에새로운 xf 파일생성된다. pat_report를다시사용하여새로운데이터를처리한다. $ pat_report a.out+apa+114026-2s 위와같이실행하여 ap2 파일과 tracing 리포트를생성한다. 위아같이수집된데이터를시각화하는방법으로 app2를제공한다. $ app2 & # $ app2 a.out+apa+114026-2s 아래와같이시각화가가능하다. - 25 -

- 26 -

다. 싱귤레러티 (singularity) 컨테이너이미지사용법 싱귤레러티는 OS 가상화를구현하는 HPC 환경에특화된컨테이너플랫폼이다. 기계학습을위한텐서플로우 (Tensorflow) 등에서요구하는리눅스배포판, 컴파일러, 라이브러리, 애플리케이션등을포함하는컨테이너이미지를구동하여사용자프로그램을실행할수있다. 향후기계학습및빅데이터분석프레임워크등을위한다양한사용자요구기반의컨테이너이미지를제공할예정이다. 싱귤레러티모듈적재 $ module load singularity/2.5.1 or $ $HOME/.bash_profile export PATH=$PATH:/opt/singularity/2.5.1/bin 싱귤레러티컨테이너에서쉘실행 $ singularity shell [ 이미지이름 ] $ singularity shell tensorflow-1.9.0-py.simg Singularity: Invoking an interactive shell within container... Singularity tensorflow-1.9.0-py.simg:tensorflow> 싱귤레러티컨테이너에서사용자프로그램실행 $ singularity exec [ 이미지이름 ] 실행명령어 $ singularity exec tensorflow-1.9.0-py.simg python convolutional.py 계산노드에서스케줄러 (PBS) 를통한컨테이너실행은 p.2-24 예제참조 소프트웨어 ( 프레임워크 ) 컨테이너이미지파일 tensorflow 1.9.0 /apps/applications/tensorflow/1.9.0/tensorflow-1.9.0-py.simg 제공되는컨테이너이미지는사용자작업디렉터리로복사하여실행권장 파일럿시스템에서는사용자가컨테이너이미지를직접빌드하거나수정할수없음 /applic/applications/tensorflow/1.9.0/examples 디렉터리에서 convolutional 모델예제프로그램 (convolutional.py) 과데이터디렉터리 (data) 를사용자작업디렉터리로복사하여테스트할수있음 - 27 -

4. 스케줄러 (PBS) 를통한작업실행 5호기누리온시스템의작업스케줄러는 Portable Batch System ( 이하 PBS) 을사용한다. 이장에서는스케줄러를통해작업제출하는방법및관련명령어들을소개한다. 사용자가작업제출시사용할수있는큐는정해져있으며, 큐별로사용자별최대제출할수있는작업의수는제한이있고, 이값은시스템의부하정도에따라변동될수있다. 누리온시스템은배타적노드할당정책을기본적으로적용하여, 한노드에한사용자의작업만이실행될수있도록보장한다. 이는공유노드정책을적용할경우종종발생할수있는사용자어플리케이션의심각한성능저하를예방하기위함이다. 그러나, 상용SW를사용할수있는큐의경우는노드의규모가크지않아서효율적인자원활용을위해공유노드정책을적용한다. 사용자작업은로그인노드를통해서만제출이가능하며또한, 일반사용자가계산노드에직접적으로접근할수없다. 가. 큐구성 commercial 큐 ( 상용 SW 수행을위한큐 ) 에서만공유노드정책이적용되고, 나머지 큐에서는배타적노드정책이적용된다. 작업큐 - 일반사용자가사용할수있는큐는다음과같다. (2018 년 10 월기준 ) 큐구분큐속성큐이름 Compute CPU_only normal 할당노드수 Total CPU core 수 Wall Clock Limit ( 시간 ) 작업제출개수제한 * 사용자별최대제출작업개수 사용자별최대실행작업개수 norm_cache 4.5k 06k 40 20 4.5k 48 norm_flat 500 4k 20 10 500 exclusive excl_cache 2.1k 142,800 burst_buffer long 1 작업제출개수제한 bb_cache 700 47,600 bb_flat 00 20,400 24 2 2 long_cache 180 12,240 20 10 180 120 long_flat 20 1,60 2 2 20 commercial 12 5,280 norm_ 12 5,280 48 20 10 12 리소스점유제한 ** 작업별노드점유개수최대최소 1 2.1k 512 00 1 - 사용자별최대제출작업개수 : 초과하여작업을제출한경우제출시점에오류가 발생함. 1-28 -

- 사용자별최대실행작업개수 : 초과하여작업을제출한경우이전작업이끝날때까지기다려야함. 2 리소스점유제한 - 작업별노드점유개수 ( 최대 최소 ) : 단일작업에서점유노드수가최소 ~ 최대범위를벗어나는경우제출시점에오류가발생한다. 사용자의대기및실행중인작업의점유노드개수와는무관함. KNL 메모리모드에따른큐구분 (Cluster 모드는전부 Quadrant) - _Cache 는 Cache 모드 (MCDRAM을 L캐시로사용 ), _Flat 는 Flat 모드 (MCDRAM을 DDR4와같이 RAM으로사용 ) 로설정되어있음. 4 디버그노드를제공하지않고, 인터렉티브작업제출로디버깅수행을권장함. ( 인터렉티브작업제출법은아래나-2) 내용참조 ) 5 Gaussian을제외한상용SW 사용자는 commercial 큐사용을원칙으로함. 노드구성은시스템부하에따라시스템운영중에조정될수있음. 나. 작업제출및모니터링 1) 배치작업제출 작업유형별로아래에제시된 job script와같이사용자작업에대한 script 파일을작성하여 qsub 명령을사용하여작업을제출한다. $ qsub <job attributes/resources> <job script> ex)qsub -l select=1:ncpus=1 -q norm_cache hello_world.sh PBS 에서배치작업을수행하기위해서는위에서설명된 PBS 키워드들을사용하여작업 스크립트파일을작성해야한다. 환경변수 설명 PBS_JOBID PBS_JOBNAME PBS_NODEFILE PBS_O_PATH PBS_O_WORKDIR TMPDIR Job에할당되는식별자사용자에의해제공되는 Job 이름작업에할당된계산노드들의리스트를포함하고있는파일이름제출환경의경로값 qsub이실행된절대경로위치 Job을위해지정된임시디렉터리 - 29 -

Serial 프로그램작업스크립트작성예제 (serial.sh) #!/bin/sh #PBS -N serial_job #PBS -V #PBS -q norm_cache #PBS -l select=1 #PBS -l walltime=04:00:00 cd $PBS_O_WORKDIR./a.out 1 노드점유순차, 사용예제 OpenMP 프로그램작업스크립트작성예제 (omp.sh) #!/bin/sh #PBS -N mp_job #PBS -V #PBS -q norm_cache #PBS -l select=1:ncpus=68:ompthreads=68 #PBS -l walltime=04:00:00 cd $PBS_O_WORKDIR./a.out 1 노드점유, 노드당 68 스레드 ( 총 68 OpenMP 스레드 ) 사용예제 MPI 프로그램작업스크립트작성예제 (mpi.sh) #!/bin/sh #PBS -N ch2_job #PBS -V #PBS -q norm_cache #PBS -l select=4:ncpus=68:mpiprocs=68 #PBS -l walltime=04:00:00 cd $PBS_O_WORKDIR mpirun./a.out 4 노드점유, 노드당 68 프로세스 ( 총 272 MPI 프로세스 ) 사용예제 - 0 -

Hybrid(MPI+OpenMP) 프로그램작업스크립트작성예제 (hybrid.sh) #!/bin/sh #PBS -N hybrid_job #PBS -V #PBS -q norm_cache #PBS -l select=4:ncpus=68:mpiprocs=2:ompthreads=4 #PBS -l walltime=04:00:00 cd $PBS_O_WORKDIR mpirun./a.out # impi 나 ch2 사용할경우 or mpirun --map-by NUMA:PE=4./a.out # mpi 사용할경우 4 노드점유, 노드당 2 프로세스, 4 스레드 ( 총 8 MPI 프로세스, 16 OpenMP 스레드 ) 사용예제 상용SW Gaussian 사용그룹스크립트작성예제 #!/bin/sh #PBS -N gauss_job #PBS -V #PBS -q norm_ #PBS -l select=1:ncpus=40:mpiprocs=1:ompthreads=40 #PBS -l walltime=04:00:00 cd $PBS_O_WORKDIR export g16root="/apps/commercial/g16" export g16basis=${g16root}/g16/basis export GAUSS_EXEDIR=${g16root}/g16 export GAUSS_LIBDIR=${g16root}/g16 export GAUSS_ARCHDIR=${g16root}/g16/arch export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${g16root}/g16" export PATH="${PATH}:${g16root}/g16" export GAUSS_SCRDIR="/scratch/${USER}" g16 test.com - 1 -

싱귤레러티컨테이너에서텐서플로우프로그램실행예제 ( 단일노드-KNL) #!/bin/sh #PBS -N tensorflow_job #PBS -V #PBS -q norm_cache #PBS -l select=1:ncpus=68 #PBS -l walltime=1:00:00 cd $PBS_O_WORKDIR module load singularity/2.5.1 export KMP_BLOCKTIME=1 export KMP_AFFINITY=granularity=fine,compact,1,0 export OMP_NUM_THREADS=68 singularity exec tensorflow-1.9.0-py.simg python convolutional.py 작업이메일알림지정 $ qsub -m <options> ex) qsub -m abe hello_world.sh 옵션 a job 중단시 ( 기본값 ) b job 시작시 e job 실행완료시 n 이메일알림을받지않음 설명 2) 인터렉티브작업제출 배치스크립트대신 - ㅣ 옵션사용 $ qsub -q [ 큐이름 ] -l 인터렉티브작업제출시그래픽환경사용 $ qsub -q [ 큐이름 ] -l -X - 2 -

인터렉티브작업제출시기존환경변수상속 $ qsub -q [ 큐이름 ] -l -V 디버그노드를제공하지않고, 인터렉티브작업제출로디버깅수행을권장함 인터렉티브모드로계산노드에서텐서플로우프로그램실행예제 $ qsub -I -l select=1:ncpus=68 -q norm_cache $ export KMP_BLOCKTIME=1; export KMP_AFFINITY=granularity=fine,compact,1,0; export OMP_NUM_THREADS=68; singularity exec tensorflow-1.9.0-py.simg python convolutional.py ) 작업모니터링 큐조회 $ showq 노드상태조회 $ pbsnodes -ajs 컬럼 mem ncpus f/t 설명기가바이트 (GB) 단위의메모리양이용가능한총 CPU 수 f=free, t=total 작업상태조회 $ qstat <-a, -n, -s, -H, -x,... > ex> qstat Job id Name User Time Use S Queue ------------------------------------------------------------------- 0001.pbcm test_01 user01 8245:4: R c 0002.pbcm test_02 user02 8245:44: R f 000.pbcm test_0 user0 7078:45: R cpu 000.pbcm test_04 user04 198:11: Q c - -

작업속성조회 $ qstat -f <job ID> ex> qstat -f 0000.pbcm Job Id: 0000.pbcm Job_Name = test Job_Owner = user0@pbcm.cm.cluster resources_used.cpupercent = 6416 resources_used.cput = 8245:4:20 resources_used.mem = 154824kb resources_used.ncpus = 64 resources_used.vmem = 99989940kb resources_used.walltime = 128:54:21 job_state = R < 생략 > 다. 작업제어 작업삭제 $ qdel <job ID> 작업 suspend/resume $ qsig -s <suspend/resume> <job ID> 5. 사용자지원 사용중문제가생기거나의문사항이있으면헬프데스크를통해문의한다. 분야기술지원일반 ( 계약 / 계정 / 시스템 / 최적화 / 병렬화 ) 교육문의 연락처 슈퍼컴퓨팅본부헬프데스크 : http://helpdesk.ksc.re.kr 슈퍼컴퓨팅교육 : https://webedu.ksc.re.kr - 교육지원 - 4 -

[ 별첨 1] 작업스크립트주요키워드 작업스크립트내에서적절한키워드를사용하여원하는작업을위한자원할당방법을명 시해야한다. 주요키워드는아래와같으며, 사용자는이들중에서몇가지만사용하여작업 스크립트파일을작성할수있다. 옵션 형식 설명 -A <alphanumeric> 어카운팅문자열지정 -a [[[[YYYY]MM]DD]hhmm[.S]] 예약된실행 -C <string> PBS 지시어의접두어 (ex>#pbs) 변경 -c [c c=numeric w w=<minutes> n s u] Job 의체크포인트주기지정 -e </path/filename> error 파일의경로지정 -h Job 실행지연 ( 지연실행 ) -I -X X11 포워딩활성화된 Interactive Job -J <X-Y[:z>] Job 배열정의 -j [o e] output과 error 파일병합 -k [o e] 실행호스트에서 output 과 error 파일유지 여부 -l <resource_list> Job 리소스요청 -M <id@domain.xxx> 이메일받는사람리스트설정 -m <string> 이메일알람지정 -N <alphanumeric> Job 이름지정 -o </path/filename> output 파일의경로지정 -P <alphanumeric> 프로젝트이름지정 -p <numeric> Job 우선순위설정 -q <queue_name> 서버나큐의이름지정 -r [Y N] 재실행가능여부마킹 -S </path/shell_name> 사용할스크립트언어지정 -u <user_name> Job의사용자 ID 지정 -V 환경변수내보내기 -v <alphanumeric> 환경변수들확장 - 5 -

옵션 형식 설명 -W <attr=value> Job의속성값설정 -W block= <Boolean> Job의완료를기다리는 qsub 요청 -W depend= <dependency type> Job의의존성지정 -W group_list= <group@host...> Job 소유자의 group ID 지정 -W pwd= <alphanumeric> 작업당 password 방식 -W run_count= <numeric> 작업이실행되어지는횟수제어 -W sandbox= [HOME PRIVATE] 스테이징디렉터리와실행디렉터리 -W stagein= <list> input 파일스테이징 -W stageout= <list> output 파일스테이징 -W umask= <numeric> UNIX의 JOB umask 지정 -X Interactive Job으로부터의 X output -z 함축된작업식별자 상세매뉴얼 : https://pbsworks.com/pdfs/pbsuserguide14.2.pdf 참조 - 6 -

[ 별첨 2] 소프트웨어설치목록 - 컴파일러및응용소프트웨어 구분이름버전 Modulefile 컴파일러 응용 SW ( 공개 ) 응용 SW ( 상용 ) INTEL INTEL INTEL gromacs lammps 17.0. 5 18.0. 1 18.0. 2016. 4 8Mar 18 CPU 구분 intel/17.0.5 - 설치경로 /cm/shared/apps/intel/compilers_and_libraries/20 17.5.29/linux intel/18.0.1 - /apps/compiler/intel/18.0.1 intel/18.0. - /apps/compiler/intel/18.0. gromacs/2 016.4 lammps/8 Mar18 namd 2.12 namd/2.12 Open FOAM 4.1 - qe 6.1 qe/6.1 siesta 4.0.2 siesta/4.0.2 4.1-b siesta/4.1- b /apps/applications/gromacs/2016.4/intel/17.0.5 /impi/17.0.5/mic- /apps/applications/gromacs/2016.4/intel/17.0.5 /impi/17.0.5/x86-skylake /apps/applications/lammps/8mar18/intel/17.0.5/ impi/17.0.5/mic- /apps/applications/lammps/8mar18/intel/17.0.5/ impi/17.0.5/x86-skylake /apps/applications/namd/2.12/intel/18.0./impi/ 18.0./mic- /apps/applications/namd/2.12/intel/18.0./impi/ 18.0./x86-skylake /apps/applications/openfoam/4.1/intel/17.0.5/i mpi/17.0.5/x86-skylake /apps/applications/openfoam/4.1/intel/17.0.5/i mpi/17.0.5/mic- /apps/applications/qe/6.1/intel/17.0.5/impi/17.0. 5/mic- /apps/applications/qe/6.1/intel/17.0.5/impi/17.0. 5/x86-skylake /apps/applications/siesta/4.0.2/intel/17.0.5/impi/ 17.0.5/mic- /apps/applications/siesta/4.0.2/intel/17.0.5/impi/ 17.0.5/x86-skylake /apps/applications/siesta/4.1-b/intel/17.0.5/im pi/17.0.5/mic- /apps/applications/siesta/4.1-b/intel/17.0.5/im pi/17.0.5/x86-skylake grads 2.2.0 grads/2.2.0 - /apps/applications/grads/2.2.0 python 2.7 python/2.7 - /apps/applications/python/2.7.7 python/.7 - /apps/applications/python/.7 R.5.0 R/.5.0 - /apps/applications/r/.5.0 cmake gaussian 16.12. g16.a 0 cmake/.12. gaussian/g 16 - /apps/applications/cmake/.12. /apps/commercial/g16/g16-7 -

- 공통라이브러리 구분이름버전설치경로 공통라이브러리 cairo 1.14.6 /apps/common/cairo/1.14.6 curl 7.59.0 /apps/common/curl/7.59.0 expat 2.2.5 /apps/common/expat/2.2.5 fontconfig 2. /apps/common/fontconfig/2. freetype 2.9.1 /apps/common/freetype/2.9.1 g2clib 1.5.0 /apps/common/g2clib/1.5.0 gdal 2.1.1 /apps/common/gdal/2.1.1 gperf.1 /apps/applications/gperf/.1 grib_api 1.26.1 /apps/common/grib_api/1.26.1 iconv 1.15 /apps/common/iconv/1.15 jasper 1.900.29 /apps/common/jasper/1.900.29 jpeg 9c /apps/common/jpeg/9c libpng 1.2.56 /apps/common/libpng/1.2.56 pixman 0.4.0 /apps/common/pixman/0.4.0 pkg-config 0.29.2 /apps/common/pkg-config/0.29.2 proj 4.9.2 /apps/common/proj/4.9.2 swig.0.12 /apps/common/swig/.0.12 szip 2.1.1 /apps/common/szip/2.1.1 udunits 2.2.24 /apps/common/udunits/2.2.24 readline 7.0 /apps/common/readline/7.0 ncurses 6.1 /apps/common/ncurses/6.1 zlib 1.2.11 /apps/common/zlib/1.2.11 - 컴파일러의존라이브러리 구분이름버전 Modulefil e 라이브러리 (applib 1) lapac k hdf4.7.0 4.2.1 lapack/.7.0 hdf4/4.2.1 comp iler 17.0.5 18.0.1 18.0. 17.0.5 CPU 구분 설치경로 /apps/compiler/intel/17.0.5/applib1/mic-/ lapack/.7.0 /apps/compiler/intel/17.0.5/applib1/x86-skyl ake/lapack/.7.0 /apps/compiler/intel/18.0.1/applib1/mic-/ lapack/.7.0 /apps/compiler/intel/18.0.1/applib1/x86-skyl ake/lapack/.7.0 /apps/compiler/intel/18.0./applib1/mic-/ lapack/.7.0 /apps/compiler/intel/18.0./applib1/x86-skyl ake/lapack/.7.0 /apps/compiler/intel/17.0.5/applib1/mic-/ hdf4/4.2.1 /apps/compiler/intel/17.0.5/applib1/x86-skyl - 8 -

- 9 - ake/hdf4/4.2.1 18.0.1 /apps/compiler/intel/18.0.1/applib1/mic-/ hdf4/4.2.1 /apps/compiler/intel/18.0.1/applib1/x86-skyl ake/hdf4/4.2.1 18.0. /apps/compiler/intel/18.0./applib1/mic-/ hdf4/4.2.1 /apps/compiler/intel/18.0./applib1/x86-skyl ake/hdf4/4.2.1 hdf5 1.10. 2 hdf5/1.10. 2 17.0.5 /apps/compiler/intel/17.0.5/applib1/mic-/ hdf5/1.10.2 /apps/compiler/intel/17.0.5/applib1/x86-skyl ake/hdf5/1.10.2 18.0.1 /apps/compiler/intel/18.0.1/applib1/mic-/ hdf5/1.10.2 /apps/compiler/intel/18.0.1/applib1/x86-skyl ake/hdf5/1.10.2 18.0. /apps/compiler/intel/18.0./applib1/mic-/ hdf5/1.10.2 /apps/compiler/intel/18.0./applib1/x86-skyl ake/hdf5/1.10.2 netc df4 4.6.1 netcdf/4.6.1 17.0.5 /apps/compiler/intel/17.0.5/applib1/mic-/ netcdf/4.6.1 /apps/compiler/intel/17.0.5/applib1/x86-skyl ake/netcdf/4.6.1 18.0.1 /apps/compiler/intel/18.0.1/applib1/mic-/ netcdf/4.6.1 /apps/compiler/intel/18.0.1/applib1/x86-skyl ake/netcdf/4.6.1 18.0. /apps/compiler/intel/18.0./applib1/mic-/ netcdf/4.6.1 /apps/compiler/intel/18.0./applib1/x86-skyl ake/netcdf/4.6.1 ncar g 6.4.0 ncl/6.4.0 17.0.5 /apps/compiler/intel/17.0.5/applib1/mic-/ ncl/6.5.0 /apps/compiler/intel/17.0.5/applib1/x86-skyl ake/ncl/6.5.0 18.0.1 /apps/compiler/intel/18.0.1/applib1/mic-/ ncl/6.5.0 /apps/compiler/intel/18.0.1/applib1/x86-skyl ake/ncl/6.5.0 18.0. /apps/compiler/intel/18.0./applib1/mic-/ ncl/6.5.0 /apps/compiler/intel/18.0./applib1/x86-skyl ake/ncl/6.5.0 ncvie w 2.1.7 ncview/2. 1.7 17.0.5 - /apps/compiler/intel/17.0.5/applib1/x86-skyl ake/ncview/2.1.7 18.0.1 - /apps/compiler/intel/18.0.1/applib1/x86-skyl ake/ncview/2.1.7 - /apps/compiler/intel/18.0./applib1/x86-skyl

MPI impi impi impi Mva pich2 Ope nmpi 17.0. 5 18.0. 1 18.0. 2.. impi/17.0. 5 impi/18.0. 1 impi/18.0. ch2/ 2. mpi/. 18.0. ake/ncview/2.1.7 /cm/shared/apps/intel/compilers_and_librari - 17.0.5 es/2017.5.29/linux/mpi 18.0.1 - /apps/compiler/intel/18.0.1/impi/2018.1.16 18.0. - /apps/compiler/intel/18.0./impi/2018..222 17.0.5 - /apps/compiler/intel/17.0.5/ch2/2. 18.0.1 - /apps/compiler/intel/18.0.1/ch2/2. 18.0. - /apps/compiler/intel/18.0./ch2/2. 17.0.5 - /apps/compiler/intel/17.0.5/mpi/. 18.0.1 - /apps/compiler/intel/18.0.1/mpi/. 18.0. - /apps/compiler/intel/18.0./mpi/. - MPI 의존라이브러리 구분이름버 co 전 Modulefile mp iler fftw 2.1. 5 fftw_mpi/2.1.5 int el- 17. 0.5 int el- 18. 0.1 CP U 구분 MPI 17.0.5 mpi-. 17.0.5 mpi-. 18.0.1 mpi-. 설치경로 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/mic-/fftw_mpi/2.1.5 /apps/compiler/intel/17.0.5/ch2/2./app lib2/mic-/fftw_mpi/2.1.5 /apps/compiler/intel/17.0.5/mpi/./ap plib2/mic-/fftw_mpi/2.1.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/x86-skylake/fftw_mpi/2.1.5 /apps/compiler/intel/17.0.5/ch2/2./app lib2/x86-skylake/fftw_mpi/2.1.5 /apps/compiler/intel/17.0.5/mpi/./ap plib2/x86-skylake/fftw_mpi/2.1.5 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/mic-/fftw_mpi/2.1.5 /apps/compiler/intel/18.0.1/ch2/2./app lib2/mic-/fftw_mpi/2.1.5 /apps/compiler/intel/18.0.1/mpi/./ap plib2/mic-/fftw_mpi/2.1.5-40 -

- 41-18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/x86-skylake/fftw_mpi/2.1.5 /apps/compiler/intel/18.0.1/ch2/2./app lib2/x86-skylake/fftw_mpi/2.1.5 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/x86-skylake/fftw_mpi/2.1.5 int el- 18. 0. 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/mic-/fftw_mpi/2.1.5 /apps/compiler/intel/18.0./ch2/2./app lib2/mic-/fftw_mpi/2.1.5 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/mic-/fftw_mpi/2.1.5 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/x86-skylake/fftw_mpi/2.1.5 /apps/compiler/intel/18.0./ch2/2./app lib2/x86-skylake/fftw_mpi/2.1.5 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/x86-skylake/fftw_mpi/2.1.5.. 7 fftw_mpi/..7 int el- 17. 0.5 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/mic-/fftw_mpi/..7 /apps/compiler/intel/17.0.5/ch2/2./app lib2/mic-/fftw_mpi/..7 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/mic-/fftw_mpi/..7 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/x86-skylake/fftw_mpi/..7 /apps/compiler/intel/17.0.5/ch2/2./app lib2/x86-skylake/fftw_mpi/..7 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/x86-skylake/fftw_mpi/..7 int el- 18. 0.1 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/mic-/fftw_mpi/..7 /apps/compiler/intel/18.0.1/ch2/2./app lib2/mic-/fftw_mpi/..7 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/mic-/fftw_mpi/..7 /apps/compiler/intel/18.0.1/impi/2018.1.16/a

- 42-18.0.1 pplib2/x86-skylake/fftw_mpi/..7 /apps/compiler/intel/18.0.1/ch2/2./app lib2/x86-skylake/fftw_mpi/..7 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/x86-skylake/fftw_mpi/..7 int el- 18. 0. 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/mic-/fftw_mpi/..7 /apps/compiler/intel/18.0./ch2/2./app lib2/mic-/fftw_mpi/..7 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/mic-/fftw_mpi/..7 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/x86-skylake/fftw_mpi/..7 /apps/compiler/intel/18.0./ch2/2./app lib2/x86-skylake/fftw_mpi/..7 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/x86-skylake/fftw_mpi/..7 phdf 5 1.1 0.2 hdf5-parall el/1.10.2 int el- 17. 0.5 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/mic-/hdf5-parallel/1.10.2 /apps/compiler/intel/17.0.5/ch2/2./app lib2/mic-/hdf5-parallel/1.10.2 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/mic-/hdf5-parallel/1.10.2 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/x86-skylake/hdf5-parallel/1.10.2 /apps/compiler/intel/17.0.5/ch2/2./app lib2/x86-skylake/hdf5-parallel/1.10.2 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/x86-skylake/hdf5-parallel/1.10.2 int el- 18. 0.1 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/mic-/hdf5-parallel/1.10.2 /apps/compiler/intel/18.0.1/ch2/2./app lib2/mic-/hdf5-parallel/1.10.2 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/mic-/hdf5-parallel/1.10.2 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/x86-skylake/hdf5-parallel/1.10.2 /apps/compiler/intel/18.0.1/ch2/2./app

- 4 - lib2/x86-skylake/hdf5-parallel/1.10.2 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/x86-skylake/hdf5-parallel/1.10.2 int el- 18. 0. 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/mic-/hdf5-parallel/1.10.2 /apps/compiler/intel/18.0./ch2/2./app lib2/mic-/hdf5-parallel/1.10.2 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/mic-/hdf5-parallel/1.10.2 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/x86-skylake/hdf5-parallel/1.10.2 /apps/compiler/intel/18.0./ch2/2./app lib2/x86-skylake/hdf5-parallel/1.10.2 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/x86-skylake/hdf5-parallel/1.10.2 pnet cdf4 4.6. 1 netcdf-hdf 5-parallel/ 4.6.1 int el- 17. 0.5 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/mic-/netcdf-hdf5-parallel/4.6.1 /apps/compiler/intel/17.0.5/ch2/2./app lib2/mic-/netcdf-hdf5-parallel/4.6.1 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/mic-/netcdf-hdf5-parallel/4.6.1 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/x86-skylake/netcdf-hdf5-parallel/4.6.1 /apps/compiler/intel/17.0.5/ch2/2./app lib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 int el- 18. 0.1 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/mic-/netcdf-hdf5-parallel/4.6.1 /apps/compiler/intel/18.0.1/ch2/2./app lib2/mic-/netcdf-hdf5-parallel/4.6.1 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/mic-/netcdf-hdf5-parallel/4.6.1 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 /apps/compiler/intel/18.0.1/ch2/2./app lib2/x86-skylake/netcdf-hdf5-parallel/4.6.1

- 44 - mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 int el- 18. 0. 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/mic-/netcdf-hdf5-parallel/4.6.1 /apps/compiler/intel/18.0./ch2/2./app lib2/mic-/netcdf-hdf5-parallel/4.6.1 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/mic-/netcdf-hdf5-parallel/4.6.1 18.0. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 /apps/compiler/intel/18.0./ch2/2./app lib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 mpi-. /apps/compiler/intel/18.0./mpi/./ap plib2/x86-skylake/netcdf-hdf5-parallel/4.6.1 parall el-ne tcdf 1.1 0.0 parallel-ne tcdf/1.10.0 int el- 17. 0.5 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/mic-/parallel-netcdf/1.10.0 /apps/compiler/intel/17.0.5/ch2/2./app lib2/mic-/parallel-netcdf/1.10.0 mpi-. /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/mic-/parallel-netcdf/1.10.0 17.0.5 /apps/compiler/intel/17.0.5/impi/17.0.5/applib 2/x86-skylake/parallel-netcdf/1.10.0 /apps/compiler/intel/17.0.5/ch2/2./app lib2/x86-skylake/parallel-netcdf/1.10.0 mpi-. /apps/compiler/intel/17.0.5/mpi/./ap plib2/x86-skylake/parallel-netcdf/1.10.0 int el- 18. 0.1 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/mic-/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0.1/ch2/2./app lib2/mic-/parallel-netcdf/1.10.0 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/mic-/parallel-netcdf/1.10.0 18.0.1 /apps/compiler/intel/18.0.1/impi/2018.1.16/a pplib2/x86-skylake/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0.1/ch2/2./app lib2/x86-skylake/parallel-netcdf/1.10.0 mpi-. /apps/compiler/intel/18.0.1/mpi/./ap plib2/x86-skylake/parallel-netcdf/1.10.0

int el- 18. 0. 18.0. mpi-. 18.0. mpi-. /apps/compiler/intel/18.0./impi/2018..222/a pplib2/mic-/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0./ch2/2./app lib2/mic-/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0./mpi/./ap plib2/mic-/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0./impi/2018..222/a pplib2/x86-skylake/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0./ch2/2./app lib2/x86-skylake/parallel-netcdf/1.10.0 /apps/compiler/intel/18.0./mpi/./ap plib2/x86-skylake/parallel-netcdf/1.10.0-45 -

[ 별첨 ] Lustre stripe 사용법 Lustre Striping Lustre 는각 OST 별로자료를분할하여대용량파일에대한 I/O 성능을최대화할수있 으며, 병렬화가유효한최대분할수는 OST 숫자와같다. 단일파일역시위그림과같 이 Lustre Striping 기능을사용하여 OST 에병렬로저장함 stripe 설정및확인 lfs setstripe [--stripe-size -s size] [--stripe-count -c count] filename dirname 파일또는디렉터리에 striping 설정을적용시키는명령어. 위명령으로생성된파일이나위명령이적용된디렉터리에서생성되는모든파일은 striping 설정적용 --stripe-size 각 OST에저장할데이터의크기를설정 지정된크기만큼저장하면다음 OST에데이터를저장 기본값은 1MB이며 stripe_size를 0으로설정하면기본값을사용함 stripe_size는반드시 64KB의배수로설정해야하며 4GB보다작아야함 --stripe-count Striping에사용할 OST 개수를설정 기본값은 1이며 stripe_count를 0으로설정하면기본값을사용 stripe_count가 1이면가능한모든 OST들을사용 lfs getstripe filename dirname - 46 -

파일또는디렉터리에적용된 striping 설정값을확인하는명령어 권장사항및팁 작업스크립트내에서모델의결과파일이저장될디렉터리에대해 setstripe를지정하면, 이후생성되는하위디렉터리및파일은모두해당설정값상속 --stripe-count는파일사이즈가 1GB 이상인파일에대해 4로설정시대부분성능향상. 더큰값사용시테스트필요 --stripe-size는파일사이즈가수 TB 이상인파일인경우에만유효하므로대부분 default 값을사용해도문제없음 - 47 -