Как использовать все ядра в одной задаче dd?

В настоящее время я тестирую криптографическую пропускную способность Banana Pi, используя следующая страница в качестве отправной точки.

Однако я мог заметить, что представленная операция dd не использует оба ядра, и прочитал о связанный вопрос. Итак, я передал два экземпляра dd, но, должно быть, что-то пропустил, потому что пропускная способность не увеличивается, и одновременно используется только одно ядро, как показано с помощью htop. Это, конечно же, команда тестирования, доступная только в ветви 1.6x cryptsetup, которая дает примерно 68% -ное увеличение скорости при разгоне, но примерно 33% -ное увеличение при использовании ручного метода. Я сильно подозреваю, что метод тестирования не использует оба ядра.

Может ли dd использовать оба ядра для одной и той же задачи и сообщать о пропускной способности одного?

Моей конечной целью было бы доказать, что процесс ручного тестирования столь же надежен для более старых версий cryptsetup, в которых нет команды "benchmark", поскольку они ее используют, чтобы сравнить ее с Raspberry Pi.


person Cuby    schedule 09.09.2014    source источник
comment
dd не поддерживает многоядерность / параллелизм. Связанный ответ порождает несколько разных dd процессов, и ОС планирует их оптимальным образом (например, на разных ядрах, если это необходимо). Напишите сборщику тестов, помните об этом факте и добавьте дискретные результаты, если применимо. Также обратите внимание, что dd наверняка привязан к вводу-выводу, и в этом случае не имеет значения, насколько сильно нагревается ЦП, это просто трата электронов - диск (ввод-вывод) не работает. отдать / забрать данные быстрее.   -  person user2864740    schedule 09.09.2014
comment
Чтобы принудительно использовать многоядерность с dd, вам нужно будет использовать что-то вроде gnu parallel. См. Gnu Parallel   -  person David C. Rankin    schedule 09.09.2014