Ельбрус VS Intel. Порівнюємо продуктивність систем зберігання Аеродиск Схід та Engine

Ельбрус VS Intel. Порівнюємо продуктивність систем зберігання Аеродиск Схід та Engine

Всім привіт. Ми продовжуємо знайомити вас із системою зберігання даних Аеродиск СХІД, виконаною на базі російського процесора Ельбрус 8C.

У цій статті ми (як і обіцяли) детально розберемо одну з найпопулярніших та найцікавіших тем, пов'язаних з Ельбрусами, а саме – продуктивність. На тему продуктивності Ельбруса є чимало спекуляцій, причому абсолютно полярних. Песимісти кажуть, що продуктивність Ельбруса зараз «ніяка», і щоб наздогнати «топових» виробників, знадобляться десятиліття (тобто в умовах нинішньої реальності — ніколи). З іншого боку, оптимісти кажуть, що вже зараз Ельбрус 8C показує хороші результати, а в найближчі кілька років з виходом нових версій процесорів (Ельбрус 16С та 32С) ми зможемо «наздогнати та перегнати» провідних світових виробників процесорів.

Ми в Аеродиську люди практичні, тому пішли найпростішим і найзрозумілішим (для нас) шляхом: протестувати, зафіксувати результати і лише потім робити висновки. У результаті ми провели досить велику кількість тестів і виявили ряд особливостей роботи Ельбруса 8С архітектури e2k (у тому числі і приємних) і, звичайно ж, порівняли це з аналогічними СГД на процесорах Intel Xeon архітектури amd64.

До речі, більш докладно про тести, результати та про майбутній розвиток СГД на Ельбрусах ми поговоримо на нашому черговому вебінарі "ОколоІТ" 15.10.2020 о 15 00. Зареєструватися можна за посиланням нижче.

Реєстрація на вебінар

Тестовий стенд

Ми створили два стенди. Обидва стенди складаються з сервера з Linux, підключеного через 16G FC-комутатори до двох контролерів СХД, в якій встановлено 12 SAS SSD 960 ГБ дисків (11,5 ТБ «сирої ємності» або 5,7 ТБ «корисної» ємності, якщо використовуємо RAID-10).

Схематично стенд виглядає так.

Ельбрус VS Intel. Порівнюємо продуктивність систем зберігання Аеродиск Схід та Engine

Стенд №1 e2k (Ельбрус)

Конфігурація обладнання така:

  • Linux-сервер (2x Intel Xeon E5-2603 v4 (6 cores, 1,70 Ghz), 64 GB DDR4, 2xFC-адаптер 16G 2 порти) – 1шт.
  • Комутатор FC 16G - 2 шт.
  • СХД Аеродиск Схід 2-Е12 (2xЕльбрус 8С (8 cores, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) - 1 шт

Стенд №2 amd64 (Intel)

Для порівняння з аналогічною конфігурацією на e2k використовувалася схожа конфігурація СХД із схожим процесором за характеристиками на amd64:

  • Linux-сервер (2x Intel Xeon E5-2603 v4 (6 cores, 1,70 Ghz), 64 GB DDR4, 2xFC-адаптер 16G 2 порти) – 1шт.
  • Комутатор FC 16G - 2 шт.
  • СХД Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 32 GB DDR4, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) - 1 шт

Важливе зауваження: процесори Ельбрус 8С, що використовуються в тесті, підтримують оперативну пам'ять тільки DDR3, це звичайно «погано, але не довго». Ельбрус 8СВ (у його наявність у нас поки немає, але скоро буде) підтримує DDR4.

Методика тестування

Для генерації навантаження ми використовували популярну та перевірену часом програму Flexible IO (FIO).

Обидві СГД налаштовані відповідно до наших рекомендацій з налаштування, виходячи з вимог до високої продуктивності на блоковому доступі, тому використовуємо дискові пули DDP (Dynamic Disk Pool). Щоб не спотворювати результати тестування, на обох СГД відключаємо компресію, дедуплікацію та RAM-кеш.

Створено 8 D-LUN-ів у RAID-10 по 500 ГБ, кожний сумарний корисний об'єм становить 4 ТБ (тобто приблизно 70% від можливої ​​корисної ємності цієї конфігурації).

Виконуватимуться основні та популярні сценарії використання СГД, зокрема:

перші два тести емулюють роботу транзакційної СУБД. У цій групі тестів нам цікаві IOPS-и та затримка.

1) Випадкове читання маленькими блоками 4k
a. Розмір блоку = 4k
b. Читання/запис = 100%/0%
c. Кількість робіт = 8
d. Глибина черги = 32
e. Характер навантаження = Full Random

2) Випадковий запис маленькими блоками 4k
a. Розмір блоку = 4k
b. Читання/запис = 0%/100%
c. Кількість робіт = 8
d. Глибина черги = 32
e. Характер навантаження = Full Random

другі два тести емулюють роботу аналітичної частини СУБД У цій групі тестів нам також цікаві IOPS-и та затримка.

3) Послідовне читання маленькими блоками 4k
a. Розмір блоку = 4k
b. Читання/запис = 100%/0%
c. Кількість робіт = 8
d. Глибина черги = 32
e. Характер навантаження = Sequential

4) Послідовний запис маленькими блоками 4k
a. Розмір блоку = 4k
b. Читання/запис = 0%/100%
c. Кількість робіт = 8
d. Глибина черги = 32
e. Характер навантаження = Sequential

третя група тестів емулює роботу потокового читання (приклад – онлайн трансляції, відновлення резервних копій) та потокового запису (приклад – відеоспостереження, запис резервних копій). У цій групі тестів нам вже цікаві не IOPS-и, а MB/s і затримка.

5) Послідовне читання великими блоками 128k
a. Розмір блоку = 128k
b. Читання/запис = 0%/100%
c. Кількість робіт = 8
d. Глибина черги = 32
e. Характер навантаження = Sequential

6) Послідовний запис великими блоками 128k
a. Розмір блоку = 128k
b. Читання/запис = 0%/100%
c. Кількість робіт = 8
d. Глибина черги = 32
e. Характер навантаження = Sequential

Кожен тест триватиме одну годину без урахування часу прогріву масиву 7 хвилин.

результати тестів

Результати тестів зведено у дві таблиці.

Ельбрус 8С (СХД Аеродиск Схід 2-Е12)

Ельбрус VS Intel. Порівнюємо продуктивність систем зберігання Аеродиск Схід та Engine

Intel Xeon E5-2603 v4 (СХД Аеродиск Engine N2)

Ельбрус VS Intel. Порівнюємо продуктивність систем зберігання Аеродиск Схід та Engine

Результати вийшли вкрай цікаві. В обох випадках ми добре утилізували процесорні потужності СГД (70-90% утилізації), і при такому розкладі явно впадають у вічі плюси та мінуси обох процесорів.

В обох таблицях зеленим кольором виділено тести, де процесори «почуються впевнено» і показують хороші результати, а помаранчевим кольором виділені ситуації, які процесори «не люблять».

Якщо говорити про випадкове навантаження невеликими блоками, то:

  • з погляду випадкового читання Intel, безумовно, попереду Ельбруса, різниця у 2 рази;
  • з точки зору випадкового запису однозначно нічия, обидва процесори показали приблизно рівні та гідні результати.

У послідовному навантаженні невеликими блоками картина інша:

  • і під час читання, і за запису Intel значно (вдвічі) випереджає Эльбрус. При цьому, якщо у Ельбруса показник IOPS нижче ніж у Intel, але виглядає гідно (2-200 тисяч), то із затримками явна проблема (вони втричі вищі ніж у Intel). Висновок, поточна версія Ельбруса 300С дуже не любить послідовні навантаження невеликими блоками. Очевидно, є над чим працювати.

А ось у послідовному навантаженні великими блоками картина прямо протилежна:

  • обидва процесори показали приблизно рівний результат MB/s, але є одне АЛЕ…. Показники затримок у Ельбруса в 10 (у десять, Карл!!!) разів краще (тобто нижче), ніж у аналогічного процесора від Intel (0,4/0,5 ms проти 5,1/6,5 ms) . Спочатку ми подумали, що це глюк, тому ми перевіряли ще раз результати, зробили повторний тест, але повторний тест показав ту ж картину. Це серйозна перевага Ельбруса (та архітектури e2k загалом) перед Intel (і, відповідно, архітектури amd64). Сподіватимемося, що цей успіх отримає подальший розвиток.

Є ще одна цікава особливість Ельбруса, яку уважний читач може звернути увагу, подивившись на таблицю. Якщо поглянути на різницю показників читання та запису у Intel, то у всіх тестах читання випереджає запис у середньому приблизно на 50%+. Це норма, до якої всі (зокрема й ми) звикли. Якщо подивитися на Ельбрус, то показники запису значно ближчі до показників читання, читання випереджає запис, як правило, на 10 – 30%, не більше.

Про що це каже? Про те, що Ельбрус «дуже любить» запис, а це, у свою чергу, говорить про те, що цей процесор буде дуже корисним у завданнях, де запис явно переважає читання (хто сказав закон Яровий?), що також є безперечною перевагою архітектури e2k, і цю перевагу потрібно розвивати.

Висновки та найближче майбутнє

Порівняльні тести процесорів середнього рівня Ельбрус та Intel для завдань зберігання даних показали приблизно рівні та однаково гідні результати, при цьому кожен процесор показав свої цікаві особливості.

Intel сильно перевершив Ельбрус у випадковому читанні невеликими блоками, а також у послідовному читанні та запису невеликими блоками.

При випадковому запису невеликими блоками обидва процесори показують рівні результати.

За показниками затримки Ельбрус виглядає значно краще за Intel-а в потоковому навантаженні, тобто. у послідовному читанні та запису великими блоками.

Крім того, Ельбрус на відміну від Intel однаково добре справляється як з навантаженнями читання, так і з навантаженнями запису, в той час як у Intel читання завжди значно краще запису.
Виходячи з отриманих результатів можна зробити висновок про застосування систем зберігання даних Аеродиск Схід на процесорі Ельбрус 8С в наступних задачах:

  • інформаційні системи з величезним переважанням операцій записи;
  • файловий доступ;
  • онлайн-трансляції;
  • відеоспостереження;
  • резервне копіювання;
  • медіа-контент.

Колективу МЦСТ є ще над чим працювати, але результат їхньої роботи видно вже зараз, що, звісно, ​​не може не тішити.

Дані тести проводилися на ядрі Linux для e2k версії 4.19, на даний момент у бета-тестах (в МЦСТ, в Базальт СПО, а також у нас, в Аеродиску) знаходиться ядро ​​Linux 5.4-e2k, в якому, крім усього іншого, серйозно перероблено планувальник та багато оптимізацій під швидкісні твердотільні накопичувачі. Також спеціально для ядер гілки 5.х.х АТ "МЦСТ" випускає новий компілятор LCC версії 1.25. За попередніми результатами, на тому ж процесорі Ельбрус 8С, зібране новим компілятором нове ядро, оточення ядра, системні утиліти та бібліотеки і, власне, ПО Аеродиск Схід дозволить отримати ще більший приріст продуктивності. І це без заміни обладнання — на тому самому процесорі і з тими самими частотами.

Ми очікуємо на вихід версії Аеродиск СХІД на базі ядра 5.4 ближче до кінця року, і як тільки робота над новою версією буде завершена, ми оновимо результати тестування і також опублікуємо їх тут.

Якщо тепер повернутися до початку статті і відповісти на запитання, хто ж має рацію: песимісти, які кажуть, що Ельбрус «ніякий» і ніколи не наздожене провідних виробників процесорів, або все-таки оптимісти, які кажуть, що «вже майже наздогнали і скоро переженемо »? Якщо виходити з стереотипів і релігійних упереджень, та якщо з реальних тестів, то, однозначно, праві оптимісти.

Ельбрус вже зараз показує добрі результати, якщо порівнювати його із процесорами amd64 середнього рівня. До верхніх у лінійці моделей серверних процесорів Intel або AMD 8 Ельбрусу, звичайно, далеко, але вона туди і не цілилася, для цього будуть випущені процесори 16С і 32С. Отоді й поговоримо.

Ми розуміємо, що після цієї статті питань про Ельбрус стане ще більше, тому ми вирішили організувати ще один онлайн-вебінар «Біля ІТ», щоб у прямому ефірі на ці питання дати відповіді.

На цей раз у нас в гостях буде заступник генерального директора компанії МЦСТ, Костянтин Трушкін. Записатися на вебінар можна за посиланням нижче.

Реєстрація на вебінар

Всім дякую, як зазвичай чекаємо конструктивної критики та цікавих питань.

Джерело: habr.com

Додати коментар або відгук