Skip to main content

Moninapauskoodausstandardit Tavoitteena on helpottaa ohjelmointi

Multicore-yhdistys määrittelee ohjelmointimalleja, jotka vähentävät monimutkaisuutta, joka liittyy älypuhelinten, tablettien ja muiden sulautettujen järjestelmien moniportaisten sirujen ohjelmiston kirjoittamiseen.

Yhdistys muodostaa yhtenäisen joukon säätiöpiirejä (sovellusohjelmointirajapintoja) standardoimaan tiedonsiirtoa, resurssien jakamista ja virtualisointia käyttäviä ytimiä samoilla tai eri siruilla, sanoo ryhmän puheenjohtaja Markus Levy.

Sirunvalmistajat lisäävät CPU: ita, antureita ja kiihdyttimiä siruksi energiatehokkaana tapana parantaa sovellusten suorituskykyä laitteissa. Mutta moniportaiset sirut ovat myös aiheuttaneet haaste ohjelmoijille, joiden täytyy kirjoittaa sovelluksia, jotka mittaavat useampia ytimiä ja synkronoitavat oikein, jotta laskut toteutetaan tietyssä järjestyksessä oikean tuotoksen saamiseksi.

Matalan tason sovellusliittymät tarjoavat yhdenmukaisen monimutkainen ohjelmointimalli, josta sovelluksia voidaan räätälöidä siruarkkitehtuurien, käyttöjärjestelmien ja erikoislaitteiden kautta, Levy sanoi. Multicore-yhdistyksellä on MCAPI (multicore communication API) ja MRAPI (moniportaisten resurssienhallinta API) tietoliikennettä ja resurssienhallintaa varten, ja siinä on työryhmiä uusien virtualisointiin liittyvien työkalujen ja sovellusliittymien luomiseen.

"Monet edunsaajat API: n luominen, mutta kaikkien osapuolten ensisijainen tavoite on luoda siirrettävyys ", Levy sanoi. Johdonmukainen ohjelmointimalli helpottaa sovelluksen uudelleenkäyttöä eri monilähetysalustoilla. Ennen näitä sovellusliittymiä useimmat mallit käyttivät omia mekanismeja, joilla ei ollut siirrettävyyttä, Levy sanoi.

Älypuhelin voidaan suunnitella useilla eri prosessorisovelluksilla, jotka käyttävät erilaisia ​​käyttöjärjestelmiä, ja jokainen ydin tarjoaa erilaisia ​​toimintoja, sanoi Colin Walls, sulautettu ohjelmistoteknologi Mentor Graphics, joka tekee Nucleus reaaliaikainen käyttöjärjestelmä, joka toimittaa noin 400 miljoonaa puhelinta vuodessa.

Joissakin laitteissa yksi ydin voi käyttää käyttöjärjestelmää, kuten Androidia tai Linuxia, hallita suurta osaa käyttöliittymästä, käyttäjän sovellusten suorittamista, tiedostojen ja tietojen hallinta ja viestintä. Toinen ydin voi olla jonkin verran näkymättömäksi käyttäjälle ja hallita matalan tason toimintoja, kuten solukkoverkkoyhteyden muodostaminen ja ylläpitäminen sekä puheluiden käsittely.

"Käyttämällä MCAPI: ta sulautettujen sovellusten koodin ei tarvitse olla tietoinen

MCAPI mahdollistaa ohjelmoijien mahdollisuuden ottaa käyttöön moniportaisia ​​sovelluksia kerran ja käyttää samaa koodia useille tuotteille tuotelinjalla ja seuraavalle sukupolvelle laitteet, mikä parantaa tekniikan tuottavuutta, sanoo PolyCore Softwaren toimitusjohtaja Sven Brehmer, joka tarjoaa kehitystyökaluja ja ajonaikaisia ​​ohjelmistoja monilähetys- ja monikanavaviestinnälle.

MCAPI: tä käytetään eniten televiestinnän ja datacom -infrastruktuureissa ja multimedialaitteissa, Brehmer sanoi . Muita mielenkiintoisia aiheita ovat lääketieteelliset laitteet, suurteholaskentatekniikka sekä sotilas- ja ilmailulaitteet, kuten tutka.

API mahdollistaa verkkotunnusten luomisen tiettyihin toteutuksiin, kuten tietyn sirun tai tietyn alueen sirun topologia. Tämä antaa suunnittelijoille entistä paremman valvonnan viestien reitityksestä ja turvallisuudesta, Levy sanoi.

"Yksi MCAPI-infrastruktuurin osa liittyy tiedonsiirtosolmujen verkon määrittelyyn, jossa solmu voi olla prosessi, lanka, käyttöjärjestelmä, laitteiston kiihdytin tai prosessorin ydin ", Levy sanoi.

MCAPI on suunniteltu toimimaan MRAPI: n kanssa, API sovellustason resurssienhallintaominaisuuksille, jotka koordinoivat virranhallinnan ja virtualisoinnin monilähetyspiireissä. Pelimerkit sisältävät toimintoja ja ominaisuuksia, jotka muuttuvat dynaamisesti, ja joissakin monilähetyssisältöissä on vaikeaa, että jokainen käyttöjärjestelmä seuraa ja hallitsee kaikkia resursseja, Levy sanoi.

Esimerkiksi Linux-pohjaiset symmetriset moniprosessointilaitteet eivät tue laitetta, joka ilmoittaa sovelluksista, kun toimintaympäristö on käytössä. MRAPI tarjoaa alhaisen tason tukea järjestelmän tason tapahtumien ilmoittamiselle, kuten virransäästötilanteille, laiteviannoille ja hypervisorille. tai resurssit ovat muuttuneet, Levy sanoi. MRAPI antaa ohjelmoijille käyttöön täytäntöönpanomekanismeja resurssien jakamisen hallitsemiseksi ja resurssien saatavuuden muutosten vastaamiseksi.

"MRAPI: n avulla järjestelmäkehittäjät voivat kirjoittaa kannettavia sovellusohjelmia, jotka mittaavat koko nykyisten ja tulevien monilähetyssuorittimien ja arkkitehtuurit, jotka hyötyvät sovelluksesta, väliohjelmista, prosessoreista ja järjestelmäkehittäjistä ", Levy sanoi.

Tämä standardointi mahdollistaa siruvalmistajien ja kolmannen osapuolen työkalujen tarjoajien ottaa resurssienhallinnan, joten ohjelmoijat voivat keskittyä korkean tason sovelluksiin, Levy sanoi

Organisaatio kehittää myös sovellusliittymiä sulautettujen virtualisointituotteiden käyttäjille, jotka voivat mahdollistaa sovellusten ja väliohjelmistojen yhteentoimivuuden eri virtualisointiympäristöissä. Mutta entistä enemmän keskitytään kehittämään standardoituja työkaluja, jotka hyödyntävät sovellusliittymiä. Jotkut uusien sovellusliittymien, kuten Mentorin, Intelin, Freescalen ja Texas Instrumentsin, tukijat, olivat kehittäneet omat debug- ja jäljitystyökalunsa, Levy sanoi.

"Työkalujen toimittajien nettotulos on niin paljon kuin ne kuten single-stop shop, se on mahdotonta, mikään yksittäinen toimittaja ei voi tarjota kaikkea, mitä asiakkaat tarvitsevat, mutta asiakkaiden on kyettävä kehittämään ja ymmärtämään tätä monipuolista järjestelmää ", Levy sanoi.

kuten OpenMP: n ja OpenCL: n, mutta ne kaikki on suunniteltu olemaan "synergistisiä" eikä kilpailukykyisiä, Polycore Brehmer sanoi. OpenMP-sovellus on suunniteltu kirjoittamaan koneen tason rinnakkaissovelluksia, kun taas OpenCL on ohjelmointikehys tehtävien rinnakkaiselle suorittamiselle monilähetysprosessoreissa, mukaan lukien suorittimet ja grafiikkaprosessorit.

Multicore-yhdistyksen jäseniin kuuluu myös IBM, Samsung ja Advanced Micro Devices.