IT 기술 및 용어/IT 용어 정리

[개발용어] 오버헤드(OverHead)란?

방탄승 2024. 3. 7. 17:27

오버헤드(Overhead)에 대한 정리


1. 오버헤드의 정의

  • 위키의 정의:
    • 명령어를 처리하는 데 소비되는 간접적, 추가적인 컴퓨터 자원을 의미.
  • 일반적인 정의:
    1. 작업 대비 많은 양의 자원을 사용하는 경우.
    2. 작업에 추가적인 작업이나 자원을 사용하는 경우.

2. 오버헤드의 사례

(1) 작업 대비 많은 자원 사용

  • 예시:
    • 저녁식사 준비를 위해 마트에서 다양한 식재료 구매 → 적절한 오버헤드.
    • 껌 한 통 구매를 위해 멀리 떨어진 마트를 방문 → 비효율적 오버헤드.
  • 설명:
    • 작업 규모에 비해 과도한 자원을 사용하는 상황을 오버헤드가 크다고 표현.

(2) 추가적인 작업이나 자원 사용

  • 예시:
    • 기능 A의 실행 시간: 10초.
    • 기능 A의 안전성 문제를 해결하기 위해 기능 B를 추가(5초 소요).
    • 오버헤드 = 5초.
  • 설명:
    • 주 작업에 추가적으로 필요한 작업과 자원 소모량이 오버헤드로 간주.

3. 오버헤드의 영향

  • 자원 낭비:
    • 작업의 효율성을 저하시키고 자원의 비효율적 사용 초래.
  • 성능 저하:
    • 추가 작업으로 인해 응답 시간 증가 및 시스템 과부하 유발.

4. 오버헤드를 줄이는 방법

  • 최적화:
    • 작업에 필요한 최소 자원만을 사용하도록 설계.
  • 효율성 고려:
    • 작업의 규모에 맞는 자원 사용.
  • 추가 작업 최소화:
    • 보완 작업(A 기능의 B 기능)을 최소화하거나, 효율적으로 병렬 처리.