귀하의 운동 앱이 결코 변경되지 않았거나 노력 수준의 조정이 필요하지 않은 간단한 요법을 수행하는 것으로만 기록했다고 상상해 보십시오. 운동의 2D 그래프 플롯은 심장 모니터의 평평한 선처럼 보일 것이며 전반적인 성능에 대한 정보를 거의 제공하지 않습니다. 불행하게도 이것이 워크스테이션 스토리지 성능에 대한 합성 벤치마크의 줄거리입니다. 이러한 유형의 벤치마크는 펌웨어, 드라이버 및 하드웨어 전반에 걸쳐 최적화된 액세스 사양을 사용하여 저장 장치에서 최고 값을 추출하도록 설계되었습니다.
귀하의 운동 앱이 결코 변경되지 않았거나 노력 수준의 조정이 필요하지 않은 간단한 요법을 수행하는 것으로만 기록했다고 상상해 보십시오. 운동의 2D 그래프 플롯은 심장 모니터의 평평한 선처럼 보일 것이며 전반적인 성능에 대한 정보를 거의 제공하지 않습니다. 불행하게도 이것이 워크스테이션 스토리지 성능에 대한 합성 벤치마크의 줄거리입니다. 이러한 유형의 벤치마크는 펌웨어, 드라이버 및 하드웨어 전반에 걸쳐 최적화된 액세스 사양을 사용하여 저장 장치에서 최고 값을 추출하도록 설계되었습니다.
고전적인 사례는 대기열 깊이가 매우 높은 4K 블록 크기에서 임의 IO를 측정하는 것입니다. 이 시나리오에서는 공급업체가 스토리지 대기열을 최적화하고 디바이스의 IOPS(초당 입출력 작업) 점수를 최대화할 수 있는 충분한 기회가 있습니다. 대조적으로 실제 워크스테이션 애플리케이션은 평균 IO 범위가 XNUMX 또는 XNUMX입니다. 대기열 깊이가 이렇게 낮으면 재정렬 및 기타 최적화가 성능에 큰 영향을 미치지 않습니다. 병목 현상은 RAID 또는 공격적인 하이브리드/계층 캐싱 아키텍처를 사용하는 경우에도 원시 하드웨어 기능으로 이동합니다.
합성 벤치마크에 대한 스토리지 읽기 및 쓰기를 플로팅하는 그래프. X축은 IO가 발생하는 시작 위치로부터의 오프셋입니다. Y축은 해당 위치로 이루어진 트랜잭션의 블록 크기입니다. 예를 들어, 128K 블록 크기는 하나의 요청으로 일부 오프셋 위치에서 드라이브의 128K 데이터를 읽으려고 시도합니다.
예측할 수 없는 스토리지 경로
실제 워크스테이션 애플리케이션은 최적의 스토리지 액세스를 위해 예측 가능한 경로를 따르지 않습니다. 예를 들어 비선형 비디오 편집의 세계에서 블록 크기는 매우 큰 파일 전송을 위한 최적의 블록 크기보다 컨테이너 형식 또는 인코딩 방법에 더 가깝게 정렬됩니다.
애플리케이션이 메모리로 읽은 모든 대용량 파일에 대해 128K 블록 크기를 사용한 다음 해당 데이터를 더 작은 크기로 트래버스하는 것이 훨씬 더 빠를 것입니다. 그러나 애플리케이션이 스토리지에 액세스하는 덜 최적인 다른 방법을 지시한다는 사실은 실제 작업이 처리되는 방법을 덜 대표하는 합성 측정을 만듭니다.
비디오 편집은 하나의 예일 뿐입니다. 거의 모든 애플리케이션, 심지어 같은 업계에 속한 애플리케이션도 서로 다른 읽기/쓰기 방법을 사용하므로 최고 성능 상태 측정이 거의 무의미합니다. 스토리지를 정확하게 측정하는 유일한 방법은 실제 애플리케이션 내에서 발생하는 작업을 모방하는 것입니다.
방법론 개선
2.1년 초에 출시된 SPECwpc 2016 벤치마크의 경우 SPECwpc(SPEC 워크스테이션 성능 특성화) 소위원회는 다양한 전문 애플리케이션에 대한 IO 활동을 시뮬레이션하기 위해 IO 하위 시스템 측정 및 특성화 도구인 IOMeter를 사용했습니다. 스토리지 트랜잭션의 크기와 빈도는 이러한 애플리케이션에서 수집되었으며 IOMeter는 데이터를 사용하여 지정된 시간 동안 스토리지 트랜잭션 문자열을 생성했습니다.
이 기술은 워크스테이션의 최대 대역폭과 대기 시간을 측정하는 것보다 낫지만 응용 프로그램이 실제로 수행하는 것과는 여전히 근접하지 않았습니다. 다음 릴리스에서 SPECwpc는 응용 프로그램 동작을 더 잘 모방하는 동시에 새로운 솔리드 스테이트 장치, NAND 및 3D Xpoint와 같은 기술, 다양한 PCIe 연결 옵션의 영향을 반영하기를 원했습니다.
3년 2018월에 출시된 SPECworkstation XNUMX 벤치마크를 개발하면서 SPECwpc는 Windows Process Monitor를 사용하여 실제 작업에 사용되는 다양한 전문 애플리케이션의 스토리지 트랜잭션을 추적했습니다. 그런 다음 SPECwpc는 추적을 실제 애플리케이션의 것과 거의 동일한 스토리지 트랜잭션 스트림으로 변환하는 재생 유틸리티를 작성했습니다.
SPECworkstation 3 Handbrake 애플리케이션에 대한 읽기/쓰기
크기가 수백 기가바이트가 될 애플리케이션의 실제 데이터를 사용하는 대신 SPECwpc는 무작위로 선택된 데이터로 스토리지 요청을 채웠습니다. 그런 다음 재생 유틸리티는 실제 애플리케이션과 마찬가지로 여러 스레드를 사용하여 여러 파일에 씁니다.
SPECworkstation 3 벤치마크는 미디어 및 엔터테인먼트(3D 애니메이션, 렌더링), 제품 개발(CAD/CAM/CAE), 생명 과학(의료, 분자), 금융 서비스, 에너지(석유 및 가스)를 포함한 다양한 애플리케이션의 추적을 통합합니다. ), 일반 작업 및 GPU 컴퓨팅.
SPECworkstation 3 스토리지 워크로드에 대해 추적된 애플리케이션에는 7zip, Adobe Media Encoder, Adobe Premier Pro, Ansys Icepak, Ansys Mechanical, Autodesk 3ds Max, Autodesk Maya, Autodesk Revit, Blender, CalculiX, Dassault Systémes Solidworks, Handbrake, Lampps, Microsoft Visual Studio가 포함됩니다. 2015, Namd, SPECviewperf 13 에너지 뷰셋 및 SPECworkstation 3 WPCcfd 워크로드.
SPECworkstation 3 벤치마크에서 Calculix(CCX) 애플리케이션에 대한 읽기/쓰기
앞서 찾고
SPECworkstation 3에서 사용되는 재생 방법은 실제 애플리케이션에 합리적으로 가까운 방식으로 스레드를 생성하지만 여전히 중요한 문제가 있습니다. IO의 연대기와 스레드 간 동기화가 정확하게 유지되지 않는다는 것입니다. 이로 인해 일부 스레드가 특정 IO를 더 빠르게 완료하고 다양한 스레드에서 IOP의 동시성이 완벽하게 동기화되지 않아 때때로 실행 간 변형이 발생하는 경우가 발생합니다.
4년에 출시될 예정인 SPECworkstation 2020의 경우 SPECwpc는 IO가 스토리지 장치의 버스에 도달할 때 합체되는 것을 방지하는 방식으로 IO 연대기를 보존하기 위해 노력할 것입니다.
참여 요청
완벽하지는 않지만 다양한 산업 분야의 워크스테이션 사용자가 생성한 것과 같은 명령을 처리하는 실제 애플리케이션의 스토리지 작업을 추적하는 것은 중요한 진전입니다.
AMD, Dell, Fujitsu, HP, Intel, Lenovo 및 Nvidia의 대표로 구성된 SPECwpc 소위원회는 장치 공급업체, 애플리케이션 개발자 및 스토리지 성능에 이해관계가 있는 사용자의 향후 워크로드에 대한 의견을 환영합니다.
다른 SPEC 벤치마크와 마찬가지로 실제 워크스테이션 스토리지 성능을 캡처하고 보고하는 가장 정확한 수단을 제공하면 개발자가 향후 프로세스를 개선할 수 있는 경로를 설정하는 데 도움이 됩니다.
– 알렉스 쇼
Alex Shows는 SPECwpc(SPEC Workstation Performance Characterization) 소위원회 의장이자 Dell의 저명한 엔지니어입니다. 그의 23년 산업 경험에는 19년의 소프트웨어 설계, 개발 및 문서화; 17년간의 하드웨어 및 드라이버 설계 검증; 하드웨어 및 소프트웨어 기술에 대한 10년의 응용 연구. 그는 출원 중인 12개의 특허와 함께 XNUMX개의 특허를 보유하고 있습니다.
그래픽 및 워크스테이션 벤치마킹에 대해 자세히 알아보려면 SPEC/GWPG 웹사이트 방문, SPEC/GWPG enewsletter 구독, 또는 그래픽에 가입하고 워크스테이션 벤치마킹 LinkedIn 그룹.
SPEC/GWPG 벤치마크는 다음에 사용할 수 있습니다. 무료 다운로드 컴퓨터 및 관련 제품 및 서비스 공급업체를 제외한 모든 사람에게 회원 SPEC 그래픽 및 워크스테이션 성능 그룹(사양/GWPG).