Size: a a a

SDS и Кластерные FS

2021 September 05

ВН

Виталий На Заборе... in SDS и Кластерные FS
Ну ему ж нужно совместимое, для него жив наверное =))
источник

E

Etki in SDS и Кластерные FS
Это неважно. Важно что у меня есть рабочий инструмент из коробки. То что если я хочу пирформанса под платформой Х то мне нужен инструмент специально под платформу х и так понятно.
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
Да, я забыл. Полл и еполл не работают на файлы. Они типа всегда готовы. А по факту блочат
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
А, еполл их вобще не хавоет
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Ну я бы сказал например что вообще всё posix api говно, т.к. оно всё синхронное. Я бы всё сделал асинхронным
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
А то получается условно асинхронную запись ты сделать можешь, а асинхронный rename скажем - в общем-то нет
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
Оно сложнее
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
Труднее дебажить
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
И тд
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
Синхронное нужно. Но и асинхронное тоже
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Ну либо сделать встроенный какой-то вариант асинхронного
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
В стандарт
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
Тут согласен
источник

AK

Artemy Kapitula in SDS и Кластерные FS
И везде сделано по-своему. В винде (например) оно сделано через т.н. overlapped I/O со своеим собственным интерфейсом. Идите и дое...есь до майкрософта, если такие резкие
источник

AK

Artemy Kapitula in SDS и Кластерные FS
Не так. Данные файлов - вот они есть, поэтому вызов не блокируется на неопределенное ожидание удаленной стороны. Тебе никто не обещал что вызов не пойдет к внешним устройствам, тебе обещают только что вызов гарантированно вернет данные без ожидания удаленной стороны (нуу, кроме сетевых ФС, самом собой)
источник

AK

Artemy Kapitula in SDS и Кластерные FS
Ну вот ты мух и котлет то не мешай. Асинхронное оно с точки зрения твоего приложения - ты сделал вызов указав методику нотификации и когда нотификация пришла проверяешь результат. Где оно внутри ядра синхронное и где нет - это тебя не волнует.
источник

AK

Artemy Kapitula in SDS и Кластерные FS
У тебя вообще может быть например отдельный I/O thread в который твоя библиотека aio которую дергает твоя программа сгружает весь I/O, и который внутри себя где-то делает синхронно, где-то через io_submit, где-то еще как-нибудь, но твой основной тред при этом не ждет. Собственно, libaio и получается
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Ну вот мой поинт в том, что пусть лучше те, кому надо, эмулируют синхронное поведение через асинхронный интерфейс, чем наоборот
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
Так мы придем к тому что синхронных сисколлов не останется
источник

МК

Марк ☢️ Коренберг... in SDS и Кластерные FS
И программировать будет тяжело
источник