Настройки кеша подсистемы хранения при использовании SSD - PullRequest
1 голос
/ 04 августа 2011

Я хотел бы обновить существующую подсистему хранения с SSD уровня предприятия. Однако я нашел мало доказательств того, должен ли кэш корпуса быть установлен на WriteBack или WriteThrough.

Я полагаю, что некоторые подсистемы могут справиться с этим лучше, чем другие, где переупорядочение запросов ввода-вывода из очереди не имеет значения на SSD, поскольку нет времени поиска.

Я полагаю, что настройка WriteBack позволяет контроллеру отправлять немедленное сообщение о завершении ввода-вывода обратно на хост, прежде чем фактически записать данные на диск. Но на SSD эта задержка значительна?

Я склоняюсь к перезаписи и выбрасыванию блока резервного копирования батареи, но мне было бы интересно услышать об этом от любых SSD-подсистем.

1 Ответ

1 голос
/ 15 ноября 2011

В прошлом я использовал WriteBack по двум основным причинам:

1) Более быстрая запись с точки зрения хоста.

2) Изменение порядка записи на диск.

Более быстрая запись позволяет хосту записывать в ОЗУ корпуса и затем продолжать работу (с резервной батареей, конечно). Изменение порядка позволяет выполнять эти записи в другом порядке, чем они были получены от хоста. Данные могут быть записаны на досуге, когда головки чтения / записи находятся в непосредственной близости от места записи. Хотя я не читал это конкретно, я бы предположил, что некоторые вложения более эффективны при переупорядочении пакетов и отсрочке записи, чем другие, основываясь на понимании и навыках команды, пишущей прошивку.

Давайте сравним SSD-накопитель с 15K-накопителем SAS. Например, на Intel 320 спецификации показывают до 38000 случайных операций ввода-вывода в секунду во время чтения (14000 для записи), в то время как 15 000 дисков могут достигать, скажем, 200 случайных операций ввода-вывода в секунду во время чтения. Это дало бы каждому SSD-накопителю ту же скорость, что и около 190 жестких дисков.

Поскольку твердотельные накопители не подвержены увеличению скорости за счет переупорядочения операций записи, как у вращающихся дисков, и из-за высокой пропускной способности твердотельных накопителей может показаться, что полезность WriteBack практически исключена. Поэтому, исходя из этой логики, и от того, что исследования, которое я смог найти, я бы рекомендовал использовать WriteThrough для корпусов SSD SCSI, позволяя при этом кэширование чтения происходит (спорно). Я также отключил бы любые схемы кэширования Read Ahead. Кажется бессмысленным предварительно читать что-то, что может уже двигаться почти на 300 МБ / с.

При использовании SSD-дисков в корпусах RAID узкое место перемещается с дискового IOPS на канал RAID-массива (iSCSI / Fiber), если, конечно, вам не повезло иметь скорость 10 ГБ.

...