LXF163: Скорость компьютера
|
|
|
Оцените производительность системы с помощью BSMBench
Содержание |
Скорость вашего компьютера
Если вас когда-нибудь интересовало, быстро ли работает ваша система, Бьяджо Лучини покажет вам увлекательный путь к ответу.
Все мы жаждем улучшения производительности, хотя дать ей определение большинству из нас трудно. Нам всем нужна быстрая система, но часто это сводится только к сочетанию устройств и программ, позволяющих решать наиболее распространенные задачи без ненужного ожидания.
Понятие производительности довольно субъективно, поскольку зависит от наших потребностей и ожиданий. На данном уроке мы представим количественную меру производительности, проистекающую из области, где у нее есть гораздо более четкое определение – из суперкомпьютеров.
Вычислительные возможности одного процессора ограничены: без прорыва в технологиях нельзя существенно увеличить количество транзисторов на крошечном кристалле кремния, как нельзя и увеличить частоту работы процессоров, не затронув более фундаментальные физические законы для изменения нынешних механизмов работы процессоров. Но ведь вычислительную мощность увеличивать нужно! Остается объединить несколько совместно работающих процессоров или процессорных ядер.
Простой вариант – «компьютерная ферма» по типу Amazon EC2. В ней каждый компьютер или экземпляр компьютера можно использовать для решения отдельной задачи. Однако дело усложняется, когда одну задачу надо разделить между несколькими процессорами. Пример – прогнозирование погоды. Математическая модель здесь достаточно сложна, и даже самый быстрый в мире процессор не сможет вовремя обрабатывать данные в одиночку. Основная сложность совместных, или параллельных, вычислений – взаимодействие, т. е. необходимость обмена данными между процессами. Это создает при вычислениях узкие места, расшить которые можно только с помощью специальных сетей обмена данными.
Лучшие технологии – передовые и в целом дорогие. Эффективно масштабировать систему из свыше нескольких тысяч быстрых взаимосвязанных процессоров – технологическая сверхзадача. Немногие специализированные системы в этой категории справедливо называют суперкомпьютерами, или высокопроизводительными вычислительными (ВПВ) системами. Рынок ВПВ-систем ограничен, но целевые пользователи более чем охотно соглашаются платить немалую цену, диктуемую производителями, лишь бы те утолили их вынужденную жажду скорости. По этой причине пользователям важно иметь независимые от производителя средства оценки возможностей ВПВ-архитектуры. Большинство утилит для этого довольно незатейливы и оценивают лишь один аспект системы, будь то внутрипроцессорные вычисления или межпроцессорное взаимодействие. Кроме того, подобные утилиты хорошо известны производителям «железа», которые в своей сфере часто производят также и ПО. В результате компиляторы, применяемые в суперкомпьютерах, оптимизированы по производительности на стандартных тестах, что усложняет выбор между платформами.
BSMBench
Недавно появилась новая утилита оценки производительности суперкомпьютеров под названием BSMBench. У нее есть два преимущества по сравнению со стандартными утилитами: она оценивает одновременно и производительность, и взаимодействие, также предоставляя возможность изменения их относительной важности, и достаточно сложна, чтобы к ней было трудно подогнать компилятор для оптимизации результатов теста. Поэтому BSMBench способна дать надежную оценку мощности ВПВ-систем. Поскольку те же технологии совместного программирования можно реализовать и развернуть на настольных системах, BSMBench поможет проверить и производительность нашего компьютера с Linux. Конечно, нашим результатам будет далеко до показателей суперкомпьютеров (а иначе с чего бы те стоили так дорого?). Но прикоснуться к миру ВПВ-систем с нашего скромного рабочего стола или сервера все равно интересно. И – да, результаты могут порадовать нас или оказаться последним толчком к обновлению компьютера.
Системные требования
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Прежде чем перейти к компиляции и запуску BSMBench, полезно напомнить читателю, что тестирование – это операция, предельно нагружающая систему. В частности, в большинстве тестов активно задействованы процессор и память, и если не предпринять специальных мер, возможно зависание системы и (хотя и маловероятный) перегрев компьютера. В любой из этих ситуаций советуем немедленно прекратить операцию, при необходимости даже перезагрузив компьютер кнопкой сброса.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
ВПВ-архитектуры – это серверы, и на них нет шикарных графических столов с эффектами, ресурсоемких программ вроде офисных приложений или браузеров с частоколом вкладок. Помните, что любая программа, запущенная совместно с тестом, повлияет на результаты, уменьшив показатели производительности компьютера. Для запуска этого теста установите легкий рабочий стол, наподобие LXDE, или (лучше) перезапустите систему в консольном режиме: для наших задач графический интерфейс не нужен. При возможности, после компилирования теста настройте удаленный доступ по ssh на тестируемый компьютер и выполняйте все действия удаленно. Это дает более достоверные результаты, так как ближе эмулирует среду, для которой предназначен тест.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Рекомендуем запускать тест не более чем на половине ядер тестовой системы (в которой должен быть как минимум четырехъядерный процессор), и чтобы не менее 2 ГБ ОЗУ осталось после вычитания из общего объема памяти по 2 ГБ на каждое ядро, участвующее в тесте. Для имитации сложного сценария мы запустили тест на системе с двухядерным Intel Core 2 Duo с частотой 2,66 ГГц и 4 ГБ ОЗУ. В двухпроцессорной конфигурации самая большая программа в наборе использует почти 100 % процессора и около 3,7 ГБ ОЗУ. Код выполнялся в эмуляторе терминала в среде LXDE. Это выходит за пределы системных требований и нагружает систему по максимуму. Хотя иногда работа системы замедлялась, проблем не возникло, и тесты завершились успешно. Но мы сильно советуем придерживаться рекомендованных системных требований.
Перед компиляцией BSMBench нужно установить некоторые зависимости. Нужны только стандартные средства разработки, используемые для параллельного программирования, и в любом крупном дистрибутиве Linux они есть. В частности, для компиляции и запуска параллельного кода нужны библиотеки MPI (Message Passing Interface – интерфейс передачи сообщений). В свою очередь, MPI нужны компиляторы (в данном случае, GCC и G++ из Gnu Compiler Collection). MPI – де-факто стандарт параллельного программирования, благодаря практически неограниченной масштабируемости и способности работать как в распределенных системах, так и в системах с разделяемой памятью. Существует несколько реализаций MPI; две самые популярные – MPICH и OpenMPI. Пользователи и разработчики предпочитают OpenMPI, по причине частых релизов и высокой скорости разработки. Поэтому мы тоже выберем OpenMPI. Однако отметим, что BSMBench работает с любой реализацией MPI.
Для целей нашего урока мы предоставим подробные инструкции по компиляции и запуску BSMBench в Ubuntu 12.04, но эти действия можно адаптировать к любому другому дистрибутиву. Начнем с установки необходимых зависимостей. Это делается в командной строке – наберите в терминале
#sudo apt-get install build-essential libopenmpi1.5-dev openmpi1.5-bin
После указания пароля пользователя (мы предполагаем, что у пользователя есть привилегии администратора) из репозиториев Ubuntu загрузятся и установятся необходимые утилиты. При желании сделать это можно и через Центр управления программами (Software Center), но в командной строке быстрее.
Рекомендуемая версия GCC для BSMBench – 4.4. С более новыми версиями существует ряд несовместимостей, которые, возможно, уже будут исправлены к моменту, когда вы будете читать эту статью. Так как Ubuntu 12.04 поставляется с GCC 4.6, нам придется установить рекомендованную версию. Снова обратимся к командной строке:
#sudo apt-get install gcc-4.4 cpp-4.4
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Теперь можно перейти к компиляции BSMBench. Последние версии исходников можно загрузить из github (зайдите на https://github.com/blucini/BSMBench и щелкните по ссылке ZIP), а последний стабильный релиз – с www.bsmbench.org. Наши указания должны работать для последней версии – в случае сомнений загляните в файл README. Предположим, что файл с исходниками, который вы скачали, называется bsmbench.zip; для его распаковки скомандуйте терминалу
#unzip /path/to/bsmbench.zip
Замените путь /path/to абсолютным путем до файла bsmbench.zip в файловой системе. Эта команда создаст подкаталог. Предположим, что его имя будет bsmbench, и перейдем в него командой
#cd bsmbench
Это корневой каталог теста. Затем скомпилируем тест:
#export OMPI_CC=/usr/bin/gcc-4.4 && export OMPI_CXX=/usr/bin/gcc-4.4 && ./make.sh machine-config/generic.cfg
Две команды export велят OpenMP использовать версию GCC 4.4 вместо версии по умолчанию 4.6. Файл generic.cfg в каталоге machine-config – общий файл шаблона, необходимый для создания Makefile, который, в свою очередь, необходим для создания исполняемого файла. Строк в файле generic.cfg немного:
CC = mpicc
CFLAGS = -Wall -std=c99 -O2 -fomit-frame-pointer -mfpmath=sse -msse -msse2
Первая строка велит системе сборки make использовать компилятор mpicc (часть стандарта MPI) – это оболочка системного компилятора, указанного в переменной оболочки OMP_CC. Оболочка упрощает процесс сборки, автоматически связывая необходимые параллельные библиотеки. Во второй строке (в переменной CFLAGS) задаются параметры оптимизации, используемые во время компиляции. Параметры по умолчанию довольно стандартны, и с ними компиляция и запуск BSMBench пройдут успешно в большинстве распространенных систем Linux. Если возникли проблемы или вы хотите попробовать разные параметры оптимизации, загляните на man-страницу GCC.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Шаблоны для других операционных систем и различных архитектур находятся в каталоге machine-config. Имя файла должно ясно означать, для какой системы и архитектуры он предназначен.
Обычно компиляция длится всего 20–30 секунд. Если она прошла успешно, то в корневом каталоге теста появятся три исполняемых файла: bsmbench_balance, bsmbench_comms и bsmbench_compute. Если вы следовали нашим инструкциям, ошибиться было почти негде, но если вдруг появилось сообщение об ошибке, советуем вернуться назад и начать все с начала. Если вы не справитесь с проблемой, авторы BSMBench (включая меня) с удовольствием помогут вам запустить тест в вашей системе.
Запуск теста
В корневом каталоге теста создадим подкаталог output и зайдем в него:
#mkdir output && cd output
Общая команда запуска теста из этого каталога такова:
#mpirun -np NUM ../bsmbench_[test] -i [input_file] -o [output file]
Параметр test может принимать значения balance, comms и compute, а NUM – это количество одновременно запущенных процессов (обычно оно меньше или равно количеству ядер). Несколько входных файлов находятся в каталоге sets (в корневом каталоге теста). Они помечены номером теста и количеством процессов. Выходной файл создается пользователем, и в него будут записаны результаты тестов.
Для конкретного примера проведем тест сбалансированности [balance test] на двух ядрах. В этом случае в выходном каталоге выполняется следующая команда:
#mpirun -np 2 ../bsmbench_balance -i ../sets/balance-2.bsmbench -o balance-2.out
Затем перейдем в другой терминал и выполним команду top. В нашей тестовой системе с двумя ядрами программа работает корректно, и мы видим два процесса bsmbench_balance, возглавляющих список по использованию процессора. Примерно через полчаса программа завершится, и откроется оболочка, из которой она была запущена. После этого у нас получатся (будем надеяться, пустой) файл err_0 и выходной файл balance-2.out.
В дополнение к результатам теста выходной файл содержит информацию о питании системы, которую смело можно игнорировать. Нужную нам информацию мы получим, выбрав все строки выходного файла, содержащие «BENCH» (все буквы заглавные):
#grep BENCH balance-2.out
В нашем случае это строки
[BENCH][0]Precision test disabled.
[BENCH][0]spinor_field_sqnorm: test completed in 783.47 seconds
[BENCH][0]spinor_field_sqnorm: Average FLOP/s per process: 5.370e+08
[BENCH][0]spinor_field_sqnorm: Average total FLOP/s: 1.074e+09
[BENCH][0]mad: test completed in 605.25 seconds
[BENCH][0]mad: Average FLOP/s per process: 3.403e+08
[BENCH][0]mad: Average total FLOP/s: 6.806e+08
[BENCH][0]Dphi: test completed in 530.16 seconds
[BENCH][0]Dphi: Average FLOP/s per process: 7.680e+08
[BENCH][0]Dphi: Average total FLOP/s: 1.536e+09
[BENCH][0]Dphi performance is 0.04 times that of a Blue Gene/P node card.
[BENCH][0]All tests completed successfully.
[BENCH][0]Total average FLOP/s: 1.078e+09
[BENCH][0]Total average FLOP/s per process: 5.388e+08
[BENCH][0]Performance is 0.03 times that of a Blue Gene/P node card.- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
spinor_field_sqnorm, mad и Dphi – три выполняемых теста. Обратите внимание на строку с важнейшим сообщением “All tests have completed successfully [Все тесты завершились успешно]”. В трех тестах даны результаты количества миллиардов операций с плавающей точкой (FLOP) в секунду, т. е. в гигафлопс. Производители процессоров уверяют, что производительность выше раз в пять, но их цифры получены на идеализированных тестах.
Затем производительность нашей системы сравнивается с производительностью карты узла BlueGene/P, которую мы выбрали эталонной платформой для измерения относительной производительности. BlueGene/P – широко развернутая суперкомпьютерная платформа, разработанная IBM, и в последние годы она была одной из самых популярных платформ для вычислений в сфере физики элементарных частиц. Карта узла – наименьший вычислительный узел этой системы. Из внутренних тестов нам интересен Dphi, так как он может дать более подробную информацию о производительности. Затем для этого теста выполняется сравнение с производительностью карты узла BlueGene/P.
Взаимодействие
Теперь запустим другой тест, например, bsmbench_comms:
#mpirun -np 2 ../bsmbench_comms -i ../sets/comms-2.bsmbench -o comms-2.out
На обычном «железе» программа выполняется опять же около получаса. Предыдущий тест предназначался для ситуации, когда на вычисления и на взаимодействие времени тратилось примерно поровну, а в этом тесте время на взаимодействие гораздо больше времени на вычисления. В стандартных архитектурах с высокой степенью параллелизма взаимодействие негативно влияет на производительность, и задача, стоящая перед производителями «железа» – уменьшение этого влияния. Большинство людей пользуются одним компьютером с многоядерным процессором, и в таких системах взаимодействие происходит намного быстрее, чем в больших распределенных архитектурах. Интересно сравнить результаты для нашей тестовой системы. В тесте взаимодействия мы получили результат в 1,22 гигафлопс, а в тесте сбалансированности – 1,09 гигафлопс. Следовательно, результаты, хотя и с небольшой разницей, сопоставимы. Стало быть, у нашей системы нет проблем, связанных с взаимодействием, так как различие между двумя результатами можно отнести на счет колебаний из-за системных процессов, внешних по отношению к тесту.
Вычисления
Наконец, можно запустить тест с вычислениями, когда вычисления преобладают над взаимодействием. Для этого скомандуйте
#mpirun -np 2 ../bsmbench_compute -i ../sets/compute-2.bsmbench -o compute-2.out
Этот тест обладает более высокими требованиями, и может выполняться до нескольких часов. Для обычных пользовательских систем этот тест наименее информативен: производительность одноядерной системы можно определить проще и быстрее. Если вы будете запускать тест bsmbench_compute на своей системе, советуем остановить его после т. н. «безумного теста [mad test]», сэкономив время. Результаты этого теста и теста spinor_field_sqnorm могут дать полезную информацию в сравнении с аналогичными результатами тестов взаимодействия и сбалансированности.
Самый сложный аспект тестирования – получить меру производительности системы, отражающую ее работу в реальной ситуации. BSMBench – набор тестов, предназначенный для высокопроизводительных вычислений, но он может дать информативные результаты и на бюджетных платформах. Структура BSMBench позволяет менять соотношение взаимодействия и вычисления в тестах. Выпущено три теста, каждый из которых представляет одну из типичных ситуаций.
Теперь у вас должно появиться более глубокое понимание способностей своей системы, и эти знания пригодятся вам при планировании модернизации или замены своего компьютера. Идеальный для вас настольный компьютер, быть может, не так уж и недоступен. |