논문 리뷰/Accelerating Dynamic Graph Analytics on 4

Thread

프로세스 내에 존재하는 일련의 실행 코드 프로세스는 존재하기만 하는 껍데기로 실제 작업은 Thread가 담당. 프로세스 생성 시 하나의 주 Thread 생성, 대부분 주 Thread가 모든 작업 처리, 주 Thread가 종료되면 프로세스도 같이 종료. Thread가 여러개 생긴 경우 주 Thread와 나머지 Thread들은 CPU 시간을 우선 순위에 따라 적절하게 분배하여 동시에 실행. 운영체제는 Thread별로 골고루 CPU시간을 배분 실제 Thread는 일정한 백그라운드 작업을 처리하고 작업이 끝나면 종료. 작업Thread가 백그라운드 작업중일때 주Thread는 작업Thread를 만들기만 함. 주Thread와 작업Thread는 서로 독립적으로 실행되지만 주Thread는 작업Thread가 종료되었는지의..

Synchronization

병렬 처리에서의 동기화 : 서로 다른 Threads 간의 실행 순서를 보장하기 위해서 구속 조건을 강제로 거는 것이다. 동시에 여러개의 Threads가 동일한 자료를 접근하여 조작하고 그 실행 결과를 접근하는 특정 순서에 의존하는 상황 ==>경쟁 상황(racecondition). 즉, 동기화 : Thread의 실행 순서를 구성하고 공유하는 데이터를 관리하는 것이다. 동기화 처리 유형 상호배제(mutual exclusion) : Thread가 공유 데이터를 사용하는 부분을 동기화 객체(critical section등)으로 block시키는 방식. 상태 동기화(condition synchronization) : 시스템이 특정 상태로 도달하기 전까지는 Thread를 완전히 block시킴. 동기화 객체 : 커널에..

Red-Black Tree

Red-Black Tree, RB Tree : 자가 균형 이진 탐색 트리. 연관 배열 등을 구현하는 데 쓰이는 자료 구조이다. *이진탐색트리(Binary Search Tree) : 특정 key 값에 대해서 삽입,삭제,탐색이 가능한 자료구조이다. : 자신의 왼쪽 서브트리에는 현재 노드보다 Key 값이 작은 것, 오른쪽 서브트리에는 Key 값이 큰 것들로 구성된다. Red-Black Tree = Balanced binary search tree Red-Black Tree = Balanced binary search tree 로 위와 같은 모양이 나오지 않도록 "조건"을 건다. Rea-Black Tree의 높이=log n 에 바운드 됨, search 연산은 O(log n)의 시간 복잡도를 가지게 된다. 특징 ..

Muex

mutex : MUTual EXclusion , 상호 배제 Critical Section을 가진 Thread들의 running time이 서로 겹치지 않게 단독으로 실행되게 하는 기술. Critical Section : 프로그램 상에서 동시에 실행될 경우 문제를 일으키는 부분. 이와 같이 Critical Section을 실행하고 있는 Thread에 다른 Thread들은 그 Critical Section에 접근X, Thread1이 Critical Section을 벗어나기를 기다려야 함.