상위 질문
타임라인
채팅
관점
벤치마크 (컴퓨팅)
동일 프로그램을 실행하는 컴퓨터의 상대적 성능 비교 위키백과, 무료 백과사전
Remove ads
벤치마크(benchmark)는 컴퓨팅에서 특정 오브젝트(하드웨어 또는 소프트웨어 등)에 대해 일반적으로 수많은 표준 테스트와 시도를 수행함으로써 오브젝트의 상대적인 성능 측정을 목적으로 컴퓨터 프로그램을 실행하는 행위이다.[1]

'벤치마크'라는 용어는 정교하게 설계된 벤치마킹 프로그램 자체의 목적으로 일반적으로 사용된다.
벤치마킹은 일반적으로 컴퓨터 하드웨어의 성능 특성(예: CPU의 부동 소수점 연산 성능)을 평가하는 것과 관련이 있지만 이 기술이 소프트웨어에도 적용되는 경우가 있다. 예를 들어 소프트웨어 벤치마크는 컴파일러나 데이터베이스 관리 시스템(DBMS)에 대해 실행된다.
벤치마크는 다양한 칩/시스템 아키텍처 전반에 걸쳐 다양한 하위 시스템의 성능을 비교하는 방법을 제공한다. 지속적 통합의 일부인 벤치마킹을 지속적 벤치마킹(Continuous Benchmarking)이라고 한다.[2]
Remove ads
기능
벤치마킹 소프트웨어의 기능에는 성능 과정을 스프레드시트 파일로 기록/내보내기, 선 그래프 그리기 또는 색상으로 구분된 타일과 같은 시각화, 다시 시작하지 않고도 재개할 수 있도록 프로세스 일시 중지 등이 포함될 수 있다. 소프트웨어는 해당 목적에 맞는 추가 기능을 가질 수 있다. 예를 들어, 디스크 벤치마킹 소프트웨어는 선택적으로 전체 디스크가 아닌 디스크의 지정된 범위 내에서 디스크 속도 측정을 시작하고, 무작위 액세스 읽기 속도 및 레이턴시를 측정하고, 지정된 간격과 크기의 샘플을 통해 속도를 측정하고 데이터 블록 크기(읽기 요청당 요청된 바이트 수를 의미)를 지정할 수 있는 "빠른 스캔" 기능이 있다.[3]
벤치마킹 원칙
벤치마크에는 7가지 중요한 특성이 있다.[4] 이러한 주요 속성은 다음과 같다.
- 관련성: 벤치마크는 상대적으로 중요한 기능을 측정해야 한다.
- 대표성: 벤치마크 성과 지표는 업계와 학계에서 널리 받아들여져야 한다.
- 형평성: 모든 시스템은 공정하게 비교되어야 한다.
- 반복성: 벤치마크 결과를 확인할 수 있다.
- 비용 효율성: 벤치마크 테스트는 경제적이다.
- 확장성: 벤치마크 테스트는 낮은 리소스부터 높은 리소스까지 다양한 리소스를 보유한 시스템 전반에서 작동해야 한다.
- 투명성: 벤치마크 지표는 이해하기 쉬워야 한다.
벤치마크 유형
- 실제 프로그램
- 부품 벤치마크/마이크로벤치마크
- 커널
- 키 코드가 포함된다.
- 일반적으로 실제 프로그램에서 추상화된다.
- 대중화된 커널: 리버모어(Livermore) 루프
- 린팩(linpack) 벤치마크(FORTRAN 언어로 작성된 기본 선형 대수 서브루틴 포함)
- 결과는 Mflop/s로 표시된다.
- 합성 벤치마크
- 합성 벤치마크 프로그래밍 절차:
- 많은 응용 프로그램에서 모든 유형의 작업에 대한 통계를 얻는다.
- 각 작업의 비율을 구한다.
- 위의 비율에 따라 프로그램을 작성한다.
- 종합 벤치마크 유형은 다음과 같다.
- 웻스톤(Whetstone)
- 드라이스톤
- 이것은 최초의 범용 산업 표준 컴퓨터 벤치마크였다. 현대 파이프라인 컴퓨터에서 반드시 높은 점수를 얻는 것은 아니다.
- 합성 벤치마크 프로그래밍 절차:
- 입출력(I/O) 벤치마크
- 데이터베이스 벤치마크
- 데이터베이스 관리 시스템(DBMS)의 처리량과 응답 시간을 측정한다.
- 병렬 벤치마크
- 다중 코어 및 프로세서가 있는 시스템 또는 다중 시스템으로 구성된 시스템에 사용된다.
공통 벤치마크
일반적으로 하드웨어의 주요한 부품인 CPU, 램 등에 대한 밴치마크에 사용되는 테스트 프로그램으로는 pov-ray 등이 있다. 잘 알려진 하드웨어 벤치마크(benchmark)사이트로는 탐스 하드웨어(Tom's Hardware)가 있다.[6]
같이 보기
각주
참고 자료
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads