Intel Optane Data Center Persistent Memory
Сучасні ІТ департаменти все частіше прагнуть налаштувати програми так, щоб вони були «швидкими» (тобто практично з миттєвим часом відгуку). Для цього вибирають процесори з високою частотою, а також намагаються обрати процесор, у якого кеш 3-го рівня буде максимальним за обсягом. Це одна можлива частина рішення, як зробити роботу програм комфортною для користувачів. Друга частина – це вибір швидкої дискової підсистеми. На сьогодні для цього найпопулярнішим класичним рішенням є використання Fiber Channel комутаторів та адаптерів 32Гб (або 16Гб) та all-flash дискових підсистем. Це завжди швидко, легко налаштовується, але дуже дорого. Що робити, якщо програми стали повільніше працювати, а потрібно намагатися збільшити швидкодію, при цьому не купуючи дорогі адаптери та комутатори Fiber Channel та all-flash дискові підсистеми? Або як збудувати таку систему «з нуля»?
Варто звернути увагу на рішення: Intel Optane Data Center Persistent Memory (надалі просто Persistent Memory).
Persistent Memory на один-два порядки швидше традиційної енергонезалежної пам'яті NAND – основи більшості сучасних твердотільних накопичувачів SSD, а також має значно більшу пропускну здатність. Якщо накопичувач SSD NVMe U.3 (навіть не U.2), який зазвичай підключається по чотирьох лініях PCIe 4.0, має пропускну здатність інтерфейсу приблизно 8ГБ/с, то один модуль Persistent Memory серії 200 (працює з третім поколінням процесорів Intel Xeon) «шириною 8 байт, що працює на ефективній частоті 3200 MТ/с, має пропускну здатність практично 26ГБ/с. З урахуванням того, що всі вісім каналів контролера оперативної пам'яті інтегровані в один процесор і при цьому працюють паралельно з двома процесорами - мають сумарну пропускну здатність інтерфейсу для восьми модулів Persistent Memory 208 ГБ/с. Реальний час затримки становить приблизно 3 мікросекунди на читання та запис (при більш ніж 25 мікросекундах NAND). Відчуйте різницю!
Часто виникає питання щодо надійності цих модулів. Якщо коротко - вони практично "безсмертні". Як правило, стандартна гарантія на ці модулі становить 5 років. І для того, щоб вичерпати ресурс, потрібно писати на дані модулі безперервно зі швидкістю 2–4 ГБ/с протягом 5 років (все залежить від розміру блоку, яким пишеться дані та обсягу модулів). Якщо подивитися з боку, дані модулі Persistent Memory встановлюються в стандартний слот звичайної оперативної пам'яті і практично зовні нічим від них не відрізняються.
Як працює Persistent Memory?
Існує два режими, які називаються Memory Mode (Режим Пам'яті) та App Direct Mode (Режим Прямого Доступу). Перший режим не потребує модифікацій програм. У цьому режимі Persistent Memory використовується як основна оперативна пам'ять, що адресується DIMM, а наявний обсяг оперативної пам'яті DIMM - як кеш (L4) для Persistent Memory, обсяг оперативної пам'яті стає мовби невидимим для ОС, але при цьому зберігається висока швидкість роботи Persistent Memory у цьому режимі. Режим пам'яті дозволяє надати ОС і застосункам значний обсяг пам'яті за нижчою ціною, ніж стандартна оперативна пам'ять DIMM. Слід мати на увазі, що у цьому режимі Persistent Memory є енергозалежною, тобто дані, що знаходяться у ній, «втрачаються» при перезавантаженні.
У другому режимі роботи Persistent Memory виступає як незалежний дисковий простір зберігання прямого доступу, підтримується побайтна адресація, режими DMA і RDMA і для операцій читання задіяна кеш-пам'ять процесора, підключений безпосередньо до шини пам'яті. Саме цей режим роботи повністю розкриває потенціал Persistent Memory як пристрою зберігання даних, виключаючи затримки, властиві традиційним пристроям зберігання і внесені протоколом PCIe, операційною та файловою системами. Використовуючи цей режим, ми ніби дозволяємо додаткам взаємодіяти модулям Persistent Memory на вищому рівні пропускної спроможності та зі значно меншими затримками у порівнянні з найпродуктивнішими твердотільними накопичувачами навіть корпоративного рівня. Цей режим дозволяє програмам залишатися доступними і після перезавантаження сервера.
Перемикання між двома режимами відбувається дуже просто - перезавантажується сервер і змінюються налаштування БІОС (дані при цьому губляться, але для тестування різних варіантів використання це саме те, що потрібно, головне швидкість і простота демо-тестування).
Застосування цього рішення широкі:
- бази даних (Oracle, MS SQL, SAP HANA),
- віртуалізація VMware та Hyper-V,
- робота з програмами для штучного інтелекту та машинного навчання.
Якщо використовувати цю технологію з базами даних, то можна істотно скоротити кількість використовуваних фізичних ядер, за рахунок хіба що «прискорення введення виведення», тобто зменшення черги введення-виведення – вузького місця в базах даних, що гальмують доступ, а потім і обробку даних у процесорі. Використовуючи ці модулі, наприклад, в віртуальному середовищі VMware можна суттєво ущільнити віртуалізацію, запускати більшу кількість віртуальних машин на одному сервері, відповідно використовувати меншу кількість серверів, що веде до зменшення витрат на ліцензування ПЗ.
І останнє, що хотілося б сказати. Продати це рішення може практично кожен вендор, але правильно налаштувати та впровадити лише НРЕ та Lantec. Зазвичай при купівлі цього рішення, після відвантаження обладнання замовнику, максимум допомоги - це посилання на документи, в яких частково розкривається опис функціоналу рішення і деякі налаштування. Тобто замовник залишається сам на сам з обладнанням . У результаті процес впровадження може тривати місцями. Завдяки спільній експертизі інженерів НРЕ та Lantec ви отримаєте необхідні консультації та допомогу як у налаштуванні обладнання, так і в налаштуванні операційних систем (Windows або Linux) та різноманітних програм. Це дозволить максимально ефективно експлуатувати обладнання та в найкоротші терміни зробити точне налаштування обладнання та ваших додатків.
Пропонуємо можливість протестувати сервер з Persistent Memory (6ТБ) на ваших додатках у різних режимах.