본문 바로가기
운영체제

[운영체제] 4. 스레드 관리 - (4) 멀티코어와 멀티스레딩

by NoDapKeepGoing 2025. 4. 17.

✔️ 멀티 코어 구조의 성능 향상은 SW가 병렬 자원을 효율적으로 이용할 수 있는 능력에 영향을 받음

✔️ SW 병렬 화방법
1️⃣ 태스크 병렬화
2️⃣ 데이터 병렬화

 

 

📍1. 태스크 병렬화

1-1. 응용 SW는 기능의 집합

✔️ 순차적 기능(태스크) 수행

 

✔️ 병렬적 기능(태스크) 수행

 

1-2. 암달의 법칙(Amdahl’s Law)

✔️ 응용프로그램의 코드 일부가 병렬화될 때 전체 응용프로그램에서 어느 정도의 속도 향상이 기대될 수 있는지를 나타냄

☑️ 단일 코어상에서 응용프로그램을 수행한 시간/ N 개의 코어상에서 응용프로그램을 수행한 시간

 

e.g.) SW 태스크 병렬화의 속도 향상 예

✔️ 코어 수가 6개인 PC에서 작업
✔️ 코어 하나에서 영상처리프로그램이 애니메이션 한 장면을 처리하는 데 10시간 걸림
✔️ 응용프로그램의 태스크 병렬 화비 중이 95%로 개선되었다면

➡️ 약 2시간에 처리할 수 있음

 

 

✔️ 멀티 코어 개수와 병렬화에 따른 성능 향상

 

 

📍2.  데이터 병렬화

✔️ 한 응용프로그램의 다수 인스턴스가 데이터를 나누어 처리함

 

2-1. 구스타프슨의 법칙

✔️ 대용량 데이터는 효과적으로 병렬화 처리가 가능하다는 법칙
✔️ 대규모의 반복적인 작업을 한대의 시스템에서 처리할 수 있는 양만큼 나눈 후 시스템 수를 늘려 나누어 처리하면 속도 향상은 처리기 개수의 스케일에 비례함

 

 

2-2. 코어 개수에 따른 속도 향상