동시성 vs 병렬성

Nam Eun-Ji·2020년 11월 28일
0

이미지 출처 : https://joearms.github.io/published/2013-04-05-concurrent-and-parallel-programming.html

동시성 Concurrency병렬성 Parallelism
하나의 processor가 여러가지 task를 동시에 수행하는 개념
(멀티 프로세서에서도 동시성 사용 가능)
(코어 수에 따른 방식보다는 작업 방식에 대한 부분)
여러 processor가 동시에 수행하는 것
동시에 실행되는 것처럼 보이는 것실제로 동시에 여러 작업이 처리되는 것
한 번에 많은 것을 처리한 번에 많은 일을 처리
논리적인 개념물리적인 개념
멀티태스킹을 위해 여러개의 스레드가 번갈아가면서 실행되는 성질한개 이상의 스레드를 포함하는 각 프로세스들이 동시에 실행되는 성질
동시성을 이용한 싱글프로세스의 멀티태스킹은 각 스레드들이 병렬적으로 실행되는 것처럼 보이지만 사실은 번갈아가면서 조금씩 실행되고 있는 것• 데이터 병렬성
• 작업 병렬성
  • 데이터 병렬성
    • 같은 작업을 병렬 처리하는 것
    • 전체 데이터를 나누어 서브 데이터들로 만든 뒤 서브데이터들을 병렬 처리하여 작업을 빠르게 수행하는 것
    • 서브데이터는 멀티 코어의 수만큼 쪼개어 각각의 데이터들을 분리된 스레드에서 병렬 처리함
  • 작업 병렬성
    • 서로 다른 작업을 병렬 처리하는 것
    • ex) 웹서버(각각의 브라우저에서 요청한 내용을 개별스레드에서 병렬 처리


참고
https://atin.tistory.com/567

profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글