CS/Linux8 MPI 병렬 프로그래밍 메시지 패싱 (message passing) 프로그래밍 프로세스들간의 통신을 통해 하나의 작업을 나눠서 병렬 계산 분산 메모리 방식 ※ MPI (Message Passing Interface) : 메시지 패싱 모델의 표준 ※ Communicator : 서로 통신 가능한 프로세스 집합 한 프로그램 내 여러 communicator 존재 MPI 통신은 같은 Communicator에 속한 프로세스끼리 가능 ※ Rank : Communicator내 프로세스 구분하기 위한 고유 번호 ※ PTP (Point To Point communication) : 한 쌍의 프로세스 간의 메시지 통신 ※ Collective communication : 한 무리의 프로세스들 간의 메시지 통신 (1:1, 1:N, M:N 통신) MP.. 2023. 8. 30. OpenMp 병렬 프로그래밍 스레드 (thread) : 프로세스 내 실행되는 흐름의 단위 single thread : 한 프로세스에서 하나의 스레드를 가지고 실행하는 방식 multithread : 한 프로세스에서 둘 이상의 스레드를 동시에 실행하는 방식 multiprocess & multithread ※ 공통점 : 한 프로그램이 여러 흐름으로 동시에 실행 ★ 차이점 - multiprocess 1. 각 프로세스는 독립적으로 실행, 각각 별개의 메로리 차지 2. Distributed-memory 방식 (분산 메모리 방식) 3. 구현 방법 : MPI 병렬 프로그래밍 - multithread 1. 각 스레드는 독립적으로 실행되지만 한 프로세스 내 메모리 공유 2. Shared-memory 방식 (공유 메모리 방식) 3. 구현 방법 : Cr.. 2023. 8. 29. Process & Signal 프로그램 : 파일 형태로 존재하는 실행 파일 프로세스 : CPU와 메모리를 사용하여 실행 중인 프로그램 ※ 프로그램 상태 status explain New (생성) 프로세스가 생성되는 상태 Ready (준비) CPU 할당되기를 대기하는 상태 Running (실행) CPU 할당되어 실행 중인 상태 Waiting / Sleeping (대기) 다른 프로세스의 서비스 or 디스크 I/O 작업 완료될 때까지 대기 Terminated (종료) 프로세스 실행이 완료된 상태 ※ 프로그램 상태 전이 status explain Admitted (승인) new → ready Scheduler Dispatch (스케줄러 디스패치) ready → run Interrupt (인트럽트) run → ready I/O or Event.. 2023. 8. 29. 디렉토리 관리 관련 함수 mkdir(2) : 새로운 디렉토리 생성 int mkdir(const char* pathname, mode_t mode) rmdir(2) : 비어있는 디렉토리 삭제 int rmdir(const char* pathname); 1번째 파라미터 : 삭제하려는 디렉토리 경로 opendir(3) : 디렉토리 열기 DIR* opendir(const char* name); 1번째 파라미터 : 열고자 하는 디렉토리 경로 closedir(3) : 열린 디렉토리 닫기 int closedir(DIR* dirp); 1번째 파라미터 : 닫고자 하는 디렉토리의 DIR Pointer readdir(3) : 열린 디렉토리의 데이터 블록의 inode 번호와 파일명 읽음 struct dirent* readdir(DIR* dirp); 1.. 2023. 8. 29. 이전 1 2 다음