<4D F736F F F696E74202D FC0CFB9DD5FBAB4B7C4C7C1B7CEB1D7B7A1B9D62E >

Size: px
Start display at page:

Download "<4D F736F F F696E74202D FC0CFB9DD5FBAB4B7C4C7C1B7CEB1D7B7A1B9D62E >"

Transcription

1 컴퓨팅브릿지일반병렬프로그래밍 김정한

2 목표 병렬프로그래밍을하기위해필요한사전지식을 전달하고, OpenMP와 MPI의개념및사용법을소개하여간단한병렬프로그램을직접작성할수있게한다.

3 INDEX 1. 병렬프로그래밍개요 2. OpenMP 사용법 3. MPI 사용법

4 01. 병렬프로그래밍개요 병렬프로그래밍과관련된개념을정리하고병렬프로그래밍모델, 성능측정, 그리고병렬프로그램의작성과정에대해알아본다.

5 병렬처리 (1/3) 병렬처리란, 순차적으로진행되는계산영역을 여러개로나누어각각을여러프로세서에서 동시에수행되도록하는것

6 병렬처리 (2/3) 순차실행 병렬실행 Inputs Outputs

7 병렬처리 (3/3) 주된목적 : 더욱큰문제를더욱빨리처리하는것 프로그램의 wall-clock time 감소 해결할수있는문제의크기증가 병렬컴퓨팅계산자원 여러개의프로세서 (CPU) 를가지는단일컴퓨터 네트워크로연결된다수의컴퓨터

8 왜병렬인가? 고성능단일프로세서시스템개발의제한 전송속도의한계 ( 구리선 : 9 cm/nanosec) 소형화의한계 경제적제한 보다빠른네트워크, 분산시스템, 다중프로세서시스템 아키텍처의등장 병렬컴퓨팅환경 상대적으로값싼프로세서를여러개묶어동시에사용함 으로써원하는성능이득기대

9 프로그램과프로세스 프로세스는보조기억장치에하나의파일로서저장되어있던실행가능한프로그램이로딩되어운영체제 ( 커널 ) 의실행제어상태에놓인것 프로그램 : 보조기억장치에저장 프로세스 : 컴퓨터시스템에의하여실행중인프로그램 태스크 = 프로세스

10 프로세스 프로그램실행을위한자원할당의단위가되고, 한프로그램에서여러개실행가능 다중프로세스를지원하는단일프로세서시스템 자원할당의낭비, 문맥교환으로인한부하발생 문맥교환 어떤순간한프로세서에서실행중인프로세스는항상하나 현재프로세스상태저장 다른프로세스상태적재 분산메모리병렬프로그래밍모델의작업할당기준

11 스레드프로세스에서실행의개념만을분리한것 프로세스 = 실행단위 ( 스레드 ) + 실행환경 ( 공유자원 ) 하나의프로세스에여러개존재가능 같은프로세스에속한다른스레드와실행환경을공유 다중스레드를지원하는단일프로세서시스템 다중프로세스보다효율적인자원할당 다중프로세스보다효율적인문맥교환 공유메모리병렬프로그래밍모델의작업할당기준

12 프로세스와스레드 하나의스레드를갖는 3 개의프로세스 3 개의스레드를갖는하나의프로세스 스레드 프로세스

13 병렬성유형데이터병렬성 (Data Parallelism) 도메인분해 (Domain Decomposition) 각태스크는서로다른데이터를가지고동일한일련의계산을수행 태스크병렬성 (Task Parallelism) 기능적분해 (Functional Decomposition) 각태스크는같거나또는다른데이터를가지고서로다른계산을수행

14 데이터병렬성 (1/3) 데이터병렬성 : 도메인분해 Problem Data Set Task 1 Task 2 Task 3 Task 4

15 데이터병렬성 (2/3) 코드예 ) : 행렬의곱셈 (OpenMP) Serial Code Parallel Code DO K=1,N DO J=1,N DO I=1,N C(I,J) = C(I,J) + (A(I,K)*B(K,J)) END DO END DO END DO!$OMP PARALLEL DO DO K=1,N DO J=1,N DO I=1,N C(I,J) = C(I,J) + A(I,K)*B(K,J) END DO END DO END DO!$OMP END PARALLEL DO

16 데이터병렬성 (3/3) 데이터분해 ( 프로세서 4 개 :K=1,20 일때 ) Process Iterations ti of K Data Elements Proc0 K = 1:5 Proc1 K = 6:10 Proc2 K = 11:15 Proc3 K = 16:20 A(I,1:5) B(1:5,J) A(I,6:10) B(6:10,J) A(I,11:15) 15) B(11:15,J) A(I,16:20) B(16:20,J)

17 태스크병렬성 (1/3) 태스크병렬성 : 기능적분해 Problem Instruction Set Task 1 Task 2 Task 3 Task 4

18 태스크병렬성 (2/3) 코드예 ) : (OpenMP) Serial Code PROGRAM MAIN CALL interpolate() CALL compute_stats() CALL gen_random_params() END Parallel Code PROGRAM MAIN!$OMP PARALLEL!$OMP SECTIONS CALL interpolate()!$omp SECTION CALL compute_stats()!$omp SECTION CALL gen_random_params()!$omp END SECTIONS!$OMP END PARALLEL END

19 태스크병렬성 (3/3) 태스크분해 (3 개의프로세서에서동시수행 ) Process Code Proc0 Proc1 Proc2 CALL interpolate() CALL compute_stats() CALL gen_random_params() _p

20 병렬아키텍처 (1/2) Processor Organizations Single Instruction, Single Data Stream (SISD) Single Instruction, Multiple Data Stream (SIMD) Multiple Instruction, Single Data Stream (MISD) Multiple Instruction, Multiple Data Stream (MIMD) Uniprocessor Vector Array Shared memory Distributed memory Processor Processor (tightly coupled) (loosely coupled) Clusters Symmetric multiprocessor (SMP) Non-uniform Memory Access (NUMA)

21 병렬아키텍처 (2/2) 최근의고성능시스템 : 분산 - 공유메모리지원 소프트웨어적 DSM (Distributed Shared Memory) 구현 공유메모리시스템에서메시지패싱지원 분산메모리시스템에서변수공유지원 하드웨어적 DSM 구현 : 분산 - 공유메모리아키텍처 분산메모리시스템의각노드를공유메모리시스템으로구성 NUMA : 사용자들에게하나의공유메모리아키텍처로보여짐 ex) Superdome(HP), Origin 3000(SGI) SMP 클러스터 : SMP로구성된분산시스템으로보여짐 ex) SP(IBM), Beowulf Clusters

22 병렬프로그래밍모델 공유메모리병렬프로그래밍모델 공유메모리아키텍처에적합 다중스레드프로그램 OpenMP, Pthreads 메시지패싱병렬프로그래밍모델 분산메모리아키텍처에적합 MPI, PVM 하이브리드병렬프로그래밍모델 분산- 공유메모리아키텍처 OpenMP + MPI

23 공유메모리병렬프로그래밍모델 Single thread time S1 tim me S1 fork Multi-thread Thread P1 P1 P2 P3 P4 P2 P3 S2 join Shared address space P4 S2 Process Process

24 메시지패싱병렬프로그래밍모델 Serial Message-passing tim me S1 tim me S1 S1 S1 S1 P1 P1 P2 P3 P4 P2 S2 S2 S2 S2 P3 Process 0 Process 1 Process 2 Process 3 P4 Node 1 Node 2 Node 3 Node 4 S2 Data transmission over the interconnect Process

25 하이브리드병렬프로그래밍모델 Message-passing time S1 fork Thread time S1 fork Thread P1 P2 P3 P4 S2 S2 join Shared address S2 S2 join Shared address Process 0 Node 1 Process 1 Node 2

26 DSM 시스템의메시지패싱 tim me S1 S1 S1 S1 P1 P2 P3 P4 Message-passing S2 S2 S2 S2 S2 S2 S2 Process 0 Process 1 Process 2 Process 3 Node 1 Node 2

27 SPMD와 MPMD (1/4) SPMD(Single Program Multiple Data) 하나의프로그램이여러프로세스에서동시에수행됨 어떤순간프로세스들은같은프로그램내의명령어들을수행하며그명령어들은같을수도다를수도있음 MPMD (Multiple Program Multiple Data) 한 MPMD 응용프로그램은여러개의실행프로그램으로구성 응용프로그램이병렬로실행될때각프로세스는다른프로세스와같거나다른프로그램을실행할수있음

28 SPMD 와 MPMD (2/4) SPMD a.out Node 1 Node 2 Node 3

29 SPMD 와 MPMD (3/4) MPMD : Master/Worker (Self-Scheduling) a.out b.out Node 1 Node 2 Node 3

30 SPMD 와 MPMD (4/4) MPMD : Coupled Analysis a.out b.out c.out Node 1 Node 2 Node 3

31 성능측정 성능에영향을주는요인들 병렬프로그램작성순서

32 프로그램실행시간측정 (1/2) Time 사용방법 (bash, ksh) : $time [executable] $ time mpirun np 4 machinefile machines./exmpi.x real 0m3.59s user 0m3.16s sys 0m0.04s real = wall-clock time User = 프로그램자신과호출된라이브러리실행에사용된 CPU 시간 Sys = 프로그램에의해시스템호출에사용된 CPU 시간 user + sys = CPU time

33 프로그램실행시간측정 (2/2) 사용방법 (csh) : $time [executable] $ time testprog 1.150u 0.020s 0: % k 24+10io 0pf+0w user CPU time (1.15초) 2 system CPU time (0.02초) 3 real time (0분 1.76 초 ) 4 real time에서 CPU time이차지하는정도 (66.4%) 5 메모리사용 : Shared (15Kbytes) + Unshared (3981Kbytes) 6 입력 (24 블록 ) + 출력 (10 블록 ) 7no page faults 8no swaps

34 성능측정 병렬화를통해얻어진성능이득의정량적분석 성능측정 성능향상도 효율 Cost

35 성능향상도 (1/7) 성능향상도 (Speed-up) : S(n) 순차프로그램의실행시간 S(n) = = t s 병렬프로그램의실행시간 (n 개프로세서 ) t p 순차프로그램에대한병렬프로그램의성능이득정도 실행시간 = Wall-clock time 실행시간이 100 초가걸리는순차프로그램을병렬화하여 10 개의프로세서로 50초만에실행되었다면, 100 S(10) = = 2 50

36 성능향상도 (2/7) 이상 (Ideal) 성능향상도 : Amdahl s Law f : 코드의순차부분 (0 f 1) t p = ft s + (1-f)t s /n 순차부분실행시간 병렬부분실행시간

37 성능향상도 (3/7) fts Serial section tst ( 1 f )t S Parallelizable sections 1 2 n-1 n 1 2 n processes n-1 n tp ( 1 f ) t S/ n

38 성능향상도 (4/7) t s S(n) = t = p t s ft s + (1-f)t s /n S(n) = 1 f + (1-f)/n 최대성능향상도 ( n ) S(n) = 1 f 프로세서의개수를증가하면, 순차부분크기의역수에수렴

39 성능향상도 (5/7) f = 0.2, n = 4 Serial Parallel l process 1 process 2 process 3 process 4 cannot be parallelized can be parallelized S(4) = = (1-0.2)/4

40 성능향상도 (6/7) 프로세서개수대성능향상도 f=0 Speed d-up f=0.05 f=0.1 4 f=

41 성능향상도 (7/7) 순차부분대성능향상도 Speed d-up n=256 n=

42 효율효율 (Efficiency) : E(n) t s S(n) E(n) = = [ⅹ100(%)] t p ⅹn n 프로세서개수에따른병렬프로그램의성능효율을나타냄 10개의프로세서로 2배의성능향상 : S(10) = 2 E(10) = 20 % 100개의프로세서로 10배의성능향상 : S(100) = 10 E(100) = 10 %

43 Cost Cost Cost = 실행시간 ⅹ 프로세서 t s n 개수 S(n) t s E(n) 순차프로그램 : Cost = t s 병렬프로그램 :Cost= t p ⅹn= = 예 ) 10 개의프로세서로 2 배, 100 개의프로세서로 10 배의성능향상 t s t p n S(n) E(n) Cost

44 실질적성능향상에고려할사항 실제성능향상도 : 통신부하, 로드밸런싱문제 Serial parallel process 1 process 2 process 3 process 4 cannot be parallelized can be parallelized communication overhead Load unbalance

45 성능증가를위한방안들 1. 프로그램에서병렬화가능한부분 (Coverage) 증가 알고리즘개선 2. 작업부하의균등분배 : 로드밸런싱 3. 통신에소비하는시간 ( 통신부하 ) 감소

46 성능에영향을주는요인들 Coverage : Amdahl s Law 로드밸런싱 동기화 통신부하 세분성 입출력

47 로드밸런싱 모든프로세스들의작업시간이가능한균등하도록작업을분배하여작업대기시간을최소화하는것 데이터분배방식 (Block, Cyclic, Block-Cyclic) 선택에주의 이기종시스템을연결시킨경우, 매우중요함 동적작업할당을통해얻을수도있음 task0 task1 task2 WORK WAIT task3 time

48 동기화 병렬태스크의상태나정보등을동일하게설정하기위한조정작업 대표적병렬부하 : 성능에악영향 장벽, 잠금, 세마포어 (semaphore), 동기통신연산등이용 병렬부하 (Parallel Overhead) 병렬태스크의시작, 종료, 조정으로인한부하 시작 : 태스크식별, 프로세서지정, 태스크로드, 데이터로드등 종료 : 결과의취합과전송, 운영체제자원의반납등 조정 : 동기화, 통신등

49 통신부하 (1/4) 데이터통신에의해발생하는부하 네트워크고유의지연시간과대역폭존재 메시지패싱에서중요 통신부하에영향을주는요인들 동기통신? 비동기통신? 블록킹? 논블록킹? 점대점통신? 집합통신? 데이터전송횟수, 전송하는데이터의크기

50 통신부하 (2/4) 통신시간 = 지연시간 + 메시지크기 대역폭 지연시간 : 메시지의첫비트가전송되는데걸리는시간 송신지연 + 수신지연 + 전달지연 대역폭 : 단위시간당통신가능한데이터의양 (MB/sec) 메시지크기유효대역폭 = = 통신시간 대역폭 1+ 지연시간 ⅹ 대역폭 / 메시지크기

51 통신부하 (3/4) Communication Time Commu unication n time 1/slope = Bandwidth Latency message size

52 통신부하 (4/4) effectiv ve bandw width (M MB/sec) Effective Bandwidth network bandwidth latency = 22 μs bandwidth = 133 MB/sec message size(bytes)

53 세분성 (1/2) 병렬프로그램내의통신시간에대한계산시간의비 Fine-grained 병렬성 통신또는동기화사이의계산작업이상대적으로적음 로드밸런싱에유리 Coarse-grained 병렬성 통신또는동기화사이의계산작업이상대적으로많음 로드밸런싱에불리 일반적으로 Coarse-grained 병렬성이성능면에서유리 계산시간 < 통신또는동기화시간 알고리즘과하드웨어환경에따라다를수있음

54 세분성 (2/2) tim me tim me Communication Computation Communication Computation (a) Fine-grained (b) Coarse-grained

55 입출력 일반적으로병렬성을방해함 쓰기 : 동일파일공간을이용할경우겹쳐쓰기문제 읽기 : 다중읽기요청을처리하는파일서버의성능문제 네트워크를경유 (NFS, non-local) 하는입출력의병목현상 입출력을가능하면줄일것 I/O 수행을특정순차영역으로제한해사용 지역적인파일공간에서 I/O 수행 병렬파일시스템의개발 (GPFS, PVFS, PPFS ) 병렬 I/O 프로그래밍인터페이스개발 (MPI-2 : MPI I/O)

56 확장성 (1/2) 확장된환경에대한성능이득을누릴수있는능력 하드웨어적확장성 알고리즘적확장성 확장성에영향을미치는주요하드웨어적요인 CPU-메모리버스대역폭 네트워크대역폭 메모리용량 프로세서클럭속도

57 확장성 (2/2) Speedup Number of Workers

58 의존성과교착 데이터의존성 : 프로그램의실행순서가실행결과에영향을미치는것 DO k = 1, 100 F(k + 2) = F(k +1) + F(k) ENDDO 교착 : 둘이상의프로세스들이서로상대방의이벤트발생을기다리는상태 Process 1 Process 2 X = 4 SOURCE = TASK2 RECEIVE (SOURCE,Y) DEST = TASK2 SEND (DEST,X) Z = X + Y Y = 8 SOURCE = TASK1 RECEIVE (SOURCE,X) DEST = TASK1 SEND (DEST,Y) Z = X + Y

59 의존성 Serial F(1) F(2) F(3) F(4) F(5) F(6) F(7) F(n) n DO k = 1, 100 F(k + 2) = F(k +1) + F(k) ENDDO F(1) F(2) F(3) F(4) F(5) F(6) F(7) F(n) Parallel F(1) F(2) F(3) F(4) F(5) F(6) F(7) F(n) (4)

60 병렬프로그램작성순서 1 순차코드작성, 분석 ( 프로파일링 ), 최적화 hotspot, 병목지점, 데이터의존성등을확인 데이터병렬성 / 태스크병렬성? 2 병렬코드개발 MPI/OpenMP/? 태스크할당과제어, 통신, 동기화코드추가 3 컴파일, 실행, 디버깅 4 병렬코드최적화 성능측정과분석을통한성능개선

61 디버깅과성능분석디버깅 코드작성시모듈화접근필요 통신, 동기화, 데이터의존성, 교착등에주의 디버거 : TotalView 성능측정과분석 timer 함수사용 프로파일러 : prof, gprof, pgprof, TAU

62 병렬프로그램작성예 (1/4) PI 계산알고리즘 1. 정사각형에원을내접시킴 2. 정사각형내에서무작위로점추출 3. 추출된점들중원안에있는점의개수결정 4. PI = 4 ⅹ 원안의점개수 전체점의개수

63 병렬프로그램작성예 (2/4) 순차코드작성 (Pseudo) tpoints = in_circle = 0 do j = 1,tpoints x = rand() y = rand() if (x, y) inside circle then in_circle = in_circle + 1 end do PI = 4.0*in_circle/tpoints 거의모든계산이루프에서실행 루프의반복을여러프로세스로나누어동시수행 각프로세스는담당한루프반복만을실행 다른프로세스의계산에대한정보불필요 의존성없음 SPMD 모델사용, 마스터프로세스가최종적으로계산결과를취합해야함

64 병렬프로그램작성예 (3/4) 병렬코드작성 (Pseudo) tpoints = in_circle = 0 p = number of process num = tpoints/p find out if I am MASTER or WORKER do j = 1,num x = rand() y = rand() if (x, y) inside circle then in_circle = in_circle + 1 end do if I am MASTER receive from WORKERS their in_circle compute PI (use MASTER and WORKER calculations) else if I am WORKER send to MASTER in_circle end if 기울임글꼴 ( 붉은색 ) 부분이병렬화를위해첨가된부분

65 병렬프로그램작성예 (4/4) Pi 계산알고리즘 : 적분을통한 Pi 계산 x 0 2 dx dx x tan 2 sec d f ( x 1 ) f ( x 2 ) 4 sec 2 1 tan cos d 0 cos d d 1 n... f ( x n ) x 2 (2 0.5) 1 x1 (1 0.5) n 2 1 n 1 x n ( n 0.5) n

66 Example : PI 계산 (1/4) 순차코드 : Fortran program main implicit none implicit none integer*8,parameter :: num_step = integer*8 :: i real(kind=8) :: sum,step,pi,x real(kind=8) :: 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 ti t ()! di ti etime=rtc()!ending time pi = step * sum write(*,100) pi,dabs(dacos(-1.0d0)-pi) write(*,300) etime-stime write(* 400) write(,400) 100 format(' PI = ', F17.15,' (Error =',E11.5,')') 300 format(' Elapsed Time = ',F8.3,' [sec] ') 400 format(' ') stop end program

67 Example : PI 계산 (3/4) 순차코드 : C #include <stdio.h> #include <math.h> #include <time.h> int main(){ const long num_step = ; long i; double sum, step, pi, x; time_t st, et; step = (1.0/(double)num_step); sum = 0.0; 0; time(&st); printf( \n"); for(i=1;i<=num_step;i++){ x = ((double)i-0.5)*step; sum = sum + 4.0/(1.0 + x*x); } time(&et); pi = step * sum; printf("pi = %.15f (Error = %e)\n", pi, fabs(acos(-1.0)-pi)); printf("elapsed Time = %.3f [sec]\n", difftime(et,st)); printf(" \n"); ") }

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

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

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

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

<4D F736F F F696E74202D204C FBAB4B7C4C7C1B7CEB1D7B7A1B9D6B1E2C3CA2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D204C FBAB4B7C4C7C1B7CEB1D7B7A1B9D6B1E2C3CA2E BC8A3C8AF20B8F0B5E55D> The Power and Potential of Parallelism 이홍석 2010. 3 2010-03-11 1 병렬처리시스템활용시대가도래... 소규모 Multi-core 환경 노트북, PC, 워크스테이션, 서버등모두 Multi-core OS 가 multi-core 를지원 POSIX 쓰레드와 win32 쓰레드 GPGPU 기반의개인슈퍼컴퓨터의등장 CUDA/OpenCL/GPGPU

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

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

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

Microsoft PowerPoint - o4.pptx

Microsoft PowerPoint - o4.pptx 목표 쓰레드 (thread) 개념소개 Thread API Multithreaded 프로그래밍관련이슈 4 장. 쓰레드 2 4.1 개요 쓰레드 쓰레드 (Thread ) CPU 이용의기본실행단위 단일쓰레드 (Single threaded) Processes 전통적인프로세스 한개의실행단위로구성 다중쓰레드 (Multithreaded) Process 여러개의실행쓰레드를갖는프로세스

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

Figure 5.01

Figure 5.01 Chapter 4: Threads Yoon-Joong Kim Hanbat National University, Computer Engineering Department Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues Operating

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

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

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

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

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint APUE(Intro).ppt 컴퓨터특강 () [Ch. 1 & Ch. 2] 2006 년봄학기 문양세강원대학교컴퓨터과학과 APUE 강의목적 UNIX 시스템프로그래밍 file, process, signal, network programming UNIX 시스템의체계적이해 시스템프로그래밍능력향상 Page 2 1 APUE 강의동기 UNIX 는인기있는운영체제 서버시스템 ( 웹서버, 데이터베이스서버

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

fprintf(fp, "clf; clear; clc; \n"); fprintf(fp, "x = linspace(0, %d, %d)\n ", L, N); fprintf(fp, "U = [ "); for (i = 0; i <= (N - 1) ; i++) for (j = 0

fprintf(fp, clf; clear; clc; \n); fprintf(fp, x = linspace(0, %d, %d)\n , L, N); fprintf(fp, U = [ ); for (i = 0; i <= (N - 1) ; i++) for (j = 0 병렬계산을이용한열방정식풀기. 1. 처음 병렬계산을하기전에 C 언어를이용하여명시적유한차분법으로하나의열방정식을풀어본 다. 먼저 C 로열방정식을이해한다음초기조건만다르게하여클러스터로여러개의열방 정식을풀어보자. 2. C 를이용한명시적유한차분법으로열방적식풀기 열방정식을풀기위한자세한이론은앞서다룬 Finite-Difference method 을보기로하고 바로식 (1.10)

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

Outline PLSI 시스템접속병렬처리병렬프로그래밍개요 OpenMP를이용한병렬화 MPI를이용한병렬화순차코드의병렬화

Outline PLSI 시스템접속병렬처리병렬프로그래밍개요 OpenMP를이용한병렬화 MPI를이용한병렬화순차코드의병렬화 병렬프로그래밍 정진우 Outline PLSI 시스템접속병렬처리병렬프로그래밍개요 OpenMP를이용한병렬화 MPI를이용한병렬화순차코드의병렬화 PLSI 시스템개요 PLSI 사업과 PLSI 자원 PLSI 사업 (PLSI Project) 국내슈퍼컴퓨터자원을국가적차원의체계적인연동과관리를통해효율적으로사용할수있도록지원하는사업 PLSI is a national project

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

Microsoft PowerPoint - 병렬표준.pptx

Microsoft PowerPoint - 병렬표준.pptx Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과 목차 Why Parallel? Parallel Processing Parallel Programming MPI의기본개념 MPI 표준 MPI 프로그램및실행 Related Topics & Questions Why Parallel? (1) Why parallel computing?

More information

untitled

untitled Embedded System Lab. II Embedded System Lab. II 2 RTOS Hard Real-Time vs Soft Real-Time RTOS Real-Time, Real-Time RTOS General purpose system OS H/W RTOS H/W task Hard Real-Time Real-Time System, Hard

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Microsoft PowerPoint - AMP_ pptx

Microsoft PowerPoint - AMP_ pptx C++ AMP(Accelerated Massive Parallelism) 2013-03-29 고형호 hyungho.ko@gmail.com http://hhko.tistory.com 목차 Part 1. 다중프로세서 Part 2. 연산자원 Part 3. GPU 특징 Part 4. 병렬화프로그래밍기술 Part 5. AMP Portability( 이식성 ) Part

More information

해양모델링 2장5~18 2012.7.27 12:26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 2.1.2 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농

해양모델링 2장5~18 2012.7.27 12:26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 2.1.2 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농 해양모델링 2장5~18 2012.7.27 12:26 AM 페이지5 02 모델의 시작 요약 이 장에서는 감쇠 문제를 이용하여 여러분을 수치 모델링 세계로 인도한다. 유한 차분법 의 양해법과 음해법 그리고 일관성, 정확도, 안정도, 효율성 등을 설명한다. 첫 번째 수치 모델의 작성과 결과를 그림으로 보기 위해 FORTRAN 프로그램과 SciLab 스크립트가 사용된다.

More information

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap12-고급기능.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

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

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

chap x: G입력

chap x: G입력 재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘

More information

Parallel Programming 박필성 IT 대학컴퓨터학과

Parallel Programming 박필성 IT 대학컴퓨터학과 Parallel Programming 박필성 IT 대학컴퓨터학과 목차 Why Parallel? Parallel Computers Parallel Processing Parallel Programming Models Parallel Programming OpenMP Standard MPI Standard Related Topics & Questions Why

More information

CUDA Programming Tutorial 2 - Memory Management – Matrix Transpose

CUDA Programming Tutorial 2 - Memory Management – Matrix Transpose CUDA Programming Tutorial 2 Memory Management Matrix Transpose Sungjoo Ha April 20th, 2017 Sungjoo Ha 1 / 29 Memory Management 병렬연산장치를활용하기위해하드웨어구조의이해를바탕에둔메모리활용이필요 CUDA 프로그래밍을하며알아야하는두가지메모리특성을소개 전치행렬계산을예제로

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

<4D F736F F F696E74202D DBAB8C1B62CC6AFBCF6BFEBB5B5B1E2BEEFC0E5C4A12CBAB4B7C4C4C4C7BBC5CD2E707074>

<4D F736F F F696E74202D DBAB8C1B62CC6AFBCF6BFEBB5B5B1E2BEEFC0E5C4A12CBAB4B7C4C4C4C7BBC5CD2E707074> 1. 보조기억장치 [CA 10강 ]-보조, 특수용도기억장치, 병렬컴퓨터 [ 출제빈도 상 ] - 대규모의기억용량을갖는장비로구현. - data 를보관하였다가주기억장치로이동시키는기능. 2. 자기테이프 ( 순차접근 ) - 백업용 ( 대량의자료를장시간보관 ), 입출력장치 BOT : Beginning Of Tape, IRG : Inter Record Gap EOT :

More information

Microsoft PowerPoint OS-Thread

Microsoft PowerPoint OS-Thread 4 장. 스레드 (Thread) 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 강의목표및내용 목표 다중스레드컴퓨터시스템의기초를이루는 CPU 이용의기본단위인스레드를소개 Pthreads API 및 Win32 와 Java 스레드라이브러리소개 내용 개요 다중코어프로그래밍 다중스레드모델 스레드라이브러리 암묵적스레드 스레드관련문제들 사례 순천향대학교컴퓨터공학과

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_ Sena Technologies 백서 : Latency/Throughput Test September 11, 2008 Copyright Sena Technologies, Inc 2008 All rights strictly reserved. No part of this document may not be reproduced or distributed without

More information

슬라이드 1

슬라이드 1 www.altsoft.co.kr www.clunix.com COMSOL4.0a Cluster 성능테스트 2010 년 10 월 클루닉스 / 알트소프트 개요 개요 목차 BMT 환경정보 BMT 시나리오소개 COMSOL4.0a MPP 해석실행조건 BMT 결과 COMSOL4.0a 클러스터분석결과 ( 메모리 / 성능 ) COMSOL4.0a 클러스터최종분석결과 -2- 개요

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과

Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과 Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과 목차 Why Parallel? Parallel Computers Parallel Processing Parallel Programming MPI의기본개념 MPI 표준 MPI 프로그램및실행 Related Topics & Questions Why Parallel? (1) Why

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

입학사정관제도

입학사정관제도 운영체제 강의노트 교재 : 운영체제 ( 개정판 ) 출판사 : 한빛미디어 (2010 년 11 월발행 ) 저자 : 구현회 소프트웨어학과원성현교수 1 4 장 병행프로세스와 상호배제 소프트웨어학과원성현교수 2 1. 병행프로세스 병행프로세스의과제 병행성 동시에 2 개이상의프로세스가실행되는성질 다중프로세싱시스템, 분산처리시스템에서주로발생 다중프로세싱시스템은프로세서의효율성을증대시킴

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

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 PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

10주차.key

10주차.key 10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

Microsoft Word - Generic_Gas_Simulation_BMT 결과 보고서.doc

Microsoft Word - Generic_Gas_Simulation_BMT 결과 보고서.doc HPC 기반 Generic Gas Simulation 성능분석보고서 본자료는 클루닉스에서자사시뮬레이션포털구성제품인 GridCenter-CAP 통합 CAE 해석환경을이용하여동국대공과대의시뮬레이션코드의성능을측정된자료입니다. 클루닉스와동국대공과대의동의없이본자료의무단배포를허가하지않습니다. 테스트환경 : GridCenter-CAP, GridCenter-HPC, CAE

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

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

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

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx 1.4 Blocking Block의정의 디스크와메모리사이에데이터전송의단위 물리적레코드라고도함 Sector, Block, Cluster의비교 Sector: Data transfer 의최소단위 Block = n개의 sector로구성 디스크와메모리사이에데이터전송의단위 Cluster: m 개의 sector 로구성되며, FAT 구성단위 Cluster Block 영남대학교데이터베이스연구실

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

CPX-E-SYS_BES_C_ _ k1

CPX-E-SYS_BES_C_ _ k1 CPX-E 8727 27-7 [875294] CPX-E-SYS-KO CODESYS, PI PROFIBUS PROFINET (). :, 2 Festo CPX-E-SYS-KO 27-7 ... 5.... 5.2... 5.3... 5.4... 5.5... 5 2... 6 2.... 6 2..... 6 2..2 CPX-E... 7 2..3 CPX-E... 9 2..4...

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 12 장파이프 2 12.1 파이프 파이프원리 $ who sort 파이프 3 물을보내는수도파이프와비슷 한프로세스는쓰기용파일디스크립터를이용하여파이프에데이터를보내고 ( 쓰고 ) 다른프로세스는읽기용파일디스크립터를이용하여그파이프에서데이터를받는다 ( 읽는다 ). 한방향 (one way) 통신 파이프생성 파이프는두개의파일디스크립터를갖는다. 하나는쓰기용이고다른하나는읽기용이다.

More information

딥러닝 첫걸음

딥러닝 첫걸음 딥러닝첫걸음 4. 신경망과분류 (MultiClass) 다범주분류신경망 Categorization( 분류 ): 예측대상 = 범주 이진분류 : 예측대상범주가 2 가지인경우 출력층 node 1 개다층신경망분석 (3 장의내용 ) 다범주분류 : 예측대상범주가 3 가지이상인경우 출력층 node 2 개이상다층신경망분석 비용함수 : Softmax 함수사용 다범주분류신경망

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

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

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

슬라이드 1

슬라이드 1 2015( 제 8 회 ) 한국소프트웨어아키텍트대회 Database In-Memory 2015. 07. 16 한국오라클 김용한 Agenda 1 2 3 4 5 6 In-Memory Computing 개요주요요소기술 In-Memory의오해와실제적용시고려사항 12c In-Memory Option의소개결론 2 1. In-Memory Computing 개요 전통적인데이터처리방식

More information

untitled

untitled while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문 1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문 1. 표준입출력 표준입출력 입력 : 키보드, scanf 함수 출력 : 모니터, printf 함수문제 : 정수값 2개를입력받고두값사이의값들을더하여출력하라. #include int main(void) int Num1, Num2; int

More information

Microsoft PowerPoint - StallingsOS6e-Chap04.pptx

Microsoft PowerPoint - StallingsOS6e-Chap04.pptx 제 4 장. 쓰레드, SMP, 그리고마이크로커널 4 장의강의목표 쓰레드 (thread) 의개념을이해하고, 프로세스와의차이점를구별한다. 쓰레드의장단점을이해한다. 사용자수준쓰레드와커널수준쓰레드의개념을이해한다. 대칭적다중처리 (SMP) 에대해서이해한다. 마이크로커널의개념과장단점을이해한다. Windows, Solaris, Linux 의쓰레드관리및 SMP 관리기법을이해한다.

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Abstract View of System Components

Abstract View of System Components 운영체제실습 - Synchronization - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr dhchoi@rtcc.hanyang.ac.kr beespjh@gmail.com Introduction 조교소개 이름 : 임정택 Tel : 010-4780

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 In-memory 클러스터컴퓨팅프레임워크 Hadoop MapReduce 대비 Machine Learning 등반복작업에특화 2009년, UC Berkeley AMPLab에서 Mesos 어플리케이션으로시작 2010년 Spark 논문발표, 2012년 RDD 논문발표 2013년에 Apache 프로젝트로전환후, 2014년 Apache op-level Project

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

<4D F736F F D F5357BAB05FC5EBC7D5C7D8BCAEBDC3BDBAC5DB5FBCBAB4C920BAD0BCAE20B0E1B0FABAB8B0EDBCAD5F F

<4D F736F F D F5357BAB05FC5EBC7D5C7D8BCAEBDC3BDBAC5DB5FBCBAB4C920BAD0BCAE20B0E1B0FABAB8B0EDBCAD5F F CAE S/W 별통합해석시스템성능분석결과보고서 Nehalem CPU vs HarperTown CPU 비교분석 클루닉스 본자료는최신 Intel Processor Architecture인 Nehalem CPU 기반에서 CAE 해석 S/W에대한성능분석보고서입니다. 클루닉스의통합해석시스템구성제품인 GridCenter-CAP을이용하여테스트되었으며, 클루닉스의허가없이복사나배포를금지합니다.

More information

, ( ) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). *

, ( ) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). * , 40 12 (2006 6) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). * 40, 40 12 (EPQ; economic production quantity). (setup cost) (setup time) Bradley

More information

PowerPoint Presentation

PowerPoint Presentation MPI 를이용한병렬프로그래밍기초 : Point-to-Point Communication Hongsuk Yi KISTI Supercomputing Center 2009-11-09 1 MPI 란무엇인가? MPI Message Passing Interface 병렬프로그래밍을위해표준화된데이터통신라이브러리 MPI-1 표준마련 (MPI Forum) : 1994 년 Procs

More information

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4 Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x

More information

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

Microsoft Word - DELL_PowerEdge_TM_ R710 서버 성능분석보고서.doc DELL PowerEdge R710 Server 성능분석보고서 본자료는 클루닉스에서자사통합시뮬레이션시스템구성제품인 GridCenter를이용하여 Dell PowerEdge R710 서버의성능을분석한보고서입니다. 클루닉스와 DELL의협의없이발췌및배포를금합니다. BMT 환경 : GridCenter-CAP, GridCenter-HPC, CAE 어플리케이션 Abaqus,Fluent,Gaussian

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

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