The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Вышел релиз сетевой файловой системы POHMELFS"
Отправлено Аноним, 04-Май-08 20:57 
>это подходит только в случае когда данные находятся на том же сервере
>что и meta-data.
>тогда вы перекладываете работу которую вам надо сделать - на плечи vfs.

Именно, и чем больше я ее туда перекину, тем будет лучше.

>Клиент обязан дождаться когда транзакция закончится, и новая транзакция не откроется до
>тех пор пока не закончена старая? иначе мы имеем очень большое
>окно между тем как мы закрыли транзакцию - и тем как
>она реально закомичена на сервере.

Зависит от флагов - можно сделать как sync, так и async транзакцию.
Со второй мы можем потерять данные, т.к. никогда не узнаем, что она завершилась.

Сейчас транзакция содержит до 14 (размер pvec) страниц. Можно увеличить (опция монтирования), но VFS не очень дружит, я лениво сделал почти как в write_cache_pages().

Можно создать сколько угодно много транзакций и запустить их параллельно (на сервере они и будут обрабатываться параллельно), но мой опыт работы с ядерными сокетами показывает, что больше чем один поток размером в примерно 64к на 1гбит/с не нужно, т.к. сеть не тянет, поэтому есть одна кэшированная (в смысле не создается все время, а создана статически для сокета) транзакция на сокет, с которой идет бОльшая часть работы. Прием по отношению к ней асинхронен.

Собственно, пока мы с вами беседовали, я доделал механизм транзакций, сейчас начну failover, возможно сегодня/завтра будет, что показать...

>клиент делает statfs - при этом другой клиент пишет (изменяет размер).
>какой размер увидит первый клиент? будет ли повторно запрашиваться атрибуты файлов если
>сделать 2 раза ls -l на каталоге с 100к файлов?

Нет, они же кэшируются на клиенте. Если памяти достаточно и иноды не выкинули, в таком случае их придется перечитать. Статистика пока не синхронизируется.

>>Все синхронизации делаются не строже, чем в случае локальной работы нескольких потоков
>>с одним и тем же файлом.
>
>в случае локальной работы - за вас всю синхронизацию делает vfs.
>в случае сетевой работы (при нескольких нодах) - вам это прийдется делать
>за vfs.

Я имел ввиду, что pohmelfs сервер делает их не строже, чем VFS для локальных потоков.
Хотя, например direct-io я просто убил на клиенте... Тоже способ, хотя не самый красивый, при необходимости всегда можно вернуть :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру