В рамках проекта RapidDisk (http://wiki.petroskoutoupis.com/index.php5?title=RapidDisk) (rxdsk) подготовлен (http://blog.petroskoutoupis.com/?p=425) модуль ядра Linux с реализацией нового виртуального диска, хранящего данные в ОЗУ. Ключевыми особенностями RapidDisk является возможность лёгкого создания и удаления виртуальных дисков, быстрое изменение размера RAM-диска на лету в любой момент без потери данных, поддержка прозрачного сжатия данных (используется метод LZO) и обеспечение коррекции ошибок (для контроля целостности используется SHA-256). После создания RAM-диска независимо от заданного размера используется минимальное количество физической памяти, память расходуется по мере заполнения RAM-диска. В будущем планируется обеспечить возможность динамического изменения размера RAM-диска.
Проект изначально был разработан для использования в высоконагруженных системах, например, для таких применений как хранение кэша. Созданный при помощи RapidDisk виртуальный диск работает о...URL: http://blog.petroskoutoupis.com/?p=425
Новость: http://www.opennet.me/opennews/art.shtml?num=31428
"для контроля целостности используется SHA-256" накуя спрашивается? память с ECC глючит? ну тогда никакая сха не поможет.
>память с ECC глючит?
>сха не поможет.Не-не-не, всё не так, как на самом деле! У него на вики написано -- "Error-Correction (SHA-256)". А уж как "эррор-корекшин", sha-256 всяко круче какого-то ecc! Даже если мы и не узнаем никогда, как это -- sha и, вдруг, корекшин...
А может это защита от эксплоитов? Ну, чтобы через /dev/mem битики не подправили..
Ну, чтобы хотя бы знать, что всё плохо.
А какие материнки для десктопов поддерживают ECC? Для десктопов это очень редкое явление.
300 моделей к вашим услугам:
http://market.yandex.ru/guru.xml?CMD=-RR=0,0,0,0-PF=2142560456~EQ~sel~x1348466349-PF=2142560456~EQ~sel~x1877159666-PF=2142560390~EQ~sel~x1356182800-PF=2142560390~EQ~sel~x8235633-PF=2142560390~EQ~sel~x7043993-PF=2142560390~EQ~sel~x4988414-VIS=160-CAT_ID=754893-EXC=1-PG=10&hid=91020
Выбрать народные ASUS, Gigabyte, MSI и получится 12 плат, из которых половины нет в продаже.
зачем хранить раздел подкачки на виртуальном диске в RAM?
> зачем хранить раздел подкачки на виртуальном диске в RAM?Чтобы сжатие использовать, swap очень хорошо жмется. Например, есть 4 Гб, выделяем 2 Гб под своп в рамдиске с сжатием и получаем 5 Гб виртуального ОЗУ без особой потери производительности.
Хм...стоит обсудить =) Как мне помниться своп служит для представления виртуальной памяти. А из ОЗУ при нехватке места, данные сливаются в виртуальную память. Своп как я понимаю хочется замаписть в ОЗУ. Эт Perpetuum Mobile получается какой-то =)
> Хм...стоит обсудить =) Как мне помниться своп служит для представления виртуальной памяти.
> А из ОЗУ при нехватке места, данные сливаются в виртуальную память.
> Своп как я понимаю хочется замаписть в ОЗУ. Эт Perpetuum Mobile
> получается какой-то =)Мне вот тоже кажется, что для приложений, которым это действительно нужно, выгоднее увеличить их собственные кеши в памяти, а остальное отдать ОС на откуп. Конечно если эти самые приложения умеют сжимать кеши.
>> Хм...стоит обсудить =) Как мне помниться своп служит для представления виртуальной памяти.
>> А из ОЗУ при нехватке места, данные сливаются в виртуальную память.
>> Своп как я понимаю хочется замаписть в ОЗУ. Эт Perpetuum Mobile
>> получается какой-то =)
> Мне вот тоже кажется, что для приложений, которым это действительно нужно, выгоднее
> увеличить их собственные кеши в памяти, а остальное отдать ОС на
> откуп. Конечно если эти самые приложения умеют сжимать кеши.Или например увеличить размеры кеша ФС.
Чет вас понесло куда-то. Использую аналогичный zram несколько месяцев на десктопе с 2Гб оперативы. Полет нормальный.P.S. Свап обычно сжимается раз в 5 =) Так что считайте прибыль ...
чтобы можно было его сжать. в итоге больше приложений влезает в тот же объем ОЗУ и работает быстрее, чем с реальным swap on HDD.PS написано на одном из сайтов в новости ;)
Э,... типа CONFIG_ZRAM
tristate "Compressed RAM block device support"
depends on BLOCK && SYSFS
select XVMALLOC
select LZO_COMPRESS
select LZO_DECOMPRESS
default n
help
Creates virtual block devices called /dev/zramX (X = 0, 1, ...).
Pages written to these disks are compressed and stored in memory
itself. These disks allow very fast I/O and compression provides
good amounts of memory savings.It has several use cases, for example: /tmp storage, use as swap
disks and maybe many more.See zram.txt for more information.
Project home: http://compcache.googlecode.com/Только SHA256 нету, но от битой памяти спасёт только замена.
Да и битые ячейки уже сам контроллер помечает и туда не пишет.
Pavlinux, если будешь сравнивать этот виртуальный диск с обычным, напиши результаты!
> Pavlinux, если будешь сравнивать этот виртуальный диск с обычным, напиши результаты!См. внизу. Фуфло это, в прямом смысле, там в коде только скелет блочного устройства,
который понимает только read() и write()
Олол.
>Ключевыми особенностями RapidDisk является <…> быстрое изменение размера RAM-диска на лету в любой момент без потери данных, <…> В будущем планируется обеспечить возможность динамического изменения размера RAM-диска.
быстрое не динамическое
Разве "на лету" не означает "динамическое"?
> Разве "на лету" не означает "динамическое"?Нет, "на лету" - это изменение по запросу, но без остановки работы, а динамическое - это автоматическое расширение по мере надобности.
Интересно - а есть ли в линухе RAM диски с синком на HDD и планируют ли ето здесь?
Ссылки к новости, п.4.
[петросян]и есть ли в линуксе фс на диске с возможностью кеширования часто используемых блоков в памяти[/петросян]
> [петросян]и есть ли в линуксе фс на диске с возможностью кеширования часто
> используемых блоков в памяти[/петросян]лучше кэшировать пиксели монитора, их там много, а цвета всего три - RGB :)
Это элементарно пишется rc-шным скриптом, если есть ramdiskadm, к примеру.
>[оверквотинг удален]
> сжатия данных (используется метод LZO) и обеспечение коррекции ошибок (для контроля
> целостности используется SHA-256). После создания RAM-диска независимо от заданного размера
> используется минимальное количество физической памяти, память расходуется по мере заполнения
> RAM-диска. В будущем планируется обеспечить возможность динамического изменения размера
> RAM-диска.Это какая-то децкая поделка, в коде ВООБЩЕ НЕТ НИ слова про SHA и LZO
Работают только два сикала - read() и write(), остальные оно тупа не умеет.
mkswap отрабатывает, swapon отваливается "unsupported command"
mkfs.xxx - работают, mount -t xxx ... - КУЙ!Кто новость писал, отрывайте себе яйцы - это галимый Пиар!
>>[оверквотинг удален]
> Это какая-то децкая поделка,Кстати, лучше не ставьте, даже если скомпилите и запустите,
минут через 20 оно фризит всю систему. :)
Павел, респект и уважуха вам за ваши исследования. :)
Кстати, как пользоваться ZRAM в штатном ядре той же ubuntu 10.04?
Попробуйте compcache + m-a
> Павел, респект и уважуха вам за ваши исследования. :)
> Кстати, как пользоваться ZRAM в штатном ядре той же ubuntu 10.04?У меня такой скриптик, где-то в /etc/init.d/boot.local (SuSE 11.4)
/sbin/modprobe -q zram > /dev/null 2>&1;if [ -e /dev/zram0 ]
then
/sbin/swapoff /dev/sdb3 > /dev/null 2>&1
echo 1 > /sys/block/zram0/reset
echo $((128*1024*1024)) > /sys/block/zram0/disksize;
echo 1 > /sys/block/zram0/initstate
/sbin/mkswap /dev/zram0
/sbin/swapon /dev/zram0 >/dev/null 2>&1;
/sbin/sysctl -w vm.swappiness=32
fi
а зачем SHA это же криптографический хеш ?
Обычная контрольная сумма, только замороченная, необратимая, и почти без коллизий.