Коли ви дивитеся захищений відеоконтент у високій якості або підключаєтеся до мультимедійної системи в літаку, ви рідко замислюєтеся, хто стоїть за тим, щоб усе працювало швидко й без збоїв. А за цим стоять інженери, для яких “високе навантаження” це щоденний виклик. Один із них українець Олександр Громовський.
Працюючи в GlobalLogic на одного зі світових медіа-лідерів, компанію Harmonic, він став автором унікальних оптимізацій: програмно прискорив алгоритми шифрування у 18 разів, “обігнавши” спеціалізовані апаратні чіпи, та допоміг системі обробляти потоки даних, що були в сотні разів “важчими” за попередні.
Сьогодні він Senior Software Engineer у Panasonic Avionics, де розробляє софт нового покоління для Boeing та Airbus. Gazeta.ua поговорила з Олександром про те, як досвід у медіаіндустрії допомагає в авіації, навіщо конкуренти разом пишуть стандарти, і що означає створювати код, який не має права на помилку на висоті 10 000 метрів.
Олександре, ви працюєте на Panasonic Avionics компанію, яка створює бортові системи розваг та зв’язку для пасажирських літаків. Як старший інженер-програміст ви займаєтеся розробкою нового покоління мультимедійних систем. А до цього ваша карʼєра понад сім років будувалася навколо індустрії цифрових медіа, де ви працювали над світовими стандартами передачі відео та криптографії. Виходить, ви перейшли з однієї надзвичайно складної галузі в іншу. Чим принципово відрізняється створення програмного забезпечення для літака, де система має безвідмовно працювати тисячі годин, від розробки для медіаіндустрії?
Насправді різниця і не така велика, просто відповідальність за помилку та можливості її швидко виправити суттєво відрізняються.
Наші мультимедійні системи на літаку, звісно, проходять сувору авіаційну сертифікацію. Але вони не належать до систем, критично важливих для безпеки польоту як, наприклад, навігація чи двигуни. Тому їхній вихід з ладу хоч і є проблемою для пасажирів, але не є критичним для самого літака. Головна складність в іншому: у нас немає жодної можливості оперативно щось виправити чи проаналізувати проблему дистанційно, поки літак у повітрі.
Саме це накладає суттєві обмеження і потребує зовсім іншої парадигми тестування. На відміну від попередніх систем, над якими я працював, тут набагато жорсткіші вимоги до якості коду, code review, автоматичного та ручного тестування. Але мій попередній досвід розробки в Harmonic, одного зі світових лідерів індустрії цифрового відео, добре допомагає, оскільки там я також працював із системами, що вимагають високої відмовостійкості.
Ваша команда в Портленді (США) зараз створює нову мультимедійну систему IFE. Які технологічні виклики стоять перед вами, щоб пасажири отримали такий самий досвід, як вдома зі своїми смартфонами, але на висоті 10 000 метрів? Чи є щось складніше?
Оскільки системи, які працюють на літаках, досить повільно оновлюються, вони швидко відстають від звичайних користувацьких систем. Зараз Panasonic створює революцію у сфері IFE-систем для літаків зі своєю новою системою Astrova.
Але все одно найбільший виклик, як на мене, це пришвидшення циклу розробки, аби він займав не роки, а місяці. Бо якщо користувачі не будуть отримувати сучасного досвіду, то вони просто не будуть використовувати системи літака і дедалі більше користуватимуться своїми мобільними телефонами.
Щоб керувати такими проєктами, потрібно мати досвід роботи з “високими навантаженнями”. І у вас він є якраз у GlobalLogic (одній з провідних міжнародних компаній, що займаються розробкою цифрових продуктів), де ви працювали над системами для Harmonic. Розкажіть про цей період.
Це був дуже цікавий час у моїй кар’єрі, бо саме в GlobalLogic я за час роботи виріс від звичайного розробника то Technical Lead.
Мені довелося працювати над дуже різними модулями тодішньої флагманської системи Prostream 9000 це, якщо просто, система, яка обробляє та доставляє відеоконтент мільйонам глядачів. Потім вона трансформувалась з цілком апаратної платформи на повністю програмну. Тобто замість великої, дорогої “залізної” коробки, компанії змогли використовувати гнучке програмне забезпечення, яке можна запустити, наприклад, у “хмарі”.
У створенні цієї нової платформи я також брав активну участь, реалізуючи функції шифрування (тобто захисту відео від піратства) та впроваджуючи нові стандарти передачі відео. І це була особливо цікава робота. Щоб ви розуміли масштаб: нам потрібно було навчити систему обробляти потоки даних, які були в сотні разів “важчими” за попередні. Це був величезний технологічний стрибок, що дозволив Harmonic відкрити абсолютно новий напрям бізнесу доставку відео на вимогу (VOD) та суттєво зміцнити свої лідерські позиції на світовому ринку.
У вашому досвіді є вражаючий факт: будучи Tech Lead, ви відповідали за криптографічні бібліотеки захист відеоконтенту. Тобто ви змогли оптимізувати алгоритм шифрування DVB-CSA, прискоривши його у 18 разів (зі 100 до 1800 Мбіт/с). Як вам вдалося програмно обійти “залізо”, адже раніше такі задачі вирішували лише апаратні чипи?
Так, маючи вже на той час значний досвід оптимізації, я запропонував використати спеціальні інструкції сучасних процесорів (вони називаються SSE4 та AVX/AV2).
Якщо говорити просто: замість того, щоб змушувати процесор обробляти дані маленькими порціями (умовно по 4 байти), ці інструкції дозволили нам обробляти їх одразу великими “пакетами” (по 16 або 32 байти). Вже це давало потенційне прискорення у 4-8 разів. А коли ми додали ще й ручну оптимізацію коду, то й отримали той самий 18-кратний результат.
Після того, як прототип спрацював, я отримав дозвіл і ресурси, щоб перевести всі наші криптографічні функції на цю нову реалізацію. На мою думку, це був один із ключових кроків для становлення нової програмної платформи (XOS), яка просто не змогла б стати успішною без такої ефективної системи захисту контенту.
Завдяки вашим рішенням з оптимізації загальна пропускна здатність систем Harmonic зросла з 1 Гбіт/с до 20 Гбіт/с. Фактично це стало критичним фактором, який дозволив компанії перейти у “хмару”, впровадити стандарти відео без стиснення та суттєво підвищити свою ринкову привабливість.
Саме так. Це дозволило не лише обробляти більше потоків, а й дало можливість працювати з новими стандартами. Без цього збільшення пропускної здатності компанія була б обмежена лише стандартами зі стисненням (компресією), що не дозволило б конкурувати на ринку нових технологій.
Ви також представляли Harmonic на міжнародних заходах (Vendor Interoperability Testing), де розроблялися нові стандарти індустрії, як-от ST 2110. Навіщо компаніям-конкурентам разом створювати стандарти? І яку перевагу отримує інженер, чиї розробки стають частиною такого стандарту?
У процесі розробки нових стандартів важливо не лише їх реалізувати, а ще й мати вплив на остаточну версію стандарта. Бо можливості в компаній різні, і якщо в стандарт внесуть функціонал, який легко може зробити одна компанія, але не можуть інші, це прямо вплине на конкуренцію.
Тому дуже важливо брати участь у подібних заходах, оскільки саме на них відбувається основна дискусія і вноситься багато правок у стандарт, аби задовольняв якомога більшу частину основних гравців ринку. До того ж, це простий спосіб побачити системи конкурентів і перевірити сумісність між різними системами.
Для інженера це також дуже важливий досвід, адже не так часто розробник програмного забезпечення може побачити результати своєї роботи за межами продукту, над яким він працював. Ну і, звичайно, це нові зв’язки в професійному середовищі.
У мене склалося враження, що ваша кар’єра загалом сповнена впровадженням нових стандартів та трансформаційних рішень. І це почалося ще до роботи в міжнародних корпораціях. Показовим прикладом є унікальний комплекс Inpartool, співавтором якого ви стали ще в Україні. Фактично, ця розробка зробила революцію в індустрії, дозволивши таким гігантам, як КБ “Антонов” та Інститут Патона, скоротити час критичних розрахунків з місяців до годин. У чому полягала суть цієї інновації?
Все так, прагнення до оптимізації з’явилося ще тоді. Головна ідея Inpartool полягала в тому, щоб зробити складні обчислення доступними для користувачів. Тобто ми створили систему, яка дозволяла інженерам-практикам використовувати надпотужні машини без глибоких знань програмування.
А технічним проривом стало використання графічних процесорів (відеокарт) для наукових розрахунків. Зараз це стандарт для штучного інтелекту, а на початку 2000-х це виглядало як екзотика. Але саме це рішення прискорило обчислення майже у 300 разів. Завдяки цьому “ЛІРА-софт” змогла впровадити 3D-моделювання висотних будівель, а інженери вирішувати задачі, які раніше вважалися непідйомними через брак часу.
Виходить, ви пройшли унікальний шлях: від розробки стандартів для цифрового телебачення до розробки стандартів надійності для авіації. Які навички, здобуті в медіаіндустрії, виявилися найбільш корисними у вашій поточній роботі в Panasonic Avionics?
Найважливішими виявилися навички системного мислення, оптимізації та побудови архітектури високонавантажених систем.
У медіаіндустрії я звик працювати з гігабітними потоками даних і вимогами до безперервної роботи, де будь-яка затримка або збій одразу помітні кінцевому користувачу. Цей досвід допоміг мені у сфері авіації, де ключовими є надійність, передбачуваність і контроль якості на кожному етапі.
По суті, і там, і там я працюю над тим, щоб складна технологія залишилася непомітною для користувача щоб вона просто працювала, швидко й без збоїв.