Нова процесорна архитектура обещава до 100 пъти по-висока производителност
Финландската компания Flow Computing представи нов подход за подобряване на производителността на процесорите, целящ да им върне ключовата роля в съвременните компютри.
Flow Computing предлага да се изоставят традиционните архитектури с еднакви ядра в полза на хибридна система, която комбинира стандартни ядра с блокове за паралелна обработка (Parallel Processing Unit, PPU). Този подход може да осигури до 100 пъти по-висока производителност в сравнение със съществуващите решения.
Новата архитектура предлага да се използват 4 стандартни ядра и 64 PPU на същото пространство, както традиционните решения с няколко идентични ядра. Този вариант оптимизира изпълнението на задачите, които могат да бъдат паралелизирани. Концепцията на архитектурата беше представена на конференцията IEEE Hot Chips през август.
PPU блоковете са предназначени да ускорят изпълнението на паралелни задачи, когато стандартните процесори са неефективни, а прехвърлянето на задачите към графичния процесор (GPU) е твърде ресурсоемко. Отбелязва се, че технологията на Flow Computing може да бъде полезна дори при малки обеми от задачи, които досега се считаха за трудни за паралелизиране поради разходите за тяхното разпределение и синхронизация.
Компанията смята, че е трудно да се създаде единна архитектура, която да бъде оптимизирана както за серийни, така и за паралелни задачи. Ето защо Flow Computing разделя функциите: последователните задачи се обработват от стандартните процесорни ядра, а паралелните задачи – от PPU, като се използват силните страни на всеки тип ядро.
Четири основни аспекта се вземат предвид в PPU, за да се оптимизира производителността на паралелната обработка:
- Намаляване на латентността на достъпа до паметта, което означава намиране на решения за свеждане до минимум на времето за престой, докато данните се зареждат от паметта.
- Достатъчна широчина на честотната лента за комуникация между паралелно изпълнявани потоци от данни.
- Ефективна синхронизация, за да се гарантира, че паралелните части на кода се изпълняват в правилния ред.
- Паралелна обработка на ниско ниво, т.е. възможност за едновременно използване на няколко функционални блока, извършващи математически и логически операции.
PPU използват многонишковост, за да скрият закъсненията при достъп до паметта: ако дадена нишка извика данни от паметта, друга нишка може да продължи изпълнението, докато първата нишка чака отговор. Гъвкавата комуникационна мрежа в рамките на PPU позволява оптимизиране на честотната лента и прилагане на паралелизация на ниско ниво. За минимизиране на закъсненията при синхронизация е разработен алгоритъм за синхронизация на вълни, който според компанията е по-ефективен от традиционните протоколи.
За да се демонстрират възможностите на PPU е създаден прототип, базиран на FPGA. При сравнителни тестове тази архитектура показа 100-кратно увеличение на производителността в сравнение с комерсиалните процесори, при условие че PPU се използва под формата на силициев чип с подобна честота. Понастоящем екипът работи по компилатор за PPU и обмисля да работи с производителите на процесори за по-нататъшно внедряване на технологията.