когда стоит распараллелить дисковый ввод-вывод? - PullRequest
1 голос
/ 26 июня 2010

Основываясь на своем опыте, получили ли вы прирост производительности от распараллеливания дискового ввода-вывода? В частности, I / O читает

В моем случае, если бы у меня были диски RAID 0, можно было бы выполнять как минимум два чтения одновременно, но это все же медленнее, чем последовательный подход.

Будете ли вы когда-нибудь читать параллельные операции ввода-вывода? Почему?

Ответы [ 4 ]

2 голосов
/ 26 июня 2010

Попробуйте то же самое с двумя отдельными потоками, считывающими с двух отдельных дисков.
Предпочтительно, диски должны быть на отдельных контроллерах (а потоки должны работать на разных процессорах).

По сути, массив RAID 0 уже распараллеливает операции чтения и записи и ведет себя как единое целое в этом отношении.
То, что вы пробовали, аналогично распараллеливанию вычислений на одном процессоре.

1 голос
/ 26 июня 2010

В основном, когда у вас много возможностей ввода-вывода, и процесс не только выполняет ввод-вывод (т. Е. Действительно тратит время на выполнение чего-либо).

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

0 голосов
/ 26 июня 2010

Резервный массив независимых дисков (RAID) - это технология, которая обеспечивает повышенную надежность хранилища за счет избыточности.RAID 0 обычно не обеспечивает более высоких скоростей ввода / вывода, потому что любой файл, к которому вы хотите получить доступ, распределяется по двум дискам.Если у вас огромные файлы, вы можете увидеть некоторое увеличение времени доступа для чтения в конфигурации RAID 0.

Более высокие уровни RAID обеспечивают избыточность, а не производительность

0 голосов
/ 26 июня 2010

Я помню нить здесь, но, к сожалению, не детали. IIRC Тональный сигнал O был, чтение 1 файла на поток - это нормально, но не чтение одного (даже большого) файла с более чем 1 потоком.

...