Klepsydra ROS2 Multi Core Ring Buffer Executor
Fa'amatalaga o oloa
Fa'amatalaga
- Mamafa, faʻapitoa, ma fetaui ma le tele o faiga faʻaogaina
- ROS2 Executor plugin e mafai ona faʻagaoioia e oʻo atu i le 10 taimi sili atu faʻamatalaga ma oʻo atu i le 50% faʻaitiitiga i le faʻaaogaina o le CPU.
- GPU (Graphic Processing Unit) mo le maualuga o le parallelization ma le faʻateleina o le gaosiga o faʻamaumauga ma le faʻaogaina o le GPU
- Klepsydra AI
- Klepsydra SDK
- Klepsydra GPU
- Avanoa gafatia
- Klepsydra ROS2 executor plugin i le lalolagi atoa
Fa'atonuga o le Fa'aaogaina o Mea
- Si'osi'omaga: Fa'agasologa Fa'atasi
O le oloa ua mamanuina e foia ai luitau e fesoʻotaʻi ma le faʻaogaina o luga o le laupapa i avanoa avanoa, lea e popole ai le faʻaogaina o le CPU, le tele o faʻamaumauga, ma manaʻoga. E ofoina atu se fofo mo meafaigaluega faʻaonaponei ma polokalama tuai e ala i le taulimaina lelei o voluma faʻamaumauga. - Faatusatusa ma Fetufaai
"Faatusatusa ma Swap" o se algorithm o loʻo faʻaaogaina i multithreading e ausia ai le faʻamaopoopoina. E fa'atusatusa mea o lo'o i totonu o se nofoaga e manatua ai ma se tau ua tu'uina atu ma, pe afai e tutusa, suia mea o lo'o i totonu o lena nofoaga manatua i se tau fou ua tu'uina atu. O lenei ta'aloga o lo'o faia e pei o se ta'aloga atomika e tasi. O loʻo faʻaaogaina e le oloa lenei algorithm o se vaega o lona faʻatinoga.
Le lelei ma le le lelei o Polokalama e leai se loka
O lo'o fa'aogaina e le 'oloa faiga fa'apolokalame e leai se loka, lea e iai le advantages ma disadvantages
- Tulaga lelei:
- Fa'aitiitia le fa'aogaina o le PPU
- Fa'atino lelei le tele o fa'amaumauga
- Le lelei:
- Lavelave i le faatinoga
- Mana'omia le lagolago mai masini fa'avae (o le tele o masini fa'aonaponei e lagolagoina polokalame e leai se loka)
ROS2 Fa'atonu
O le oloa e aofia ai le ROS2 Executor o loʻo faʻatulagaina le talosaga ROS2 e ala i le puleaina o toe foʻi mai o saofaga, feʻau, tautua, taimi, ma nodes. Na te fa'aaogaina fe'au mai laina pito i lalo ole DDS ma tu'u atu mo le fa'atinoina i se tasi o filo. E mafai ona fa'atulagaina le fa'atonu e fa'atino fa'asologa toe fo'i fa'asolosolo pe fa'atasi.
Fa'atonu ROS2 fa'aonaponei
O le oloa o loʻo tuʻufaʻatasia faʻaonaponei ROS2 Executors e tuʻuina atu taʻiala faʻatinoina eseese.
- Fa'atonu Fa'ato'a Nofo Tasi: Fa'atino toe fo'i fa'asolosolo fa'asolosolo ma su'esu'e fa'avaitaimi le fausaga o talosaga e fa'afou ai nodes, saofaga, tautua, ma isi.
- Fa'atonu Fa'asolo Fa'asolo: Fa'atino toe fo'i fa'atasi ma su'esu'e fa'avaitaimi le fausaga o talosaga e fa'afou ai le fa'amatalaga o le fa'afitauli.
Fa'ata'ita'i Fa'atonu
O le oloa e faʻaalia ai se faʻataʻitaʻiga faʻafefe e ese mai le faʻaogaina o filo i le tele o itu
- E le toe fausia le lisi e mafai ona fa'atinoina mo su'esu'ega uma.
- O nodes uma, vaega e toe fo'i i tua, timers, saofaga, ma isi mea e faia i le taimi o le fausiaina.
- O saofaga uma i totonu o se node e faʻatinoina i luga o le filo lava e tasi, e tusa lava po o le a le aofaʻi o 'au e faʻaaogaina mo le seti faʻafefe.
- Klepsydra Streaming Executor
O le fa'ata'ita'iga fa'ata'ita'i a le oloa ua fa'atulagaina fa'apitoa e fa'atautaia ai mataupu fa'asalalau e fa'aaoga ai paga fa'asalalau-faitalafu. E lelei le tu'uina atu o fe'au i le au fai saofaga i nodes uma, maua mai le middleware e ala i le rmw. O le fa'alavelave fa'alavelave e fa'atautaia nei autu, fa'amautinoa le sologa lelei o fa'amaumauga. - Malo o Klepsydra
O le Klepsydra Realm o se vaega o le faʻatonuina o loʻo galue o se faʻatulagaina. E fa'amaopoopoina le fa'ataunu'uina o tagata gaosi ma tagata fa'atau i totonu o le fa'asologa fa'afefe. - Tufuga
O le tagata gaosi oloa e nafa ma le fausiaina o faʻamatalaga o le a faʻaaogaina e le au fai saofaga. E lagolagoina e le oloa le tele o tagata gaosi oloa i le seti faʻafefe. - Tagata fa'atau
O le tagata fa'atau e nafa ma le fa'agaioiina ma le fa'aogaina o fa'amaumauga na gaosia e le au gaosi oloa. E lagolagoina e le oloa le tele o tagata fa'atau i le seti fa'afefe.
Fesili e Fai soo (FAQ)
- O a faiga fa'aoga e fetaui ma le oloa?
O le oloa e fetaui lelei ma faiga fa'aoga masani. - O le a le tele o faʻamatalaga e mafai ona faʻatusatusa i le gaosiga o oloa faʻatusatusa i metotia masani?
O le oloa e mafai ona faʻaogaina i luga ole 10 taimi sili atu faʻamatalaga ma e oʻo atu ile 50% faʻaitiitiga ile faʻaogaina ole CPU pe a faʻatusatusa i auala masani. - E fa'aogaina e le oloa le fa'atusa GPU?
Ioe, o lo'o fa'aogaina e le oloa le GPU (Graphic Processing Unit) mo le fa'atusa maualuga, lea e fa'ateleina ai le fa'asologa o fa'amaumauga ma le fa'aogaina o le GPU.
Ose Faiga Fa'apitoa mo Fa'atonuga mo le Tele-Core ROS2 Talosaga: O le Fa'atonu Fa'atonu ROS2 Fa'amama Fa'asolo
Fonotaga a le ROS Stuttgart 2023
Dr Pablo Ghiglino ( pablo.ghiglino@klepsydra.com )
Le ROS2 Streaming Executor
FA'ASA'OGA: FA'A'O'O'OGA FA'ATASI
- Lu'itau ile fa'agaioiga ile va'a
- Meafaigaluega fa'aonaponei ma polokalama tuai:
- O komipiuta e sili atu le tele o fa'amaumauga e maualalo ma feololo
- Le fa'aogaina o punaoa
- Malosi tele mo le maualalo o fa'amaumauga
Taunuuga mo Avanoa talosaga
- Fa'ato'a fa'aletonu misiona ona o polokalame
- O le avanoa i faʻamatalaga faʻamatalaga mai le lalolagi e alu le taimi.
- Satelite tauivi e ausia manaoga mana
Faatusatusa ma SWAP
- Fa'atusatusa-ma-swap (CAS) o se fa'atonuga e fa'aoga i le tele o filo e maua ai le fa'atasi. E fa'atusatusa mea o lo'o i totonu o se nofoaga e manatua ai ma se tau ua tu'uina atu ma, se'i vagana ua tutusa, fa'afetaui mea o lo'o i totonu o lena nofoaga manatua i se tau fou ua tu'uina atu. E faia lenei mea e pei o se galuega atomika e tasi.
- Faatusatusa-ma-Swap o se vaega taua o le IBM 370 tusiata mai le 1970.
- Maurice Herlihy (1991) faʻamaonia e mafai e le CAS ona faʻaaogaina le tele o nei algorithms nai lo le faitau atomic, tusitusi, ma le fetch-and-add.
TULAGA MA LE LEAGA O POLOKALAME E LEAI LOKA
Fa'alelei
- Faʻaitiitia le faʻaaogaina o le CPU e manaʻomia
- Fa'asao maualalo ma maualuga atu fa'amaumauga
- Fa'ateleina le fa'atupula'ia
Cons
- Faiga fa'akomepiuta faigata tele
- Manaomia le gaosiga ma faʻatonuga CAS (90% o le maketi o loʻo i ai, e ui lava)
Klepsydra Ring-buffer
O LE GALUEGA
Mamafa, faʻapitoa ma fetaui ma le tele o faiga faʻaogaina
- SDK – Pusa Atina'e Polokalama
Fa'ateleina le fa'agaioia o fa'amaumauga i le pito mo fa'aoga lautele ma fa'agaioiga fa'agaioiga malosi - AI - Faʻamatalaga Faʻamatalaga
Ole afi ole feso'ota'iga neural maualuga (DNN) e fa'atino ai so'o se AI po'o masini a'oa'oga i le pito - ROS2 Executor plugin
Fa'atonu mo le ROS2 e mafai ona fa'agasolo i le 10 taimi sili atu fa'amaumauga ma o'o atu i le 50% fa'aitiitiga i le fa'aaogaina o le CPU. - GPU (Vaega Fa'akalafi)
Tulaga maualuga o le GPU e faʻateleina ai le faʻasologa o faʻamaumauga ma le faʻaogaina o le GPU
Tulaga: ROS1 i Avanoa
- Fa'amanuiaga:
- Fa'atagaina le tuto'atasi, fa'aaliga, ma le fa'atonu i le vateatea
- Fetuuna'i, fa'apitoa, ma lagolagoina e se fa'alapotopotoga tele.
- Examples:
- NASA's Robonaut 2 (R2) - Fesoasoani i tagata vaalele i luga o le ISS
- NASA's Astrobee - Ta'aloga tuto'atasi ile ISS
- SPHERES - Satelite lapotopoto mo suʻesuʻega ile ISS
- Dextre - Robotic lima mo le faʻaogaina ma toe faʻaleleia i luga o le ISS
- Google Lunar XPRIZE - Faʻaaogaina mo misiona o le masina
Si'osi'omaga: Space-ROS
- ROS fa'avae i su'esu'ega avanoa ma robotics
- Ose vaega agavaa mo Avanoa fa'aoga
- Examples:
- Robotic fesoasoani mo tagata vaalele
- Su'esu'ega o le paneta ma rovers tuto'atasi
- Fa'agaioiga satelite ma fa'atonutonu
- Tuto'atasi va'a va'alele
- Au'aunaga ma toe lipea i luga ole ala
- Fa'amanuiaga:
- Fa'atagaina le tuto'atasi, feso'ota'iga, ma le va'aiga
- Fa'atelevave le atina'eina ma le fa'agaioiga o le vateatea.
ROS2 Executor Fa'amatala
E fa'amaopoopo ma fa'atulaga e le fa'atonu le talosaga a le ROS2 e ala i le fa'atonutonuina o toe fa'afo'i o le lesitala, fe'au, tautua, taimi ma nodes. I le ROS2, e le tausia e le tagata faʻatonu lana lava laina o feʻau ma toe foʻi mai, ae faʻaaoga feʻau mai laina DDS o loʻo i lalo, ona tuʻuina atu lea mo le faʻatinoina i se tasi o filo.
Fa'aonaponei
ROS2 Fa'atonu
- Tasi fa'atino filo e tasi: E fesiligia e se filo e tasi le middleware ma fa'atino fa'asologa toe fo'i. Ona suʻeina lea o le fausaga ma faʻafouina nodes, saofaga, auaunaga, ma isi.
- O le Static single threaded executor, lea e na'o le tasi e fa'atino ai le su'esu'eina ma le fa'amatalaga o le fausaga, i le taimi o le fausiaina. O nodes uma, vaega toe fo'i i tua, timers, saofaga ma isi mea e faia a'o le'i ta'ua le vili().
- O le tele-threaded executor e fatuina se numera o filo o le a faʻatino ai toe foʻi i tua. E tutusa ma le faʻatinoina o filo e tasi, o le a suʻesuʻeina i lea taimi ma lea taimi le fausaga o le talosaga ma faʻafouina le faʻamatalaga o le faʻafitauli.
Le executor streaming Overview
- E fa'aogaina e le Streaming Executor le Klepsydra Event Loop e momoli ai fe'au i le au fai saofaga i nodes uma, e sau mai le middleware e ala i le rmw. O le fa'alavelave fa'alavelave e fa'atautaia nei autu e fa'aoga ai pa'aga a le tagata fa'asalalau-faitalafu.
- O le fa'ata'ita'i fa'ata'ita'iga e fa'apena fo'i le amio fa'atasi ma le fa'atinoina o filo i le tele o itu. Muamua, e le toe fausia le lisi faʻatinoina mo faʻamatalaga uma. O nodes uma, vaega toe fo'i, timers, saofaga ma isi mea e faia i le taimi o le fausiaina. Lona lua, o saofaga uma i totonu o se node e faʻatinoina i luga o le filo lava e tasi, e tusa lava po o le a le numera o 'au e faʻaaogaina mo le faʻaogaina o le faʻaogaina.
Klepsydra Streaming Executor
O le fa'ata'ita'iga fa'atafe
E faapefea ona aoga?
- E faia se paga tagata tala'i-faitala'i mo autu ta'itasi e mana'omia e le node ROS2.
- I totonu, ta'i pa'aga ta'itasi-faitalafu e fa'ailoaina i ta'iala se lua: le igoa node ma le igoa autu. I se isi faaupuga, lua nodes eseese lolomi i le autu lava e tasi o le a pulea tutoatasi.
- O pa'aga uma o lo'o fa'asalalau-talatala e feso'ota'i ma autu e fa'atatau i le node e tasi o lo'o fa'afoeina e le fa'alavelave e tasi.
O le fa'ata'ita'iga fa'ata'ita'iga Ta'itasi-autu vs tele-autu
- Le advantagO le faʻatonuga faʻafefe e leai se manaʻoga mo le tele o faʻasalalauga pulega o le au fai saofaga ona oi latou uma o loʻo pulea e le filo o le faʻalavelave faʻalavelave faʻafuaseʻi, lea e taatele i le tasi-core ma multi-core.
- O le mea muamua e galue i se faiga tutusa ma le faʻatinoina o le filo e tasi, talu ai o tagata fai saofaga uma i nodes uma e faʻaaogaina e le filo lava e tasi.
Fa'ailoga Fa'atinoga: Le Fa'atonu-Fa'atonu
- O le misiona a le Real-Time Working Group o le fautua ma galue i le puleaina o manatua, taimi moni pub / sub, DDS taimi moni, ma meafaigaluega e mafai ai ona suʻeina, faʻavasegaina ma faʻamalieina ( https://github.com/ros-realtime )
- O le reference_system package na fausia e tuʻuina atu ai poloka faʻavae autu e fausia ai faiga faʻalavelave e mafai ona faʻaaoga e iloilo ai foliga poʻo le faʻatinoga i se auala faʻasalalau ma toe fai. ( https://github.com/ros-realtime/reference-system )
- O le poloketi muamua e fa'aoga ai lenei reference_system o le autoware_reference_system ( https://github.com/ros-realtime/referencesystem/blob/main/autoware_reference_system/README.md )
Fa'ailoga Fa'atinoga
- Klepsydra Streaming Fa'ailoga Fa'atonu:
- O le faʻailoga sa faʻavae i luga o le Autoware reference system. E fa'ata'ita'iina se fa'ata'ita'iga fa'ata'ita'i.
- O fua uma na faia e faʻaaoga ai le Raspberry Pi 4B faʻatasi ma: ROS galactic, Ubuntu 20.04 ma le 4 GB o le mamoe poʻa, faʻasolosolo taimi ole 1.50GHz.
- Fa'atulagaina fetaui o le faiga fa'asino, ma e aunoa ma le fa'aesea o le CPU
- Fa'ata'ita'iga na fa'ata'ita'iina:
- Rasipi PI 4 (fa'asinomaga mo le RTWG)
- Unibap's iX10 (NASA ma Blue Origin Testbed)
- Teledyne e2v LS1046
Fa'ailoga Fa'atinoga
- O le sini mo le genetic algorithm o le faʻaitiitia o le averesi o le latency o le ala taua.
- O lona uiga, o le taimi e alu ai talu mai le lolomiina o Lidar Data seia oʻo ina maeʻa e le Object Collision Estimator lana galuega.
- O le ata o loʻo faʻaalia ai le auala taua na taumafai a matou suʻesuʻega e faʻamalieina
O le fa'ata'ita'iga fa'atafe
Klepsydra Streaming Distribution Optimizer (SDO)
- E sili ona lelei le fesuiaiga o le tele-core o le streaming executor pe a sili atu le faʻasoaina o uta o nodes i totonugalemu ma mafai ona faia se eseesega tele i tulaga o le taofiofia, faʻaogaina o le eletise ma faʻamaumauga.
- Ae ui i lea, o le faʻafanua o cores e le faʻatauvaʻa ma e manaʻomia se faiga faʻapitoa. O se auala e mafai ai o le fa'amalamalamaina o se galuega fa'atatau e fuaina ai le fa'atinoga o le faiga fa'avae i luga o le fa'atonuga autu.
- E mafai ona fa'aogaina se genetic algorithm e fa'amalieina ai le fa'atonuga autu e ala i le fa'ata'ita'i fa'ata'ita'iina o fa'aputuga eseese ma filifili mea e fa'atino lelei e tusa ai ma le galuega fa'atatau. E fa'aauau pea lenei faiga se'ia maua se fa'atulagaga sili ona lelei.
- O lenei faiga e mafai ai ona sili atu le faʻaogaina o le tele-core system ma faʻamautinoa o loʻo tufatufa atu le uta i le auala sili ona lelei.
I'uga Aotelega
- Mo galuega laiti node, o le lavelave faaopoopo e le faaliliu i ni taunuuga sili atu. O le filo e tasi, e matua faigofie lava, e sili atu nai lo isi o le au faʻatinoina.
- Faʻateleina le mamafa o galuega, o le Streaming Executor o le faʻatonu sili lea ona sosoo ai ma le Static Single Threaded Executor.
- Na fa'amoemoeina o le Streaming Executor e sili atu le lelei nai lo le filo e tasi, talu ai e le suia e le talosaga lona topology a'o tamoe. Ua faaalia ai o le tulaga moni lava lea
- I'uga mo Raspberry PI4
- Faʻapena faʻatuputeleina faʻatinoga na maua mo Unibap's iX10 ma Teledyne's LS1046
Fa'ai'uga
Aotelega
- O lenei tusiga o loʻo tuʻuina atu ai se faʻataʻitaʻiga fou i le faʻataʻitaʻiina o le ROS2 faʻataʻitaʻiga faʻataʻitaʻiga e tuʻufaʻatasia uma le faʻaogaina o le ROS2 executor executor e leai se loka, ma le faʻaogaina o genetic algorithms e faʻamalieina ai le tufatufaina atu o le utaina o le robotic applications i totonu o pusa avanoa i le komepiuta faʻamoemoe.
- O lenei tu'ufa'atasiga ua fa'amaonia e aoga tele mo faiga e mamafa le uta fa'atatau, pei o le faiga fa'asino o lo'o fa'amatalaina i luga. Ole aoga autu ole su'esu'ega na tu'uina atu o lona fetuutuuna'i i fa'aoga eseese: eseese ROS2 node topologies e mafai ona fa'avavevave e fa'aoga ai le fa'agaioia fa'aoso fa'atasi ai ma le fa'ata'ita'iina o kenera, o se tasi lea o lu'itau e sili ona talanoaina i le ROS2.
Galuega i le Lumanai
Aotelega
- Ae mo le galuega i le lumanaʻi o lenei suʻesuʻega, e tele vaega e tatau ona aofia ai i le faʻatonuga faʻafefe:
- lagolago i le lotomaualalo ma taʻavale,
- tatala puna tatala o le tasi-autu streaming executor ma
- le fa'aogaina o le sensor multiplexer fa'apea fo'i le fa'alavelave fa'alavelave mo autu ma le tele o tagata fai saofaga.
- RISC-V su'ega fausaga
Pepa / Punaoa
![]() |
Klepsydra ROS2 Multi Core Ring Buffer Executor [pdf] Taiala mo Tagata Fa'aoga ROS2 Tele Autu Mama Fa'atino Fa'apolopolo, ROS2, Tele Autu Mama Fa'apolokalame Fa'atonu, Fa'amama Fa'amama, Fa'atonu Fa'apolopolo, Fa'atino |