SSD RAID가 램 디스크보다 빠를 수 있습니까?


9

따라서 일반적인 ssd의 읽기 속도는 250-500 mb / 초입니다. 램은 그보다 약 10 배가됩니다.

내 질문은 : 어떤 이유로 raid-0을 가진 4 개의 SSD가 단일 램 메모리 블록보다 빠를 수 있습니까?

나는 많은 램과 램 디스크, 또는 raid-0을 가진 4 개의 ssds와 함께 갈 것입니다. 어느 것이 더 빠릅니까?

답변:


12

따라서 일반적인 ssd의 읽기 속도는 250-500 mb / 초입니다. 램은 그보다 약 10 배가됩니다.

어떤 종류의 RAM을 언급하고 있습니까? 확실히 최근 PC에서 일반적으로 사용 된 것이 아닌 것 같습니다.

DDR3 SDRAM 은 약 10GB / s의 전송 속도를 제공 할 수 있으며 (DDR3-1333 필요) DDR3-2133의 경우 약 17GB / s로 현재 최고 수준입니다.

500MB / s를 제공 할 수있는 4 개의 SSD를 스트라이프하고 전체 시스템이이를 처리 할 수 ​​있다고 가정합니다 (버스 경합 없음, 시스템은 여전히 ​​I / O 바인딩 등). 이는 이론상 최대 처리량 2GB / s를 제공합니다. 4xSSD는 거의 10 배나 빠집니다 .

DDR3 SDRAM은 10ns 영역에서 대기 시간이 있습니다. 좋은 SSD는 100k IOPS를 제공하며 10,000 ns의 대기 시간으로 해석됩니다. 예를 들어, Intel 530은 임의 4k 읽기에 41k IOPS를 지정하여 거의 25,000ns의 대기 시간을 제공합니다.

4 개의 빠른 SSD를 스트라이프하고 모든 오버 헤드를 무시 하면 400k IOPS 또는 2,500ns의 대기 시간 이 발생할있습니다 . 4xSSD는 250 배나 빠집니다 .

SSD의 데이터는 어딘가로 이동해야하며 "어딘가"는 RAM이됩니다. CPU는 거기서부터 잡을 수 있지만 회전 플래터 하드 디스크 드라이브와 직접 통신하는 것 이상으로 SSD와 직접 통신하지 않습니다.

SSD에서 버스 경합이 발생하지 않는다고 가정하면 RAM에 대해서도 동일한 것으로 가정하는 것이 좋습니다. 이 두 가지 지표 중 하나에 의해 SSD는 DDR3 SDRAM에 비해 엄청나게 느리다는 결론을 이끌어냅니다 .

RAM에는 다른 단점이 있습니다. SSD에 비해 기가 바이트 당 비용이 매우 높으며, 내용을 유지하려면 일정한 전력이 필요합니다. 또한 RAM 디스크는 운영 체제의 소프트웨어 구성이므로 RAM과 기능이 다릅니다. 여전히 RAM의 성능 이점을 최대한 활용해야하지만 동일한 양의 RAM을 잃어 버리면 시스템이 더 자주 스왑 (성능에 대한 사형 선고)에 의지해야 할 수 있습니다. 원시 RAM과 동일한 성능을 제공합니다.


램 디스크 그때 ..
Koray Tugay

1
@KorayTugay 성능을 극대화하려면 RAM 디스크를 사용해야합니다. 그러나 RAM 디스크는 RAM과 거의 동일하게 작동하지 않으며 자체 가격의 단점이 있습니다. . (또한 수락에 감사하지만 다른 사람이 더 나은 답변을 제공 할 수 있도록 답변을 수락하기 전에 하루 정도 기다리십시오.)
CVn

@KorayTugay : 일반적으로 "RAMDisk가 필요합니까?" 거의 항상 "아니요. 당신이 정말로 필요하다면, 당신은 당신이 묻지 않아도 될만큼 충분히 알 것입니다." 무엇을해야한다고 생각하십니까?
afrazier

거대한 데이터베이스를 사용한 @afrazier 개발 / 테스트를 위해 여러 번 액세스하고 많은 데이터를 가져옵니다. 나는 램에 DB를 보관할 것입니다. 나는 하루에 8 10 시간 동안 이것을하고 4 5 초를 기다리는 것은 얼마 후에 너무 길어 보인다. 나는 더 빨리 db를 칠 필요가있다.
Koray Tugay

5
유능한 DBMS는 최대한 많은 DB를 RAM에 보관합니다. DB가 RAM 디스크에 맞출 정도로 작은 경우 RAM에 맞을만큼 작습니다. SSD로 DBMS를 올바르게 조정하면 원하는 성능을 얻을 수 있습니다. 로컬 개발의 경우 쓰기 백 캐싱 및 ACID에 대한 걱정 감소 등의 이점을 활용할 수 있습니다. RAMdisk가 시스템과 싸우고 있습니다.
afrazier

4

"아니오"답변의 실제 원인은이 둘의 차이점 비교뿐 아니라 OS가 결국 SSD에서 읽은 데이터를 캐시하기 때문입니다. RAM에 이것을 캐시합니다 . 따라서 SSD에서 블록 읽기는 RAM에 대한 블록 쓰기도 의미합니다. 항상.

그렇기 때문에 매우 특별한 하드웨어 조합에서도 RAM 디스크가 더 빠릅니다 (예 : 매우 빠른 SSD와 매우 느린 RAM이 결합 된 경우).


1
이것이 실제로 가장 좋은 대답입니다.
ChrisInEdmonton

sudo zfs set primarycache=none tankRAM 기반 캐시가 있습니다. (물론 ZFS를 사용한다고 가정합니다.)
CVn

@ MichaelKjörling 맞습니다. 심지어 zfs가 아닌 구성에서도 읽기 캐시를 끌 가능성이 있습니다. 그러나이 경우에도 $ read () $ 호출을하면 실제로 SSD에서 RAM 으로 복사 됩니다. 어떻게 든 데이터를 CPU 캐시 (직접 DMA를 피할 수 있음)로 직접 읽는 경우를 제외하고는 이것을 피할 수 없습니다 .AMD CPU (및 인텔)에는 통합 메모리 관리자가 있습니다. 어떻게 든 할 수 있습니다. 그러나이 경우에도 CPU를 수정해야합니다.
peterh-Reinstate Monica

3

실제 질문에 대답하려면 : 아니요. RAM의 대역폭은 10 배, 지연 시간은 10 배 줄어 듭니다. 가깝지 않습니다.

묻지 않는 질문에 대답하기 위해 : 그런 종류의 대역폭이 필요한 매우 구체적인 사용 사례가없는 한, 수행하려는 계획은 나쁜 생각입니다. 실제로 이런 종류의 속도가 필요한 경우 PCIe 기반 SSD (ioDrive 또는 Intel 910 등)를 얻는 것이 RAID-0의 SATA SSD 백보다 훨씬 빠릅니다.

현재 SSD는 병목 현상이 발생할 소비자 및 애호가 워크로드에 충분히 빠릅니다.


실제로 DDR3 대기 시간은 SSD보다 낮은 수준은 아닙니다. 그것은이다 서너 낮은 규모의 주문을. 실제 숫자는 내 대답을 참조하십시오. (그러나 대역폭 차이는 분명히 야구장에 있습니다.)
CVn

IO는 블록 단위로 발생하므로 지연 시간은 중요하지 않습니다. 4K 블록 이상 대역폭이 중요합니다.
peterh-Reinstate Monica

@PeterHorvath : 지연 시간은 여전히 ​​SSD와 관련이 있습니다. 초기 SSD의 일관성과 끊김없는 문제에 대한 모든 연구와 벤치 마크를 살펴보십시오. Michael Kjörling이 언급했듯이 RAM 대기 시간은 SSD보다 몇 배나 낮습니다. Lx 캐시의 대기 시간은 여전히 ​​훨씬 낮으며 CPU 레지스터 대기 시간은 훨씬 더 낮습니다. 그리고 그것은 모두 성능에 중요합니다.
afrazier

1

RAM은 항상 SATA와 같은 주변 장치 버스 시스템이 제공 할 수있는 것보다 빠릅니다.

그러나 RAM 디스크를 다룰 때 순전히 RAM 만 다루지는 않습니다. 원시 RAM을 OS가 디스크 저장 장치로 볼 수있는 것으로 "변환"하는 것을 고려할 소프트웨어 (파일 시스템 및 장치 드라이버)도 있습니다.

RAM 디스크의 속도는 실제로 소프트웨어의 품질에 달려 있습니다.

말했듯이 : 일반적으로 마더 보드에 연결할 수있는 가장 빠른 스토리지 솔루션보다 몇 배 더 빠릅니다.

특정 사용 패턴이 차이를 작게하거나 거의 0으로 만들 수있는 경우가있을 수 있지만 이러한 시스템으로 수행 할 작업에 대한 세부 정보가 없으면 상황에 해당되는지 여부를 말할 수 없습니다.

PS RAM 디스크는 휘발성 일 것입니다. 머신을 부팅 한 후 처음에는 데이터를로드해야합니다. 머신을 종료 할 때 내용을 저장해야합니다 (다음 실행에 필요한 경우). 시스템이 충돌하면 RAM 디스크를 느슨하게 저장하십시오.
특히 잦은 재부팅이 예상되는 경우이 점을 고려해야합니다. RAM 디스크 내용 저장 / 재로드는 사소한 일이 아닙니다.


데이터베이스를 램에 보관합니다.
Koray Tugay
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.