LINUX.ORG.RU
ФорумTalks

Про параллельную запись на жесткий диск

 


0

2

Чисто в целях троллинга, предложил людям подумать, насколько полезно писать на жесткий диск в несколько потоков одновременно

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

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

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 1)

Жесткий диск и так пишет файлы по головам по очереди. Фильм размером в 100 GB будет записан на каждый из блинов HDD формата (3 блина, 6 голов) примерно в равных долях.

ns_ramesses
()
Ответ на: комментарий от Deleted

Все ветки комментариев тоже надо раскрывать вручную, причем иногда по два раза (в ветке треда отображаются только самые последние комменты, а вверху ветки появляется ссылка show 11 more comments или что-то такое). И цифра 24 там тоже неправильная из-за этого, реально их больше, а 24 это столько, сколько Фейсбук решил, что ты хочешь прочитать.

И даже если ты развернул комменты самой первой ссылкой, то всё равно показывается не всё, а сколько хочется Фейсбуку. Там внизу списка комментов снова будет ссылка «show N more comments». Такие дела, страдай.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от ns_ramesses

как же он может писать файлы по очереди, если ничего не знает о файлах? Или он всё-таки знает - тогда каким протоколом это реализуется? Можешь дать ссылку?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от ns_ramesses

Жесткий диск и так пишет файлы по головам по очереди

Не совсем. В SATA есть NCQ.

Deleted
()

Операционка: Linux, Windows, Java

угу

vel ★★★★★
()

почитал коменты на фейсбуке. имхо, у тебя логика страдает. логично не решать свою проблему чудо командами, протоколами и т.п., которые подходят под твой кейз, а изучить, как работают существующие технологии и исправить свою программу.

crypt ★★★★★
()

И ради чего этот троллинг? Это какие-то сертифицированные специалисты или ты предложил задачу рядовым кодерам чисто потешить ЧСВ?

atrus ★★★★★
()

Делаю дамп своего шапочного понимания:

У дисков головки одновременно двигаются - запись цилиндрами идет. Писать потоком очень выгодно т.к. каждый seek на современных дисках - это примерно 10мс.

Плюс, диск у тебя SATA, у которой есть пропускная полоса (хотя HDD в нее не упрется, привожу в качестве одного из элементов цепи). Пишешь ты в буфер устройства, у которого есть лимит и потоки твои пишут в буферы ядра, и потоки хоть и параллельны, но синхронизятся на I/O, если файл один. Все это процеживается через I/O scheduler ядра и вертится в многозадачной системе, что не дает тебе эксклюзивного доступа + доступ к устройству синхронизирован аппаратно (так же как ядра синхронизированы на доступ к шине оперативной памяти, например).

CaptainFarrell
()

Я конечно не спец в теме, но разве на диск пишет не прога, а ОС? Точнее ее драйвер для текущей ФС. Если драйвер кривой/ограничение ФС - то хоть в 100 потоков пиши - прироста не будет.

Ну и даже у ядра нету прямого доступа к диску, ибо SATA + драйвер самого диска.

RazrFalcon ★★★★★
()

Вот сколько не видел станций с RAID 1, никогда это ни к чему хорошему не приводило. Идея конечно хорошая, спору нет. Только вот при сбоях питания контроллеры обоих винтов выгорают почему-то одинаково и одновременно. Сам видел. А при сбое одного, мастер-винта, восстановить инфо со второго практически нереально почему-то. Гораздо эффективнее наладить систему еженедельных бекапов и прописать их в трудовой договор, я думаю.

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

cadaber ★★
()

Чисто в целях троллинга

Дальше не читал.

robot12 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.