Klepsydra-logo

Klepsydra ROS2 milti nwayo bag tanpon egzekitè

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

Enfòmasyon sou pwodwi

Espesifikasyon

  • Lejè, modilè, ak konpatib ak sistèm operasyon ki pi itilize yo
  • ROS2 Executor plugin ki kapab trete jiska 10 fwa plis done ak jiska 50% rediksyon nan konsomasyon CPU
  • GPU (Graphic Processing Unit) pou gwo paralelizasyon ak ogmante pousantaj done pwosesis ak itilizasyon GPU
  • Klepsydra AI
  • Klepsydra SDK
  • Klepsydra GPU
  • Kapasite difizyon
  • Klepsydra ROS2 exécuteur plugin atravè lemond aplikasyon

Enstriksyon Itilizasyon Pwodwi

  1. Kontèks: Pwosesis Paralèl
    Pwodwi a fèt pou adrese defi ki gen rapò ak pwosesis abò nan aplikasyon espas, kote itilizasyon CPU, volim done, ak kondisyon pouvwa yo enkyetid. Li ofri yon solisyon pou pyès ki nan konpitè modèn ak ansyen lojisyèl pa manyen volim done mwayen avèk efikasite.
  2. Konpare ak Boukante
    "Konpare ak Swap" se yon algorithm yo itilize nan multithreading pou reyalize senkronizasyon. Li konpare sa ki nan yon kote memwa ak yon valè yo bay epi, sèlman si yo se menm bagay la, modifye sa ki nan kote memwa sa a nan yon nouvo valè bay. Operasyon sa a fèt kòm yon sèl operasyon atomik. Pwodwi a aplike algorithm sa a kòm yon pati nan fonksyonalite li yo.

Avantaj ak dezavantaj nan pwogramasyon Lock-Free
Pwodwi a itilize teknik pwogramasyon lock-gratis, ki gen advantages ak disadvantages

  • Avantaj:
    • Redwi CPU itilizasyon
    • Manyen efikas nan volim done
  • Dezavantaj:
    • Konpleksite nan aplikasyon
    • Egzije sipò nan pyès ki nan konpitè kache (pi fò nan pyès ki nan konpitè modèn sipòte pwogramasyon san fèmen)

ROS2 Egzekitè
Pwodwi a gen ladann yon ROS2 Executor ki pwograme aplikasyon ROS2 pa jere apèl yo nan abònman, mesaj, sèvis, timer, ak nœuds. Li konsome mesaj ki soti nan ke moun kap kriye DDS middleware ki kache epi voye yo pou egzekisyon nan youn nan fil yo. Egzekitè a ka configuré pou egzekite callbacks sekans oswa an paralèl.

ROS2 Egzekitè dènye modèl yo
Pwodwi a enkòpore dènye modèl ROS2 egzekitè ki bay diferan estrateji ekzekisyon

  • Single Threaded Egzekitè: Egzekite callbacks sekans epi detanzantan analize estrikti aplikasyon an pou mete ajou nœuds, abònman, sèvis, elatriye.
  • Egzekitè Multi-Threaded: Egzekite callbacks an paralèl epi detanzantan analize estrikti aplikasyon an pou mete ajou deskripsyon pwoblèm nan.

Streaming Egzekitè
Pwodwi a prezante yon ègzekutor difizyon ki diferan de ekzekitè fil la nan plizyè aspè

  • Li pa rekonstwi lis ègzekutabl la pou chak iterasyon.
  • Tout nœuds, gwoup callback, revèy, abònman, elatriye yo kreye nan moman konstriksyon.
  • Tout abònman andedan yon ne yo egzekite sou menm fil la, kèlkeswa kantite nwayo yo itilize pou konfigirasyon difizyon an.
  1. Klepsydra Streaming Egzekitè
    Egzekitè difizyon pwodwi a fèt espesyalman pou okipe sijè difizyon lè l sèvi avèk pè piblikatè-abònen. Li efikasman delivre mesaj bay abonnés nan tout nœuds, resevwa nan middleware a atravè rmw la. Bouk evènman an jere sijè sa yo, asire sikilasyon done lis.
  2. Klepsydra domèn
    Rwayom Klepsydra a se yon eleman nan egzekitè difizyon an ki aji kòm yon pwogramè. Li kowòdone ekzekisyon pwodiktè ak konsomatè yo nan konfigirasyon difizyon an.
  3. Pwodiktè
    Yon pwodiktè responsab pou jenere done ki pral konsome pa abonnés yo. Pwodwi a sipòte plizyè pwodiktè nan konfigirasyon difizyon an.
  4. Konsomatè
    Yon konsomatè responsab pou trete ak itilize done pwodiktè yo pwodwi yo. Pwodwi a sipòte plizyè konsomatè nan konfigirasyon difizyon an.

Kesyon yo poze souvan (FAQ)

  1. Ki sistèm operasyon ki konpatib ak pwodwi a?
    Pwodwi a se konpatib ak sistèm operasyon ki pi souvan itilize.
  2. Ki kantite done ka pwodwi pwosesis konpare ak metòd tradisyonèl yo?
    Pwodwi a kapab trete jiska 10 fwa plis done ak rediksyon jiska 50% nan konsomasyon CPU konpare ak metòd tradisyonèl yo.
  3. Èske pwodwi a itilize paralelizasyon GPU?
    Wi, pwodwi a itilize GPU (Inite Pwosesis Grafik) pou gwo paralelizasyon, ki ogmante pousantaj done pwosesis la ak itilizasyon GPU.

Yon apwòch Optimizasyon Offline pou aplikasyon ROS2 milti-debaz: Egzekitè ROS2 bag-tanpon milti-nwayo a

ROS Meetup Stuttgart 2023

Doktè Pablo Ghiglino ( pablo.ghiglino@klepsydra.com )

ROS2 Streaming Egzekitè a

KONTÈKS: PWOSESIS PARALÈL

  • Defi sou pwosesis abò aKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Materyèl modèn ak ansyen lojisyèl:
    • Òdinatè yo max soti ak volim done ki ba ak mwayen
    • Itilizasyon resous yo pa efikas
    • Twòp pouvwa pou pwosesis done ki ba

Konsekans pou aplikasyon espas

  • Echèk misyon frekan akòz lojisyèl
  • Aksè nan done Capteur ki soti nan Latè pran tan.
  • Satelit yo ap lite pou satisfè kondisyon pouvwa yoKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)

KONPARE AK SWAP

  • Compare-and-swap (CAS) se yon enstriksyon ki itilize nan multithreading pou reyalize senkronizasyon. Li konpare sa ki nan yon kote memwa ak yon valè yo bay epi, sèlman si yo menm, li modifye sa ki nan yon kote memwa a yon nouvo valè yo bay. Sa a se fè kòm yon sèl operasyon atomik.
  • Compare-and-Swap te yon pati entegral nan achitekti IBM 370 depi 1970.
  • Maurice Herlihy (1991) te pwouve ke CAS ka aplike plis nan algoritm sa yo pase atomik li, ekri, ak chache-ak-ajoute.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

PWOGRAMMAN SAN LOCKKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)

Avantaj

  • Mwens konsomasyon CPU obligatwa
  • Pi ba latansi ak pi wo debi done
  • Ogmantasyon sibstansyèl nan detèminism

Dezavantaj

  • Teknik pwogramasyon trè difisil
  • Egzije processeur ak enstriksyon CAS (90% nan mache a gen yo, menm si)

Klepsydra bag-tanpon

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

PWODWI a
Lejè, modilè ak konpatib ak sistèm operasyon ki pi itilize yo

  • SDK - Twous Devlopman Lojisyèl
    Ranfòse pwosesis done nan kwen an pou aplikasyon jeneral ak algoritm entansif processeur
  • AI - entèlijans atifisyèl
    Motè gwo pèfòmans rezo neral gwo twou san fon (DNN) pou deplwaye nenpòt modil AI oswa aprantisaj machin nan kwen an
  • Plugin ROS2 Executor
    Egzekitè pou ROS2 kapab trete jiska 10 fwa plis done ak jiska 50% rediksyon nan konsomasyon CPU.
  • GPU (Inite Pwosesis Grafik)
    Paralelizasyon segondè nan GPU ogmante pousantaj done pwosesis la ak itilizasyon GPUKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)

Kontèks: ROS1 nan espas

  • Benefis:
  • Pèmèt otonomi, pèsepsyon, ak kontwòl nan espasKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Fleksib, modilè, ak sipòte pa yon gwo kominote.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)
  • Examples:
    • Robonaut NASA 2 (R2) - Astwonòt ede sou ISS la
    • Astrobee NASA a – Operasyon otonòm sou ISS la
    • SFÈ – Satelit esferik pou rechèch sou ISS la
    • Dèkstre – Bra robotik pou manipilasyon ak reparasyon sou ISS la
    • Google Lunar XPRIZE - Itilize pou misyon rover linèKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

Kontèks: Espas-ROS

  • Fondasyon ROS nan eksplorasyon espas ak robotik
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)
  • Pasyèlman kalifye pou itilizasyon espas
  •  Examples:
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (5)
    • Asistan robo pou astwonòt
    • Eksplorasyon planèt ak rovers otonòm
    • Operasyon ak kontwòl satelit
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)
    • Docking veso espasyèl otonòm
    • Sèvis ak reparasyon sou òbit
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (7)
  • Benefis:
    • Pèmèt otonomi, kominikasyon, ak pèsepsyon
    • Akselere devlopman misyon espasyal ak operasyon yo.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

ROS2 Egzekitè Esplike

Yon egzekitè kowòdone ak pwograme aplikasyon ROS2 a lè li jere apèl yo nan abònman, mesaj, sèvis, timer ak nœuds. Nan ROS2, egzekitè a pa kenbe pwòp keu mesaj ak callbacks, men olye konsome mesaj ki soti nan keu DDS middleware ki kache yo, epi answit voye li pou egzekisyon nan youn nan fil yo.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (9)

Eta-of-atizay la

ROS2 egzekitè

  • Egzekitè fil sèl: Yon sèl fil mande middleware la epi egzekite callbacks yo sekans. Lè sa a, li analize estrikti a ak mete ajou nœuds, abònman, sèvis, elatriye.
  • Egzekitè a estatik sèl Threaded, kote eskanè a ak definisyon estrikti a egzekite yon sèl fwa, pandan konstriksyon. Tout nœuds, gwoup callback, timers, abònman elatriye yo kreye anvan yo rele spin() la.
  • Egzekitè Multi-threaded la kreye yon kantite fil ki pral egzekite callbacks an paralèl. Menm jan ak egzekitè a sèl Threaded, li pral detanzantan eskane estrikti aplikasyon an epi mete ajou deskripsyon pwoblèm nan.

Egzekitè a difizyon souview

  • Streaming Executor itilize Klepsydra Evènman Loop pou delivre mesaj bay abonnés yo nan tout nœuds, ki soti nan middleware a atravè rmw la. Bouk evènman an jere sijè sa yo lè l sèvi avèk pè piblikatè-abònen.
  • Egzekitè difizyon an konpòte menm jan ak egzekitè a estatik sèl Threaded nan plizyè aspè. Premyèman, li pa rekonstwi lis ègzekutabl la pou chak iterasyon. Tout nœuds, gwoup callback, revèy, abònman elatriye yo kreye nan moman konstriksyon. Dezyèmman, tout abònman andedan yon ne yo egzekite sou menm fil la, kèlkeswa kantite nwayo yo itilize pou konfigirasyon difizyon an.

Klepsydra Streaming Egzekitè

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

Egzekitè difizyon an

Ki jan li travay?

  • Yo kreye yon pè piblikatè-abònen pou chak sijè ki nesesè nan yon ne ROS2 bay.
  • Entènman, chak pè piblikatè-abònen idantifye pa de paramèt: non node ak non sijè a. Nan lòt mo, de nœuds diferan pibliye nan menm sijè a pral jere poukont yo.
  • Tout pè piblikatè-abònen ki asosye ak sijè ki fè pati menm nod la jere pa menm bouk evènman an.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (10)

Egzekitè difizyon Single-core vs milti-nwayoKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

  • Avant latage nan ekzekitè a difizyon se ke pa gen okenn nesesite pou jesyon multithreading nan abonnés yo akòz tout nan yo jere pa fil la nan bouk la evènman ki asosye, ki se komen nan tou de yon sèl-nwayo ak milti-nwayo.
  • Ansyen an travay nan yon fason ki sanble ak egzekitè a estatik yon sèl-threaded, depi tout abonnés nan tout nœuds yo envoke pa menm fil la.

Referans pèfòmans: Ref-System la

Referans pèfòmans

  • Konfigirasyon Klepsydra Streaming Benchmarks:
    • Referans la te baze sou sistèm referans Autoware. Li imite yon aplikasyon kondwi reyalis.
    • Tout mezi yo te pran lè l sèvi avèk yon Franbwaz Pi 4B ak: ROS galaktik, Ubuntu 20.04 ak 4 GB nan belye mouton, frekans konstan nan 1.50GHz
    • Konfigirasyon konpatib nan sistèm referans la, epi san izolasyon CPU
  • Pwosesis yo teste:
    • Franbwaz PI 4 (prosesè referans pou RTWG la)
    • iX10 Unibap a (NASA ak Blue Orijin Testbed)
    • Teledyne e2v LS1046

Referans pèfòmans

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)

  • Objektif algorithm jenetik la se pou misyon pou minimize latansi an mwayèn nan chemen kritik la.
  • Sa vle di, tan li pran depi piblikasyon Done Lidar jiskaske Estimatè Kolizyon Objè a fini travay li.
  • Figi montre chemen kritik rechèch nou an te eseye optimize

Egzekitè difizyon an
Klepsydra Streaming Distribution Optimiser (SDO)

  • Varyasyon milti-nwayo egzekitè difizyon an travay pi byen lè distribisyon chaj nan nœuds yo nan mitan nwayo optimize epi li ka fè yon diferans sibstansyèl an tèm de latansi, konsomasyon pouvwa ak debi done.
  • Sepandan, kat la nan nwayo se pa trivial epi li mande pou yon apwòch sistematik. Yon apwòch posib se defini yon fonksyon sib ki mezire pèfòmans sistèm nan ki baze sou konfigirasyon debaz la.
  • Lè sa a, yon algorithm jenetik ka itilize pou optimize konfigirasyon debaz la pa iteratif teste diferan konfigirasyon epi chwazi sa yo ki fè byen dapre fonksyon sib la. Pwosesis sa a kontinye jiskaske yo jwenn yon konfigirasyon optimal.
  • Apwòch sa a pèmèt pou yon itilizasyon pi efikas nan sistèm milti-nwayo a epi asire ke chaj la distribye nan fason ki pi optimal.

Rezime rezilta yo

  • Pou travay ti ne, konpleksite a te ajoute pa tradwi nan pi bon rezilta. Estatik sèl Threaded la, yo te trè senp, depase rès egzekitè yo.
  • Ogmante kantite travay la, Streaming Executor se pi bon egzekitè ki te swiv pa Static Single Threaded Executor la.
  • Li te espere ke Streaming Executor la te fè toujou pi bon pase yon sèl threaded a, depi aplikasyon an pa modifye topoloji li pandan y ap kouri. Li montre ke sa a se tout bon ka aKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (13)
  • Rezilta pou Franbwaz PI4
  • Ogmantasyon menm jan an nan pèfòmans yo jwenn pou iX10 Unibap a ak LS1046 Teledyne laKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (14)

Konklizyon

Rezime

  • Atik sa a prezante yon apwòch roman pou optimize modèl ekzekisyon ROS2 ki konbine tou de yon aplikasyon egzekitè ROS2 ki baze sou bag-tanpon san fèmen, ak itilizasyon algoritm jenetik pou optimize distribisyon chaj aplikasyon robotik nan nwayo ki disponib nan òdinatè sib la.
  • Konbinezon sa a te pwouve travay trè efikas pou sistèm ki gen gwo chaj enfòmatik, tankou sistèm referans ki eksplike pi wo a. Yon avantaj kle nan rechèch prezante a se adaptabilite li nan aplikasyon diferan: diferan topoloji ne ROS2 ka akselere lè l sèvi avèk ègzekutor difizyon an plis optimize jenetik, ki se youn nan defi ki pi diskite nan ROS2.

Travay lavni

Rezime

  • Kòm pou travay nan lavni nan rechèch sa a, gen plizyè karakteristik yo dwe enkli nan egzekitè a difizyon:
    • sipò pou enb ak woule,
    • lage sous louvri nan egzekitè a difizyon sèl-nwayo ak
    • itilize nan multiplexeur a Capteur kòm byen ke bouk evènman an pou sijè ki gen plizyè abonnés.
    • Tès achitekti RISC-V

Dokiman / Resous

Klepsydra ROS2 milti nwayo bag tanpon egzekitè [pdfGid Itilizatè
ROS2 milti nwayo bag tanpon egzekitè, ROS2, milti nwayo bag tanpon egzekitè, bag tanpon egzekitè, tanpon egzekitè, egzekitè

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *