Статья «Тестируем: сравнение производительности IMX6 и OMAP4»

В этой статье мы поделимся результатами тестирования производительности двух систем на базе ARM-процессора с ядром Cortex-A9 — OMAP4 PandaBoard ES и i.MX6Q SABRE Lite (dev kit онлайн-сообщества element14).

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

В качестве базовой системы для проведения тестов мы выбрали дистрибутив 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) в рамках заданной конфигурации программного и аппаратного обеспечения. Более подробно о чипах TI можно почитать на сайте дизайн-центра электроники Promwad: микропроцессоры Texas Instruments.