Klepsydra ROS2 Multi Core Ring Buffer Executor
Upplýsingar um vöru
Tæknilýsing
- Létt, mát og samhæft við flest notuð stýrikerfi
- ROS2 Executor viðbót sem getur unnið allt að 10 sinnum meiri gögn með allt að 50% minnkun á örgjörvanotkun
- GPU (Graphic Processing Unit) fyrir mikla samhliða samsetningu og aukinn vinnslugagnahraða og GPU nýtingu
- Klepsydra AI
- Klepsydra SDK
- Klepsydra GPU
- Streymisgeta
- Klepsydra ROS2 framkvæmdaforrit um allan heim
Notkunarleiðbeiningar fyrir vöru
- Samhengi: Samhliða vinnsla
Varan er hönnuð til að takast á við áskoranir sem tengjast vinnslu um borð í geimforritum, þar sem örgjörvanotkun, gagnamagn og orkuþörf eru áhyggjuefni. Það býður upp á lausn fyrir nútíma vélbúnað og gamlan hugbúnað með því að meðhöndla meðalstór gagnamagn á skilvirkan hátt. - Berðu saman og skiptu
„Bera saman og skipta“ er reiknirit sem notað er í fjölþráðum til að ná samstillingu. Það ber saman innihald minnisstaðsetningar við tiltekið gildi og aðeins ef það er það sama, breytir innihaldi minnisstaðarins í nýtt gefið gildi. Þessi aðgerð er framkvæmd sem ein atómaðgerð. Varan útfærir þetta reiknirit sem hluta af virkni þess.
Kostir og gallar við læsingarlausa forritun
Varan notar láslausa forritunartækni, sem hefur yfirburðitages og disadvantages
- Kostir:
- Minni CPU notkun
- Skilvirk meðhöndlun gagnamagns
- Gallar:
- Flækjustig í framkvæmd
- Krefst stuðnings frá undirliggjandi vélbúnaði (flestur nútíma vélbúnaður styður læsingarlausa forritun)
ROS2 framkvæmdastjóri
Varan inniheldur ROS2 framkvæmdastjóra sem tímasetur ROS2 forritið með því að stjórna endurhringingum áskrifta, skilaboða, þjónustu, tímamæla og hnúta. Það eyðir skilaboðum frá undirliggjandi miðvarar DDS biðröðum og sendir þau til framkvæmdar á einn af þráðunum. Hægt er að stilla framkvæmdarstjórann til að framkvæma svarhringingar í röð eða samhliða.
Nýjustu ROS2 framkvæmdarstjórar
Varan inniheldur háþróaða ROS2 framkvæmdastjóra sem bjóða upp á mismunandi framkvæmdaraðferðir
- Einþráður framkvæmdastjóri: Framkvæmir svarhringingar í röð og skannar reglulega uppbygging forritsins til að uppfæra hnúta, áskriftir, þjónustu osfrv.
- Fjölþráður framkvæmdastjóri: Framkvæmir svarhringingar samhliða og skannar reglulega uppbygging forritsins til að uppfæra lýsingu á vandamálinu.
Streymisstjóri
Varan kynnir streymisframkvæmda sem er frábrugðin snittari framkvæmdaraðilanum á nokkrum sviðum
- Það endurgerir ekki keyrslulistann fyrir hverja endurtekningu.
- Allir hnútar, svarhringingarhópar, tímamælir, áskriftir osfrv. eru búnir til á byggingartíma.
- Allar áskriftir inni í hnút eru framkvæmdar á sama þræði, óháð fjölda kjarna sem eru notaðir fyrir straumuppsetninguna.
- Klepsydra streymistjóri
Streymisstjóri vörunnar er sérstaklega hannaður til að takast á við streymiefni með því að nota pör útgefanda og áskrifenda. Það skilar skilaboðum á skilvirkan hátt til áskrifenda í öllum hnútum, móttekin frá millibúnaði í gegnum rmw. Atburðarlykkjan stjórnar þessum viðfangsefnum og tryggir hnökralaust gagnaflæði. - Klepsydra ríki
The Klepsydra Realm er hluti af streymisstjóranum sem virkar sem tímaáætlun. Það samhæfir framkvæmd framleiðenda og neytenda innan streymisuppsetningar. - Framleiðandi
Framleiðandi er ábyrgur fyrir því að búa til gögn sem verða neytt af áskrifendum. Varan styður marga framleiðendur í streymisuppsetningunni. - Neytandi
Neytandi ber ábyrgð á vinnslu og nýtingu gagna sem framleiðendur búa til. Varan styður marga neytendur í streymisuppsetningunni.
Algengar spurningar (algengar spurningar)
- Hvaða stýrikerfi eru samhæf við vöruna?
Varan er samhæf við flest notuð stýrikerfi. - Hversu mikið af gögnum getur varan unnið samanborið við hefðbundnar aðferðir?
Varan er fær um að vinna allt að 10 sinnum meiri gögn með allt að 50% minnkun á örgjörvanotkun miðað við hefðbundnar aðferðir. - Notar varan GPU samhliða samsetningu?
Já, varan notar GPU (Graphic Processing Unit) fyrir mikla samsvörun, sem eykur vinnslugagnahraða og GPU nýtingu.
Ótengd fínstillingaraðferð fyrir ROS2 forrit með mörgum kjarna: ROS2 framkvæmdarstjórinn með mörgum kjarna hringjabuffer
ROS Meetup Stuttgart 2023
Dr Pablo Ghiglino ( pablo.ghiglino@klepsydra.com )
ROS2 streymisstjórinn
SAMhengi: Samhliða vinnsla
- Áskoranir um vinnslu um borð
- Nútíma vélbúnaður og gamall hugbúnaður:
- Tölvur ná hámarki með lítið til miðlungs gagnamagn
- Óhagkvæm nýting auðlinda
- Of mikið afl fyrir litla gagnavinnslu
Afleiðingar fyrir geimforrit
- Endurtekin verkefnabilun vegna hugbúnaðar
- Aðgangur að skynjaragögnum frá jörðinni er tímafrekur.
- Gervihnettir eiga í erfiðleikum með að uppfylla orkuþörf
BORÐU SAMAN OG SKIPTUM
- Compare-and-swap (CAS) er kennsla sem notuð er í multithreading til að ná samstillingu. Það ber saman innihald minnisstaðsetningar við tiltekið gildi og, aðeins ef það er það sama, breytir innihaldi minnisstaðarins í nýtt gefið gildi. Þetta er gert sem ein atómaðgerð.
- Compare-and-Swap hefur verið óaðskiljanlegur hluti af IBM 370 arkitektúrnum síðan 1970.
- Maurice Herlihy (1991) sannaði að CAS getur innleitt fleiri af þessum reikniritum en að lesa, skrifa og sækja og bæta við
KOSTIR OG GALLAR LÁSAFRÆSAR FORGRAMNINGAR
Kostir
- Minni CPU neysla krafist
- Minni leynd og meiri gagnaflutningur
- Veruleg aukning á determinisma
Gallar
- Einstaklega erfið forritunartækni
- Krefst örgjörva með CAS leiðbeiningum (þó 90% markaðarins hafa þær)
Klepsydra hring-buffer
VARAN
Létt, mát og samhæft við flest notuð stýrikerfi
- SDK – Hugbúnaðarþróunarsett
Auktu gagnavinnslu á jaðrinum fyrir almenn forrit og örgjörvafreka reiknirit - AI - gervigreind
Afkastamikil djúpt taugakerfi (DNN) vél til að nota hvaða gervigreind eða vélanámseiningu sem er á jaðrinum - ROS2 Executor viðbót
Framkvæmdastjóri fyrir ROS2 getur unnið allt að 10 sinnum meiri gögn með allt að 50% minnkun á örgjörvanotkun. - GPU (grafísk vinnslueining)
Mikil samsíða GPU til að auka vinnslugagnahraða og GPU nýtingu
Samhengi: ROS1 í geimnum
- Kostir:
- Gerir sjálfræði, skynjun og stjórn í rýminu kleift
- Sveigjanlegt, mát og stutt af stóru samfélagi.
- Examples:
- Robonaut frá NASA 2 (R2) – Geimfarar með aðstoð á ISS
- Astrobee frá NASA – Sjálfstætt starfræksla á ISS
- KÚLUR – Kúlulaga gervitungl til rannsókna á ISS
- Dextre – Vélfæraarmur fyrir meðferð og viðgerðir á ISS
- Google Lunar XPRIZE - Notað fyrir tunglferðalög
Samhengi: Space-ROS
- ROS ramma í geimkönnun og vélfærafræði
- Að hluta til hæfur til notkunar í geimnum
- Examples:
- Vélfærafræðiaðstoðarmenn fyrir geimfara
- Plánetukönnun með sjálfstýrðum flökkum
- Gervihnattaaðgerðir og eftirlit
- Sjálfstætt geimfar að bryggju
- Þjónusta og viðgerðir á sporbraut
- Kostir:
- Gerir sjálfræði, samskipti og skynjun kleift
- Flýtir fyrir þróun og rekstri geimferða.
ROS2 framkvæmdastjóri útskýrður
Framkvæmdastjóri samhæfir og tímasetur ROS2 forritið með því að stjórna endurhringingum áskrifta, skilaboða, þjónustu, tímamæla og hnúta. Í ROS2 heldur framkvæmdarstjórinn ekki sinni eigin biðröð af skilaboðum og svarhringingum, heldur notar hann skilaboð frá undirliggjandi DDS biðröðum millihugbúnaðar og sendir þau síðan til framkvæmdar á einn af þráðunum.
Nýjasta
ROS2 framkvæmdarstjórar
- Framkvæmdastjóri með einum þræði: Einn þráður spyr um millibúnaðinn og framkvæmir svarhringingar í röð. Það skannar síðan uppbygginguna og uppfærir hnúta, áskriftir, þjónustu osfrv.
- Static einþráður executor, þar sem skönnun og skilgreining byggingarinnar er framkvæmd aðeins einu sinni, meðan á byggingu stendur. Allir hnútar, svarhringingarhópar, tímamælir, áskriftir o.s.frv. eru búnir til áður en snúningurinn() er kallaður.
- Fjölþráður framkvæmdarstjóri býr til fjölda þráða sem munu framkvæma svarhringingar samhliða. Svipað og einn þráður executor, mun það reglulega skanna uppbyggingu forritsins og uppfæra lýsingu á vandamálinu.
Straumspilarinn Yfirview
- Streymisstjórinn notar Klepsydra Event Loop til að koma skilaboðum til áskrifenda í öllum hnútum, sem koma frá millibúnaði í gegnum rmw. Atburðarlykjan stjórnar þessum viðfangsefnum með því að nota pör útgefanda og áskrifenda.
- Straumsframkvæmdarinn hegðar sér á svipaðan hátt og kyrrstæður einþráður framkvæmdarstjórinn í nokkrum þáttum. Í fyrsta lagi endurgerir það ekki keyrslulistann fyrir hverja endurtekningu. Allir hnútar, svarhringingarhópar, tímamælar, áskriftir osfrv. eru búnir til á byggingartíma. Í öðru lagi eru allar áskriftir inni í hnút keyrðar á sama þræði, óháð fjölda kjarna sem eru notaðir fyrir straumuppsetninguna.
Klepsydra streymistjóri
Streymisstjórinn
Hvernig virkar það?
- Útgefanda-áskrifandi par er búið til fyrir hvert efni sem krafist er af tilteknum ROS2 hnút.
- Innbyrðis er hvert útgefanda-áskrifendapar auðkennt með tveimur breytum: heiti hnút og heiti efnis. Með öðrum orðum, tveimur mismunandi hnútum sem gefa út á sama efni verður stjórnað sjálfstætt.
- Öllum pörum útgefanda og áskrifenda sem tengjast efni sem tilheyra sama hnút er stjórnað af sömu atburðarlykkju.
Streymisstjórinn Einkjarna vs fjölkjarna
- Advaninntage af straumframkvæmdastjóranum er að það er engin þörf á fjölþráðastjórnun á áskrifendum vegna þess að þeim er öllum stjórnað af þræði tilheyrandi atburðarlykkju, sem er sameiginlegt fyrir bæði einkjarna og fjölkjarna.
- Sá fyrrnefndi virkar á svipaðan hátt og kyrrstæður einþráður framkvæmdarstjóri, þar sem allir áskrifendur í öllum hnútum eru kallaðir fram af sama þræði
Frammistöðuviðmið: Ref-kerfið
- Hlutverk Rauntíma vinnuhópsins er að tala fyrir og vinna að minnisstjórnun, rauntíma krá/undirbúi, rauntíma DDS og verkfærum sem gera kleift að rekja, kynna og hagræða ( https://github.com/ros-realtime )
- Reference_system pakkinn var þróaður til að útvega grundvallar byggingareiningar til að búa til flókin kerfi sem síðan er hægt að nota til að meta eiginleika eða frammistöðu á staðlaðan og endurtekanlegan hátt. ( https://github.com/ros-realtime/reference-system )
- Fyrsta verkefnið til að nota þetta tilvísunarkerfi er autoware_reference_system ( https://github.com/ros-realtime/referencesystem/blob/main/autoware_reference_system/README.md )
Frammistöðuviðmið
- Uppsetning Klepsydra streymisviðmiða:
- Viðmiðið var byggt á Autoware viðmiðunarkerfinu. Það líkir eftir raunhæfu akstursforriti.
- Allar mælingar voru teknar með því að nota Raspberry Pi 4B með: ROS galactic, Ubuntu 20.04 og 4 GB af ram, stöðugri tíðni 1.50GHz
- Samhæft uppsetning viðmiðunarkerfisins og án CPU einangrunar
- Örgjörvar prófaðir:
- Raspberry PI 4 (viðmiðunargjörvi fyrir RTWG)
- Unibap's iX10 (NASA og Blue Origin prófunarbeð)
- Teledyne e2v LS1046
Frammistöðuviðmið
- Markmiðið fyrir erfðafræðilega reikniritið er að lágmarka meðaltöf mikilvægu leiðarinnar.
- Það er tíminn sem líður frá birtingu Lidar Data þar til Object Collision Estimator lýkur vinnu sinni.
- Mynd sýnir mikilvæga leiðina sem rannsóknir okkar reyndu að hagræða
Streymisstjórinn
Klepsydra Streaming Distribution Optimizer (SDO)
- Fjölkjarna afbrigði streymisstjórans virkar best þegar álagsdreifing hnútanna á milli kjarna er fínstillt og getur skipt verulegu máli hvað varðar leynd, orkunotkun og gagnaflutning.
- Kortlagning kjarna er hins vegar ekki léttvæg og krefst kerfisbundinnar nálgunar. Möguleg nálgun er að skilgreina markaðgerð sem mælir frammistöðu kerfisins út frá kjarnastillingu.
- Erfðafræðilegt reiknirit er síðan hægt að nota til að hámarka kjarnastillinguna með því að prófa mismunandi stillingar ítrekað og velja þær sem standa sig vel í samræmi við markaðgerðina. Þetta ferli heldur áfram þar til ákjósanleg uppsetning er fundin.
- Þessi nálgun gerir ráð fyrir skilvirkari notkun á fjölkjarnakerfinu og tryggir að álaginu sé dreift á sem bestan hátt.
Niðurstöður samantekt
- Fyrir litla hnútavinnu skilar aukinn flækjustig ekki betri árangri. Stöðugi einþráðurinn, þar sem hann er mjög einfaldur, er betri en hinir framkvæmdaraðilarnir.
- Með því að auka vinnuálagið er streymisstjórinn besti framkvæmdaraðilinn og næst á eftir Static Single Threaded Executor.
- Búist var við að streymisstjórinn virkaði stöðugt betur en einn þráður, þar sem forritið breytir ekki staðfræði sinni meðan það er í gangi. Það er sýnt að svo er
- Niðurstöður fyrir Raspberry PI4
- Svipuð aukning á frammistöðu sem fæst fyrir iX10 frá Unibap og LS1046 frá Teledyne
Ályktanir
Samantekt
- Þessi grein kynnir nýja nálgun til að fínstilla ROS2 framkvæmdarlíkan sem sameinar bæði láslausa hringjabuffa byggða ROS2 framkvæmdarútfærslu og notkun erfðafræðilegra reiknirita til að hámarka dreifingu vélfærafræðiforritaálagsins í tiltæka kjarna í marktölvunni.
- Sýnt hefur verið fram á að þessi samsetning virkar mjög skilvirkt fyrir kerfi með mikið reikniálag, eins og viðmiðunarkerfið sem lýst er hér að ofan. Lykilávinningur þeirra rannsókna sem kynntar eru er aðlögunarhæfni hennar að mismunandi forritum: hægt er að flýta fyrir mismunandi ROS2 hnútauppbyggingum með því að nota streymisframkvæmdabúnaðinn ásamt erfðafræðilegri hagræðingu, sem er ein mest rædda áskorunin í ROS2.
Framtíðarstarf
Samantekt
- Hvað varðar framtíðarvinnu þessarar rannsóknar, þá eru nokkrir eiginleikar sem þarf að vera með í streymisframkvæmdastjóranum:
- stuðningur við auðmjúkan og veltandi,
- opinn uppspretta útgáfu af einskjarna streymisstjóranum og
- notkun skynjara margfaldara sem og viðburðarlykkju fyrir efni með nokkra áskrifendur.
- RISC-V arkitektúrprófun
Skjöl / auðlindir
![]() |
Klepsydra ROS2 Multi Core Ring Buffer Executor [pdfNotendahandbók ROS2 Multi Core Ring Buffer Executor, ROS2, Multi Core Ring Buffer Executor, Ring Buffer Executor, Buffer Executor, Executor |