Softversko tweakanje udvostručuje brzinu procesora
- Objavljeno u Novosti
Većina modernih računala, od pametnih telefona i osobnih računala do poslužitelja podatkovnih centara, sadrže jedinice za grafičku obradu (GPU) i hardverske akceleratore za AI i strojno učenje. Dobro poznati komercijalni primjeri uključuju Tensor Core jezgre na NVIDIA GPU-ovima, Tensor Processing Units (TPU) na Google Cloud poslužiteljima, Neural Engines na Apple iPhone uređajima i Edge TPU na Google Pixel telefonima.
Svaka od ovih komponenti zasebno obrađuje informacije, miješajući informacije od jedne procesne jedinice do druge, a to često stvara uska grla u protoku podataka. U novoj studiji, istraživači sa Sveučilišta California Riverside (UCR) demonstrirali su metodu u kojoj postojeće različite komponente rade istovremeno kako bi uvelike poboljšale brzinu obrade i smanjile potrošnju energije.
"Ne morate dodavati nove procesore jer ih već imate", rekao je Hung-Wei Tseng, izvanredni profesor elektrotehnike i računalnog inženjerstva s UCR-a i suvoditelj studije.
Sustav istraživača, nazvan Simultani i heterogeni multithreading (SHMT), odmiče se od tradicionalnih modela programiranja koji mogu samo dodijeliti regiju koda isključivo jednoj vrsti procesora, ostavljajući druge resurse u stanju mirovanja i ne doprinoseći trenutnoj funkciji.
Umjesto toga, SHMT iskorištava raznolikost ili heterogenost više komponenti, razbijajući računsku funkciju kako bi je podijelio među njima. Drugim riječima, to je vrsta paralelne obrade.
Skup virtualnih operacija (VOP) omogućuje CPU programu da 'prebaci funkciju na virtualni hardverski uređaj. Tijekom izvođenja programa, runtime sustav pokreće SHMT-ov virtualni hardver, mjereći sposobnost hardverskog resursa da donosi odluke o rasporedu.
SHMT koristi sustav raspoređivanja s obzirom na kvalitetu (QAWS) koja ne troši resurse, ali pomaže u održavanju kontrole kvalitete i ravnoteže radnog opterećenja. Sustav za izvršavanje dijeli VOP-ove na jednu ili više operacija visoke razine (HLOP-ova) za istovremeno korištenje više hardverskih resursa.
Zatim, SHMT-ov runtime sustav dodjeljuje te HLOP-ove redovima čekanja zadataka ciljnog hardvera. Budući da su HLOP-ovi neovisni o hardveru, sustav za izvršavanje može prema potrebi prilagoditi dodjelu zadataka.
Kako bi testirali koncept, istraživači su izgradili prototip sustava (slika gore) s vrstama čipova i procesorskom snagom koju biste mogli pronaći u bilo kojem pristojnom posljednjem modelu pametnog telefona, s nekoliko izmjena kako bi mogli testirati što bi on mogao učiniti.
Za to su izradili prilagođenu platformu ugrađenog sustava koristeći Nvidijin Jetson Nano modul koji sadrži četverojezgreni ARM Cortex-A57 procesor (CPU) i 128 GPU jezgri arhitekture Maxwell. Google Edge TPU bio je povezan sa sustavom preko svog M.2 Key E utora.
CPU, GPU i TPU razmjenjivali su podatke putem ugrađenog PCIe sučelja, standardiziranog sučelja za komponente matične ploče poput grafičkih kartica, memorije i uređaja za pohranu. Glavna memorija sustava 4 GB 64-bitni LPDDR4, 1600 MHz pri 25,6 GB/s, primila je dijeljene podatke. Edge TPU dodatno sadrži 8 MB memorije uređaja, a kao operativni sustav korišten je Ubuntu Linux 18.04.
Testirali su SHMT koncept korištenjem referentnih aplikacija i otkrili da je donio 1,95 puta povećanje brzine i smanjenje potrošnje energije od 51%.
Istraživači kažu da su implikacije za SHMT ogromne. Softverske aplikacije na vašim postojećim telefonima, tabletima, stolnim i prijenosnim računalima mogle bi koristiti ovu novu softversku biblioteku za postizanje prilično nevjerojatnih poboljšanja performansi, a SHMT bi također mogao smanjiti potrebu za skupim komponentama visokih performansi, što bi dovelo do jeftinijih i učinkovitijih uređaja.
Studija je predstavljena na MICRO 2023, IEEE/ACM međunarodnom simpoziju o mikroarhitekturi.