벤치마크(컴퓨팅)
Benchmark (computing)![]() | 이 글은 컴퓨터 과학 전문가의 주의가 필요하다.구체적인 문제는 오래된 소스 또는 사용되지 않는 소스입니다.자세한 내용은 토크 페이지를 참조하십시오. |

컴퓨팅에서 벤치마크는 컴퓨터 프로그램, 프로그램 세트 또는 기타 작업을 실행하여 오브젝트의 상대적인 성능을 평가하는 행위이며, 일반적으로 오브젝트에 [1]대해 여러 표준 테스트와 테스트를 실행함으로써 오브젝트의 상대적인 성능을 평가합니다.
벤치마크라는 용어는 정교하게 설계된 벤치마크 프로그램 자체에서도 일반적으로 사용됩니다.
벤치마킹은 보통 CPU의 부동소수점 동작 성능 등 컴퓨터 하드웨어의 성능 특성 평가와 관련되어 있지만 소프트웨어에도 적용할 수 있는 상황이 있습니다.예를 들어 소프트웨어 벤치마크는 컴파일러 또는 데이터베이스 관리 시스템(DBMS)에 대해 실행됩니다.
벤치마크는 여러 칩/시스템 아키텍처 간에 다양한 서브시스템의 성능을 비교하는 방법을 제공합니다.
목적
컴퓨터 아키텍처가 발전함에 따라 다양한 컴퓨터 시스템의 사양만 보고 성능을 비교하는 것은 더욱 어려워졌습니다.따라서, 다른 아키텍처의 비교를 가능하게 하는 테스트가 개발되었습니다.예를 들어, Pentium 4 프로세서는 일반적으로 Athlon XP 또는 PowerPC 프로세서보다 높은 클럭 주파수로 동작합니다.이것은 반드시 높은 클럭 주파수로 동작하는 프로세서보다 낮은 클럭 주파수로 동작하는 프로세서와 동등하거나 더 뛰어난 성능을 발휘합니다.보고맵과 메가헤르츠 신화를 보세요.
벤치마크는 컴포넌트 또는 시스템에서 특정 유형의 워크로드를 모방하도록 설계되었습니다.합성 벤치마크는 컴포넌트에 워크로드를 부과하는 특수하게 작성된 프로그램을 통해 이를 수행합니다.애플리케이션 벤치마크는 시스템에서 실제 프로그램을 실행합니다.애플리케이션 벤치마크는 일반적으로 특정 시스템의 실제 성능을 훨씬 더 잘 측정할 수 있지만, 합성 벤치마크는 하드 디스크나 네트워킹 디바이스와 같은 개별 구성 요소를 테스트하는 데 유용합니다.
벤치마크는 CPU 설계에서 특히 중요하기 때문에 프로세서 설계자는 마이크로아키텍처의 결정을 측정하고 트레이드오프할 수 있습니다.예를 들어 벤치마크에서 응용 프로그램의 주요 알고리즘을 추출하는 경우 해당 응용 프로그램의 성능에 민감한 측면이 포함됩니다.사이클 정밀도의 시뮬레이터에서 이 훨씬 작은 조각을 실행하면 성능을 향상시키는 방법에 대한 단서를 얻을 수 있습니다.
2000년 이전에는 컴퓨터 및 마이크로프로세서 설계자가 SPEC을 사용하여 이를 수행했지만 SPEC의 Unix 기반 벤치마크는 매우 길고, 따라서 그대로 사용하기에는 다루기 힘들었습니다.
컴퓨터 제조업체들은 실제 사용으로 복제되지 않은 벤치마크 테스트에서 비현실적으로 높은 성능을 제공하도록 시스템을 구성하는 것으로 알려져 있습니다.예를 들어 1980년대에 일부 컴파일러는 잘 알려진 부동소수점 벤치마크에서 사용되는 특정 수학적 연산을 검출하여 보다 빠른 수학적으로 동등한 연산으로 대체할 수 있었습니다.그러나 RISC 및 VLIW 아키텍처가 퍼포먼스와 관련된 컴파일러 테크놀로지의 중요성을 강조했던 1990년대 중반까지는 이러한 전환이 벤치마크 밖에서는 거의 도움이 되지 않았습니다.벤치마크는 현재 컴파일러 회사에서 자사의 벤치마크 점수뿐만 아니라 실제 애플리케이션 성능을 향상시키기 위해 정기적으로 사용되고 있습니다.
슈퍼스칼라 CPU, VLIW CPU, 재구성 가능한 컴퓨팅 CPU 등 다수의 실행 유닛을 갖춘 CPU는 같은 속도의 트랜지스터로 구축했을 때 보통 1개 또는 2개의 실행 유닛을 갖춘 시퀀셜 CPU보다 클럭 속도가 느립니다.그러나 실행 유닛이 많은 CPU는 고속으로 예상되는 고클럭 레이트의 CPU보다 짧은 시간에 실제 작업 및 벤치마크 작업을 완료하는 경우가 많습니다.
이용할 수 있는 벤치마크의 수가 많은 경우, 제조원은 통상, 적어도 1개의 벤치마크에 의해서, 자사의 시스템이 다른 시스템을 능가하는 것을 알 수 있습니다.다른 시스템은 다른 벤치마크에 의해서 뛰어난 것을 알 수 있습니다.
제조업체는 일반적으로 자사 제품을 가장 잘 보여주는 벤치마크(또는 벤치마크의 측면)만 보고합니다.또, 벤치마크의 중요성을 잘못 표현해, 제품을 가능한 한 잘 나타내도록 하고 있는 것으로 알려져 있습니다.종합하면, 이러한 관행을 벤치 마케팅이라고 부릅니다.
이상적인 벤치마크는 실제 애플리케이션을 사용할 수 없거나 특정 프로세서 또는 컴퓨터 시스템으로의 포팅이 너무 어렵거나 비용이 많이 드는 경우에만 대체해야 합니다.퍼포먼스가 중요한 경우 중요한 벤치마크는 타깃 환경의 애플리케이션 스위트뿐입니다.
기능
벤치마크 소프트웨어의 특징은 퍼포먼스 과정을 스프레드시트 파일로 기록/내보내기, 그리기 선 그래프 또는 컬러 코드 타일 등의 시각화, 프로세스를 다시 시작하지 않고 재개할 수 있도록 일시정지하는 것을 포함할 수 있다.소프트웨어에는 목적에 맞는 추가 기능이 있을 수 있습니다.예를 들어 디스크 벤치마킹소프트웨어는 풀디스크가 아닌 디스크의 지정된 범위 내에서 디스크 속도를 측정하거나 랜덤 액세스 읽기 속도와 레이텐시를 측정하거나 스펙 샘플의 속도를 측정하는 "퀵 스캔" 기능을 옵션으로 사용할 수 있습니다.간격과 크기를 지정하고 데이터 블록 크기를 지정할 수 있습니다. 즉, 읽기 [2]요청당 요청된 바이트 수를 의미합니다.
과제들
벤치마킹은 쉽지 않으며 예측 가능하고 유용한 결론에 도달하기 위해 여러 번의 라운드를 반복하는 경우가 많습니다.벤치마킹 데이터의 해석도 매우 어렵다.다음은 일반적인 문제의 일부입니다.
- 벤더는 업계 표준 벤치마크에 맞추어 제품을 조정하는 경향이 있습니다.Norton SysInfo(SI)는 주로 여러 작업의 속도에 편중되어 있기 때문에 특히 튜닝이 용이합니다.이러한 결과를 해석할 때는 매우 주의해야 합니다.
- 일부 벤더는 벤치마크에서 '사기'를 한다는 비난을 받고 있습니다.벤치마크 수치가 훨씬 높아지지만 실제 워크로드에서는 [3]상황이 악화됩니다.
- 많은 벤치마크에서는 컴퓨터 시스템의 다음과 같은 다른 중요한 기능은 무시하고 컴퓨터 성능의 속도에 전적으로 초점을 맞추고 있습니다.
- 미가공 퍼포먼스 이외의 서비스 품질.측정되지 않은 서비스 품질의 예로는 보안, 가용성, 신뢰성, 실행 무결성, 서비스 가용성, 확장성(특히 용량을 신속하고 중단 없이 추가 또는 재할당할 수 있는 기능) 등이 있습니다.이러한 서비스 품질 사이에는 종종 진정한 트레이드오프가 존재하며, 비즈니스 컴퓨팅에서는 모두 중요합니다.트랜잭션 처리 성능 위원회 벤치마크 사양은 ACID 속성 테스트, 데이터베이스 확장성 규칙 및 서비스 수준 요건을 지정함으로써 이러한 문제에 부분적으로 대처합니다.
- 일반적으로 벤치마크는 총소유비용을 측정하지 않습니다.트랜잭션 처리 퍼포먼스 평의회 벤치마크 사양은 단순화된 TCO 공식을 사용하여 미가공 퍼포먼스 메트릭과 더불어 가격/퍼포먼스 메트릭을 보고해야 한다고 규정함으로써 이 문제에 부분적으로 대처합니다.단, 비용은 반드시 일부에 불과하며 벤더는 벤치마크에 대해 특별히 (및 한정적으로) 가격을 책정하여 인위적으로 낮은 가격으로 매우 구체적인 "벤치마크 스페셜" 구성을 설계하는 것으로 알려져 있습니다.벤치마크 패키지에서 조금만 벗어나도 실제 경험에서 훨씬 더 높은 가격을 얻을 수 있습니다.
- 설비 부담(공간, 전력 및 냉각)전력을 많이 사용하면 노트북 컴퓨터의 배터리 수명이 짧아지고 충전 빈도가 높아집니다.소비전력 및/또는 공간을 많이 사용하는 서버는 냉각 제한 등 기존 데이터센터 자원의 제약에 적합하지 않을 수 있습니다.대부분의 반도체는 더 빠른 전환을 위해 더 많은 전력을 필요로 하기 때문에 실질적인 트레이드오프가 있다.와트 성능도 참조하십시오.
- 메모리 비용이 큰 임베디드 시스템에서는 코드 밀도를 높이면 비용을 대폭 절감할 수 있습니다.
- 벤더 벤치마크에서는 개발, 테스트 및 디저스터 리커버리 컴퓨팅 용량의 요건을 무시하는 경향이 있습니다.벤더는 초기 구입 가격을 가능한 한 낮게 보이기 위해 생산능력에 필요한 것을 보고하는 것을 좋아합니다.
- 벤치마크는 널리 분산된 서버, 특히 네트워크 토폴로지에 대한 민감도가 높은 서버에 적응하는 데 어려움을 겪고 있습니다.특히 그리드 컴퓨팅의 등장으로 인해 일부 워크로드는 "그리드 친화적"이지만 다른 워크로드는 그렇지 않기 때문에 벤치마킹이 복잡해집니다.
- 사용자는 벤치마크에서 제안하는 것과 매우 다른 퍼포먼스에 대한 인식을 가질 수 있습니다.특히 사용자는 예측 가능성을 높이 평가하고 있습니다.즉, 항상 서비스 수준 계약을 충족하거나 이를 초과하는 서버입니다.벤치마크는 최악의 경우 최대 응답 시간(실시간 컴퓨팅 관점) 또는 낮은 표준 편차(사용자 관점)보다는 평균 점수(IT 관점)를 강조하는 경향이 있습니다.
- 많은 서버 아키텍처는 높은 사용률(100%에 가까운 사용률)로 대폭 저하되고 있습니다.벤치마크에서는 이 요소를 고려해야 합니다(대부분 고려되지 않습니다).특히 벤더는 약 80%의 사용률로 서버 벤치마크를 지속적으로 공개하는 경향이 있습니다.이는 비현실적인 상황입니다.또한 수요가 급증할 경우 시스템 전체에 어떤 일이 발생하는지 문서화하지 않습니다.
- 많은 벤치마크에서는 다른 애플리케이션을 제외하고 하나의 애플리케이션 또는 하나의 애플리케이션 계층에 초점을 맞추고 있습니다.현재 대부분의 데이터 센터는 다양한 이유로 가상화를 광범위하게 구현하고 있으며, 벤치마킹은 통합된 서버에서 여러 애플리케이션과 애플리케이션 계층이 동시에 실행되고 있는 현실을 따라잡고 있습니다.
- 배치 컴퓨팅, 특히 대량 동시 배치 및 온라인 컴퓨팅의 성능을 측정하는 데 도움이 되는 고품질 벤치마크는 거의 없습니다.배치 컴퓨팅은 월말이나 회계연도 말 등 장기간에 걸친 작업을 기한 내에 올바르게 완료해야 하는 예측 가능성에 중점을 두는 경향이 있습니다.많은 중요한 핵심 비즈니스 프로세스는 배치 지향적이며, 청구 등 항상 그럴 것입니다.
- 벤치마킹 기관은 기본적인 과학적 방법을 무시하거나 따르지 않는 경우가 많습니다.여기에는 작은 표본 크기, 변수 관리 결여, [4]결과의 제한된 반복성 등이 포함됩니다.
벤치마킹의 원칙
벤치마크에는 [5]7가지 중요한 특징이 있습니다.주요 속성은 다음과 같습니다.
- 관련성:벤치마크는 비교적 중요한 특징을 측정해야 합니다.
- 대표성:벤치마크 퍼포먼스 지표는 업계 및 학계에서 폭넓게 인정해야 합니다.
- 형평성: 모든 시스템을 공정하게 비교해야 합니다.
- 반복성:벤치마크 결과를 검증할 수 있습니다.
- 비용 효율:벤치마크 테스트는 경제적입니다.
- 확장성:벤치마크 테스트는 낮은 자원부터 높은 자원까지 다양한 시스템을 대상으로 실시해야 합니다.
- 투명도:벤치마크 메트릭은 이해하기 쉬워야 합니다.
벤치마크의 종류
- 리얼 프로그램
- 워드프로세서 소프트웨어
- CAD 툴소프트웨어
- 사용자의 애플리케이션 소프트웨어(예: MIS)
- 컴포넌트 벤치마크 / Microbenchmark
- 커널
- 키 코드 포함
- 통상 실제 프로그램으로부터 추상화된
- 인기 커널: 리버모어 루프
- linpack 벤치마크(FORTRAN 언어로 작성된 기본 선형 대수 서브루틴 포함)
- 결과는 Mflop/s로 표시됩니다.
- 합성 벤치마크
- I/O 벤치마크
- 데이터베이스 벤치마크
- 데이터베이스 관리 시스템(DBMS)의 throughput과 응답 시간을 측정합니다.
- 병행 벤치마크
- 여러 코어 및/또는 프로세서가 있는 기계 또는 여러 기계로 구성된 시스템에서 사용됨
공통 벤치마크
업계 표준(감사 및 검증 가능)
- 비즈니스 애플리케이션 퍼포먼스 코퍼레이션(BAPCo)
- 임베디드 마이크로프로세서 벤치마크 컨소시엄(EEMBC)
- Standard Performance Evaluation Corporation(SPEC; 표준 퍼포먼스 평가 코퍼레이션), 특히 SPECint 및 SPECfp
- TPC(Transaction Processing Performance Council): DBMS 벤치마크[7]
오픈 소스 벤치마크
- AIM 멀티 유저 벤치마크– UNIX 타입의 OS 상에서 특정 컴퓨터 기능을 시뮬레이트하는 '로드 믹스'를 작성하기 위해 혼재 가능한 테스트 목록으로 구성됩니다.
- Bonnie++ –파일 시스템과 하드 드라이브의 벤치마크
- BRL-CAD – 멀티스레드 레이트레이스 퍼포먼스를 기반으로 한 크로스 플랫폼 아키텍처에 의존하지 않는 벤치마크 스위트.VAX-11/780을 기반으로 1984년부터 CPU 퍼포먼스, 컴파일러 차이, 최적화 수준, 일관성, 아키텍처 차이 및 운영 체제 차이를 평가하기 위해 사용되었습니다.
- 종합적인 지식 – 자원 봉사자가 제공하는 하드웨어 전체에서 사용자 워크로드(딥러닝 등)의 벤치마킹과 최적화를 크라우드소싱하는 맞춤형 크로스 플랫폼 프레임워크
- Coremark – 임베디드 컴퓨팅 벤치마크
- DEISA Benchmark Suite – 과학적 HPC 애플리케이션 벤치마크
- Drystone – 정수 연산 퍼포먼스(Dristone 수백만 명령/초)로 보고되는 경우가 많습니다.
- DiskSpd – 컴퓨터 파일, 파티션 또는 스토리지 디바이스에 대한 다양한 요구를 생성하는 스토리지 벤치마크용 명령줄 도구
- Fhourstones – 정수 벤치마크
- 힌트 – CPU와 메모리의 전체적인 퍼포먼스를 측정하도록 설계되어 있습니다.
- Iometer – 단일 및 클러스터 시스템용 I/O 서브시스템 측정 및 특성화 도구.
- IOzone – 파일 시스템 벤치마크
- LINPACK 벤치마크– 종래 FLOPS 측정에 사용
- 리버모어 루프
- NAS 병렬 벤치마크
- NBench – 정수 연산, 메모리 연산 및 부동소수점 연산 성능을 측정하는 합성 벤치마크 스위트
- PAL – 실시간 물리 엔진 벤치마크
- PerfKitBenchmarker – 클라우드 서비스를 측정하고 비교하는 벤치마크 세트입니다.
- Phoronix 테스트 스위트– Linux, OpenSolaris, FreeBSD, OSX 및 Windows용 오픈 소스 크로스 플랫폼 벤치마킹 스위트.이 페이지에는 실행을 간소화하기 위한 기타 벤치마크도 다수 포함되어 있습니다.
- POV-Ray – 3D 렌더링
- Tak (함수)– 재귀 퍼포먼스를 테스트하기 위한 간단한 벤치마크
- TATP 벤치마크– 전기통신 어플리케이션 트랜잭션 처리 벤치마크
- TPoX – XML 데이터베이스용 XML 트랜잭션 처리 벤치마크
- VUP(VAX 퍼포먼스 단위)– VAX MIPS라고도 불립니다.
- 숫돌 – 부동소수점 연산 성능. 종종 MWIPS(Millions Wettstone Instructions Per Second)로 보고됩니다.
Microsoft Windows 벤치마크
- BAPCo: MobileMark, SYSMark, WebMark
- Crystal Disk Mark(Crystal Disk Mark)
- Futuremark: 3D Mark, PCMark
- 천국 벤치마크
- 파이퍼스트
- 중첩 벤치마크
- 슈퍼PI
- 슈퍼 프라임
- 밸리 벤치마크
- 숫돌
- Windows Vista 이후의 릴리스에 포함되어 있는 Windows 시스템 평가 도구.사용자가 시스템을 쉽게 평가할 수 있는 인덱스를 제공합니다.
- Worldbench (단종)
다른이들
- AnTuTu – 전화 및 ARM 기반 디바이스에서 일반적으로 사용됩니다.
- Geekbench – Windows, Linux, MacOS, iOS 및 Android의 크로스 플랫폼 벤치마크.
- iCOMP – 인텔이 발표한 인텔 비교 마이크로프로세서 퍼포먼스
- 호너스톤
- 퍼포먼스 평가– AMD 및 Cyrix가 사용하는 모델링 스킴으로 보통 경쟁 제품과 비교한 상대적인 퍼포먼스를 반영합니다.
- SunSpider – 브라우저 속도 테스트
- VMmark – 가상화 벤치마크 스위트.
「 」를 참조해 주세요.
- 벤치마킹(비즈니스 관점)
- 유공자
- 무손실 압축 벤치마크
- 퍼포먼스 카운터 모니터
- 테스트 스위트 – 소프트웨어 프로그램에 특정 동작 세트가 있음을 보여주는 테스트 케이스 모음
레퍼런스
- ^ Fleming, Philip J.; Wallace, John J. (1986-03-01). "How not to lie with statistics: the correct way to summarize benchmark results". Communications of the ACM. 29 (3): 218–221. doi:10.1145/5666.5673. ISSN 0001-0782. S2CID 1047380. Retrieved 2017-06-09.
- ^ 소프트웨어: HDDScan, GNOME 디스크
- ^ Krazit, Tom (2003). "NVidia's Benchmark Tactics Reassessed". IDG News. Archived from the original on 2011-06-06. Retrieved 2009-08-08.
- ^ Castor, Kevin (2006). "Hardware Testing and Benchmarking Methodology". Archived from the original on 2008-02-05. Retrieved 2008-02-24.
- ^ Dai, Wei; Berleant, Daniel (December 12–14, 2019). "Benchmarking Contemporary Deep Learning Hardware and Frameworks: a Survey of Qualitative Metrics" (PDF). 2019 IEEE First International Conference on Cognitive Machine Intelligence (CogMI). Los Angeles, CA, USA: IEEE. pp. 148–155. arXiv:1907.03626. doi:10.1109/CogMI48466.2019.00029.
- ^ Ehliar, Andreas; Liu, Dake. "Benchmarking network processors" (PDF).
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ Transaction Processing Performance Council (February 1998). "History and Overview of the TPC". TPC. Transaction Processing Performance Council. Retrieved 2018-07-02.
추가 정보
- Gray, Jim, ed. (1993). The Benchmark Handbook for Database and Transaction Systems. Morgan Kaufmann Series in Data Management Systems (2nd ed.). Morgan Kaufmann Publishers, Inc. ISBN 1-55860-292-5.
- Scalzo, Bert; Kline, Kevin; Fernandez, Claudia; Burleson, Donald K.; Ault, Mike (2007). Database Benchmarking Practical Methods for Oracle & SQL Server. ISBN 978-0-9776715-3-3.
- Nambiar, Raghunath; Poess, Meikel, eds. (2009). Performance Evaluation and Benchmarking. Springer. ISBN 978-3-642-10423-7.
외부 링크
- Lewis, Byron C.; Crews, Albert E. (1985). "The Evolution of Benchmarking as a Computer Performance Evaluation Technique". MIS Quarterly. 9 (1): 7–16. doi:10.2307/249270. ISSN 0276-7783. JSTOR 249270. 개최일 : 1962~1976년
