Microsoft PowerPoint - 타키온1&2

Size: px
Start display at page:

Download "Microsoft PowerPoint - 타키온1&2"

Transcription

1 슈퍼컴퓨팅본부교육지원팀 슈퍼컴퓨터 (SUN Tachyon1&2 System) H/W, S/W 환경소개및실습 안병선

2 INDEX 1. 슈퍼컴퓨터 4 호기 2. Tachyon 소개 3. Tachyon 실습시스템소개 4. Tachyon 계산노드실습 5. SGE 를통한작업실행 6. 병렬코드성능최적화기법

3 01. 슈퍼컴퓨터 4 호기 Tachyon 소개 KISTI 슈퍼컴퓨터 Tachyon1&2 H/W,S/W 에대하여소개한다.

4 Agenda SUN Blade 타키온 (Tachyon) HW 소개 계산노드 프로세서 SUN Blade 타키온 (Tachyon) SW 소개 MVAPICH, OPENMPI MATH. Libraries 타키온시스템사용 무료계정발급 초보계정신청 전략과제소개

5 History of KISTI Supercomputer Cray 2S[1 st ] Cray T3E NEC SX-5[3 rd -1] NEC SX-6[3 rd -2] Tera Cluster SUN B6048[4 th -1] SUN B6275[4 th -2] GFlops 16GFlops 131GFlops 242GFlops 306GFlops 1,407GFlops 8,000GFlops 30TFlops TFlops Cray C90[2 nd ] HP GS320 HPC 160/320 Pluto cluster IBM p690[3 rd -1] IBM p690[3 rd -2] IBM p595[4 th ]

6 시스템사양및구성슈퍼컴퓨터 4호기시스템타키온2(Tachyon2) SUN 의 Blade 6275 로이론최고성능 (Rpeak) 300TFlops 제공 슈퍼컴퓨터 4 호기시스템타키온 (Tachyon] SUN 의 Blade 6048 로이론최고성능 (Rpeak) 24TFlops 제공

7 타키온 2 시스템사양 구분내용비고 프로세서 Intel Xeon X5570 시스템버스 : Intel QPI Speed (6.4GT/sec) 2.93GHz (Nehalem) L1/L2/L3 / : 128KB/1MB/8MB / 노드수컴퓨팅노드 3,176 개로그인 4 개 (X4170), 디버깅노드 24 개 (x6275) CPU 코어수 25,408 개 8 개 / 노드 메모리 DDR3/1333MHz 76.8TB 24GB/ 노드, 3GB/ 코어 디스크스토리지 SUN X4270/STK6140 1,061TB 테이프스토리지 SUN SL8500 2PB Interconnection Infiniband 40G 8X QDR Sun Datacenter 648 스위치 쿨링방식수냉식 Libert XDP/XDH 운영체제 RedHat Enterprise Linux 5.3 Kernel el5 파일시스템 Lustre 스크래치, 홈디렉터리 아카이빙프로그램 SAM-QFS 5.0 작업관리프로그램 SGE 6.2u5

8 타키온시스템사양 구분내용비고 프로세서 AMD Opteron 2.0GHz (Barcelona) 시스템버스 : HyperTransport (6.4GB/sec) L1/L2/L3 : 64KB/4*512KB/2MB on-die 노드수컴퓨팅노드 188 개로그인 4 개 (X4600), 디버깅노드 4 개 (6048) CPU 코어수 3,008 개 16 개 / 노드 메모리 DDR2/667MHz 6TB 32GB/ 노드,2GB/core 디스크스토리지 SUN X4500/STK TB 테이프스토리지 SUN SL TB Interconnection Infiniband 4X DDR Voltaire ISR 2012 스위치 쿨링방식수냉식 Libert XDP/XDH 운영체제 CentOS 4.6 Kernel ELsmp 파일시스템 Lustre 스크래치, 홈디렉터리 아카이빙프로그램 SAM-QFS 4.6 작업관리프로그램 SGE 6.1

9 Sun Blade 6275 Modular System Sun Blade 6275 Modular System 타키온2(2차시스템 ) 은높은집적도를가진 34 개의 6048 랙으로구성 (3,176 계산노드 ) 각각의랙은 4개의 Shelf로구성 각 shelf 는 24 개의 x6275 노드 24GB 메모리 (3G/Core) HDD 대용의 24GB CF Flash Module 2개의 x8 PCI-e bridge Sun Blade 6048 랙 (24 개*X6275) 4 개의 Shelf x6275 Blade : Nehalem Intel 사의쿼드코어 2.93GHz CPU (Nehalem) 2 개 X6275 ( 네할렘 )

10 타키온 2&1 성능 타키온 2 계산성능 CPU : Intel Xeon x5570(2.93ghz) Quad-Core 3200node = 25,600cores(2CPU/node, 4core/CPU) Gflops = 93.76GFLOPS/node * 3200node Total : ~ 300 Tflops 총메모리 3,200node * 8 cores * 3GB = 76.8 TB 타키온계산성능 188 ( 계산노드 ) * X6420 노드 X6420 노드 : 4 socket x 4 코어 (2.0GHz) = 16*2.0GHz 16*8Gflops=128 GFlops Total ~ 24 Tflops 총메모리 188* 16 cores * 2GB = TB

11 타키온 2 구성도

12 타키온구성도 Cluster Service Nodes Login Server Mgmt Network (100M) 10G Integrated Network (10Gbps) File Service Nodes 24TFlops Compute Nodes Infiniband Core Switches Voltaire ISR 2012(288port) 100% non-blocking DataMover Login nodes Service Network (Gigabit) Backup Server SAM-QFS Server Archiving Server SAN Brocade SW48K Tape Library Scratch Disk Home Disk Backup Disk SL TB(X4500) 50TB(ST6140)

13 타키온 2 X6275 블레이드노드블록다이어그램

14 타키온 X6420 블레이드노드블록다이어그램

15 Introducing Nehalem 인텔네할렘프로세서의주요기능

16 Introducing Nehalem 네이티브쿼드코어 & 메모리컨트롤러내장

17 Introducing Nehalem 인텔네할렘퀵패스아키텍처

18 Introducing Nehalem 하이퍼스레딩의부활

19 Introducing Nehalem 향상된캐쉬 & SSE4 명령어추가

20 Intel Quad-Core Processor( Nehalem ) 효율적전원관리 & 터보모드

21 Interconnection 네트워크 Infiniband 는노드간통신을위한주백본네트워크 8x IB QDR 을사용한 non-blocking IB 네트워크로구축됨 주용인프라노드채널당 40GB/s 의대역폭 8대의 SunDatacenter 648 스위치에모든계산노드를연결

22 스토리지 TACHYON 스토리지시스템 홈디렉토리 (59TB) 와글로벌스크래치디렉토리 (874TB) 제공 36 대 * SUN x4270 서버 72 대 * J4400 스토리지 스크래치및홈디렉토리는 Lustre 파일시스템을통해계산노드를포함하 스크래치및홈디렉토리는 Lustre 파일시스템을통해계산노드를포함하여모든노드에서비스됨

23 Agenda SUN Blade 6275 타키온 2(Tachyon2) HW 소개 계산노드 Blade 6275 프로세서 Intel Xeon X5570 ( 네할렘 ) SUN Blade 6275 타키온 2(Tachyon2) SW 소개 MVAPICH, OPENMPI MATH. Libraries 타키온시스템사용 무료계정발급 초보계정신청 전략과제소개

24 타키온 2 S/W List Description Name Version OS RedHat Enterprise Linux 5.3 Shared File System Lustre Home Shared File System SAM-QFS 5.0 Resource Scheduler Sun Grid Engine 6.2 Cluster Monitoring Ganglia Backup for Home of SMP Veritas Netbackup 6.0 Compiler MPI Library Gcc Intel Compiler 10.1 / 11.1 PGI CDK / MVAPICH / MVAPICH2 1.2p1 / 1.4 OpenMPI / Profiler TAU cvs version for Barcelona 2.17 Debugger Totalview

25 타키온 S/W List OS Description Name Version Shared File System Home Shared File System Resource Scheduler Cluster Monitoring Backup for Home of SMP Compiler CentOS Lustre 1.6 SAM-QFS 4.6 Sun Grid Engine 6.1 Ganglia Veritas Netbackup 6.0 Gcc Intel Compiler 10.1 PGI CDK 8.0 MPI Library MVAPICH 1.0 (MVAPICH 2.0 서비스예정 ) OpenMPI Profiler Debugger TAU cvs version for Barcelona 2.17 Totalview

26 Mathematics and Statistics(T2) Description Name Version ACML Numerical Programs and Linear Algebra (/applic/compilers/{compiler}/ {ver.}/applib1) ATLAS GOTOBLAS HDF4/HDF r4-44 4/ LAPACK NCARG4/NCARG / AZTEC 2.1 mpi 라이브러리 (/applic/compilers/{compiler}/ {compiler_ver.}/mpi/{mpi}/{m pi_ver.}/applib2) 상용소프트웨어 (/applic/applications) BLACS FFTW2/FFTW / MPIP SCALAPACK Gaussian03, Gaussian09, Mathematica, QChem, * kr 보유자원-S/W 정보참조

27 Mathematics and Statistics Description Name Version ACML Numerical Programs and Linear Algebra (/applic/lib.{compiler}) FFTW BLAS, BLACS, LAPACK ATLAS 3.6 GotoBLAS 1.26 Scalapack 1.8 Petsc 기타라이브러리 (/applic/lib.{compiler}) Aztec NCAR NetCDF HDF4/HDF5 4.2/1.8 상용소프트웨어 (/applic/applications) Gaussian 03 * kr 보유자원-S/W 정보참조

28 MPI Concepts and Interfaces Concepts There are several different modes of message passing Two-sided point-to-point (send/receive) One-sided point-to-point (put, get) Collective (barrier, broadcast) MPI 1.1 Static process allocation Two-sided blocking and non-blocking communication Collective communication Derived data types Virtual topologies MPI 2.0 All of MPI 1.11 Dynamic process allocation One-sided communication Parallel I/O

29 MVAPICH : Overview What is MVAPICH/MVAPICH2? MVAPICH is pronounced as ``''em-vah-pich'. MVAPICH is a high performance implementation of MPI-1 over InfiniBand VAPI interface based on MPICH1. MVAPICH2 is a high performance MPI-2 implementation based on MPICH2. High performance and scalable support over the Verbs Level Interface (VAPI) are provided by these packages. Focus is on high performance implementation on emerging interconnects InfiniBand iwarp/10gige udapl over InfiniBand (Open Fabrics and Solaris) udapl over 10GigE (Neteffect) Both versions are available from OSU directly Source-tree available from public SVN

30 OpenMPI : Overview Design Goals Full MPI-2 standard conformance and High Performance Fault tolerant t (optional) Thread safety and concurrency (MPI_THREAD_MULTIPLE) Based On Component Architecture Flexible run-time instrumentation Portable, Maintainable, Production quality Single library support all networks OpenMPI: Merger of ideas from prior implementations: FT-MPI: University of Tennessee LA-MPI: Los Alamos LAM/MPI: Indiana University MVAPICH : The Ohio State University, PACX-MPI

31 Linear Algebra Libraries BLAS ATLAS GotoBLAS LAPACK ACML ScaLAPACK

32 BLAS BLAS The Basic Linear Algebra Subprograms (BLAS) are a set of flow level llinear algebra routines: Level 1: Vector-vector (e.g., dot product) Level 2: Matrix-vector (e.g., matrix-vector multiply) Level 3: Matrix-matrix (e.g., matrix-matrix multiply) Many linear algebra packages, including LAPACK, ScaLAPACK and PETSc, are built on top of BLAS. M t t d h i f BLAS Most supercomputer vendors have versions of BLAS that are highly tuned for their platforms.

33 ATLAS ATLAS The Automatically Tuned Linear Algebra Software package (ATLAS) is a self-tuned version of BLAS (it also includes a few LAPACK routines). When it s installed, it tests and times a variety of approaches to each routine, and selects the version that runs the fastest. ATLAS is substantially faster than the generic version of BLAS.

34 Goto BLAS GotoBLAS Developed by Kazushige Goto (currently at UT Austin). This version is unusual, because instead of optimizing for cache, it optimizes for the Translation Lookaside Buffer (TLB) which is a special little cache that often is ignored by software developers. Goto realized that optimizing for the TLB would be more effective than optimizing for cache.

35 LAPACK LAPACK The Linear Algebra PACKage solves dense or special-case sparse systems stems of equations depending on matrix properties such as: Precision: single, double Data type: real, complex Shape: diagonal, bidiagonal, tridiagonal, banded, triangular, trapezoidal, Hesenberg, general dense Properties: orthogonal, positive definite, Hermetian (complex), symmetric, general LAPACK is built on top of BLAS, which means it can benefit from ATLAS or Goto BLAS. Problems that LAPACK can Solve Systems of linear equations Linear least squares problems Eigenvalue problems Singular value problems

36 AMD Core Math Library (ACML) BLAS Basic Linear Algebra Subprograms Full Level 1, 2, and 3 support Highly optimized DGEMM, other Level 3 BLAS OpenMP support for key routines Lapack Linear Algebra package Uses calls to BLAS to solve linear algebra systems Matrix factorization/solve, eigenvalue solutions OpenMP support tfor key routines FFTs Fast Fourier Transforms Time-to-frequency domain Hand-tuned d assembly OpenMP support for 2D, 3D transforms Fast/vector t transcendental math library 1, 2, 4, or N values per call Single, Double precision (IEEE754) RNGs Random Number Generators Comprehensive reference implementation

37 ScaLapack Scalable Linear Algebra PACKage Developing team from University i of Tennessee, University i of California Berkeley, ORNL, Rice U.,UCLA, UIUC etc. Support in Commercial Packages NAG Parallel Library IBM PESSL CRAY Scientific Library VNI IMSL Fujitsu, HP/Convex, Hitachi, NEC Handles dense and banded matrices

38

39 ScaLapack API Prepend LAPACK equivalent names with P P XY Y Z ZZ Computation Performed Matrix Type Data Types GB General Band GE GEneral matrices ti ST Symmetric Tridiagonal Real SY SYmmetric UN UNitary complex SL Linear Equations (SVX) SV LU Solver VDSingular Value EV Eigenvalue (EVX**) GVX Generalized Eigenvalue

40 Agenda SUN Blade 6275 타키온 2(Tachyon2) HW 소개 계산노드 Blade 6275 프로세서 Intel Xeon X5570 ( 네할렘 ) SUN Blade 6275 타키온 2(Tachyon2) SW 소개 MVAPICH, OPENMPI MATH. Libraries 타키온시스템사용 무료계정발급 초보계정신청 전략과제소개

41 타키온시스템사용 초보계정신청 기본정보 계정신청 계정신청안내 전략적과제신청 사용자지원 응용연구지원 유료사용 p// / 사용자지원 - 사용안내

42 Help Desk 헬프데스크 : 계정신청 : 김성준 sjkim@kisti.re.kr 일반기술지원 : 홍태영 tyhong@kisti.re.kr i k 교육지원 : 이홍석 consult@kisti.re.kr 대표전화 : ( 수신자부담전화 ) 홈페이지 : 교육홈페이지 : Q&A 활용

43 02. Tachyon2 실습시스템소개 타키온컴퓨터실습환경에대해알아본다.

44 Agenda 실습시스템및계정 기본사용자환경 사용자셀변경 패스워드변경 작업수행시유의사항 로그인, 디버깅, 및계산노드사용 작업디렉토리 환경변수설정 컴파일러환경변수설정 라이브러리사용 디버깅노드에서실행

45 기본사용자환경 로그인 사용자의초기접속은총 4 대의로그인노드로한정됨 컴퓨팅노드로의액세스불가 액세스인터페이스는 ssh, sftp, ftp, X11 만허용됨 유닉스혹은리눅스에서 $ ssh -l 사용자 ID tachyon2.ksc.re.kr 또는 $ ssh -l 사용자 ID IP address 윈도우즈에서 putty 나 SSH Secure Shell Client 등의 ssh 접속유틸리티를이용함 프로그램은인터넷을통해무료로다운받을수있음

46 PuTTY 사용법 Host Name : tachyon2.ksc.re.kr 교육시스템 :

47 PuTTY 사용법 SSH -> X11 탭에서 Enable X11 forwarding 체크 X display location : localhost:0.0 Xming 실행필요

48 PuTTY 사용법 PuTTY Security Alert 에서 예 선택

49 PuTTY 사용법 login as : edunxx EdunXX@remotehost s password : secret

50 PuTTY 사용법 접속완료 Unix 명령입력

51 로그인로드 로그인화면

52 기본사용자환경 타키온 2 노드구성 비고호스트이름 IP 주소기타사항 tachyon2.ksc.re.kr DNS 대표호스트네임 로그인노드 (4 노드 ) tachyon2a.ksc.re.kr tachyon2b.ksc.re.kr tachyon2c.ksc.re.kr tachyon2d.ksc.re.kr k Interactive process : CPU limit 10 분 디버깅노드 (24 노드 ) s3177 ~ s3200 로그인노드를통해서접근가능 (e.g. ssh s3189) 컴파일및디버깅용컴퓨팅노드와동일한시스템 120분간어플리케이션수행가능 컴퓨팅노드 (3176 노드 ) s0001 ~ s3176 SGE( 배치스케줄러 ) 를통해서만작업실행가능 일반사용자는모니터링을위해 1 분간접근허용

53 기본사용자환경 타키온노드구성 비고호스트이름 IP 주소기타사항 tachyon.ksc.re.kr DNS 대표호스트네임 로그인노드 (4 노드 ) tachyona.ksc.re.kr tachyonb.ksc.re.kr tachyonc.ksc.re.kr tachyon189 Interactive process : CPU limit 10 분 *tachyond 노드현재로그인불가 디버깅노드 (4 노드 ) tachyon190 tachyon191 로그인노드를통해서접근가능 (e.g. ssh tachyon189) 컴파일및디버깅용컴퓨팅노드와동일한시스템 30 분간어플리케이션수행가능 tachyon192 컴퓨팅노드 (188 노드 ) tachyon SGE( 배치스케줄러 ) 를통해서만작업실행가능 일반사용자는모니터링을위해 1 분간접근허용

54 디버깅노드 교육시스템 - ssh node01( ~ node04) : tachyon - ssh s0001 ( ~ s0004) : tachyon2

55 기본사용자환경 사용자쉘변경 기본으로설정되는 bash 에서다른 shell 로변경했을경우 사용자의홈디렉터리에있는해당환경설정파일을적절히 수정하여사용함 원본이필요한경우사용자가직접 /applic/shell 디렉터리에서필요한쉘의환경설정파일을자신의홈디렉터리로복사하여적절히수정하여사용함 $ ldapchsh (bash 로변경 )

56 기본사용자환경 패스워드변경 사용자패스워드를변경하기위해서는 passwd 명령을사용함 패스워드관련보안정책 사용자 password 길이를 8 character 이상, 특수문자 2 자이상포함 사용자 password 변경기간을 2 개월 (62 일 ) 로설정 ( 로그인시공지 ) 새로운패스워드는이전패스워드와비교하여 2문자이상달라야함최대허용로그인재시도회수 :10 회사용자가 password 변경시새로운 password가사용자가계정을 갖고있는 KISTI 슈퍼컴퓨팅센터의 GAIA 등다른시스템에서 그대로적용

57 기본사용자환경 작업수행시유의사항 로그인노드에서는 CPU time 을 10 분으로제한 프로그램수정, 디버깅및배치작업제출등 CPU time으로 10분이상소요되는디버깅및기타인터랙티브작업은디버깅노드에서수행해야함 계산노드는홈디렉터리가마운트되어있지않음 모든계산작업은스크래치디렉터리사용스크래치디렉터리의경우 4일간사용하지않은데이터는자동삭제 SGE 을통해서작업수행전에 /scratch ( 타키온의경우 /work01) 디렉터리로작업에필요한데이터파일을복사해야함 또는 link 를이용

58 기본사용자환경 타키온 2 작업디렉터리 디렉터리마운트여부 구분내용용량제한 파일삭제정책 파일시스템종류 백업유무 로그인 컴퓨팅 디버깅 노드 노드 노드 홈디렉터리 /home01 구좌당 6GB - 스크래치디렉터리 /scratch 사용자당 1TB 4일이상액세스하지않은파일자동삭제 Lustre 애플리케이션 /applic - -

59 기본사용자환경 타키온작업디렉터리 구분내용용량제한 파일삭제 파일시스템 백업 정책 종류 유무 로그인 노드 디렉터리마운트여부 컴퓨팅노드 디버깅노드 홈디렉터리 /home01 구좌당 6GB - 스크래치디렉터리 /work01 /work02 사용자당 1TB 20 일이상액세스하지않은파일자동삭제 Lustre 애플리케이션 /applic - -

60 기본사용자환경 홈및스크래치디렉터리용량제한및사용량확인 $ quotaprint $ quotaprint [ USER DISK USAGE IN THE HOME & SCRATCH DIR ] ====================================================== ID/GROUP DIR QUOTA_LIMIT USED_DISK AVAIL_DISK ====================================================== in1000 /home MB 10937MB 1636MB test /work MB 54905MB MB test /work MB 0MB MB ======================================================

61 사용자프로그래밍환경 프로그램컴파일 제공컴파일러 : GNU, Portland Group (PGI), Intel 모든프로그램은 PGI, Intel, GNU 컴파일러를사용하여컴파일가능 MPI 환경을이용한컴파일도가능함 각컴파일러에대한자세한내용은다음웹링크참조 GCC : PGI : Intel : 컴파일러 위치 PGI compiler Intel compiler GNU compiler /applic/compilers/pgi /applic/compilers/intel /applic/compilers/gcc

62 사용자프로그래밍환경 라이브러리 컴파일러와 MPI의이름에따라 /applic/<compiler dir>/applib1 또는 /applic/<mpi dir>/applib2 에설치됨 구분내용 /applic/compilers/pgi/linux86-64/8.0-6/applic1 / il / i/li 64/8 6/ pgi 로컴파일된라이브러리들 /applic/compilers/intel/10.1/applic1 /applic/compilers/gcc/4.1.2/applic1 intel 로컴파일된라이브러리들 gcc 로컴파일된라이브러리들 MPI 를사용하는라이브러리 MPI blibrary 별로컴파일되어있음 예 ) gcc 로컴파일된 BLACS 구분내용 /applic/compilers/gcc/4.1.2/mpi/mvapich/1.1.0/applic2 /applic/compilers/gcc/4.1.2/mpi/openmpi/1.3.2/applic2 mvapich 로컴파일된 BLACS openmpi 로컴파일된 BLACS

63 사용자프로그래밍환경 컴파일러환경변수 각컴파일러에맞는환경변수의자동설정을위해.bashrc 와.switchenv 파일을제공함. path,manpath,ld_library_path, licence_file 등의환경이설정됨 컴파일러환경변경하기 switchenv 을통해쉽게다른컴파일러환경으로변경가능 switchenv 을이용한컴파일러및 MPI, shell 지정 사용법예제선택가능한 mpi & version 선택가능한 compiler & version 선택가능한 shell switchenv [mpi] [mpi_version] [compiler] [compiler_version] [shell] switchenv mvapich2 1.4 intel 11 bash mvapich 1.1 or / 1.2 or mvapich2 1.2 or 1.2p1 / 1.4 / 1.5 openmpi / / 1.4 / / gcc 4 or intel 10 or 10.1 / 11 or 11.1 pgi 8 or 8.0 / 9 or 9.0 sun 12 or 12.1 bash, csh, tcsh, ksh

64 환경설정 : MPI 와컴파일러선택

65 사용자프로그래밍환경 순차프로그램컴파일 벤더컴파일러명령프로그램소스확장자 pgcc C.c pgcpp C++.c,.C,.cc,.cpp pgi pgf77 F77.f,.for,.fpp,.F,.FOR pgf90/pgf95 F90/95.f,.for,.f90,.f95,.fpp,.F,.FOR,.F90,.F95 icc C.c intel icc C++.c,.C,.cc,.cpp,.cxx,.c++ ifort F90.f,.for,.ftn,.f90,.fpp,.F,.FOR,.FTN,.FPP,.F90 gnu gcc C.c g++ C++.C,.cc,.cpp,.cxx

66 사용자프로그래밍환경 MPI 병렬프로그래밍.bashrc를통해지정된컴파일러에해당하는 wrapper들이소스를컴파일하게됨 컴파일러프로그램소스확장자 mpicc C.c mpicxx/mpicc C++.cc,.c,.cpp,.cxx mpif90 F77/F90.f,.for,.ftn,.f90,.f95,.fpp mpicc로컴파일을하더라도, 옵션은 wrapping되는본래의컴파일러에해당하는옵션을사용해야함. 사용예제 intel : mpicc/mpif90 o test.exe O2 xw m64 test.cc/test.f90 pgi : mpicc/mpif90 o test.exe fast test.cc/test.f90

67 MPI 병렬프로그래밍 컴퓨팅노드에서 MPI 프로그램실행 컴퓨팅노드 (s0001- s3176, tachyon ) 에서 MPI 프로그램을실행하기위해서는스크래치디렉터리로작업실행에필요한파일들을스크래치디렉터리로복사 이후 SUN Grid Engine(SGE : 배치작업스케줄러 ) 을사용하여 배치모드로프로그램을실행해야함. 디버깅노드에서 MPI 프로그램디버깅 디버깅노드 (s3177 s3200, tachyon ) 에서 MPI 프로그램을디버깅하기위해서는먼저작업실행에필요한파일들을스크래치디렉터리로복사하고디버깅노드에로그인함.

68 03 Tachyon2 계산 03. Tachyon2 계산 node 에서실습

69 Parallel Performance Metrics The simplest parallel performance metric is always wallclock time. Represents the "time to solution CPU time is even less useful here than in the single processor case. Hardware performance counters can still be used to assess overall performance as well. The parallelism in the application introduces the concept of scalability and two new metrics to consider: Speedup Parallel efficiency

70 Parallel Performance Metrics : Speedup Speedup is the ratio of the time for a single processor to that for N processors, given the same input : S(N) = N0t(N0) /t(n) This is a measure of how much faster an application becomes as more processors are used. Ideally, speedup would be exactly equal to the processor count : Sideal(N) = N superlinear speedup : the speedup on N processors is greater than N.

71 Elapsed Times and Speedup

72 Amdahl's Law Amdahl's Law : 1967 An observation on the practical limits of speedup for a given problem The maximum speedup that can be achieved by that application is: S=1/[(1-p)+p/N] Note that this does not consider other limiting factors such as memory, interconnect, t or I/O bandwidth.

73 Gustafson's Law Gustafson's Law : 1988 Gustafson's Law contradicts Amdahl's law, which describes a limit on the speed-up that parallelization can provide. Gustafson's law was described : S(N)=N- α (N-1) where P is the number of processors, S is the speedup, and α the non-parallelizable part of the process

74 Amdahl s law & Gustafson s law

75 Measuring the Performance of Parallel Applications wallclock timing /usr/bin/time. it is usually a good idea to instrument your application with timing calls around important sections of the code. MPI (C/C++/Fortran): MPI_Wtime

76 Profiling of Parallel Programs Profiling parallel program is often difficult. Profiling tools included with compilers typically not designed d for use with concurrent programs. two parallel profiling tools Tau TAU (Tuning and Analysis Utilities) is a set of tools for analyzing the performance of C, C++ and Fortran programs. Totalview

77 MPI 병렬프로그래밍작성예 PI 계산알고리즘 정사각형에원을내접시킴 정사각형내에서무작위로점추출 추출된점들중원안에있는 점의개수결정 PI = 4 ⅹAc/As

78 Our running Example : The PI program Numerical Integration Mathematically, we know that: (1+x 2 ) 0 dx = We can approximate the integral as a sum of rectangles: N F(x i ) x i = 0 Where each rectangle has width x and height F(x i ) at the middle of interval i. n i (( i 0.5) n x (2 n ) 2 1 x1 (1 0.5) n 1 n f ( x 1 ) f ( x 2 ) ) 1 n f ( x n ) 1 x n ( n 0.5) n

79 PI Program : The sequential program! ! PI calculation : serial code! F(x) = 4.0/(1+x^2) : PI from integral calculation of F(x) from 0 to 1! program main implicit none integer*8,parameter :: num_step = integer*8 :: i double precision :: sum,step,pi,x double precision :: stime,etime,rtc step = (1.0d0/dble(num_step)) sum = 0.0d0 write(*,400) stime=rtc()!starting time do i=1,num_step x = (dble(i)-0.5d0)*step sum = sum + 4.d0/(1.d0+x*x)! F(x) enddo etime=rtc()!ending time pi = step * sum write(*,100) pi,dabs(dacos(-1.0d0)-pi) write(*,300) etime-stime write(*,400) 100 format(' PI = ', F17.15,' (Error =',E11.5,')') 300 format(' Elapsed Time = ',F8.3,' [sec] ') 400 format(' ') stop end program

80 컴파일및실행 ( 순차코드 ) 실습디렉토리생성및예제파일가져오기 $ mkdir pical $ cd pical $ cp /work01/edu_ex/tachyon/pical/serial.f./ 순차코드컴파일 $ pgf90 serial.f -o serial.x $ ifort serial.f -o serial.x 실행 $./serial.x

81 PI Program : OpenMP program program main implicit none integer*8,parameter :: num_step = integer*8 :: i,tid,num_threads integer*8 :: OMP_GET_THREAD_NUM,OMP_GET_NUM_THREADS double precision :: sum,step,pi,x pp double precision :: stime,etime,rtc step = (1.0d0/dble(num_step)) sum = 0.0d0 write(*,400) stime=rtc()!starting time!$omp PARALLEL PRIVATE(tid,x) tid = OMP_GET_THREAD_NUM() num_threads = OMP_GET_NUM_THREADS() write(*,10) tid,num_threads!$omp DO REDUCTION(+:sum) do i=1,num_step x = (dble(i)-0.5d0)*step sum = sum + 4.d0/(1.d0+x*x)! F(x) enddo!$omp END PARALLEL etime=rtc()!ending time pi = step * sum write(*,400) write(*,100) pi,dabs(dacos(-1.0d0)-pi) write(*,300) etime-stime write(*,400) 10 format(' My thread ID =',i3,', Total',i3,' threads are activated') 100 format(' PI = ', F17.15,' (Error =',E11.5,')') 300 format(' Elapsed Time = ',F8.3,' [sec] ') 400 format(' ') stop end program

82 PI Program : MPI program program main implicit none include 'mpif.h integer :: ierr, nprocs, myrank, tag integer :: status(mpi_status_size) _ integer*8,parameter :: num_step = integer*8 :: i,j double precision :: sum,step,pi,x,recv double precision :: stime,etime,rtc step = (1.0d0/dble(num_step)) sum = 0.0d0 CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myrank, ierr) if(myrank==0) then write(*,400) Endif stime=rtc()!starting time do i=myrank+1,num_step,nprocs x = (dble(i)-0.5d0)*step sum = sum + 4.d0/(1.d0+x*x) d0+x*x)! F(x) enddo etime=rtc()!ending time pi = step * sum if(myrank /= 0) then CALL MPI_SEND(pi, 1, MPI_DOUBLE_PRECISION, 0, 1, + MPI_COMM_WORLD, ierr) endif if(myrank==0) then do j = 1, nprocs-1 CALL MPI_RECV(recv, 1, MPI_DOUBLE_PRECISION, j, 1, + MPI_COMM_WORLD, status, ierr) pi = pi + recv enddo write(*,100) pi,dabs(dacos(-1.0d0)-pi) write(*,300) etime-stime write(*,400) 100 format(' PI =', F17.15,' (Error =',E11.5,')') ) 300 format(' Elapsed Time = ',F8.3,' [sec] ') 400 format(' ') endif CALL MPI_FINALIZE(ierr) stop end program

83 PI Program : MPI program program main implicit none include 'mpif.h' integer :: ierr, nprocs, myrank, tag integer :: status(mpi_status_size) _ integer*8,parameter :: num_step = integer*8 :: i,j,is, ie,tid, num_threads integer*8 :: OMP_GET_THREAD_NUM, + OMP_GET_NUM_THREADS double precision :: sum,step,pi,x,recv double precision :: stime,etime,rtc step = (1.0d0/dble(num_step)) sum = 0.0d0 CALL MPI_INIT(ierr) INIT(i CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myrank, ierr) IF(myrank==0) THEN write(*,400) ENDIF stime=rtc()!starting time CALL OMP_SET_NUM_THREADS(2)!$OMP PARALLEL PRIVATE(tid, x) tid = OMP_GET_THREAD_NUM() THREAD num_threads = OMP_GET_NUM_THREADS() write(*,10) tid, num_threads, myrank!$omp DO REDUCTION(+:sum) do i=myrank+1,num_step,nprocs x = (dble(i)-0.5d0)*step sum = sum + 4.d0/(1.d0+x*x)! F(x) enddo!$omp END PARALLEL etime=rtc()!ending time pi = step * sum if(myrank /= 0) then CALL MPI_SEND(pi, 1, MPI_DOUBLE_PRECISION, 0, 1, + MPI_COMM_WORLD, ierr) endif if(myrank==0) then do j = 1, nprocs-1 CALL MPI_RECV(recv, 1, MPI_DOUBLE_PRECISION, PRECISION, j, 1, + MPI_COMM_WORLD, status, ierr) pi = pi + recv enddo write(*,100) pi,dabs(dacos(-1.0d0)-pi) write(*,300) etime-stime write(*,400) endif 10 format(' My thread ID =',i3,', Total',i3,' threads are activated, ' in rank: ', i3) 100 format(' PI = ', F17.15, 15 ' (Error =',E11.5, ')') )) 300 format(' Elapsed Time = ',F8.3,' [sec] ') 400 format(' ') CALL MPI_FINALIZE(ierr) stop end program

84 PI Program : MPI program program main implicit none include 'mpif.h integer :: ierr, nprocs, myrank, tag integer :: status(mpi_status_size) integer*8,parameter :: num_step = integer*8 :: i,j,is, ie,tid, num_threads integer*8 :: OMP_GET_THREAD_NUM, + OMP_GET_NUM_THREADS double precision :: sum,step,pi,x,recv double precision :: stime,etime,rtcetime step = (1.0d0/dble(num_step)) sum = 0.0d0 CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myrank, ierr) IF(myrank==0) THEN write(*,400) ENDIF stime=rtc()!starting time CALL OMP_SET_NUM_THREADS(2)!$OMP PARALLEL PRIVATE(tid, x) tid = OMP_GET_THREAD_NUM() num_threads = OMP_GET_NUM_THREADS() write(*,10) tid, num_threads, myrank!$omp DO REDUCTION(+:sum) do i=myrank+1,num_step,nprocs x = (dble(i)-0.5d0)*step sum = sum + 4.d0/(1.d0+x*x)! F(x) enddo!$omp END PARALLEL etime=rtc()!ending time pi = step * sum if(myrank /= 0) then CALL MPI_SEND(pi, 1, MPI_DOUBLE_PRECISION, 0, 1, + MPI_COMM_WORLD, ierr) endif if(myrank==0) then do j = 1, nprocs-1 CALL MPI_RECV(recv, 1, MPI_DOUBLE_PRECISION, PRECISION, j, 1, + MPI_COMM_WORLD, status, ierr) pi = pi + recv enddo write(*,100) pi,dabs(dacos(-1.0d0)-pi) write(*,300) etime-stime write(*,400) endif 10 format(' My thread ID =',i3,', Total',i3,' threads are activated, ' in rank: ', i3) 100 format(' PI = ', F17.15, 15 ' (Error =',E11.5, ')') )) 300 format(' Elapsed Time = ',F8.3,' [sec] ') 400 format(' ') CALL MPI_FINALIZE(ierr) stop end program

85 컴파일및실행 (OpenMP, MPI, Hybrid) 컴파일 $pgf90 mp openmp.f o openmp.x (PGI Compiler) ifort openmp openmp.f o openmp.x (Intel Compiler) $ mpif90 mpi.f o mpi.x $ mpif90 mp hybrid.f o hybrid.x mpif90 openmp hybrid.f o hybrid.x 실행 $ export OMP_NUM_THREADS=4 $./openmp.x $ mpirun np 4 machinefile hosts./mpi.x (need dhost file) $ export OMP_NUM_THREADS=2 $ mpirun np 2 machinefile e hosts./hybrid.x (need host file)

86 04. SGE SUN Grid Engine SGE 를통한작업방법에대해알아본다.

87 SGE Overview Resource Selection Enterprise Allocation and Prioritization Policies Extensible Workload to Resource Matching Resource Control Customizable System Load and Access Regulation Definable Job Execution Contexts Resource Accounting Web-based b Reporting and Analysis Open and Integratable Data Source Proven Solution for Large Cluster Env.

88 KISTI SGE Architecture ssh, sftp, scp, ftp etc Lic#1 License Server LDAP master UNIX ssh, sftp, scp, ftp etc Lic#2 Lic#3 LDAP slave Windows Exceed, X-manager, VNC, etc Sun Grid Engine Interactive Nodes Users Login Nodes Master Server Master Server (Active) Spool DB (standby) Internet Accounting server Batch Nodes Management Nodes Execution Nodes

89 Queue configuration 큐구성 (Tachyon2) 큐이름 Wall Clock Limitit 작업실행노드 ( 시간 ) 작업별 CPU수 Pi Priorityit SU Charge Rate 비고 Normal 48 Tachyon Normal 1 Long 168 Tachyon Low 1 Long running 작업 Strategry 168 Tachyon High 1 Grand Challenge 작업 Special 12 Tachyon 대규모자원전용 ( 사전예약 ) 사용자별최대 Running 작업수 : 20 개 ( 작업부하에따라수시로조정될수있음 ) 큐구성정보확인하기 $showq 교육시스템 (master node) - long (node01 ~ node04) - normal (s000s1 ~ s0004)

90 Queue configuration 큐구성 (Tachyon) 큐이름 Wall Clock Limitit 작업실행노드 ( 시간 ) 작업별 CPU수 Pi Priorityit SU Charge Rate 비고 normal 48 Tachyon Normal 1 Long 168 Tachyon Low 1 Long running 작업 Strategry 168 Tachyon High 1 Grand Challenge 작업 Special 12 Tachyon 대규모자원전용 ( 사전예약 ) 사용자별최대 Running 작업수 : 20 개 ( 작업부하에따라수시로조정될수있음 ) 큐구성정보확인하기 $showq 교육시스템 (master node) - long (node01 ~ node04) - normal (s000s1 ~ s0004)

91 Job submission Job Submission $ qsub job_script Job script examples /applic/shell/job_examples/job_script 에서복사하여사용

92 Job Script Practice 실습파일다운로드 $ cd /work01/edunxx ( 디렉토리가없을시 mkdir edunxx 로생성 ) $ mkdir SGE $ cd SGE $tar zxvf /work01/edu_ex/tachyon/sge/sgejob.tar.gzex/tachyon/sge/sgejob.tar.gz $ cp /applic/shell/job_examples/job_script/*.sh./ 컴파일 $ pgf90 serial.f -o serial.x ifort serial.f -o serial.x $ mpif90 mpi.f -o mpi.x $ pgf90 -mp openmp.f -o openmp.x ifort -openmp openmp.f -o openmp.x $ mpif90 -mp hybrid.f -o hybrid.x mpif90 -openmp hybrid.f -o hybrid.x

93 Job Script Serial Program Serial 프로그램 (1CPU) 작업스크립트작성예제 (serial.sh) #!/bin/bash #$ -V # 작업제출노드의쉘환경변수를컴퓨팅노드에도적용 (default) #$ -cwd # 현재디렉터리를작업디렉터리로사용 #$ -N serial_job # Job Name, 명시하지않으면 job_script 이름을가져옴 #$ -q special # Queue name #$ -R yes # Resource Reservation ##$ -wd /work01/<user01>/serialtest / # 작업디렉터리를설정. 현재디렉토리 (PWD) 가 # /work01/<user01>/serialtest 가아닌경우사용, # 그렇지않으면 cwd 로충분함 #$ -l h_rt=01:00:00 # 작업경과시간 (hh:mm:ss) (wall clock time), 누락시작업강제종료 #$ -l exclusive=true # 노드에서자신의작업만배타적으로수행할경우명시 #$ -M my address # 작업관련메일을보낼사용자메일주소 #$ -m e # 작업종료시에메일을보냄./serial.x

94 Job Script Practice (serial) script 파일수정 ( vi serial.sh ) #!/bin/bash #$ -V #$ -cwd #$ -N serial_job #$ -q long #$ -R Ryes #$ -wd /work01/edunxx/sge #$ -l h_rt=01:00:00 ##$ -M my address ##$ -m me./serial.x job submit $ qsub serial.sh Your job ("serial_job") has been submitted $ qstat $ more serial_job.o $ more serial_job.e134619

95 Job Script MPI Program(1) MPI 프로그램작업스크립트작성예제 (mpi.sh) select-mpi-[shell] 명령어를이용하여 job 실행환경선택 $ select-mpi-bash [mvapich openmpi] [pgi intel gnu] $exit ( eit exit 후다시로그인해야선택한환경으로설정됨 ) MPI task(cpu) 수명시 #$ -pe mpi_fu {Total_MPI_task(CPU)} #$ -pe mpi_fu 32

96 Job Script MPI Program(2) #!/bin/bash #$ -V # 작업제출노드의쉘환경변수를컴퓨팅노드에도적용 (default) #$ -cwd # 현재디렉터리를작업디렉터리로사용 #$ -N mvapich_job # Job Name, 명시하지않으면 job_script 이름을가져옴 #$ -pe mpi_fu 32 # selec-bash-mpi에서선택한 mvapich로실행되며각노드의가용 cpu를 # 모두채워서 (fu : fill_up) 총 32 개의 MPI task 가실행됨. #$ -q normal # 큐이름 #$ -R yes # Resource Reservation #$ -wd /work01/<user01>/mvapich / / # 작업디렉터리를설정. 현재디렉토리 (PWD) 가 # /work01/<user01>/mvapich가아닌경우사용, # 그렇지않으면 cwd로충분함 #$-lh_rt=01:00:00 # 작업경과시간 (hh:mm:ss)(wallclocktime), 누락시강제작업종료 #$ -l exclusive=true # 노드에서자신의작업만배타적으로수행할경우명시 #$ -M my address # 작업관련메일을보낼사용자메일주소 #$ -m e # 작업종료시에메일을보냄 mpirun -machinefile $TMPDIR/machines -np $NSLOTS /work01/<user01>/mvapich/mpi.x

97 Job Script Practice (MPI) script 파일수정 ( vi mpi.sh ) #!/bin/bash #$ -V #$ -cwd #$ -N mvapich_job #$ -pe mpi_fu 4 #$ -q long #$ -R yes #$ -wd /work01/edun??/sge #$ -l h_rt=01:00:00 ##$ -M my address ##$ -m e mpirun -machinefile $TMPDIR/machines -np $NSLOTS./mpi.x job submit $ qsub mpi.sh Your job ("mpi_job job") has been submitted $ qstat $ more mpi_job.o $ more mpi_job.e134622

98 Job Script OpenMp Program OpenMP 프로그램작업스크립트작성예제 (openmp.sh) #!/bin/bash #$ -V # 작업제출노드의쉘환경변수를컴퓨팅노드에도적용 (default) #$ -cwd # 현재디렉터리를작업디렉터리로사용 #$ -N openmp_job # Job Name, 명시하지않으면 job_script 이름을가져옴 #$ -pe openmp 4 # OpenMP thread 수 #$ -q small # Queue name(openmp 작업은 small or long 큐사용가능 ) #$ -R yes # Resource Reservation #$ -wd /work02/<user01>/openmp # 작업디렉터리를설정. 현재디렉토리 (PWD) 가 # /lustre1/<user01>/openmp가아닌경우사용, # 그렇지않으면 cwd로충분함 #$ -l h_rt=01:00:00 # 작업경과시간 (hh:mm:ss) (wall clock time), 누락시작업강제종료 #$ -l exclusive=true # 노드에서자신의작업만배타적으로수행할경우명시 #$ -M my address # 작업관련메일을보낼사용자메일주소 #$ -m e # 작업종료시에메일을보냄 export OMP_NUM_THREADS=4 /work02/<user01>/openmp.x

99 Job Script Practice (OpenMP) script 파일수정 ( vi openmp.sh ) #!/bin/bash #$ -V #$ -cwd #$ -N openmp_job #$ -pe openmp 4 #$ -q long #$ -R yes #$ -wd /work01/edun??/sge #$ -l h_rt=01:00:00 ##$ -M my address ##$ -m e export OMP_NUM_THREADS=4./openmp.x job submit $ qsub openmp.sh Your job ("openmp_job") has been submitted $ qstat $ more openmp_job.o $ more openmp_job.e134624

100 Job Script Hybrid Program(1) Hybrid(MPI+OpenMP) 프로그램작업스크립트작성예제 (hybrid.sh) select-mpi-[shell] 명령어를이용하여 job 실행환경선택 $ select-mpi-bash [mvapich openmpi] [pgi intel gnu] $ exit ( exit 후다시로그인해야선택한환경으로설정됨 ) 노드당 / 전체 MPI task(cpu) 수명시 #$ -pe mpi_{mpi_task(cpu)_per_node}cpu {Total_MPI_task(CPU)} #$ -pe mpi_4cpu 16 OMP_NUM_THREADS 리소스지정 #$ -l OMP_NUM_THREADS={OpenMP_threads_per_MPI_task} #$ -l OMP_NUM_THREADS THREADS=4 OMP_NUM_THREADS 리소스지정 export OMP_NUM_THREADS=4

101 Job Script Hybrid Program(2) #!/bin/bash #$ -V # 작업제출노드의쉘환경변수를컴퓨팅노드에도적용 (default) #$ -cwd # 현재디렉터리를작업디렉터리로사용 #$ -N hybrid_job # Job Name, 명시하지않으면 job_script 이름을가져옴 #$ -pe mpi_4cpu 8 # 전체 MPI task(cpu) 8개, 노드당 MPI task(cpu) 4개 #$ -q normal # Queue name #$ -R yes # Resource Reservation #$ -wd /work02/<user01>/hybrid # 작업디렉터리를설정. 현재디렉토리 (PWD) 가 # /lustre1/<user01>/hybrid가아닌경우사용, # 그렇지않으면 cwd 로충분함 #$-l h_rt=01:00:00 # 작업경과시간 (hh:mm:ss)(wall clock time), 누락시강제작업종료 #$ -l exclusive=true # 노드에서자신의작업만배타적으로수행할경우명시 #$ -l OMP_NUM_THREADS=2 # MPI 타스크당 OpenMP 쓰레드수를의미하며, 아래 # OMP_NUM_THREADS 환경변수에서명기한 OpenMP # 쓰레드숫자와동일한값지정. 누락시작업강제종료 #$ -M my address # 작업관련메일을보낼사용자메일주소 #$ -m e # 작업종료시에메일을보냄 export OMP_NUM_THREADS=2 mpirun -machinefile $TMPDIR/machines -np $NSLOTS /work02/<user01>/hybrid.x

102 Job Script Practice (Hybrid) script 파일수정 ( vi hybrid.sh ) #!/bin/bash #$ -V #$ -cwd #$ -N hybrid_job #$ -pe mpi_2cpu 2 #$ -q long #$ -R yes #$ -wd /work01/edun??/sge #$ -l h_rt=01:00:00 #$ -l OMP_NUM_THREADS=2 ##$ -M my address ##$ -m e export OMP_NUM_THREADS=2 mpirun machinefile $TMPDIR/machines np $NSLOTS./hybrid.x job submit $ qsub hybrid.sh Your job ("hybrid_job") has been submitted $ qstat $ more hybrid d_job.o $ more hybrid_job.e134626

103 Job Script Option (1/2) 옵션 Argument 기능 -pe pe_name min_proc [-max_proc] mpi_rr : 라운드로빈방식으로노드의 CPU 할당 mpi_fu : 각노드의비어있는 CPU를꽉채워서할당 mpi_[1-16]cpu : 정해진 ( 범위 : 1-16) 숫자만큼노드의 CPU 할당 Openmp : 순수한 openmp프로그램의쓰레드를위한 CPU 할당 * mpi의종류 [mvapich, openmpi] 는 select-mpi-[bash,csh,ksh] 스크립트로미리선택 -N job_name Job 의이름을정해줌 -S Shell (absolute path) Batch 작업의 shell 을지정, 미지정시 SGE 가지정한 Shell 로수행 (/bin/bash) -M address 사용자의 address 를명시 -m {b e a s n} 언제 notification 을보낼지명시 - b : job beginning -e:jobending - a : job aborted or rescheduled - s : job suspended -n:nomailissent(default) -V 사용자의현재 shell 의모든환경변수가 qsub 시에 job 에적용되도록함

104 Job Script Option (2/2) 옵션 Argument 기능 -cwd 현재디렉터리를 job 의 working directory 로사용 (default) -o Output_file Job 의 stdout 결과를 output_file 로저장 -e Error_file Job 의 stderr 결과를 error_file 로저장 - h_rt : 작업경과예상시간 (hh:mm:ss) (wall clock time) - normal : normal 큐에작업제출시 Job이높은우선순위를얻기위해반드시명시 ( -l normal 혹은 -l normal=true ) - strategy : strategy 큐에작업제출시작업이높은우선순위를얻기위해 -l resource=value 반드시명시 ( -l strategy 혹은 -l strategy=true ) - OMP_NUM_THREADS : MPI 타스크당쓰레드수를의미하며, hybrid[mpi+openmp] 병렬작업실행시반드시명기 (-l OMP_NUM_THREADS=[MPI _ 타스크당 OpenMP 쓰레드수 ]) * normal, strategry 큐를제외한다른큐는 l 옵션으로기본 priority 이기 때문에큐이름을명시할필요없음, 추후변경시공지예정

105 Job Submission 연관된다수작업 Job_A 가끝난후 Job_B 가실행되어야하는경우 $ qsub Job_A.sh (Jobname은 Job_A라고가정 ) Your job 504 ("Job_A") has been submitted $ qsub -hold_jid Job_A job_b.sh 혹은 $ qsub -hold_jid 504 job_b.sh Job_A 와 job_b 가끝난후 Job_C 가실행되어야하는경우 $ qsub Job_A.sh (Jobname은 Job_A라고가정 ) Your job 504 ("Job_A") has been submitted $ qsub Job_B.sh (Jobname은 Job_B라고가정 ) Your job 505 ("Job_B") has been submitted $ qsub -hold_jid Job_A,Job_B Job_C.sh 혹은 $ qsub -hold_jid 504,505 Job_C.sh

106 Job monitoring (1/2) 기본작업정보 $ qstat ( 사용자자신 ) job-id prior name user state submit/start at queue slots ja-task-id work6 user1 r 04/02/ :13:09 bmt.q@s work5 user1 r 04/01/ :44:20 bmt.q@s work7 user1 r 04/01/ :54:34 bmt.q@s $ qstat u * ( 모든사용자 ) 상세작업정보 $ qstat f u "*" queuename qtype used/tot. load_avgavg arch states all.q@s0002 BIP 1/ lx24-amd sleep root r 04/01/ :49: all.q@s0003 BIP 1/ lx24-amd sleep root r 04/01/ :49:

107 Job monitoring (2/2) Pending 작업에대한상세정보 [Pending 이유 ] 출력 $ qalter w p job_id qstat 옵션 Option Result no option 명령을실행한사용자 job 의상세 list 를보여줌 -f / -F [resource_attribute] -u user_list Full output / * qstat f grep long Full output and show (selected) resources of queue(s) 명시한 user_id 에대한상태를보여줌. u "*" 는전체사용자의상태를보여줌. 주로 f 옵션과함께쓰임. -r Job 의 resource requirement 를 display -ext Job 의 Extended d information i 을 display -j <jobid> Pending/running job 에대한 information 을보여줌 -t Job 의 subtask 에대한추가정보 display

108 Node monitoring 노드상태모니터링 $ showhost HOSTNAME ARCH NCPU(AVAIL/TOT) LOAD MEMTOT MEMUSE SWAPTO SWAPUS s0001 lx24-amd64 0/ G 2.7G s0002 lx24-amd64 0/ G 3.7G s0003 lx24-amd64 0/ G 3.7G s0004 lx24-amd64 0/ G 3.7G s0005 lx24 amd64 1/ G 3 6G s0005 lx24-amd64 1/ G 3.6G s0006 lx24-amd64 0/ G 3.7G s0007 lx24-amd64 0/ G 3.7G s0008 lx24-amd64 2/ G 3.4G s0009 lx24-amd64 0/ G 3.7G s0009 lx24 amd64 0/ G 3.7G s0010 lx24-amd64 0/ G 3.7G s0011 lx24-amd64 0/ G 3.7G s0012 lx24-amd64 0/ G 3.7G s0013 lx24-amd64 0/ G 3.7G

109 Job control 작업삭제 $ qdel <jobid> : 해당 <jobid> 를가지는작업삭제 $ qdel -u <username> : <username> 의모든작업삭제 작업 suspend/resume $ qmod -sj <jobid> # suspend job $ qmod usj <jobid> # unsuspend(resume) job

110 QACCT Report and account for Sun Grid Engine usage 1068% SGE]$ qsub mpi.sh Your job ("mvapich_job") has been submitted 1069% SGE]$ qstat job-id prior name user state submit/start at queue slots ja-task-id mvapich_jo sunedu1 r 01/09/ :36:33 long@s % [sunedu1@login02 SGE]$ ls mvapich_job.* ihj b* mvapich_job.e mvapich_job.o mvapich_job.pe mvapich_job.po % [sunedu1@login02 SGE]$ qacct -j JOB ID

111 QMON Can comfortably utilize SGE via Graphical User Interface (GUI) by qmon Among the facilities provided by the qmon are submitting jobs, managing jobs, managing hosts, and managing job queues X-Windows is required by qmon for providing GUI Start qmon by type qmon

112 Submitting a Job via QMON Click, the submit job window will show

113 Job Control via QMON Click for viewing job status and controlling jobs

114 Queue Control Only one compute node usually consists of one queue but you can add more queues or remove existing queues Slot management Slot is the capacity of a queue that can handle concurrent jobs May provide Number of slot of a queue = Number of processor of the compute node

115 Queue Control via SGE Click for control queues

116 Queue Control via SGE (Cont ) This icon present a queue named compute0 prepared for a host named comp-pvfs-0-0 This queue consists of only one slot You can modify properties of this queue by highlight its icon and click the Modify button * Normal user cannot control queues

117 Queue Control via SGE (Cont ) Modify the properties of a queue Try to modify the number of slot

118 05. 병렬코드성능최적화기법 병렬코드성능을최적화하기위한타키온의컴파일러옵션과프로파일러 (gprof), 디버거 (totalview) 의사용방법을소개한다.

119 Agenda 순차컴파일러옵션소개및실습 - Intel, PGI, GNU 컴파일러주요옵션 - 실습및성능측정 디버거 & 프로파일러소개및실습 - Totalview -gprof, TAU, pgprof

120 컴파일러소개 벤더컴파일러명령프로그램소스확장자 pgcc C.c PGI pgcpp C++.c,.C,.cc,.cpp pgf77 F77.f,.for,.fpp,.F,.FOR pgf90/pgf95 F90/95.f,.for,.f90,.f95,.fpp,.F,.FOR,.F90,.F95 icc C.c Intel icc C++.c,.C,.cc,.cpp,.cxx,.c++ ifort F90.f,.for,.ftn,.f90,.fpp,.F,.FOR,.FTN,.FPP,.F90 GCC gcc C.c g++ C++.C,.cc,.cpp,.cxx 권장사항 :PGI 컴파일러

121 사용자프로그래밍환경 컴파일러별주요옵션 : GNU 컴파일러 컴파일러옵션 설명 -O[1 2 3] 오브젝트최적화. 숫자는최적화레벨 -funroll-all-loops 모든루프를 unrolling 함 -ffast-math Fast floating point model 사용 -minline-all-stringops 더많은 ilining 허용 -g 디버깅정보를생성 --help 옵션목록출력 권장옵션 : -O3 m64 fpic

122 사용자프로그래밍환경 컴파일러별주요옵션 : Intel 컴파일러옵션 -O[1 2 3] -ip, -ipo -vec_report[ ] -xsse4.2 -fast 설명오브젝트최적화. 숫자는최적화레벨프로시저간최적화벡터진단정보의양을조절타겟아키텍처 : SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 인스트럭션을위한코드를포함 -xt -O3 -ipo -no-prec-div -static의매크로 -g fp 디버깅정보를생성 -openmp -openmp_report[0 1 2] -help OpenMP 기반의 multi-thread 코드사용 OpenMP 병렬화진단레벨조절옵션목록출력 권장옵션 : -fast xsse4.2 m64 (-mcmodel=medium) ed ver.11 이후 -fast xs m64 (-mcmodel mcmodel=medium) ver.10

123 사용자프로그래밍환경 컴파일러별주요옵션 : PGI 컴파일러 컴파일러옵션 설명 -O[ ] 오브젝트최적화. 숫자는최적화레벨 -Mipa=fast 프로시저간최적화 -fast -fastsse -g, -gopt -mp -Minfo=mp, ipa -help -O2 -Munroll=c:1 -Mnoframe -Mlre Mautoinline 의매크로 SSE, SSE2를지원하는최적화디버깅정보를생성 OpenMP 기반의 multi-thread 코드사용 OpenMP관련정보, 프로시저간최적화옵션목록출력 권장옵션 : -fast tp nehalem-64 (-mcmodel=medium) medium)

124 TotalView 소개 Parallel and Distributed Debugging Tool Multi-process and multi-threaded Distributed, clusters MPI,OpenMP,PVM,PE, others C,C++,Fortran(F77),F90,HPF,assembler Memory debugging capabilities Powerful and Easy GUI

125 프로그램컴파일 디버깅옵션 -g 대부분의 UNIX 계열디버거옵션 소스코드에 symbolic 디버그정보를만들어주는기능과함께컴파일 대부분의 compiler 들이이옵션을사용 주의사항 디버깅과정에서는다른최적화옵션과함께사용하지않는것이좋음 최적화옵션들이소스코드를변경하기도하므로, 실제코드와다른형태를가질수도있음 병렬프로그램의디버깅을위해서는추가적인컴파일 flag 들이삽입됨 Ex) np, machinefile

126 TotalView 실행 (1/2) TotalView 의실행 사용자의필요에따라다양한방법이있음 실행파일의디버깅실행프로세스의추가 (attach) Core 파일을이용한디버깅디버거의환경이나실행형태를정의

127 TotalView 실행 (2/2) Command / Action totalview Starts t the debugger. You can then load a program or corefile, or else attach to a running process. totalview filename Starts t the debugger and loads the program specified by filename. totalview filename corefile Starts the debugger and loads the program specified by filename and its core file specified by corefile. totalview filename -a args Starts the debugger and passes all subsequent arguments (specified by args) to the program specified by filename. The -a option must appear after all other TotalView options on the command line. total ie filename remote hostname[:portn mber] totalview filename -remote hostname[:portnumber] Starts the debugger on the local host and the totalview debugger server on the remote host hostname. Loads the program specified by filename for remote debugging. You can specify a host name or TCP/IP address for hostname, and optionally, a TCP/IP port number for portnumber.

128 TotalView 실습 (1/4) 디버깅노드로접속 ssh s3177 $ ssh s3177 [3177 ~ 3200] ( 교육시스템 : ssh s000x) 예제파일 copy 및압축해제 $ mkdir Totalview $ cd Totalview $ tar -xvf /work01/edu_ex/tachyon/totalview/extv.tar 예제파일 (Fortran files) $ l $ ls ex1.f ex2.f ex2.inp ex3.f exmpi.f exomp.f machines run

129 TotalView 실습 (2/4) 컴파일 ex1.f ( basic ) $ pgf90(ifort) g ex1.f o ex1 TotalView 실행 $ totalview./ex1 & TotalView Windows Root window Process window

130 TotalView 실습 (3/4) 기본 TotalView 창 Root Window Process Window

131 TotalView 실습 (4/4) TotalView s state codes State Code B E H Description Stopped at a breakpoint Stopped because of an error In a Hold state K Thread is executing within the kernel M R T W Mixed some threads in a process are running and some not Running Thread is stopped At a watchpoint

132 TotalView 실습예제 1 (1/10) 실습예제 1 : 행렬계산 1) ( 1) ( : j i A C B A 1) 1)*( ( : 1) ( 1) ( : j i B j i A

133 TotalView 실습예제 1 (2/10) 프로그램실행 Process Window 의 Go 버튼클릭 단축키 : Process Window 에서 g 입력 실행 (Go) 의단축키가 g 이고이는 Window 에서 g 를누름으로써실행가능하다. or

134 TotalView 실습예제 1 (3/10) Breakpoint 설정 line 41 : printmatrix 에서왼쪽마우스버튼으로설정 Stop 아이콘 클릭

135 TotalView 실습예제 1 (4/10) 프로그램실행 Breakpoint 에서코드실행이잠시멈춤 Root window 에 B 상태로표시

136 TotalView 실습예제 1 (5/10) Dive : 실행코드서브루틴보기 Printmatrix line 에서마우스오른쪽클릭후 Dive 왼쪽마우스더블클릭 Undive : source 창 (process 창 ) 우측상단 더블클릭 클릭 (Undive) 우클릭 클릭

137 TotalView 실습예제 1 (6/10) Variable window 열기 line 36 a,b,c array 에서 dive( 마우스왼쪽더블클릭 ) Array정보를보여주는새창 (variable window) 더블클릭

138 TotalView 실습예제 1 (7/10) Array slice Slice 항목에서특정부분입력 Fortran (2:3,:)/ C [2:3][:]

139 TotalView 실습예제 1 (8/10) Modify variable value Value field 수정후 Enter Output result terminal 에서확인 클릭후임의의값입력

140 TotalView 실습예제 1 (9/10) Stepping 단축기 :s s s

141 TotalView 실습예제 1 (10/10) Quit TotalView Root window 에서 CTRL-Q Select yes

142 TotalView 실습예제 2 (1/4) 컴파일 totalviewt 실행 (i index 버그 ) pgif90 g ex2.f o ex2 totalview & New program window에서 browse : ex2 선택후 OK Process window $ pgf90(ifort) g ex2.f o ex2 $ totalview &

143 TotalView 실습예제 2 (2/4) 코드의실행 버그로인해코드에러발생 Root window 에서 E 상태로확인 Stack Trace에서 ex2 항목클릭하여 Error 위치확인 클릭

144 TotalView 실습예제 2 (3/4) 디버깅을위한 Evaluation point 설정 Line 29 : 오른쪽마우스클릭후 properties Evaluate click Expression 입력 Fortran : If(j.gt.4) $stop / C : if(j>4) $stop Eval 아이콘등록후 Restart Stack Frame 에서 j 값확인

145 TotalView 실습예제 2 (4/4) 디버깅 Action points list 에서 Eval 수정 Fortran : if(j.gt.4) goto $32 / C : if(j>4) goto 32 Restart 우클릭

146 TotalView 실습예제 3 (1/2) 컴파일 TotalView 실행 $ pgf90(ifort) g ex3.f o ex3 $./ex3 & $ ps u $ totalview & => compile => background 로실행 => 프로세서확인 => totalview 실행 New program window 에서 Attach to process browse : ex3 선택후 OK Process window 확장

147 TotalView 실습예제 3 (2/2) 디버깅 Program halt ( 단축키 : h ) Dive index variable i (line 8, yellow arrow) New variable window Edit i value : 99 -> 101 Enter

148 TotalView 실습예제 4 (1/8) OpenMP program 의디버깅 컴파일 totalview 실행 $ pgf90(ifort) g mp(openmp) exomp.f o exomp Compile $ export OMP_NUM_THREADS=4 $ totalview./exomp & Set breakpoints on lines 42 and 45 and Go Thread 정보확인 : root window 및 process window Environment Variable Execute the Totalview

149 TotalView 실습예제 4 (2/8) OpenMP program의디버깅 새로운추가 process window열기 Root window thread list 에서 View - Dive in New window root window thread list 에서선택한 Thread 의새로운 process window 가열림

150 TotalView 실습예제 4 (3/8) 각 thread 에따른 variable 확인 Set breakpoint on line 35 Restart on process window Dive tid variable on line 28 New window에서 View-Show Across-Threads 각 thread에따른 variable 확인가능 threads value

151 TotalView 실습예제 4 (4/8) MPI program 의디버깅 컴파일 totalview 실행 $mpif90 g exmpi.f o exmpi Compile $ export TOTALVIEW=/applic/debuggers/toolworks/totalview /bin/totalview $ ls machines Environment variable 설정및 machinefile 확인 $ mpirun dbg=totalview ssh np 4 machinefile./machines./exmpi Root window 와 Process window 의확인 4 개의 processes : Go 이후확인가능

152 TotalView 실습예제 4 (5/8) Breakpoint 설정 (line 73) Running program : Go Mpi process 임을확인하는대화창 : Check No MPI task 정보확인 Root window 및 process window 의 processes

153 TotalView 실습예제 4 (6/8) 영역분할확인 Dive js and je (line 60) New window에서 View-Show Across-Processes 각프로세서별로분할된영역인덱스 분할된영역인덱스

154 TotalView 실습예제 4 (7/8) Set barrier Breakpoint 설정과흡사 BARR 아이콘등록 View Message Queue and Message Queue Graph Process window 에서 Tools-Message Queue

155 TotalView 실습예제 4 (8/8) View Message Queue and Message Queue Graph Message Queue Graph 예제 Set breakpoint line 157 and 169 / Go Open Message Queue Graph Check option : pending sends Update : 통신정보 (tag)

156 프로파일링의목적 사용자코드의성능확인 프로그램의실행시간측정 특정함수가차지하는시간비율측정 병목과다른부분을기다리는코드의영역찾기

157 프로파일링 tools prof, gprof(gnu Profiler) PAPI Dynaprof GuideView (OpenMP) Vampir (MPI) TAU (OpenMP, MPI, Hybrid) Vprof Etc.

158 GNU Profiler (gprof) gprof 를이용한프로파일링단계 프로파일링옵션을사용한프로그램컴파일 $gcc o [myprog][myprog.c] -pg 프로파일데이터생성을위한프로그램실행 $./[myprog] // gmon.out( 프로파일데이터파일 ) 생성 gprof 를사용하여프로파일데이터분석 $gprof [option]./[myprog] gmon.out > myprog_prof.txt

159 GNU Profiler (gprof) gprof 의주요옵션 출력형식관련옵션 -A 소스코드에분석결과를삽입하여출력 -C[funcName] -J[funcName] -p[funcname] 지정된심볼만함수분석에사용지정된심볼만소스코드에분석결과를삽입평면프로파일생성, [funcname] 지정시지정된심볼만생성 -q[funcname] 호출그래프프로파일생성, [funcname] 지정시지정된심볼만생성 분석옵션 -a static 으로정의된함수를분석하지않음 -c 프로파일링옵션으로컴파일되지않은함수에대하여짐작하여호출관계를추정하여분석함 -l 줄단위프로파일링 -s 프로파일링데이터파일들을읽어서 gmon.sum 에합산하여기록

160 GNU Profiler (gprof) 프로파일링데이터분석 평면프로파일 (Flat Profile) 각함수의총수행시간, 평균수행시간등을분석 함수간호출정보는없음 -z, -c 옵션을통해호출되지않은함수의정보분석 호출그래프프로파일 (Call Graph) 각함수의호출관계를통한수행시간분석 평면프로파일보다자세한분석

161 GNU Profiler (gprof) 프로파일링출력분석 : 평면프로파일 (Flat Profile) % time cumulative seconds self seconds calls self ms/call total ms/call name 프로그램내에서함수가수행된전체시간의백분율 (self) 프로그램내에서함수와테이블의위함수들이수행된시간의합 프로그램내에서함수가수행된전체시간 프로그램내에서함수가호출된횟수 함수의호출당평균수행시간, 다른함수호출에의해사용된시간제외 ( = self seconds / calls ) 함수의호출당평균수행시간, 다른함수호출에의해사용된시간포함 함수의이름

162 GNU Profiler (gprof) 프로파일링출력분석 : 호출그래프프로파일 (Call Graph) index 각함수마다유일하게지정되는번호 % time 함수수행시간중차지하는비율 self 대상함수의순수수행시간 children called name 다른함수를호출하는데사용된시간총함수의호출횟수와분석함수에의한호출횟수표시함수의이름과 index

163 gprof 실습 (1/4) 디버깅노드로접속 ssh s3177 ~ 3200 $ ssh s3177 [~ 3200] 예제파일 Copy 및압축해제 mkdir gprof cd gprof cp /home01/sunedu1/test.c./ $ mkdir gprof $ cd gprof $ cp /work01/edu_ex/tachyon/gprof/test.c./ 예제파일 (c file) 반복연산코드

164 gprof 실습 (2/4) int main(void){ int i,x1=10,y1=3,r1=0; float x2=10,y2=3,r2=0; 0; } for(i=0;i< ;i++){ r1+=int_math(x1,y1); r2+=float_math(y2,y2); } int_math x 1,000,000 float_math int_submath x 1 int_power float_submath x 1 float_power x 2 x 2 int_power float_power

165 gprof 실습 (3/4) 컴파일 gcc test.c o test.x pg $ gcc test.c o test.x -pg 실행./test.x gmon.out file 생성 $./test.x gprof 를이용한 Profling gprof./test.x t gmon.out > profile.txt t Profile 파일의분석 여러옵션들의사용실습 $ gprof./test.x gmon.out > profile.txt

166 gprof 실습 (4/4) 프로파일링결과확인 $ more profile.txt Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ns/call ns/call name float_power int_power int_submath float_submath float_math main int_math. Call graph (explanation follows) granularity: each sample hit covers 2 byte(s) for 5.23% of 0.19 seconds index % time self children called name <spontaneous> [1] main [1] / int_math [2] / float_math [3] / main [1] [2] int_math [2] / int_submath [4] / int_power [7] / int_math [2] [4] int_submath [4] / int_power [7] / int_math [2] / int_submath [4] [7] int_power [7]

167 TAU Tuning and Analysis Utilities Performance tool suite that offers profiling and tracing of programs Multi-level performance instrumentation Multi-language automatic source instrumentation Flexible and configurable performance measurement Widely-ported parallel performance profiling system Computer system architectures and operating systems Different programming languages and compilers Support for multiple parallel programming paradigms Multi-threading, message passing, mixed-mode, hybrid Support for object-oriented and generic programming Integration in complex software systems and applications

168 TAU 예제실습 TAU 의기본적인사용법 tau compiler 를통해 instrumented 바이너리를생성 위의과정을통해만들어진바이너리를실행 작업이종료후만들어진 performance file (profile.***)..) 을확인 위의단계에서만들어진 performance file를 visualization 등을통해분석 pprof paraprof // GUI-based // text-based

169 TAU 예제실습 (1/5) TAU 사용예 (mvapich + pgi) mvapich & pgi 선택 not need in Edu_system $ cd ~ $ cp a /applic/shell/.bash* ~ $./select-mpi-bash mvapich ihpgi $ exit 실습폴드생성 $ mkdir TAU $ cd TAU 예제파일복사 $ cp /work01/edu_ex/tachyon/tau/*./ $ ls exmpi.f90 machines $ source tau_env

170 TAU 예제실습 (2/5) TAU 사용예 (mvapich + pgi) tau 컴파일러를이용한 compile $ tau_f90.sh -o test exmpi.f90 바이너리파일실행 $ mpirun -np 4 -machinefile machines./test 실행후생성된 trace file 확인 $ ls *.trc tautrace trc tautrace trc tautrace trc tautrace trc performance file 생성 $ tau_merge tautrace.*.trc exmpi.trc trc 파일생성 OR $ trace2profile exmpi.trc tau.edf GUI Mode

171 TAU 예제실습 (3/5) TAU 사용예 (mvapich + pgi) 실행후생성된 performance file 확인 $ cd MULTI GET_TIME_OF_DAY/ $ ls proifle profile profile profile profile performance file 분석 $ pprof Text Mode OR $ paraprof GUI Mode

172 TAU 예제실습 (4/5) TAU 사용예 (mvapich + pgi) pprof NODE 0;CONTEXT 0;THREAD 0: %Time Exclusive Inclusive #Call #Subrs Inclusive Name msec total msec usec/call , FDM2D ,895 1, FDM2D => JACOBI ,895 1, JACOBI COMMUNICATE FDM2D => COMMUNICATE FDM2D => MPI_Init() MPI_Init() COMMUNICATE => MPI_Wait() MPI_Wait() MPI_Allreduce() FDM2D => MPI_Allreduce() COMMUNICATE => MPI_Isend() MPI_Isend() COMMUNICATE => MPI_Irecv() MPI_Irecv() FDM2D => MPI_Finalize() MPI_Finalize() MPI_Allgather() MPI_Init() => MPI_Allgather() MPI_Comm_create() MPI_Init() => MPI_Comm_create() MPI_Init() => MPI_Allreduce() MPI_Errhandler_set() MPI_Comm_rank() MPI_Comm_split() MPI_Init() => MPI_Comm_split() MPI_Group_free()

173 TAU 예제실습 (5/5) TAU 사용예 (mvapich + pgi) paraprof

174 PGI Parallel Profiler (PGPROF) PGPROF 소개 (v 7.1) C, C++, F77, F90으로컴파일된프로그램의수행으로생성된프로파일링데이터분석 프로파일링을위한 GUI 제공 프로파일링방법 Fine grain observations Different levels of intrusiveness 병렬프로파일링기능제공 MPI applications OpenMP multi-threaded applications

175 PGI Parallel Profiler (PGPROF) pgprof 를이용한프로파일링단계 pgi 프로파일링옵션을사용한프로그램컴파일 $pgf90 o [myprog] [myprog.f90] Mprof=[option] 프로파일데이터생성을위한프로그램실행 $./[myprog] // pgprof.out 생성 ( 프로파일데이터파일 ) pgprof 를사용하여프로파일데이터분석 $pgprof [options] [ 프로파일데이터파일 ] $pgprof -exe./[myprog] [ 프로파일데이터파일 ]

176 PGI Parallel Profiler (PGPROF) 프로파일링방법 프로파일링정보 프로그램에서가장큰수행시간을차지하는함수 각함수나라인이실행되는데걸리는시간 프로그램에서 hot-spots 병렬프로그램의효율 프로파일링방법에따라프로파일링은더혹은덜프로그램에끼어들수있다.

177 PGI Parallel Profiler (PGPROF) 프로파일링을위한주요컴파일옵션 Option -Mprof=lines -Mprof=func -Mprof=time Profiling Information Line Level profiling, 프로그램의각 line 에대한소요시간, 실행횟수계산 Function Level profiling, 프로그램의각 function에대한소요시간, 호출횟수계산 Sample-based profiling, sample-based method 를사용한명령어에대한소요시간계산 + intrusive -Mprof=hwcts x64 HW counters 에접근하는 PAPI 인터페이스를이용한 Sample-based profiling MPI profiling, MPI message size 와 sends/receives 횟수수 -Mprof=[mpi] 집, 다른프로파일링옵션들과함께사용되어야한다. [mpi] : mpich1, mpich2, (mvapich1) -

178 PGI Parallel Profiler (PGPROF) 프로파일링출력분석 Count Time Cost Cover Bytes Bytes Receive Bytes Send Messages Receives es Sends 프로그램내에서 line 혹은 function 이수행된횟수 프로그램내에서 line 혹은 function 이수행된시간 프로그램내에서 line 혹은 function 이수행된총시간, 함수내에서다른함수를수행한시간까지포함 프로그램내에서적어도한번이상수행되어진함수내의 Line들의길이와전체 Line에대한 percentage 송수신된메시지바이트수 수신된메시지바이트수 송신한메시지바이트수 송수신된메시지개수 수신된메시지개수 송신한메시지개수

179 PGPROF 실습 (1/3) 디버깅노드로접속 ~ 92 $ ssh tachyon189 [190, 191, 192] 예제파일 Copy 및압축해제 mkdir gprof cd gprof cp /home01/sunedu1/test.c./ $ mkdir pgprof $ cd pgprof $ cp /work01/edu_ex/tachyon/pgprof/*./ 예제파일 (fortran file) 2D FDM code

180 PGPROF 실습 (2/3) 컴파일 gcc test.c o test.x pg $ mpif90 exmpi.f90 o test.x Mprof=func,mvapich 실행./test.x pgprof.out, pgprof1.out, pgprof2.out, pgprof3.out file 생성 $ mpirun -np 4 -machinefile hosts./test.x pgprof 를이용한 Profling gprof./test.x gmon.out > profile.txt Profile 파일의분석 여러옵션들의사용실습 $ pgprof exe./test.x pgprof.out

TACHYON_Userguide_V1_0.hwp

TACHYON_Userguide_V1_0.hwp KISTI TACHYON 사용자지침서 Ver. 1.0 슈퍼컴퓨팅센터 1. 시스템사양및구성 KISTI TACHYON 사용자지침서 슈퍼컴퓨터 4호기초병렬컴퓨팅시스템 (1차분) 인 TACHYON( 타키온 ) 은 SUN의 Blade 6048 시스템으로이루어져있으며, 이론최고성능 (Rpeak) 24TFlops 제공 구분 내용 비고 제조사및모델 SUN Blade 6048

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

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

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

More information

Solaris Express Developer Edition

Solaris Express Developer Edition Solaris Express Developer Edition : 2008 1 Solaris TM Express Developer Edition Solaris OS. Sun / Solaris, Java, Web 2.0,,. Developer Solaris Express Developer Edition System Requirements. 768MB. SPARC

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

solution map_....

solution map_.... SOLUTION BROCHURE RELIABLE STORAGE SOLUTIONS ETERNUS FOR RELIABILITY AND AVAILABILITY PROTECT YOUR DATA AND SUPPORT BUSINESS FLEXIBILITY WITH FUJITSU STORAGE SOLUTIONS kr.fujitsu.com INDEX 1. Storage System

More information

Backup Exec

Backup Exec (sjin.kim@veritas.com) www.veritas veritas.co..co.kr ? 24 X 7 X 365 Global Data Access.. 100% Storage Used Terabytes 9 8 7 6 5 4 3 2 1 0 2000 2001 2002 2003 IDC (TB) 93%. 199693,000 TB 2000831,000 TB.

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,

More information

Microsoft PowerPoint - eSlim SV5-2410 [20080402]

Microsoft PowerPoint - eSlim SV5-2410 [20080402] Innovation for Total Solution Provider!! eslim SV5-2410 Opteron Server 2008. 3 ESLIM KOREA INC. 1. 제 품 개 요 eslim SV5-2410 Server Quad-Core and Dual-Core Opteron 2000 Series Max. 4 Disk Bays for SAS and

More information

Microsoft PowerPoint - eSlim SV5-2510 [080116]

Microsoft PowerPoint - eSlim SV5-2510 [080116] Innovation for Total Solution Provider!! eslim SV5-2510 Opteron Server 2008. 03 ESLIM KOREA INC. 1. 제 품 개 요 eslim SV5-2510 Server Quad-Core and Dual-Core Opteron 2000 Series 6 internal HDD bays for SAS

More information

Integ

Integ HP Integrity HP Chipset Itanium 2(Processor 9100) HP Integrity HP, Itanium. HP Integrity Blade BL860c HP Integrity Blade BL870c HP Integrity rx2660 HP Integrity rx3600 HP Integrity rx6600 2 HP Integrity

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

<31325FB1E8B0E6BCBA2E687770>

<31325FB1E8B0E6BCBA2E687770> 88 / 한국전산유체공학회지 제15권, 제1호, pp.88-94, 2010. 3 관내 유동 해석을 위한 웹기반 자바 프로그램 개발 김 경 성, 1 박 종 천 *2 DEVELOPMENT OF WEB-BASED JAVA PROGRAM FOR NUMERICAL ANALYSIS OF PIPE FLOW K.S. Kim 1 and J.C. Park *2 In general,

More information

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서 PowerChute Personal Edition v3.1.0 990-3772D-019 4/2019 Schneider Electric IT Corporation Schneider Electric IT Corporation.. Schneider Electric IT Corporation,,,.,. Schneider Electric IT Corporation..

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat Sun Server X3-2( Sun Fire X4170 M3) Oracle Solaris : E35482 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including

More information

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

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수 사용 설명서 TeraStation Pro II TS-HTGL/R5 패키지 내용물: 본체 (TeraStation) 이더넷 케이블 전원 케이블 TeraNavigator 설치 CD 사용 설명서 (이 설명서) 제품 보증서 www.buffalotech.com 소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를

More information

Oracle9i Real Application Clusters

Oracle9i Real Application Clusters Senior Sales Consultant Oracle Corporation Oracle9i Real Application Clusters Agenda? ? (interconnect) (clusterware) Oracle9i Real Application Clusters computing is a breakthrough technology. The ability

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

<목 차 > 제 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

<목 차 > 제 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 열차운행정보 승무원 확인시스템 구축 제 안 요 청 서 2014.6. 제 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.시운전 및 하자보증 10

More information

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS ( PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (http://ddns.hanwha-security.com) Step 1~5. Step, PC, DVR Step 1. Cable Step

More information

°í¼®ÁÖ Ãâ·Â

°í¼®ÁÖ Ãâ·Â Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

LXR 설치 및 사용법.doc

LXR 설치 및 사용법.doc Installation of LXR (Linux Cross-Reference) for Source Code Reference Code Reference LXR : 2002512( ), : 1/1 1 3 2 LXR 3 21 LXR 3 22 LXR 221 LXR 3 222 LXR 3 3 23 LXR lxrconf 4 24 241 httpdconf 6 242 htaccess

More information

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1 : LabVIEW Control Design, Simulation, & System Identification LabVIEW Control Design Toolkit, Simulation Module, System Identification Toolkit 2 (RLC Spring-Mass-Damper) Control Design toolkit LabVIEW

More information

목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨

목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨 최종 수정일: 2010.01.15 inexio 적외선 터치스크린 사용 설명서 [Notes] 본 매뉴얼의 정보는 예고 없이 변경될 수 있으며 사용된 이미지가 실제와 다를 수 있습니다. 1 목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시

More information

Oracle Database 10g: Self-Managing Database DB TSC

Oracle Database 10g: Self-Managing Database DB TSC Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

untitled

untitled Agenda - PLM on Sun - PLM System Architecture - Sun s Solutions 1 PLM on Sun 2 Hardware, Infrastructure software, architecture and network computing expertise PLM software and services including systems

More information

Intra_DW_Ch4.PDF

Intra_DW_Ch4.PDF The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology

More information

ecorp-프로젝트제안서작성실무(양식3)

ecorp-프로젝트제안서작성실무(양식3) (BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing

More information

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

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터 운영체제실습 Raspbian 설치 2017. 3 표월성 wspyo74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 설치 1. 라즈비안 (Raspbian 설치 ) 2. 설치후, 설정 설정사항 Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로

More information

04_오픈지엘API.key

04_오픈지엘API.key 4. API. API. API..,.. 1 ,, ISO/IEC JTC1/SC24, Working Group ISO " (Architecture) " (API, Application Program Interface) " (Metafile and Interface) " (Language Binding) " (Validation Testing and Registration)"

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

untitled

untitled 15 Patterns of Creative Process Redesign J. Ray Cho Abstract Process Innovation (PI) is a fundamental rethinking and redesign of business processes to achieve improvements in critical contemporary measures

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

Microsoft Word - zfs-storage-family_ko.doc

Microsoft Word - zfs-storage-family_ko.doc 데이터 관리 용이성과 스토리지 효율성을 하나로 결합 주요 기능 및 이점 획기적인 가격 대비 성능과 혁신적인 단순성을 하나로 결합 특징 문제를 손쉽게 발견 및 수정하고 성능을 최적화할 수 있는 탁월한 관리 툴 포괄적이고 통합된 데이터 서비스 및 프로토콜 액티브-액티브 클러스터 옵션 데이터 압축 및 인라인 중복 제거 지속적인 데이터 증가로 인해 오늘날 IT 인프라는

More information

05(533-537) CPLV12-04.hwp

05(533-537) CPLV12-04.hwp 모바일 OS 환경의 사용자 반응성 향상 기법 533 모바일 OS 환경의 사용자 반응성 향상 기법 (Enhancing Interactivity in Mobile Operating Systems) 배선욱 김정한 (Sunwook Bae) 엄영익 (Young Ik Eom) (Junghan Kim) 요 약 사용자 반응성은 컴퓨팅 시스템에서 가장 중요 한 요소 중에 하나이고,

More information

2011 PLSI 병렬컴퓨팅경진대회문제 01. 대학원팀 02. 학부팀 - 경진내용 - 경진환경 주어진순차코드를병렬화하여성능향상도 ( 획득점수 ) 를측정 점수 = ( 순차코드수행시간 ) / ( 병렬화코드수행시간 ) 프로그래밍언어 : C, Fortran 순차코드는 50 라

2011 PLSI 병렬컴퓨팅경진대회문제 01. 대학원팀 02. 학부팀 - 경진내용 - 경진환경 주어진순차코드를병렬화하여성능향상도 ( 획득점수 ) 를측정 점수 = ( 순차코드수행시간 ) / ( 병렬화코드수행시간 ) 프로그래밍언어 : C, Fortran 순차코드는 50 라 2011 PLSI 병렬컴퓨팅경진대회문제 01. 대학원팀 02. 학부팀 - 경진내용 - 경진환경 주어진순차코드를병렬화하여성능향상도 ( 획득점수 ) 를측정 점수 = ( 순차코드수행시간 ) / ( 병렬화코드수행시간 ) 프로그래밍언어 : C, Fortran 순차코드는 50 라인내외로작성하여제공됨 참가자들은컴파일러 (intel, gnu, pgi) 선택가능 시간제한 6

More information

vm-웨어-01장

vm-웨어-01장 Chapter 16 21 (Agenda). (Green),., 2010. IT IT. IT 2007 3.1% 2030 11.1%, IT 2007 1.1.% 2030 4.7%, 2020 4 IT. 1 IT, IT. (Virtualization),. 2009 /IT 2010 10 2. 6 2008. 1970 MIT IBM (Mainframe), x86 1. (http

More information

초보자를 위한 C++

초보자를 위한 C++ C++. 24,,,,, C++ C++.,..,., ( ). /. ( 4 ) ( ).. C++., C++ C++. C++., 24 C++. C? C++ C C, C++ (Stroustrup) C++, C C++. C. C 24.,. C. C+ +?. X C++.. COBOL COBOL COBOL., C++. Java C# C++, C++. C++. Java C#

More information

SchoolNet튜토리얼.PDF

SchoolNet튜토리얼.PDF Interoperability :,, Reusability: : Manageability : Accessibility :, LMS Durability : (Specifications), AICC (Aviation Industry CBT Committee) : 1988, /, LMS IMS : 1997EduCom NLII,,,,, ARIADNE (Alliance

More information

0125_ 워크샵 발표자료_완성.key

0125_ 워크샵 발표자료_완성.key WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. WordPress is installed on a web server, which either is part of an Internet hosting service or is a network host

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

PRO1_02E [읽기 전용]

PRO1_02E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_02E1 Information and 2 STEP 7 3 4 5 6 STEP 7 7 / 8 9 10 S7 11 IS7 12 STEP 7 13 STEP 7 14 15 : 16 : S7 17 : S7 18 : CPU 19 1 OB1 FB21 I10 I11 Q40 Siemens AG

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

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

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ] 품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ] 2014. 10. 목 차 I. Stack 통합테스트개요 1 1. 목적 1 II. 테스트대상소개 2 1. The Bug Genie 소개 2 2. The Bug Genie 주요기능 3 3. The Bug Genie 시스템요구사항및주의사항 5 III. Stack 통합테스트 7 1. 테스트환경

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

ESP1ºÎ-04

ESP1ºÎ-04 Chapter 04 4.1..,..,.,.,.,. RTOS(Real-Time Operating System)., RTOS.. VxWorks(www.windriver.com), psos(www.windriver.com), VRTX(www.mento. com), QNX(www.qnx.com), OSE(www.ose.com), Nucleus(www.atinudclus.

More information

ARMBOOT 1

ARMBOOT 1 100% 2003222 : : : () PGPnet 1 (Sniffer) 1, 2,,, (Sniffer), (Sniffer),, (Expert) 3, (Dashboard), (Host Table), (Matrix), (ART, Application Response Time), (History), (Protocol Distribution), 1 (Select

More information

15_3oracle

15_3oracle Principal Consultant Corporate Management Team ( Oracle HRMS ) Agenda 1. Oracle Overview 2. HR Transformation 3. Oracle HRMS Initiatives 4. Oracle HRMS Model 5. Oracle HRMS System 6. Business Benefit 7.

More information

PowerPoint Presentation

PowerPoint Presentation Data Protection Rapid Recovery x86 DR Agent based Backup - Physical Machine - Virtual Machine - Cluster Agentless Backup - VMware ESXi Deploy Agents - Windows - AD, ESXi Restore Machine - Live Recovery

More information

KDTÁ¾ÇÕ-2-07/03

KDTÁ¾ÇÕ-2-07/03 CIMON-PLC CIMON-SCADA CIMON-TOUCH CIMON-Xpanel www.kdtsys.com CIMON-SCADA Total Solution for Industrial Automation Industrial Automatic Software sphere 16 Total Solution For Industrial Automation SCADA

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

김기남_ATDC2016_160620_[키노트].key

김기남_ATDC2016_160620_[키노트].key metatron Enterprise Big Data SKT Metatron/Big Data Big Data Big Data... metatron Ready to Enterprise Big Data Big Data Big Data Big Data?? Data Raw. CRM SCM MES TCO Data & Store & Processing Computational

More information

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

R50_51_kor_ch1

R50_51_kor_ch1 S/N : 1234567890123 Boot Device Priority NumLock [Off] Enable Keypad [By NumLock] Summary screen [Disabled] Boor-time Diagnostic Screen [Disabled] PXE OPROM [Only with F12]

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5] The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr

More information

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), 1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)

More information

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC Step 1~5. Step, PC, DVR Step 1. Cable Step

More information

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh Page 1 of 6 Learn Korean Ep. 13: Whether (or not) and If Let s go over how to say Whether and If. An example in English would be I don t know whether he ll be there, or I don t know if he ll be there.

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

01Àå

01Àå CHAPTER 01 1 Fedora Fedora Linux Toolbox 2003 Fedora Core( ) http://fedoraproject.org www.redhat.com 2 CHAPTER Fedora RHEL GNU public license www.centos.org www.yellowdoglinux.com www. lineox.net www.

More information

<4D F736F F D20C5EBC7D5C7D8BCAEBDC3BDBAC5DB5F D2BC0C720424D54B0E1B0FABAB8B0EDBCAD2E646F63>

<4D F736F F D20C5EBC7D5C7D8BCAEBDC3BDBAC5DB5F D2BC0C720424D54B0E1B0FABAB8B0EDBCAD2E646F63> 통합해석시스템기반 STARCCM+ 의병렬계산성능 BMT 결과보고서 클루닉스 본자료는 클루닉스에서 CAE 해석 S/W(STARCCM+) 의병렬처리성능을측정한 BMT 결과보고서입니다. BMT 환경 : GridCenter-CAP, GridCenter-HPC BMT S/W : STARCCM+ BMT 진행 : 클루닉스 BMT 일자 : 2009년 08월 12일 ~2009년

More information

인켈(국문)pdf.pdf

인켈(국문)pdf.pdf M F - 2 5 0 Portable Digital Music Player FM PRESET STEREOMONO FM FM FM FM EQ PC Install Disc MP3/FM Program U S B P C Firmware Upgrade General Repeat Mode FM Band Sleep Time Power Off Time Resume Load

More information

Portal_9iAS.ppt [읽기 전용]

Portal_9iAS.ppt [읽기 전용] Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

KDTÁ¾ÇÕ-1-07/03

KDTÁ¾ÇÕ-1-07/03 CIMON-PLC CIMON-SCADA CIMON-TOUCH CIMON-Xpanel www.kdtsys.com CIMON-PLC Total Solution for Industrial Automation PLC (Program Logic Controller) Sphere 8 Total Solution For Industrial Automation PLC Application

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Sena Device Server Serial/IP TM Version

Sena Device Server Serial/IP TM Version Sena Device Server Serial/IP TM Version 1.0.0 2005. 3. 7. Release Note Revision Date Name Description V1.0.0 2005-03-7 HJ Jeon Serial/IP 4.3.2 ( ) 210 137-130, : (02) 573-5422 : (02) 573-7710 email: support@sena.com

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

thesis

thesis CORBA TMN Surveillance System DPNM Lab, GSIT, POSTECH Email: mnd@postech.ac.kr Contents Motivation & Goal Related Work CORBA TMN Surveillance System Implementation Conclusion & Future Work 2 Motivation

More information

<49534F20323030303020C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D7204954534D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

<49534F20323030303020C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D7204954534D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770> ISO 20000 인증 사후심사 컨설팅 및 ITSM 시스템 고도화를 위한 제 안 요 청 서 2008. 6. 한 국 학 술 진 흥 재 단 이 자료는 한국학술진흥재단 제안서 작성이외의 목적으로 복제, 전달 및 사용을 금함 목 차 Ⅰ. 사업개요 1 1. 사업명 1 2. 추진배경 1 3. 목적 1 4. 사업내용 2 5. 기대효과 2 Ⅱ. 사업추진계획 4 1. 추진체계

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not, Page 1 of 5 Learn Korean Ep. 4: To be and To exist Of course to be and to exist are different verbs, but they re often confused by beginning students when learning Korean. In English we sometimes use the

More information

#Ȳ¿ë¼®

#Ȳ¿ë¼® http://www.kbc.go.kr/ A B yk u δ = 2u k 1 = yk u = 0. 659 2nu k = 1 k k 1 n yk k Abstract Web Repertoire and Concentration Rate : Analysing Web Traffic Data Yong - Suk Hwang (Research

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

기타자료.PDF

기타자료.PDF < > 1 1 2 1 21 1 22 2 221 2 222 3 223 4 3 5 31 5 311 (netting)5 312 (matching) 5 313 (leading) (lagging)6 314 6 32 6 321 7 322 8 323 13 324 19 325 20 326 20 327 20 33 21 331 (ALM)21 332 VaR(Value at Risk)

More information

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase startup-config Erasing the nvram filesystem will remove all configuration files Continue? [confirm] ( 엔터 ) [OK] Erase

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 EBC (Equipment Behaviour Catalogue) - ISO TC 184/SC 5/SG 4 신규표준이슈 - 한국전자통신연구원김성혜 목차 Prologue: ISO TC 184/SC 5 그룹 SG: Study Group ( 표준이슈발굴 ) WG: Working Group ( 표준개발 ) 3 EBC 배경 제안자 JISC (Japanese Industrial

More information

VOL.76.2008/2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

VOL.76.2008/2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph 인터그래프코리아(주)뉴스레터 통권 제76회 비매품 News Letters Information Systems for the plant Lifecycle Proccess Power & Marine Intergraph 2008 Contents Intergraph 2008 SmartPlant Materials Customer Status 인터그래프(주) 파트너사

More information

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인 스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게

More information