병행성과 병렬성

CH_Hwang·2021년 12월 11일
0

CS

목록 보기
5/10

개념

병행성: 동시에 실행되는 것 '처럼' 보인다.
병렬성: 실제로 동시에 실행된다.

병행성(Concurrency)

  • 병행성은 동시성이라고도 부름
  • 논리적 개념(프로그램 성질)
  • 보통 싱글 코어에서 멀티스레드를 동작시키기 위해 사용. 하지만 멀티코어에서도 실행 가능. (싱글, 멀티 둘다 실행 가능)
  • 보기에는 스레드들을 동시에 병렬적으로 실행하는 것처럼 보이지만, 사실은 번갈아가면서 실행을 시켜 동시에 실행되는것처럼 보이게 함.

병렬성(Parallelism)

  • 실제 동시 실행
  • 물리적인 개념(하드웨어 성질)
  • 멀티코어에서 멀티 스레드를 동작시킴(멀티코어에서만 실행 가능)
  • 병렬성은 데이터 병렬성(Data Parallelism), 작업 병렬성으로 나눠진다.
    • 데이터 병렬성: 같은 작업의 전체 데이터를 서브 데이터로 나눠서 같은 작업을 동시에 처리함
    • 작업 병렬성: 서로 다른 작업을 동시에 처리함

0개의 댓글