드리스톤
DhrystoneDrystone은 1984년 Reinhold P에 의해 개발된 합성 컴퓨팅 벤치마크 프로그램입니다. Weicker는 시스템(정수) 프로그래밍을 대표할 목적으로 설계되었습니다.Drystone은 일반 프로세서(CPU) 성능을 대표하는 제품이 되었습니다."Drystone"이라는 이름은 부동 소수점 [1]성능을 강조하는 Whetstone(숫돌 = 습석 드리스톤 = 드라이스톤)이라는 다른 벤치마크 알고리즘에 대한 말장난이다.
Drystone을 사용하여 Weicker는 FORTRAN, PL/1, SAL, ALGOL 68 및 Pascal로 작성된 프로그램을 포함한 다양한 소프트웨어에서 메타데이터를 수집했습니다.그런 다음 프로시저 호출, 포인터 지시, 할당 등 다양한 공통 구성 측면에서 이러한 프로그램을 특징지었다.이를 바탕으로 그는 대표적인 혼합물에 대응하는 드리스톤 벤치마크를 작성했다.Drystone은 Ada에서 발행되었으며, Rick Richardson('버전 1.1')이 개발한 Unix용 C 버전이 인기에 크게 기여했습니다.
Drystone vs.숫돌
Drystone 벤치마크에는 부동소수점 연산이 포함되어 있지 않기 때문에 부동소수점 연산을 위한 당시 인기 있던 Whetstone 벤치마크에 대한 말장난입니다.벤치마크의 출력은 초당 드리스톤 수(초당 주 코드 루프의 반복 횟수)이다.
Whetstone과 Drystone은 모두 합성 벤치마크이며, 이는 일반적인 프로그램 세트의 프로세서 사용률을 통계적으로 모방하도록 설계된 단순한 프로그램임을 의미합니다.1972년에 개발된 Whetstone은 원래 1970년의 측정을 기반으로 전형적인 Algol 60 프로그램을 모방하려고 노력했지만, 1960년대 컴퓨팅의 높은 수치적 지향성을 반영하여 Fortran 버전에서 가장 인기를 끌었습니다.
Drystone이 대처하는 문제
이 섹션은 어떠한 출처도 인용하지 않습니다. 2021년 6월 (이를 에 대해 설명합니다) |
Drystone은 새로운 컴퓨터의 범용("integer") 성능을 나타내는 지표로서 궁극적으로 중요하기 때문에 상용 컴파일러 작성자의 표적이 되었습니다.다양한 최신 컴파일러 정적 코드 분석 기술(예: 프로세서를 사용하지만 사용되지 않거나 출력되지 않는 내부 결과를 생성하는 코드)은 합성 벤치마크의 사용과 설계를 더욱 어렵게 합니다.1988년 3월에 Weicker와 Richardson에 의해 발표된 벤치마크 버전 2.0에는 다양한 컴파일러 기술을 배제하기 위한 많은 변경이 있었습니다.그러나 기본 벤치마크를 변경하지 않도록 세심하게 제작되었습니다.컴파일러를 저지하려는 이러한 노력은 부분적으로만 성공적이었다.같은 해 5월에 발표된 Drystone 2.1은 약간의 변경이 있었으며 2010년 7월[update] 현재 Drystone의 현재 정의로 남아 있다.
Dhrystone에서는 컴파일러 최적화와 관련된 문제 외에도 다양한 문제가 언급되고 있습니다.작은 코드 크기와 작은 데이터 세트 크기를 포함한 이러한 대부분은 1984년 출판 당시 이해되었습니다.보다 미묘한 것은 문자열 연산의 약간의 과잉 표현입니다.이것은 주로 언어와 관련되어 있습니다.Ada와 Pascal은 모두 언어의 일반 변수로서 문자열을 가지고 있는 반면, C는 가지고 있지 않기 때문에 참조 벤치마크에서 단순한 변수 할당은 C 라이브러리의 버퍼 복사 연산이 되었습니다.또 다른 문제는 보고된 점수에는 사용된 컴파일러 및 최적화와 같은 시스템을 비교할 때 중요한 정보가 포함되어 있지 않다는 것입니다.
Drystone은 단순한 벤치마크로서 매우 탄력적인 상태를 유지하고 있지만, 진정한 성능을 확립하는 데 있어 Drystone의 지속적 가치는 의문입니다.사용하기 쉽고, 문서화가 잘 되어 있으며, 완전히 자급자족하고, 잘 이해되어 있으며, 거의 모든 시스템에서 작동시킬 수 있습니다.특히 최근 개발된 EEMBC 벤치마크 스위트, CoreMark 스탠드아론 벤치마크, HINT, Stream 및 Bytemark뿐만 아니라 메모리 서브시스템(Cachebench), TCP/IP(TTCP) 등에 대한 보다 구체적인 벤치마크도 널리 인용 및 사용되고 있지만 임베디드 컴퓨팅 세계에서는 여전히 널리 사용되고 있습니다.
결과.
다른 명령 세트 간의 명령 카운트 비교(예: RISC 대 CISC)는 단순한 비교를 혼동할 수 있기 때문에 드라이스톤은 MIPS(초당 백만 개의 명령)보다 더 의미 있는 결과를 나타낼 수 있다.예를 들어, RISC 머신에서는 같은 높은 수준의 작업이 더 많은 명령을 필요로 하지만 단일 CISC 명령보다 더 빠르게 실행될 수 있습니다.따라서 Drystone 점수는 초당 프로그램 반복 완료 횟수만 카운트하므로 개별 머신이 이 계산을 기계 고유의 방법으로 수행할 수 있습니다.드리스톤 벤치마크의 또 다른 일반적인 표현은 드리스톤 점수를 1757로 나누었을 때 얻은 DMIPS(Drystone MIPS)이다(VAX 11/780에서 얻은 초당 드리스톤 수, 명목상 1 MIPS 머신).
결과를 나타내는 또 다른 방법은 DMIPS/MHz로 DMIPS 결과를 CPU 주파수로 더 나누어 다른 클럭환율로 동작하는 CPU를 쉽게 비교할 수 있도록 하는 것입니다.
단점
Drystone을 벤치마크로 사용하는 것에는 다음과 같은 함정이 있습니다.
- 그것은 보통 현대의 [2]실생활 프로그램을 대표하지 않는 특이한 코드를 특징으로 한다.
- 컴파일러 최적화의 영향을 받기 쉽습니다.예를 들어 문자열 복사 성능을 측정하기 위해 많은 문자열 복사를 수행합니다.그러나 Drystone의 문자열은 알려진 일정한 길이로 시작은 자연 경계에 정렬되어 있으며, 일반적으로 실제 프로그램에는 없는 두 가지 특성입니다.따라서 옵티마이저는 문자열 복사를 루프가 없는 일련의 단어 이동으로 대체할 수 있습니다.이것이 훨씬 더 빠릅니다.이 최적화는 결과적으로 시스템 성능을 30% [3]이상 과대평가합니다.
- Drystone의 작은 코드 사이즈는 최신 CPU의 명령 캐시에 들어갈 수 있기 때문에 명령 가져오기 성능이 엄격하게 [2]테스트되지 않습니다.마찬가지로 Drystone도 데이터 캐시에 완전히 적합하기 때문에 데이터 캐시 누락 성능이 발생하지 않을 수 있습니다.캐시 내의 적합성에 관한 문제에 대응하기 위해 SPECint 벤치마크는 1988년에 작성되었으며, 그 시대의 L1 또는 L2 캐시에는 적합하지 않은 훨씬 더 큰 프로그램(컴파일러 포함)의 스위트를 포함하고 있습니다.
「 」를 참조해 주세요.
- Standard Performance Evaluation Corporation(SPEC)
- 긱벤치
레퍼런스
- ^ 펀: 숫돌→습석→건석→드라이스톤.
- ^ a b Weiss, Alan. "Dhrystone Benchmark: History, Analysis, "Scores" and Recommendations" (PDF). Archived (PDF) from the original on 2011-07-26. Retrieved 2020-04-28.
- ^ Franco Zappa (2017). Microcontrollers: Hardware and Firmware for 8-bit and 32-bit devices. Società Editrice Esculapio. p. 66. ISBN 978-88-9385-022-3.
외부 링크
- Weicker, Reinhold (October 1984). "Dhrystone: A Synthetic Systems Programming Benchmark". Communications of the ACM. 27 (10): 1013–30. doi:10.1145/358274.358283. S2CID 9026014.
- Drystone 벤치마크: 버전 2 및 측정 규칙에 대한 근거(Reinhold P).Weicker, 1988년)
- DHRYSTONE 벤치마크 프로그램(유지 P).Weicker, 1995)