В этой статье мы поделимся результатами тестирования производительности двух систем на базе ARM-процессора с ядром Cortex-A9 — OMAP4 PandaBoard ES и i.MX6Q SABRE Lite (dev kit онлайн-сообщества element14).
С полным списком характеристик этих комплектов разработчика можно познакомится по ссылкам выше, а в этой статье мы укажем только те отличительные особенности, которые напрямую влияют на производительность тестов процессора и памяти.
OMAP4 PandaBoard ES Rev B1 | i.MX6Q SABRE Lite | |
Процессор | TI OMAP4460 | Freescale i.MX 6Q (Prototype Samples) |
Ядро | Cortex-A9 | Cortex-A9 |
Количество ядер | 2 | 4 |
Максимальная тактовая частота ядер | 1,20 ГГц | 996 МГц |
Кэш | L1 32КБ I-Cache 32-КБ D-Cache L2 1МБ |
L1 32КБ I-Cache 32-КБ D-Cache L2 1 МБ |
Внешняя SDRAM | 1ГБ, dual-channel DDR2@400МГц в одном корпусе с процессором |
1 ГБ, 64-bit wide DDR3@532МГц |
SD Card | Transcend 4ГБ | Transcend 4ГБ |
В качестве базовой системы для проведения тестов мы выбрали дистрибутив Linaro.
Первоначально планировали провести тесты на Linaro 13.09 с ядром Linux 3.12, при этом для SABRE Lite использовалось ванильное ядро, которое мы собрали самостоятельно, т.к. поддержка i.MX6 была реализована только в Linaro 12.04. Однако в такой конфигурации во всех тестах производительности CPU SABRE Lite сильно опережала PandaBoard (на десятки процентов), также наши результаты тестирования сильно отличались от данных, опубликованных на openbenchmarking.org для PandaBoard (1, 2).
Затем мы попробовали провести тесты на Linaro 12.04, однако ситуация повторилась, в этот раз, возможно, это было связано с поддержкой cpufreq в ядре Linaro 12.04 для PandaBoard (подробное описание см. тут).
В результате для PandaBoard мы выбрали дистрибутив Linaro 12.08, а для SABRE Lite — Linaro 12.04 (оба базируются на Ubuntu 12.04). Корневая файловая система у обоих плат замещалась на внешней SD-карте, для проведения тестов поочередно использовалась одна и та же карта памяти. В качестве тестового ПО был выбран пакет для измерения производительности Phoronix Test Suite 4.8.3 (последняя версия, доступная на момент старта тестов).
Тесты в основном сфокусированы на анализе производительности CPU и памяти. Сравнивая результаты нужно учитывать, что i.MX6Q имеет четыре ядра, а OMAP4460 —два, эти ядра на каждом из процессоров работают на различных частотах. Кроме того, сами комплекты разработчика имеют различный тип памяти и частоты её шины. Некоторые тесты выполняются только на одном ядре, поэтому в пояснениях мы будем указывать, где тест выполняется в один, а где — в несколько потоков.
Приведем здесь таблицу с информацией о системах, которая генерируется Phoronix Test Suite.
Начнем с результатов тестов производительности работы с внешней SDRAM-памятью.
PandaBoard выигрывает примерно 10% у SABRE Lite. В принципе, такой результат (в первом приближении) позволяет сравнивать результаты тестов производительности процессора без учета влияния производительности памяти.
Далее приведем результаты тестов скорости чтения с файловой системы, размещенной на SD-карте.
В этом тесте с учетом погрешности измерения обе платы показывают одинаковые результаты, что позволяет сравнивать результаты тестов, где требуется достаточно интенсивная работа с файловой системой, например, тест времени сборки приложений.
Тест OpenSSL проверяет скорость шифрования RSA 4096-bit в реализации openssl, он выполняется в один поток.
С учетом нормализации по частоте обе системы показывают практически одинаковую производительность (0,8% в пользу SABRE Lite).
C-Ray тестирует производительность CPU на вычислениях с числами с плавающие запятой. Это многопоточный тест (16 потоков на ядро).
В этом тесте видно масштабирование результатов на количество ядер. С учетом нормализации по частоте и количеству ядер, а так же с учетом погрешности измерения обе системы показывают одинаковую производительность.
Далее приведем результаты кодирования аудио- и видеоданных. Тесты FLAC Audio Encoding и LAME MP3 Encoding выполняются в один поток, тест x264 — многопоточный.
C учетом нормализации на частоту PandaBoard показывает на 9% большую производительность по сравнению с SABRE Lite.
Аналогичная ситуация с кодирование MP3: PandaBoard показывает на 3% лучшую производительность (с учетом нормализации) по сравнению с SABRE Lite.
C учетом нормализации по частоте и количеству ядер PandaBoard примерно на 30% опережает SABRE Lite.
Тест Timed MPlayer Compilation анализирует временя сборки проигрывателя mplayer, сборка осуществляется компилятором, установленным в системе (в нашем случае на обеих системах —gcc 4.6.3). Количество потоков сборки равно количеству ядер.
Ожидаемым результатом было масштабирование результатов на количество ядер, однако такой зависимости не наблюдается. На ядрах 4-х 1ГГц тест выполняется на 6% медленнее, чем на 2-х 1,2 ГГц. По всей видимости это связано с тем, что узким местом в этом тесте была скорость работы с Flash-памятью.
Далее приведем результаты некоторых тестов SciMark 2.0, реализованных на C, эти тесты выполняется на одном ядре.
C учетом нормализации на частоту PandaBoard показывает на 15%, 0%, 40% большую производительность по сравнению с SABRE Lite.
По результатам тестирования можно отметить следующее:
Во всех тестах PandaBoard показала или большую или сравнимую производительность по сравнению с SABRE Lite. В двух тестах кодирование x264 и SciMark2.0 Dense LU Matrix Factorization результаты отличались значительно (Timed MPlayer Compilation не расматриваем).
В целом, можно сделать вывод о некотором преимуществе системы на базе процессора TI OMAP4460 (PandaBoard ES) в рамках заданной конфигурации программного и аппаратного обеспечения.
Автор: Promwad