Про побудову програмної архітектури для багатоядерних систем на кристалі
DOI:
https://doi.org/10.15276/hait.01.2019.1Ключові слова:
многоядерная система на кристалі, асиметрична багатопроцесорна обробка даних, програмована логічна інтегральна схема, симетрична багатопроцесорна обробка данихАнотація
У статті розглянуті способи побудови програмної архітектури для багатоядерних систем на кристалі (SoC), осно-ванні на асиметричною і симетричною багатопроцесорної обробки, гіпервізора. Асиметрична многопроцессорная обробка являє собою порт для декількох операційних систем на фізично окремих процесорних ядрах. У симетричній багатопроцесорної обробки в системах з ізоляцією ядер запускається одна ОС на декількох ядрах. ОС SMP-системи портується без участі користувача при зростаючій кількості ядер. Оскільки всі ядра підкоряються одній ОС, передача сообще-ний між ядрами може відбуватися на рівні L1 кеша даних, забезпечуючи більш швидкий зв'язок з меншим джиттером. Ізоляція ядра дозволяє зарезервувати ядро для застосування жорсткого реального часу, захищаючи його від впливу інших високопроизводит-них ядер, що для програмної архітектури дозволяє вибрати використовувану ОС, не створюючи програмне забезпечення низького рівня при управлінні декількома ОС. Гипервизор відноситься до системи низького програмного рівня Вон управляє декількома незалежними ОС, що знаходяться на більш високому рівні. Багатоядерні пропозиції систем на кристалі, орієнтовані на вбудований ринок, добре підходять для конфігурацій з асиметричною багатопроцесорної обробкою. Подібна архітектура корисна розробникам, що використовують продуктивність операційної системи реального часу в поєднанні з різноманітним набором функцій ядра Linux. У статті розглянуті програмні і апаратні рішення, що містяться в середовищі XAPP1079, необхідні для запуску Linux на одному процесорному ядрі Zynq-7000 All Programmable системи на кристалі, і додатки з відкритим вихідним кодом на другому ядрі. Проектування систе-ми на базі систем на кристалі для високопродуктивних додатків і додатків реального часу вимагає оптимального рішення з урахуванням факторів: часу передачі даних; поділу операційної системи. Системне рішення для високопродуктивних додатків і додатків реального часу з використанням симетричною багатопроцесорної архітектури обробки даних з ізоляцією ядра забезпечує малі затримки, джиттер і роботу системи в ре-жимі реального часу, зберігаючи при цьому програмну масштабованість SoC. Програмовані логічні інтегральні схеми, які містять багатоядерні підсистеми, мають ефективної архітектурою із симетричною багатопроцесорної обробкою даних для забезпечення компромісу між реальним часом передачі даних і малою затримкою їх обробки. Переваги використання симетричною багатопроцесорної обробки проявляються, якщо розподілити навантаження між декількома ресурсами. У цьому слу-чаї час, необхідний для виконання завдання, зменшується. Однак приріст продуктивності, що привноситься простим множенням числа виконавців, не обов'язково буде лінійним. Деякі завдання повинні виконуватися тільки послідовно. Багатоядерні системи здатні обробляти пакети значно ефективніше одноядерних - але тільки за умови, що ними керує оптимізатора-зірованним програмне забезпечення. Доцільною є розробка програмного забезпечення багатоядерних обчислень, вклю-чающего ОС з підтримкою симетричною і асиметричною багатопроцесорної архітектури обробки даних, вбудований гипервизор, модулі швидкісної обробки пакетів, а також вичерпний набір інструментарію для всього циклу розробки багатоядерних обчислювальних систем. Результати такої розробки знайдуть застосування в багатопроцесорних суперкомп'ютерах і серверних при-положеннях, в кінцевих пристроях, агрегаторах доступу і базових пристроях - там, де потрібно найбільша пропускна здатність.