Skip to main content

Multicore kódolási szabványok a könnyebb programozáshoz

A Multicore Szövetség egy olyan programozási modell specifikációit határozza meg, amelyek csökkentik az okostelefonokon, táblagépeken és egyéb beágyazott rendszerekben használt többcímes zsetonok szoftvereinek bonyolultságát.

Az egyesület az alap API-k kohéziós készletét állítja össze (alkalmazási programozási interfészek) a kommunikáció, az erőforrás-megosztás és a virtualizációs magok azonos vagy különböző chipek szabványosítására, mondta Markus Levy, a csoport elnöke.

A chipkészítők CPU-kat, érzékelőket és gyorsítót energiatakarékos módon az alkalmazások teljesítményének növelése eszközökkel. De a többmagos zsetonok is kihívást jelentenek a programozók számára, akiknek többféle magot skálázó és szinkronizált alkalmazásokat kell írniuk ahhoz, hogy a számításokat bizonyos sorrendben elvégezzék a helyes kimenet elérése érdekében.

Az alacsony szintű API-k következetes többfunkciós programozási modell, amelyből az alkalmazások kialakíthatók chip alapú architektúrák, operációs rendszerek és speciális hardverek használatára, mondta Levy. A Multicore Szövetség befejezte az MCAPI (multicore kommunikációs API) és MRAPI (multicore erőforrás-menedzsment API) kommunikációs és erőforrás-gazdálkodási feladatokat, és munkacsoportokkal rendelkezik a virtualizációhoz kapcsolódó új eszközök és API-k létrehozására.

"Sok kedvezményezett az API-k létrehozása, de minden fél számára elsődleges cél a hordozhatóság megteremtése "- mondta Levy. Egységes programozási modell megkönnyíti az alkalmazás újrahasznosítását a többmagos platformokon.

Az okostelefon több operációs rendszert futtató processzor magok használatával is tervezhető, mindegyik maggal különböző funkcionalitást biztosítva "- mondta Colin Walls, beágyazott szoftver-technológus. Mentor Graphics, amely a Nucleus valós idejű operációs rendszert hoz létre, amely évente mintegy 400 millió mobiltelefont szállít. Az MCAPI egy egyszerű eszközt biztosít a két mag számítógépén lévő kommunikációhoz. "

Néhány eszközön az egyik mag üzemeltethet egy operációs rendszert, például az Androidot vagy a Linuxot, hogy kezelje a felhasználói felület nagy részét, a felhasználói alkalmazások végrehajtását, fájl- és adatkezelést és kommunikációt. A másik mag néha láthatatlan lehet a felhasználó számára és kezelheti az alacsony szintű telefonos tevékenységeket, mint például a mobilhálózati kapcsolat létrehozása és fenntartása, valamint a hívások kezelése.

"Az MCAPI használatával a beágyazott alkalmazások kódjának nem kell tudatában lennie Az MCAPI lehetővé teszi a programozók számára a többcímes alkalmazások engedélyezését egyszerre, és ugyanazt a kódot újra felhasználhatja több termékre egy termékcsaládon és a következő generációs "- mondta Sven Brehmer, a PolyCore Software vezérigazgatója, amely fejlesztési eszközöket és futásidejű szoftvereket kínál multicore és multichip kommunikációhoz.

Az MCAPI-t leginkább a telekommunikációs és adatkommunikációs infrastruktúrákban és multimédiás eszközökben használják, mondta Brehmer. . Egyéb érdeklődési területek közé tartoznak az orvostechnikai eszközök, a nagyteljesítményű számítástechnikai és a katonai és repüléstechnikai berendezések, mint például a radar.

Az API lehetővé teszi a konkrét megvalósításokhoz szükséges területek létrehozását, például a magok közötti kommunikációt egy adott chipen vagy bizonyos chip topológiája. Ez azt jelenti, hogy a tervezők jobban ellenőrizhetik üzeneteik útvonalait és biztonságát, mondta Levy.

"Az MCAPI infrastruktúra egy része magában foglalja a kommunikációs csomópontok hálózatának meghatározását, ahol egy csomópont lehet egy folyamat, egy szál, egy operációs rendszer, hardveres gyorsító vagy processzor mag "- mondta LevyAz MCAPI-t úgy tervezték, hogy együttműködjön az MRAPI-val, amely alkalmazás-szintű erőforrás-menedzsment funkciókat tartalmaz, amelyek összehangolják az energiagazdálkodást és a virtualizációt többmagos zsetonokon. A chipek dinamikusan változó funkciókat és szolgáltatásokat tartalmaznak, és néhány többcirkulós chip esetében egyetlen operációs rendszer számára nehéz követni és ellenőrizni az összes erőforrást, mondta Levy. Az MRAPI alacsony szintű támogatást nyújt a rendszerszintű eseményekről szóló értesítésekhez, például energiatakarékossági állapotokhoz, eszközhibákhoz és hypervisor partíciókhoz.

Például a szimmetrikus többprocesszoros Linux-alapú eszközök nem támogatják az alkalmazások értesítését az operációs környezet vagy erőforrások megváltoztak, mondta Levy. A hiányosság leküzdésére az MRAPI a programozók számára végrehajtási mechanizmusokat biztosít az erőforrások megosztásának kezelésére és az erőforrások elérhetőségének megváltoztatására.

"Az MRAPI használatával a rendszerfejlesztők olyan hordozható alkalmazásokat írhatnak, amelyek a többmagos processzorok aktuális és jövőbeli generációiban skálázódnak majd. az architektúrákat, amelyek az alkalmazást, a middleware-t, a processzort és a rendszerfejlesztőket támogatják "- mondta Levy.

Ez a szabványosítás lehetővé teszi a chipszolgáltatók és a harmadik féltől származó szerszámszolgáltatók számára, hogy átvegyék az erőforrás-menedzsmentet, így a programozók a magas szintű alkalmazásokra összpontosíthatnak. .

A szervezet API-kat fejleszt a beágyazott virtualizációs termékek felhasználói számára is, amelyek lehetővé tehetik az alkalmazások és a köztes szoftverek közötti interoperabilitást a különböző virtualizációs környezetekben. De nagyobb hangsúlyt fektet a szabványosított eszközök kifejlesztésére, amelyek kihasználják az API-kat. Az új API-k néhány támogatója, például a Mentor, az Intel, a Freescale és a Texas Instruments például kifejlesztette saját hibakeresési és nyomkövető eszközeit, mondta Levy.

"Az eszközgyártók nettó eredménye annyi, mint egy egyablakos üzlet, lehetetlen, egyetlen gyártó sem tud mindent kínálni, amire ügyfeleinek szüksége van, de az ügyfeleknek képesnek kell lenniük arra, hogy kifejleszthessék és megértsék ezt a különféle rendszert - mondta Levy.

Vannak más multicore mint például az OpenMP és az OpenCL, de mindannyian úgy tervezték, hogy inkább "szinergikus", mint versenyképes, mondta Polycore Brehmer. Az OpenMP API-t gépi szintű párhuzamos alkalmazások készítésére tervezték, míg az OpenCL egy programozási keretrendszer a többmagos processzorok, köztük a processzorok és a grafikus processzorok párhuzamos végrehajtásához.

A Multicore Association tagjai között szerepel az IBM, a Samsung és a Advanced Micro Devices is.