AMD는 CES 2018에서 Enmotus의 FuzeDrive라는 스토리지 가속 솔루션을 AM4 플랫폼에 제공한다고 밝혔었습니다.
FuzeDrive는 SSD 같은 저용량 고속 스토리지와, 하드디스크 같은 대용량 저속 스토리지를 결합해 대용량 고속 스토리지로 쓰는 기술입니다. FuzeDrive는 이들 스토리지를 각각 Fast Tier, Slow Tier라고 부르고 있습니다. 이렇게 두 스토리지를 조합하면 운영체제에서 하나의 스토리지로 인식합니다. 자주 쓰는 데이터는 고속 스토리지, 그렇지 않은 데이터는 저속 스토리지로 이동합니다.
여기까지만 보면 SSD를 캐시처럼 쓰는 프로그램 아니냐 생각할 수 있겠으나, FuzeDrive는 머신 러닝을 통해 데이터를 분류, 자주 쓰는 데이터는 순서대로 SSD에 우선 저장하도록 고속화 처리를 수행합니다. 또 SSD와 하드디스크의 용량을 모두 활용할 수 있다는 것도 특징입니다. 128GB SSD와 1TB 하드디스크를 조합하면 1128GB의 스토리지가 나옵니다.
이 FuzeDrive 기술을 Enmotus는 엔터프라이즈 시장에 공급하고 있었으나, 이번에 AM4 플랫폼의 FuzeDrive for Ryzen라는 이름으로 컨슈머 시장에 출시하기로 했습니다. 여기까지가 CES 2018에서 발표한 내용입니다.
그럼 이 FuzeDrive for Ryzen이 여러 게임을 SSD에 설치하고 싶지만 가격이 비싸서 그렇게 하지 못하는 사람에게 도움이 될까요?
FuzeDrive for Ryzen는 Enmotus의 웹사이트에서 구입합니다. 버전은 두가지인데, 시스템과 데이터 드라이브에 모두 사용 가능하며 하드디스크 용량은 10TB로 같습니다. 레이드와 시큐어 부팅이 안 된다는 점도 같습니다. 다른 점은 SSD 용량과 시스템 메모리를 캐시로 끌어오는 용량이 다를 뿐. 솔직히 256GB SSD 쯤 되면 그냥 단독 사용해도 될테니 일반인들에게는 베이직 버전으로도 충분하겠죠. 그래서 여기에선 베이직 버전으로 테스트합니다.
FuzeDrive Basic
가격 : 19.99달러
SSD 용량 : 최대 128GB
FuzeRAM 용량 : 2GB
HDD 용량 : 최대 10TB
FuzeDrive Plus
가격 : 59.99달러
SSD 용량 : 최대 1TB
FuzeRAM 용량 : 4GB
HDD 용량 : 최대 10TB
FuzeDrive for Ryzen의 요구 스펙은 다음과 같습니다.
CPU : 라이젠, 라이젠 스레드리퍼
칩셋 : X399, X370, B350. (A320은 지원 안함)
메모리 용량 : 4GB 이상 (FuzeRAM를 이용하는 경우는 6GB 이상)
OS : 윈도우 10
그리고 당연히 SSD와 HDD가 필요합니다. 앞서 말한대로 레이드나 시큐어 부트는 지원하지 않으니 설정 전에 풀어놔야 합니다.
테스트 환경은 다음과 같습니다.
CPU : 라이젠 5 1600X (6코어, 12스레드, 클럭 3.6~4GHz, L3 16MB)
메인보드 : 애즈락 X370 타이치 (X370, BIOS P3.20)
메모리 : 지스킬 F4-3200C14D-16GFX (PC4-25600 DDR4 SDRAM 8GB × 2,14-14-14-34)
그래픽카드 : MSI 지포스 GTX 1070 GAMING X 8G (지포스 GTX 1070 8GB)
윈도우 설치 SSD : 웨스턴 디지털 WD Black PCIe (용량 256GB, PCI-E x4 / NVM Express, WDS256G1X0C)
데이터 저장 HDD : 웨스턴 디지털 WD Black (용량 2TB, SATA 6Gbps, WD2003FZEX)
파워 : Cyonic AU-650X (정격 650W)
운영체제 : 윈도우 10 홈 64비트, 빌드 16299.192
그래픽 드라이버 : 지포스 388.13
여기에 인텔의 옵테인 메모리(용량 32GB, M.2 / NVMe. MEMPEK1W032GAXT) 및 삼성 SSD 950 PRO(용량 256GB, M.2 / NVMe. MZ-V5P256B / IT)를 FuzeDrive용으로 추가했습니다.
설치는 간단합니다. 우선 고속 SSD를 PC에 장착하고 FuzeDrive for Ryzen 설치 프로그램을 실행.
사용권 계약 동의
다음 단계로 넘거가기 전에 Drive Controller Information을 눌러 스토리지 구성을 확인
3개의 저장 장치를 인식하고 있습니다. 여기에선 두번째와 세번째 드라이브를 FuzeDrive 구성합니다.
설치 경로
바로가기 추가
자바 런타임 1.7 이상 버전이 있어야 합니다. 없으면 설치.
자바 런타임 설치 중.
설치 완료
FuzeDrive for Ryzen 버전은 1.30.
재부팅
설치가 끝나면 FuzeDrive 아이콘이 작업표시줄 알림영역에 상주합니다. 이걸 우클릭하고 Configure FuzeDrive을 클릭하면 FuzeDrive 설정 창이 열립니다.
처음에는 라이센스 키를 입력.
입력 완료
FuzeDrive에서 시스템 드라이브를 가속하려면 Expand My Boot Drive, 데이터 드라이브를 가속하려면 Accelerate Data Drive를 누르면 됩니다. Expand My Boot Drive가 비활성화된 건 SSD에 운영체제를 설치했기 때문.
Accelerate Data Drive를 눌렀을 때의 화면. Customize를 누르면 FuzeDrive에서 어떤 드라이브를 선택하고, 무엇을 Fast/Slow Tier로 할 것인지를 선택할 수 있습니다. 또 2GB DRAM 캐시인 FuzeRAM을 켤 수 있는데 이건 나중에 설명합니다.
Accelerate Data Drive에서 Customize 버튼을 누릅니다. SSD를 Fast, HDD를 Slow로 설정했으니 바꿀 필요 없이 이대로 Create 버튼을 누르면 됩니다. 여러 드라이브가 있다면 여기에서 다른 조합을 고르면 됩니다.
장치 관리자의 디스크 드라이브 항목에 ENMOTUS T00 FuzeDrive가 표시됩니다. 이가 FuzeDrive가 만든 가상 드라이브입니다.
앞에서 언급한대로 FuzeDrive는 시스템 메모리의 일부를 가상 드라이브의 캐시로 사용해 속도를 높이는 FuzeRAM라는 기능이 있습니다. 시스템 메모리 6GB 이상에서 사용 가능하며, 베이직 버전은 2GB로 고정.
FuzeDrive 설정 창을 열고 Change Settings를 선택
Modify 버튼 클릭
Modify Tier Options t = 0라는 창이 열립니다. DRAM Cache를 Disabled에서 2GB Cache로 바꾸면 2GB의 FuzeRAM이 활성화됩니다. 또 Promote Policy를 Read Write로 변경하면 머신 러닝을 적용해 성능을 더 높일 수 있다고 하지만, 여기에선 기본 설정인 Read IO를 골랐습니다.
이번에 사용한 FuzeDrive Basic은 FuzeDrive 가속에 128GB의 SSD만 쓸 수 있습니다. 그럼 그보다 큰 SSD를 장착하면 어떨까요. 나머지는 보통의 SSD로 사용하니 낭비되진 않는다고 합니다. 위 메세지는 256GB의 SSD 950 PRO를 FuzeDrive 캐시로 설정했을 때의 알림창입니다. FuzeDrive에서 확보하고 나머지는 일반 드라이브로 쓸 수 있다는 문구가 적혀 있습니다.
테스트 설정은 다음과 같습니다.
HDD 만 사용
HDD + Optane Memory (FuzeRAM 무효)
HDD + Optane Memory (FuzeRAM 유효)
HDD + SSD 950 PRO (FuzeRAM 무효)
HDD + SSD 950 PRO (FuzeRAM 유효)
크리스탈 디스크 마크 Queue Depth 32, 스레드 1에서의 순차 성능. FuzeDrive를 활성화하면 순차 읽기/쓰기 성능이 빨라집니다. 하드디스크에 옵테인 메모리를 조합하면 읽기가 3.8배, 쓰기가 1.5배 늘어나며 FuzeRAM을 활성화하면 1GB와 2GB에서 근단적으로 높은 성능이, 4GB는 5.9배 정도 높았습니다. FuzeRAM이 2GB니 그걸 벗어나면 효과가 줄어드는 듯. SSD 950 프로를 조합하면 하드디스크보다 읽기 7.0배, 쓰기는 4.6배 정도 높아집니다. FuzeRAM을 사용해도 차이가 그리 크진 않습니다.
크리스탈 디스크 마크 Queue Depth 8, 스레드 8에서의 랜덤 성능. 하드디스크+옵테인은 읽기 속도가 234~312배, 쓰기는 115~130배 향상됐습니다. 테스트 용량이 1GB, 2GB, 4GB로 갈수록 그 차이는 커지나 이건 하드디스크의 점수가 낮아졌기 때문입니다. FuzeRAM을 활성화하면 1GB와 2GB는 366~411배인데 4GB는 102로 1/3이 까입니다. 2GB의 FuzeRAM보다 큰 랜덤 액세스를 실행하면 성능 하락이 큰 듯. SSD 950 프로와 조합하면 읽기가 257~324배, 쓰기가 135~156배입니다. FuzeRA을 쓰면 256~320배, 136~155배로 테스트 크기가 커질수록 차이가 줄어듭니다.
크리스탈 디스크 마크 Queue Depth 32, 스레드 1에서의 랜덤 성능입니다. 옵테인 메모리와 조합했을 때 읽기 94~114배, 쓰기 96~114배입니다. 여기에서 FuzeRAM을 쓰면 1~2GB는 읽기 점수가 1.5배 증가하나 4GB는 0.5배로 떨어집니다. 안정적으로 느려집니다.
크리스탈 디스크 마크 Queue Depth 1, 스레드 1에서의 랜덤 성능입니다. 옵테인 메모리만 조합 시 읽기 195~216배, 쓰기 45~50배입니다. FuzeRAM을 쓰면 1/2GB에 2.5배, 4GB는 0.6배가 됩니다. SSD 950 프로를 사용해도 읽기 59~60배, 쓰기 40~47배. 여기에서 FuzeRAM을 쓰면 오차 범위의 변화.
24개의 그래프를 정리하면 FuzeDrive for Ryzen의 효과는 랜덤 액세스에서 두드러집니다. 32GB의 옵테인 메모리와 128GB의 SSD 950 프로를 비교하면 128GB 쪽이 더 안정적이나, QD1 T1의 간단한 랜덤 액세스에선 전자가 우세합니다. 반대로 테스트 용량이 4GB로 커지면 FuzeRAM을 활성화했을 때의 단점이 그대로 두드러집니다.
머신 러닝의 경우 처음 테스트했을 때보다 두번째 테스트했을 때 점수가 좀 더 오르긴 하지만, 그 이상 반복해도 별 차이는 없었다고 합니다.
다음은 액세스 패턴을 반복해 높은 부하를 주는 Iometer를 사용해 테스트했습니다.
4KB 랜덤 읽기와 쓰기를 50%씩 섞어 4GB를 1시간 동안 테스트.
하드디스크만 썼을 때보다 옵테인 메모리가 19배, FuzeRAM이 102배, 950 프로는 67배입니다.
실제 사용 환경을 상정한 PC마크 8의 점수도 최대 1.8배 올랐습니다. 여기에선 실행을 반복할 수록 점수 차이가 두드러졌는데 SSD 950 프로에 FuzeRAM을 쓰면 두번째에 팍 올랐다가 이후 떨어지네요. 나머지는 대체적으로 오르는 편.
마지막으로 FuzeDrive의 제거 방법입니다. FuzeDrive 설정에서 Remove Acceleration를 선택
Remove를 선택하면 FuzeDrive을 해제
2개의 분리된 드라이브로 되돌리려면 FuzeDrive의 논리 드라이브에서 일부 데이터를 Slow Tier로 이동시켜야 합니다. 이 과정은 자동으로 이루어지나, 데이터의 용량에 따라 몇 시간이 걸릴 수도 있습니다.
해제 완료.