Нова архітектура Swarm забезпечить підвищення ефективності багатоядерних процесорів

 

Конспекти 10 клас за новою програмою 2018 року
 

Конспекти 10 клас за новою програмою 2018 року. Всі предмети! Детальніше...

 

Протягом попередніх десяти років обчислювальна потужність процесорів комп’ютерів підвищувалася в основному за рахунок збільшення кількості обчислювальних ядер, а не за рахунок змін архітектури та збільшення їх тактової частоти. Такий підхід дозволяє комп’ютерам і смартфонам бути більш ефективними з точки зору споживаної енергії, однак, справа написання програм, які використовують всі переваги багатоядерної архітектури, вимагає використання деяких тонкощів і хитрощів. Swarm, нова багатоядерна архітектура, розроблена фахівцями Массачусетського технологічного інституту, дозволить вирішити проблему, пов’язану з програмним забезпеченням. Вимагаючи, щоб програмісти внесли лише незначні поправки в початковий код програм, ця архітектура дозволить отримати в деяких випадках 75-кратне прискорення роботи програм.

Дослідний зразок 64-ядерного процесора Swarm, розроблений і створений групою професора Даніеля Санчеса (Prof. Daniel Sanchez), включає в себе спеціалізовану схему, що виконує автоматичну розстановку пріоритетів виконуваних завдань, перекладаючи цей тягар з плечей програмістів на плечі апаратної частини. А робиться все це вельми ефективно і досить простим способом.

Захисти свій комп’ютер та смартфон

ESET NOD32

Написання програми, призначеної для виконання на багатоядерних процесорах, схоже на координування роботи численної команди в рамках досить складного проекту. Деякі завдання можуть бути виконані тільки певними членами команди, а ті, які можуть виконуватися всіма членами команди, повинні бути рівномірно розподілені між усіма. У справі розробки програмного забезпечення таке планування є надзвичайно складним завданням, що віднімає багато часу і істотно підвищує накладні витрати, які призводять до зниження швидкості роботи програм. Тому розпаралелювання програмного забезпечення поки рентабельно тільки в рамках розробки великих програмних комплексів, коли окремі нитки програми налічують більш тисячі рядків вихідного коду.
Крім цього, при створенні паралельних програм розробники весь час стикаються з проблемою конфліктів доступу до одних і тих же даних з боку різних паралельно працюючих частин програми. Для вирішення цієї проблеми використовуються спеціальні механізми блокування і синхронізації, що дозволяють організувати чергу доступу до загальнодоступних даних.
 
Архітектура Swarm сама займається всіма вищеописаними проблемами за допомогою спеціальної схеми, свого роду диспетчера. Цей диспетчер дозволяє швидко вибудувати найефективнішу схему розподілу пріоритетів, яка дозволяє виконати з максимально можливою швидкістю навіть саме незначне завдання. В результаті цього програмістам не потрібно робити ніяких додаткових зусиль, їм необхідно лише включити до складу своєї програми кілька рядків коду і програма почне виконуватися в десятки разів швидше.
 
«У архітектури Swarm є кілька очевидних переваг перед звичайними багатоядерними архітектурами»– розповідає професор Санчес, – «Swarm підтримує ефективне розпаралелювання навіть крихітних завдань, що складаються всього з декількох десятків інструкцій. Це, в свою чергу, дозволяє максимально ефективно використовувати всі апаратні ресурси багатоядерних систем, адже навіть великі програми легко розділяються на безліч незалежних маленьких блоків».
 
«Крім цього, Swarm підтримує глобальний розподіл пріоритетів з урахуванням навіть самих маленьких процесів і в цьому полягає його головна відмінність від звичайних багатоядерних систем».
 
Для перевірки ефективності роботи архітектури Swarm професор Санчес і його команда використовували шість стандартних алгоритмів, виконаних в двох видах, в оптимізованому і неоптимізованому для паралельних обчислень. Неоптимізований варіант, в який були включені ділянки коду для архітектури Swarm, показав середню 18кратну перевагу перед просто оптимізованим варіантом. А перевага неоптимізованого варіанту з включенням коду Swarm перед просто неоптимізованими варіантом склала 75 разів.
 
Дослідники впевнені, що складності розробки програмного забезпечення для багатоядерних процесорів служать тим гальмом, через яке виробники процесорів стримують подальше збільшення кількості обчислювальних ядер в процесорах. Архітектура Swarm дозволить вирішити цю проблему і відкрити шлях новому поколінню процесорів загального призначення, які можуть містити десятки, сотні і навіть тисячі ядер, ресурси яких будуть використовуватися програмним забезпеченням з максимальною ефективністю.
 
А в даний час група професора Санчеса працює над методами, що дозволяють зменшити кількість обміну даними, що дозволить зробити архітектуру Swarm ще більш ефективною. Крім цього, вчені ведуть створення нових моделей програмного забезпечення, які підходять для виконання на процесорах Swarm найкращим чином.
 
Джерело: http://www.gizmag.com




Залишити відповідь