본문 바로가기
기타 프로그래밍/[이론] 컴퓨터시스템구조론

컴퓨터시스템구조론 | CHAPTER 2 성능 문제 요약

by YUNI Heo 2022. 11. 14.
반응형

 

✅ 1. 성능을 위한 설계

  •  캐시 메모리: 빠른 데이터 액세스를 위해 CPU와 메인 메모리 사이에 작은 용량의 고속 캐시 메모리를 추가한다.
  • 멀티프로세서: 여러 개의 CPU 코어를 하나의 시스템에 추가하여 병렬 처리를 향상시키고 성능을 향상시킨다.
  • 메모리 인터리빙: 메인 메모리를 더 작은 블록으로 나누어 병렬로 액세스할 수 있도록 한다.
  • SIMD 명령어: 하나의 명령어로 여러 개의 데이터를 병렬로 처리할 수 있는 명령어 집합을 추가하여 처리 속도를 높인다.
  • 전송 대역폭 향상: 데이터 전송 대역폭을 향상시키기 위해 버스의 크기를 증가시키거나 고속 버스를 추가한다.
  • 클러스터링: 여러 대의 컴퓨터를 클러스터로 구성하여 처리 능력을 높이고 시스템 성능을 향상시킨다.
  • 프로파일링 및 최적화: 시스템에서 병목 현상이 발생하는 부분을 파악하고 최적화하여 성능을 향상시킨다.
  • 쓰래딩: 멀티쓰레딩 기술을 사용하여 여러 개의 쓰레드를 병렬로 처리하여 시스템 성능을 향상시킨다.
  • 하드웨어 가속기: CPU가 처리하기 어려운 특정 작업을 전용 하드웨어 가속기에 할당하여 처리 속도를 높인다.
  • 파이프라이닝: CPU가 여러 단계로 처리되는 작업을 분할하여 병렬로 처리하게 하여 전체 처리속도를 높인다.

 

✅ 2. 멀티코어 Multicore, 다수 집적 코어 MIC, 그래픽 처리 유닛 GPU 

💡  멀티코어 Multicore 

  • 하나의 프로세서 칩에 여러 개의 코어가 집적되어 있어서, 병렬적으로 작업을 처리하는 기술
  • 여러 개의 코어, 병렬 처리

 

💡  다수 집적 코어 MIC 

  • 다수의 프로세서 코어를 한 칩 안에 집적시킨 아키텍처
  • 다수의 코어, 병렬 처리, 고성능

 

💡  그래픽 처리 유닛 GPU 

  • 그래픽 처리를 전문적으로 담당하는 프로세서
  • 그래픽 처리, 병렬 처리, 고성능

 

✅ 3. 두 가지 법칙: 암달의 법칙 Amdahl's Law, 리틀의 법칙 Little's Law

💡  암달의 법칙 Amdahl's Law

  • 성능 향상: 병렬 처리를 통해 시스템 성능을 향상시킬 수 있다는 법칙
  • 법칙의 내용: 병렬화된 작업에서 순차적인 부분이 있기 때문에 전체 시스템 성능 향상에 병렬화 비율(Parallelization Ratio)이 한계를 가진다는 법칙
  • 병렬화 비율: 순차적인 부분을 제외한 나머지 작업을 병렬화하여 처리하는데 걸리는 시간 비율

 

💡  리틀의 법칙 Little's Law

  • 대기시간과 처리량: 시스템의 대기시간과 처리량 사이에는 일정한 상관관계가 있다는 법칙
  • 법칙의 내용: 시스템의 대기시간(Waiting Time)은 시스템의 처리량(Throughput)과 이용률(Utilization)의 함수로 표현될 수 있으며, 이를 통해 시스템 최적화가 가능하다는 법칙
  • 이용률: 시스템 자원의 이용 비율을 나타내는 값으로, 시스템에 요청된 작업을 처리하는데 걸리는 시간 대비 시스템 자원이 사용된 시간의 비율

 

✅ 5. 평균 계산

💡  산술 평균 Arithmetic Mean

  • 모든 값을 더한 후 전체 개수로 나눈 값이다.
  • 동일한 가중치를 가지는 값들의 평균을 계산한다.

 

💡  기하 평균 Geometric  Mean

  • 값들을 곱한 후 개수 만큼 제곱근을 취한 값이다.
  • 서로 다른 가중치를 가지는 값들의 평균을 계산한다.

 

💡  조화 평균 Harmonic  Mean

  • 모든 값을 역수로 변환하여 더한 후 다시 역수로 변환한 값이다.
  • 비율이나 비율의 역수를 처리하는데 유용하다.
  • 빈도가 다른 값들의 평균을 계산할 때 사용한다.

 

✅ 6. 벤치마크 Benchmark, SPEC

💡  벤치마크 Benchmark

  • 컴퓨터의 성능을 측정하기 위한 표준화된 프로그램 또는 테스트의 총칭
  • 실제로 실행되는 애플리케이션을 기반으로 하는 실사용성 벤치마크와 성능을 측정하는 합성벤치마크가 있다.
  • 표준화된 벤치마크는 다양한 시스템 사이의 성능을 비교하기 위해 필요하다.

 

💡  SPEC(System Performance Evaluation Corporation)

  • 벤치마크의 표준화를 위한 단체로, 컴퓨터 시스템의 성능 측정을 위한 SPEC 벤치마크를 만들고 유지보수한다.
  • SPEC CPU, SPEC Power, SPEC OMP 등 다양한 벤치마크를 개발하고 있다.
  • 컴퓨터 시스템의 성능 측정을 위한 표준화된 벤치마크를 만들고 있어 다양한 시스템 사이의 성능 비교를 쉽게 할 수 있다.

✅ 1. 성능을 위한 설계

  •  캐시 메모리: 빠른 데이터 액세스를 위해 CPU와 메인 메모리 사이에 작은 용량의 고속 캐시 메모리를 추가한다.
  • 멀티프로세서: 여러 개의 CPU 코어를 하나의 시스템에 추가하여 병렬 처리를 향상시키고 성능을 향상시킨다.
  • 메모리 인터리빙: 메인 메모리를 더 작은 블록으로 나누어 병렬로 액세스할 수 있도록 한다.
  • SIMD 명령어: 하나의 명령어로 여러 개의 데이터를 병렬로 처리할 수 있는 명령어 집합을 추가하여 처리 속도를 높인다.
  • 전송 대역폭 향상: 데이터 전송 대역폭을 향상시키기 위해 버스의 크기를 증가시키거나 고속 버스를 추가한다.
  • 클러스터링: 여러 대의 컴퓨터를 클러스터로 구성하여 처리 능력을 높이고 시스템 성능을 향상시킨다.
  • 프로파일링 및 최적화: 시스템에서 병목 현상이 발생하는 부분을 파악하고 최적화하여 성능을 향상시킨다.
  • 쓰래딩: 멀티쓰레딩 기술을 사용하여 여러 개의 쓰레드를 병렬로 처리하여 시스템 성능을 향상시킨다.
  • 하드웨어 가속기: CPU가 처리하기 어려운 특정 작업을 전용 하드웨어 가속기에 할당하여 처리 속도를 높인다.
  • 파이프라이닝: CPU가 여러 단계로 처리되는 작업을 분할하여 병렬로 처리하게 하여 전체 처리속도를 높인다.

 

✅ 2. 멀티코어 Multicore, 다수 집적 코어 MIC, 그래픽 처리 유닛 GPU 

💡  멀티코어 Multicore 

  • 하나의 프로세서 칩에 여러 개의 코어가 집적되어 있어서, 병렬적으로 작업을 처리하는 기술
  • 여러 개의 코어, 병렬 처리

 

💡  다수 집적 코어 MIC 

  • 다수의 프로세서 코어를 한 칩 안에 집적시킨 아키텍처
  • 다수의 코어, 병렬 처리, 고성능

 

💡  그래픽 처리 유닛 GPU 

  • 그래픽 처리를 전문적으로 담당하는 프로세서
  • 그래픽 처리, 병렬 처리, 고성능

 

✅ 3. 두 가지 법칙: 암달의 법칙 Amdahl's Law, 리틀의 법칙 Little's Law

💡  암달의 법칙 Amdahl's Law

  • 성능 향상: 병렬 처리를 통해 시스템 성능을 향상시킬 수 있다는 법칙
  • 법칙의 내용: 병렬화된 작업에서 순차적인 부분이 있기 때문에 전체 시스템 성능 향상에 병렬화 비율(Parallelization Ratio)이 한계를 가진다는 법칙
  • 병렬화 비율: 순차적인 부분을 제외한 나머지 작업을 병렬화하여 처리하는데 걸리는 시간 비율

 

💡  리틀의 법칙 Little's Law

  • 대기시간과 처리량: 시스템의 대기시간과 처리량 사이에는 일정한 상관관계가 있다는 법칙
  • 법칙의 내용: 시스템의 대기시간(Waiting Time)은 시스템의 처리량(Throughput)과 이용률(Utilization)의 함수로 표현될 수 있으며, 이를 통해 시스템 최적화가 가능하다는 법칙
  • 이용률: 시스템 자원의 이용 비율을 나타내는 값으로, 시스템에 요청된 작업을 처리하는데 걸리는 시간 대비 시스템 자원이 사용된 시간의 비율

 

✅ 5. 평균 계산

💡  산술 평균 Arithmetic Mean

  • 모든 값을 더한 후 전체 개수로 나눈 값이다.
  • 동일한 가중치를 가지는 값들의 평균을 계산한다.

 

💡  기하 평균 Geometric  Mean

  • 값들을 곱한 후 개수 만큼 제곱근을 취한 값이다.
  • 서로 다른 가중치를 가지는 값들의 평균을 계산한다.

 

💡  조화 평균 Harmonic  Mean

  • 모든 값을 역수로 변환하여 더한 후 다시 역수로 변환한 값이다.
  • 비율이나 비율의 역수를 처리하는데 유용하다.
  • 빈도가 다른 값들의 평균을 계산할 때 사용한다.

 

✅ 6. 벤치마크 Benchmark, SPEC

💡  벤치마크 Benchmark

  • 컴퓨터의 성능을 측정하기 위한 표준화된 프로그램 또는 테스트의 총칭
  • 실제로 실행되는 애플리케이션을 기반으로 하는 실사용성 벤치마크와 성능을 측정하는 합성벤치마크가 있다.
  • 표준화된 벤치마크는 다양한 시스템 사이의 성능을 비교하기 위해 필요하다.

 

💡  SPEC(System Performance Evaluation Corporation)

  • 벤치마크의 표준화를 위한 단체로, 컴퓨터 시스템의 성능 측정을 위한 SPEC 벤치마크를 만들고 유지보수한다.
  • SPEC CPU, SPEC Power, SPEC OMP 등 다양한 벤치마크를 개발하고 있다.
  • 컴퓨터 시스템의 성능 측정을 위한 표준화된 벤치마크를 만들고 있어 다양한 시스템 사이의 성능 비교를 쉽게 할 수 있다.
반응형