Re[4]: Хранилища данных в управляемых и не очень ОС
От: WolfHound  
Дата: 22.06.09 14:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

WH>>1)Что мешает тоже самое сделать с SQL сервером?

C>Ничего особого. В теории.
Расскажи это Дворкину. В его мире это всю историю ОС перечеркивает.

WH>>2)В правильных ОС фичи типа sendfile не нужны ибо они будут получатся автоматически.

C>Каким образом?
Я написал.

C>Мимо. Сетевому драйверу просто любой поток не подойдёт. Хотя бы потому, что в теории он может отдавать по байту в час, а нам нужна сразу как можно большая непрерывная область — чтоб можно было отдать её контроллеру DMA и забыть о ней.

Ты вообще читаешь то что я пишу?
Буквально в следующем абзаце я все расписал.
А ты его проигнорировал.

C>Далее, как поток у нас будет информацию отдавать? Кто будет буффер для них распределять?

Зачем распределять?
У нас в потоке уже буферы есть.
Вот прямо из них и отдавать.
На одном конце драйвер винта или там демон кеша складывает страници, а на другом драйвер сетевухи те же самые страници достает.
В чем проблема то?

C>Далее, чтоб отдать область напрямую контроллеру DMA — нужно чтобы все фрагменты были выровнены по границе страницы. А на время траснфера нужно ещё блокировать все эти страницы в физической памяти.

Ни разу не проблема.

C>Линукс сейчас всё это делает, из-за чего возможно отдавать файлы из кэша прямо в сеть с нулевыми затратами. Буквально драйверу говорят "вот этот, этот и ещё вот этот блок отправить вот туда вот", драйвер как ему там нужно программирует сетевуху, запускает DMA и всё. Благодаря TCP offloading сейчас карточки вообще всё сами могут делать.

Ну и тут все тоже самое.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.