Страница 4: Тесты серверных сценариев

После сценариев для рабочих станций мы переходим к тестам, более ориентированным на серверы. Для выполнения тестов нам пришлось выполнить дополнительную работу, чтобы подготовить тестовое окружение. В частности, мы скачали базу Open Images Dataset V5 от Google, занимающую около 500 Гбайт пространства, на которой мы будем тестировать приложения глубокого обучения.

Для расчета подавления шумов мы скачали сцену Moana Island от Walt Disney Animation Studios и провели тест Open Image Denoise. Здесь объем исходных данных составил 50 Гбайт. Для тестов баз данных мы воспользовались массивом на несколько терабайт. Сегодня с подобными объемами можно работать без особых проблем, но мы еще раз видим, насколько более существенные требования предъявляют серверные сценарии.

Кроме Windows 10 мы использовали и операционную систему Linux, а именно ClearLinux. Также нам пришлось установить различные библиотеки и пакеты, на которых мы подробнее остановимся ниже. Например, библиотека Intel Math Kernel Library является важным компонентом многих тестов.

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

Вычисления с целыми числами

Linpack C++

GFLOPS
Больше - лучше

Вычисления с плавающей запятой

Linpack C++

GFLOPS
Больше - лучше

Начнем с чистой вычислительной производительности систем. Мы провели тесты Linpack и сравнили результаты. Небольшой прирост тактовых частот Xeon Platinum 8280 по сравнению с предшественником привел к небольшому приросту производительности. Впрочем, существенного увеличения скорости мы и не ожидали.

Тест памяти Stream

Copy

Гбайт/с
Больше - лучше

Тест памяти Stream

Triad

Гбайт/с
Больше - лучше

Перейдем к пропускной способности памяти. Обе системы работают с памятью по шести каналам. В случае Xeon Platinum 8180 память DDR4 работает на 2.666 МГц, у Xeon Platinum 8280 частота увеличена до 2.933 МГц, поэтому мы получаем разницу по пропускной способности памяти. Xeon Platinum 8280 дают на 15% более высокую пропускную способность памяти, но им все равно не удается обойти 8-канальный интерфейс нынешних AMD EPYC 7601, которые дают пропускную способность памяти примерно на треть больше.

PyTorch Landmark Points

PyTorch - время анализа

Время в секундах
Меньше - лучше

PyTorch - платформа глубокого обучения на открытом исходном коде. Мы выбрали пример обработки и анализа данных, используя базу с фотографиями нескольких лиц. Для каждого лица определяется 68 меток, которые позволяют его характеризовать. Мы оценивали среднее время анализа каждого лица из базы данных. Для анализа используются расчеты INT8, два Xeon Platinum 8280 выигрывают от ускорения DL Boost.

Инференс изображений < 7 мс

Open Images Dataset V5 - данные INT8

Кадры в секунду
Больше - лучше

Инференс изображений

Open Images Dataset V5 - данные INT8

Кадры в секунду
Больше - лучше

Следующее приложение тоже относится к глубокому обучению. Мы выбрали базу Open Images Dataset V5 размером 500 Гбайт, содержащую десятки тысяч изображений. На тренировку сети глубокого обучения по данной базе уходит несколько дней. В результате мы получаем сеть Residual Neural Network (ResNet) с 50 слоями, по которым классифицируются изображения. Чем больше слоев, тем более точно классифицируются изображения для последующей обработки запросов.

Однако непосредственно сам тест базируется на инференсе, то есть запросе данных в сеть глубокого обучения. Сначала мы оценили производительность в кадрах в секунду для массива данных INT8. Два Xeon Platinum 8280 примерно на 40%-50% обгоняют своих предшественников. Здесь важную роль тоже играет ускорение DL Boost.

Инференс изображений < 7 мс

Open Images Dataset V5 - FP32 через INT8

Кадры в секунду
Больше - лучше

Инференс изображений

Open Images Dataset V5 - FP32 через INT8

Кадры в секунду
Больше - лучше

Во втором тесте мы оценивали производительность при работе с более крупным массивом данных FP32. Точности FP32 здесь не требуется, поэтому приложение конвертирует данные в INT8. У двух Xeon Platinum 8180 нет ускорения INT8, поэтому им приходится обрабатывать данные FP32, скорость получается существенно ниже новых CPU. Речь идет о четырехкратном приросте производительности, что можно назвать весьма существенным шагом вперед.

OSPRay и Open Image Denoise

Трассировка лучей

Секунды
Меньше - лучше

Для трассировки лучей сцены Moana Island в Walt Disney Animation Studios требуется "классическая" вычислительная производительность. Собственно, в этом и кроется вычислительная проблема рендеринга. Сначала мы измеряли время, которое требуется для трассировки лучей.

Разрешение кадра составляло 2.048 x 858 пикселей, трассировка лучей выполнялась с 64 семплами на пиксель (SPP). Двум Xeon Platinum потребовалось для этого более четырех минут, новые Xeon Platinum 8280 справились чуть быстрее.

Для примера: если удвоить разрешение и увеличить SPP до 256, то на расчет кадра уходит уже несколько часов.

OSPRay и Open Image Denoise

Подавление шумов

Секунды
Меньше - лучше

Следующим шагом мы применили фильтр Open Image Denoiser, который убирает шумы, появившиеся из-за отсутствующих семплов. Чем меньше семплов рассчитывается на пиксель, тем больше получается шумов. Фильтр Open Image Denoiser убирает шумы и заменяет их информацией, полученной через сеть глубокого обучения.

Ускорение DL Boost на процессорах Xeon Platinum 8280 отлично показывает себя на этапе подавления шумов, поскольку на всю задачу уходит 11,6 с, хотя двум Xeon Platinum 8180 требуется почти в десять раз больше времени.

OSPRay и Open Image Denoise

Трассировка лучей и подавление шумов

Секунды
Меньше - лучше

Преимущество по расчетам подавления шумов отражается и на общем времени, которое уходит на расчет кадра. В нашем случае мы подразумеваем кадр с низким разрешением и небольшим количеством семплов. Результат можно экстраполировать на настоящее кинопроизводство - расчеты будут занимать намного больше времени, и ускорение подавления шумов даст более ощутимую экономию.

Производительность баз данных Hadoop

метод k-средних

Время в секундах
Меньше - лучше

Производительность баз данных Hadoop

Sort

Время в секундах
Меньше - лучше

Производительность баз данных Hadoop

Terasort

Время в секундах
Меньше - лучше

Наконец, мы провели несколько тестов баз данных. Мы использовали несколько алгоритмов сортировки. В случае метода k-средних (k-means) множество элементов векторного пространства разбивается на известное число кластеров k. Sort означает простую сортировку. В случае Terasort мы сортировали 1 Тбайт данных.

Мы фиксировали время, которое требовалось на выполнение алгоритма сортировки. В случае используемой базы данных она не умещалась в оперативную память, ограниченную 384 Гбайт. Между Skylake и Cascade Lake Xeon разница невелика, она обусловлена только приростом тактовых частот Xeon Platinum 8280.

Новые Cascade Lake Xeon могут дать более существенный прирост, если все сортируемые данные находятся в оперативной памяти или Optane DC Persistent Memory. Здесь отличным сценарием станут приложения с несколькими терабайтами данных, которые можно хранить в массиве из памяти и Optane DC Persistent Memory с минимальными затратами на память.