✔️ 멀티 코어 구조의 성능 향상은 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. 코어 개수에 따른 속도 향상
'운영체제' 카테고리의 다른 글
[운영체제] 7. 교착상태 - (1) 교착상태 개념 (0) | 2025.05.01 |
---|---|
[운영체제] 4. 스레드 관리 - (5) 멀티스레딩에 관한 이슈 (0) | 2025.04.17 |
[운영체제] 4. 스레드 관리 - (3) 스레드 구현 유형 (2) | 2025.04.17 |
[운영체제] 4. 스레드 관리 - (2) 스레드 주소 공간과 컨텍스트 (0) | 2025.04.17 |
[운영체제] 4. 스레드 관리 - (1) 스레드의 필요성과 개념 (0) | 2025.04.17 |