운영체제 - Concurrency / Pararellism

TopOfTheHead·2026년 2월 11일

운영체제

목록 보기
13/24

동시성 ( Concurrency ) :
。빠르게 Context Switching하면서 여러 작업을 수행함으로써 여러 작업들을 동시에 실행되는 것처럼 보이게 하는 특성

。논리적 개념으로서 병렬성와 비슷한 의미의 동시실행

  • Concurrency멀티프로세스 또는 멀티스레드로 구현
    。물리적으로 동시실행이 불가능한 싱글코어에서 멀티프로세싱 또는 프로세스에서 멀티스레딩으로 적용될 수 있음

    병렬화 ( Parallelism )
    。여러 코어에서 여러 작업을 동시에 수행하는 특성

    。물리적 개념으로서 싱글코어는 한번에 하나의 프로세스만 실행되므로 병렬성 개념을 가질 수 없음 '

병렬화 ( Parallelism )
。여러 코어에서 여러 작업을 동시에 수행하는 특성
Concurrency와 구분이 필요

  • Data Parallelism
    DataSet을 여러 부분집합으로 분할 후 이들 부분집합을 대상으로 동일한 연산을 동시에 수행

  • Task Parallelism
    。동일한 DataSet을 대상으로 다른 연산을 동시에 수행

암달의 법칙 ( Amdahl's Law )
병렬화 시 성능향상의 정도를 예측
▶ 작업을 Parallel하게 처리하는 경우, 즉 코어가 많을수록 어느정도의 이점이 있는지에 대해 관측

프로그램순차적으로( = 직렬 ) 실행되는 부분의 비율의 정도에 따라서 코어수의 영향이 변화
▶ 병렬처리가 가능한 작업의 비중이 적은 경우, 코어수가 증가해도 전체 실행시간 단축의 한계가 존재

speedup1s+(1s)n\displaystyle speedup \le \frac{1}{s+\frac{(1-s)}{n}}

ss : System에서 직렬( serially )로 실행되는 비율
▶ 병렬처리가 안되는 비율
nn : 코어

ex )
전체 task75%만 병렬처리가 가능한 경우
s=0.25s=0.25 , n=2n=2speedup=1.6speedup=1.6
s=0.25s=0.25 , n=4n=4speedup=2.28speedup=2.28

50% 만 병렬처리가 가능한 경우, 코어수를 늘려도 성능의 큰 변화는 없는것을 확인가능

  
profile
공부기록 블로그

0개의 댓글