The OpenNET Project / Index page

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



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

Исходное сообщение
"Вышел релиз сетевой файловой системы POHMELFS"
Отправлено _umka_, 04-Май-08 22:01 
>>не выйдет. выполнение rpc при захваченых vfs локах будет весело.
>
>Естественно, что что-то вытаскивается в сервер, плюс fcntl() локи уж очень медленные...
>

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


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

так же как и при журналировании данных.


>И как же это работает в случае отвала сервера? :)

есть много механизмов - replay журнала один из них.


>
>>ех. кроме tcp/ip есть другие сети - где все не так печально.
>
>Все любят только tcp/ip, даже поверх ib/iwarp/whatever.
>Хотя конечно можно и оптимизировать без них.

cray/hp/ibm - не любят tcp, и используют его только как service channel.

>[оверквотинг удален]
>>есть TSO, есть network dma и тп.
>
>Я могу получить доступ к IB-связанным машинам, но пока это не самая
>приоритетная задача, по понятным причинам незавершенности других вещей :)
>Под TSO вы наверное имели ввиду не tcp segmentation offload, а полную
>загрузку стека в карту - очень криво в подавляющем большинстве случаев,
>которые я видел (собствено, за это их и не берут в
>ядро и врядли когда не возьмут), а в остальных есть channel-like
>интерфейс, который можно легко прицепить к pohmelfs.
>

network dma - это в основном у IB и подобных карт, правда патчи для этого не принимаются в ядро - но позволяют передавать минуя стек. Это один из кусков патчей в люстре.

tso - в сочетании с zero copy sockets - это network dma для бедных. указали большой буфер, а сетевуха сама порежет на пакеты и плюнет в получателя.


>>ех.. а как же вы хотите писать? как может второй клиент узнать
>>где для него конец файла что бы записать? он один раз
>>сделал ls -l, получил атрибуты - второй клиент после этого записал
>>в файл и сдвинул EOF.
>>после этого первый клиент проснулся и решил писать - он что потеряет
>>данные первого?
>
>Надеюсь, что вы не пишете такой код... Задайте тот же самый вопрос,
>если у вас два потока, один делает lseek(), а второй просто
>write(). И тоже самое будет с двумя клиентами pohmelfs.

судя по вашим словам "статистика не сихнронизиуется" - первый клиент будет иметь i_size = size_old, от первого ls -l (выполнен stat), и будет писать ровно с этой позиции - оно закэшировано в его vfs стеке.

второй клиент i_size уже обновил - и писать надо с другой позиции - но без когерентности meta-data  - как первый клиент узнает что размер обновился? кто за него сделает этот lseek?

 

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



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

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