CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
20.07.2018

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: BSD :: DragonFly BSD

DragonFly - Масштабируемая инфраструктура кэширования

Мы хотим создать гибкую инфраструктуру кэширования двойного назначения, аналогичную широко известной и хорошо разработанной системе MESI для широкого диапазона конфигураций. Первым назначением этой инфраструктуры будет защита операций ввода-вывода и преобразования содержимого оперативной памяти. Например, модель MESI для некоторого диапазона позволит нескольким процессам одновременно осуществлять чтение и запись в разных участках одного и того же файла. При удачном внедрении данной инфраструктуры мы сможем распространить её на сетевое кластерное окружение, что позволит нам сделать большой шаг вперёд к достижению эффекта цельной системы.

Такая инфраструктура кэширования позволит, к примеру, защитить операцию write() от конфликта с ftruncate(), а также сохранить атомарность операций read() и write(). Та же инфраструктура будет эффективно объявлять недействительным либо обновлять содержимое памяти, став полноценной заменой блокировки VNODE для большинства случаев.

Рассматриваемая инфраструктура будет использовать приём и передачу сообщений, более сосредотачиваясь на объекте виртуальной памяти, нежели на VNODE в роли главного менеджера кэшированных данных. Такие операции, как read() и write(), будут получать соответствующие блокировки диапазона объекта виртуальной памяти, осуществлять свой ввод и вывод, а затем снимать блокировку. Долгосрочные операции над кэшем смогут объединять свои диапазоны с целью ограничения числа удерживаемых блокировок, что позволит инфраструктуре поддерживать блокировки между операциями в масштабируемом режиме. Тогда такие операции с кэшем, как объявление недействительным либо - например - преобразование Исключительный->Совместно используемый (Exclusive->Shared transitions), будут генерировать запрос компоненту управления блокировкамии на понижение категории или снятие блокировки диапазона. Другими словами, рассматриваемая система кэширования - это система с активным управлением.

Примечания переводчика:
MESI - протокол для взаимодействия многопроцессорного вичислительного комплекса с кэш-памятью (предусматривает возможность изменения, монопольного и коллективного использования и установки признаков недействительности данных кэш-памяти).
VNODE - internal representation of a file or directory (букв. внутреннее представление файла или каталога) - система присвоения определённых параметров каждому активному файлу, текущему каталогу, подмонтированному файлу, текстовому файлу и корню в Unix-подобных ОС; подробности см.: http://www.gsp.com/cgi-bin/man.cgi?section=9&topic=vnode.





Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds