Klepsydra-merki

Klepsydra ROS2 Multi Core Ring Buffer Executor

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-product-image

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

  1. 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.
  2. 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.
  1. 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.
  2. 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.
  3. 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.
  4. 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)

  1. Hvaða stýrikerfi eru samhæf við vöruna?
    Varan er samhæf við flest notuð stýrikerfi.
  2. 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.
  3. 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ðKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • 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þörfKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)

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ðKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

KOSTIR OG GALLAR LÁSAFRÆSAR FORGRAMNINGARKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)

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

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (5)

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ýtinguKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)

Samhengi: ROS1 í geimnum

  • Kostir:
  • Gerir sjálfræði, skynjun og stjórn í rýminu kleiftKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Sveigjanlegt, mát og stutt af stóru samfélagi.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)
  • 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ögKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

Samhengi: Space-ROS

  • ROS ramma í geimkönnun og vélfærafræði
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)
  • Að hluta til hæfur til notkunar í geimnum
  •  Examples:
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (5)
    • Vélfærafræðiaðstoðarmenn fyrir geimfara
    • Plánetukönnun með sjálfstýrðum flökkum
    • Gervihnattaaðgerðir og eftirlit
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)
    • Sjálfstætt geimfar að bryggju
    • Þjónusta og viðgerðir á sporbraut
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (7)
  • Kostir:
    • Gerir sjálfræði, samskipti og skynjun kleift
    • Flýtir fyrir þróun og rekstri geimferða.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

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.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (9)

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

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (7)

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.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (10)

Streymisstjórinn Einkjarna vs fjölkjarnaKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

  • 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ð

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ð

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (9)

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (10)

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (12)

  • 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 erKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (13)
  • Niðurstöður fyrir Raspberry PI4
  • Svipuð aukning á frammistöðu sem fæst fyrir iX10 frá Unibap og LS1046 frá TeledyneKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (14)

Á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

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *