Откройте приложение и оставайтесь на терминале

И да, и нет.

Фактическое чтение файла должно происходить с одинаковой скоростью, независимо от того, сколько процессоров его выполняет.

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

В зависимости от файловой системы, в которой хранится файл _X и различные файлы, объединенные с ним, а также параметров, с которыми была смонтирована эта файловая система, время доступа к файлу _X может обновляться каждый раз. кот читает. Если это так, вероятно, перед каждым обновлением будет производиться блокировка записи в файл _X inode, которое затем будет выпущено.

Другой возможной причиной снижения скорости является тот факт, что все 64 из этих заданий пишут файлы параллельно, которые обязательно находятся в разных точках диска. Если вы не используете твердотельный накопитель (SSD ), это может потребовать значительного перемещения записывающих головок по диску. Эти файлы находятся в 64 разных каталогах, поэтому помимо создаваемых файлов есть еще 64 места для обновления.

Выполнение всех этих действий в сценарии оболочки означает, что каждая копия файла выполняется вилкой -. Fork считается довольно дорогим системным вызовом, но в системе с разделяемыми библиотеками он меркнет по сравнению со стоимостью системных вызовов семейства exec, поскольку для этого требуется выполнить поиск каждой разделяемой библиотеки и загрузить все эти разделяемые библиотеки. библиотеки. Это еще одно место, где потенциально может быть размещена блокировка чтения файла, в зависимости от того, на каком именно unix он находится, и, возможно, какова его конфигурация.

0
07.04.2021, 14:31
0 ответов

Теги

Похожие вопросы