Linux эквивалентно ReadyBoost?


19

Есть ли модуль ядра или какой-то другой патч или что-то похожее на Windows ReadyBoost ?

В основном я ищу что-то, что позволяет кэшировать чтения с диска на флэш-накопитель.


Флэш-накопитель с USB 2.0 очень медленный, я не знаю, почему вы хотите это сделать.
маргаритка

1
@ warl0ck, я не согласен даже с usb 2.0. USB 2.0 на неконтролируемой шине имеет пропускную способность 480 Мбит / с == 60 МБ / с. Даже дисконтирование, скажем, 20 МБ / с, это все еще значительная скорость. Не говоря уже о том, что USB 3.0 становится популярным и имеет емкость 5 Гбит / с. Не берите в голову, что разгрузка чего-либо с вашего жесткого диска того стоит; Если у вас есть дерьмо на 1 ГБ для чтения с диска, а 200 МБ кэшируется в кеше ReadyBoost, это на 200 МБ меньше, чем необходимо для чтения с диска, и может происходить параллельно с чтением с жесткого диска.
антидух

Ответы:


17

Bcache может быть именно тем, что вы ищете:

Bcache - это кеш блочного уровня ядра Linux. Это позволяет одному или нескольким быстрым дискам, таким как твердотельные накопители на флэш-памяти (SSD), выступать в качестве кэша для одного или нескольких медленных жестких дисков.

Я с нетерпением жду его включения в основную ветку Linux, но, к сожалению, его пока нет .

Некоторая приятная и читаемая информация также доступна здесь:

Попробуйте и посмотрите, как это работает в вашей системе!


5

Там нет, и это действительно не имеет смысла больше.

ReadyBoost был полезен в течение короткого периода времени, когда машины были ограничены RAM, диски были медленными, а флэш-память была дешевой. С оперативной памятью так дешево сейчас, это делает гораздо больше смысла для использования оперативной памяти вместо этого.

Типичные флэш-накопители в наши дни имеют скорость записи всего около 5 МБ / с и скорость чтения около 20 МБ / с. Сравните это со скоростью чтения и записи 50 МБ / с на вашем жестком диске, и в этом нет особого смысла.

Преимущества ReadyBoost в реальной производительности наблюдаются только в системах с ограниченным объемом памяти.


3
Имеет ли смысл говорить, например, о планшете или нетбуке с ограниченным объемом оперативной памяти? Кроме того, я думал, что идея ReadyBoost была не столько в том, что он ускорял чтение / запись, но в том, что он значительно сокращал время произвольного доступа (традиционный HD имел бы время произвольного доступа около 17 мс, тогда как флэш-накопитель, вероятно, мог бы иметь <1 мс).
Натан Осман

Сокращение времени произвольного доступа - это то же самое, что ускорение чтения. Это никогда не имеет смысла по сравнению с добавлением большего количества оперативной памяти. В основном это был временный промежуток, когда добавление оперативной памяти было непрактичным.
Дэвид Шварц

4
За исключением того, что ОЗУ необходимо заполнить, пытаясь получить доступ к файлам в первую очередь, прежде чем он сможет получить доступ в будущем, и это нужно повторять после каждой загрузки. Flash поддерживает постоянный кеш, поэтому может помочь ускорить загрузку.
Псуси

С тех пор я добавил SSD к моей машине, который вращается вокруг моей дорогой флешки Corsair Survivor (скорость чтения ~ 36 МБ / с).
Натан Осман

1
Я понизил. Readyboost не имеет ничего общего с ограничениями оперативной памяти. Это кэш блочного уровня для жесткого диска, который имеет два преимущества: 1) Доступ к нему можно получить одновременно, когда к жесткому диску обращаются, действуя в некотором смысле как частичное зеркальное отображение. 2) Его можно масштабировать по своему усмотрению, в то время как объем оперативной памяти часто ограничен объемом материнской платы. Я могу купить столько флешек, сколько захочу, и прикрепить их к каждому корневому концентратору (и, следовательно, не делить пропускную способность), и я могу сделать их настолько большими, насколько захочу. Удачи в получении оперативной памяти объемом 128 ГБ на настольном компьютере менее чем за 200 долларов
антидух

3

ZFS возникла в Solaris в 2004 году и теперь доступна в нескольких Unices, включая FreeBSD и Linux (хотя в Linux все еще в бета-версии и не в основном ядре из-за проблем с лицензированием), также позволяет добавлять один или несколько вторичных кэшей, вызываемых L2ARCна любом блочном устройстве для такая же цель.


2

Я задавал себе тот же вопрос, и будучи неудовлетворенным текущими ответами здесь, провел небольшое исследование самостоятельно. До сих пор это не проверялось, но эта статья об изменениях в Linux 3.9 обеспечила полезную отправную точку. В нем упоминаются три технологии, которые должны достигать эффектов, аналогичных ReadyBoost, хотя иногда основное внимание уделяется кэшированию записей вместо операций чтения. Дальнейшие исследования нашли еще больше.

Я, вероятно, обновлю этот ответ, как только получу опыт из первых рук, по крайней мере, с одним из них. До тех пор поиск в Интернете с одним из этих имен в качестве ключевого слова должен привести к значительному количеству учебных пособий, описаний, мнений и ориентиров.


1

Я не нашел такого модуля для Linux, но DragonFly BSD есть нечто, эквивалентное Windows ReadyBoost. Функция называется SwapCache. Он использует раздел быстрой замены (SSD / Flash) для кэширования данных и метаданных с другого диска (HDD).

Страница man объясняет, как настроить информацию для кэширования. В нем описаны случаи использования, а также когда и как использовать такой механизм кэширования. Представляется интересным, когда система меняет местами только время от времени (т. Е. Объем оперативной памяти немного невелик) или для частых операций чтения и записи метаданных.


0

В Linux есть cachefs, который позволяет добавить файловую систему резервного кэша в любую файловую систему. Первоначально он был разработан и выпущен в 1993 году Sun Microsystems для использования с NFS и быстро скопирован другими Unix-подобными системами. Так что да, это уже там и было в течение многих лет. :)


8
Это даже отдаленно не правильно.

Да, к сожалению, CacheFS не работает на локальных дисковых файловых системах. Теоретически это возможно, но работа по добавлению поддержки в общие локальные файловые системы еще не завершена.
Псуси

-1

Ну, насколько я понимаю, Readyboost в основном является расширением файла подкачки, который сопоставим с разделом подкачки во FreeBSD (который, я думаю, будет похож на Linux), так что вы можете просто сделать раздел для флэш-накопителя таким, чтобы иметь раздел подкачки на нем.

Однако я почти ничего не знаю об этих вещах.


5
Обратите внимание, что интенсивное использование подкачки на флэш-накопителе может быть вредным для флэш-памяти из-за ограничений цикла записи.
Ренан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.