암달의 법칙 (Amdahl's law)

2025. 4. 7. 15:41·CS:APP

암달의 법칙(Amdahl’s law)은 암달의 저주라고도 불림.
핵심은, 일부 구성 요소만 개선해서는 전체 시스템의 성능을 크게 개선할 수 없음을 보여줌

공식

시스템 컴포넌트의 개선으로 향상되는 시스템 속도를 구하는 공식은 다음과 같다

  • Speedup : 전체 시스템 성능 향상 비율
  • P : 전체 작업 중 개선 가능한 부분의 비율 (0 ≤ P ≤ 1)
    • 1-P는 어떻게 해도 성능 향상이 불가능한 부분
  • S : 개선한 부분을 얼마나 빠르게 만들었는지 (속도 배수)

그래프 분석

Number of processors : 병렬 처리에 참여하는 프로세서 수
Speedup : 전체 성능 향상 비율
범례(Parallel portion) : 병렬화 가능한 작업의 비율 (50, 75, 90, 95)

  1. 병렬화 가능한 비율 (P)가 높을 수록 더 많은 프로세서를 활용해 성능향상을 기대할 수 있음
  2. 단, 아무리 프로세서를 늘려도 일정 이상 성능 향상은 불가능
    1. 예를 들어, 작업의 90%를 병렬화 해도 최대 10배의 속도향상을 가져갈수있음

가정

병렬 처리 환경을 염두에 두고 만들어짐 (보수적인 예측을 위해)

  • 전체 작업은 병렬화 가능한 부분과 불가능한 부분으로 나뉨
  • 병렬화 가능한 부분만 속도를 개선할 수 있다
  • 순차처리 부분은 기술적 한계로 그대로 둔다고 가정한다.

정리

실제로 순차처리 부분은 개선이 불가능하지않음. 컴파일러 최적화, 알고리즘 개선, 하드웨어 업그레이드 등.

그래서 시스템의 성능 개선을 판단할 때 구스타프슨의 법칙 (Gustafson's law)를 같이 고려

728x90

'CS:APP' 카테고리의 다른 글

레지스터가 뭔데 - CS:APP 3.4  (0) 2025.04.07
GCC는 C를 어떻게 기계어로 짜깁기할까? - CS:APP 3.2 요약과 인사이트  (0) 2025.04.07
캐시와 저장장치의 상관관계  (0) 2025.03.21
1.4 프로세서는 메모리에 저장된 인스트럭션을 읽고 해석한다  (0) 2025.03.20
1.2 프로그램은 다른 프로그램에 의해 다른 형태로 번역된다  (0) 2025.03.20
'CS:APP' 카테고리의 다른 글
  • 레지스터가 뭔데 - CS:APP 3.4
  • GCC는 C를 어떻게 기계어로 짜깁기할까? - CS:APP 3.2 요약과 인사이트
  • 캐시와 저장장치의 상관관계
  • 1.4 프로세서는 메모리에 저장된 인스트럭션을 읽고 해석한다
ahpicl64
ahpicl64
in the clouds
  • ahpicl64
    구름
    ahpicl64
  • 전체
    오늘
    어제
    • 분류 전체보기 (95)
      • WIL (4)
      • Jungle (36)
      • AWS (2)
      • SQL (2)
      • CS:APP (17)
      • Algorithm (10)
      • K8s (7)
      • 자료 구조 (10)
      • Spring (4)
      • React (0)
      • 운영체제 (1)
      • 기타등등 (2)
      • 이야기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    python
    EC2
    github actions
    Spring boot
    부하테스트
    컴퓨터시스템
    S3
    트러블슈팅
    Spring
    알고리즘
    queue
    AWS
    DevOps
    자료구조
    어셈블리
    IAM
    k8s
    CloudFront
    DB
    CSAPP
  • 02-21 08:19
  • hELLO· Designed By정상우.v4.10.3
ahpicl64
암달의 법칙 (Amdahl's law)
상단으로

티스토리툴바