Klepsydra-nembo

Klepsydra ROS2 Multi Core Ring Buffer Kitekelezaji

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-bidhaa-picha

Taarifa ya Bidhaa

Vipimo

  • Uzani mwepesi, wa msimu, na unaolingana na mifumo ya uendeshaji inayotumika zaidi
  • Programu-jalizi ya ROS2 ya Kitekelezaji yenye uwezo wa kuchakata hadi mara 10 zaidi ya data na kupunguza hadi 50% ya matumizi ya CPU.
  • GPU (Kitengo cha Uchakataji wa Picha) kwa ulinganifu wa juu na kasi ya uchakataji wa data iliyoongezeka na matumizi ya GPU
  • Klepsydra AI
  • Klepsydra SDK
  • Klepsydra GPU
  • Uwezo wa kutiririsha
  • Programu-jalizi ya mtekelezaji wa Klepsydra ROS2 ulimwenguni kote

Maagizo ya Matumizi ya Bidhaa

  1. Muktadha: Usindikaji Sambamba
    Bidhaa hii imeundwa kushughulikia changamoto zinazohusiana na uchakataji wa ubaoni katika programu za angani, ambapo matumizi ya CPU, kiasi cha data na mahitaji ya nishati yanatia wasiwasi. Inatoa suluhisho kwa vifaa vya kisasa na programu ya zamani kwa kushughulikia viwango vya data vya kati kwa ufanisi.
  2. Linganisha na Ubadilishane
    "Linganisha na Ubadilishane" ni algoriti inayotumika katika usomaji mwingi ili kufikia usawazishaji. Inalinganisha yaliyomo kwenye eneo la kumbukumbu na thamani fulani na, ikiwa tu ni sawa, hurekebisha yaliyomo kwenye eneo la kumbukumbu hadi thamani mpya iliyotolewa. Operesheni hii inafanywa kama operesheni moja ya atomiki. Bidhaa hutekeleza kanuni hii kama sehemu ya utendakazi wake.

Faida na Hasara za Kupanga Bila Kufunga
Bidhaa hutumia mbinu za programu bila kufuli, ambazo zina advantages na disadvantages

  • Faida:
    • Imepunguza matumizi ya CPU
    • Utunzaji mzuri wa kiasi cha data
  • Hasara:
    • Utata katika utekelezaji
    • Inahitaji usaidizi kutoka kwa maunzi ya msingi (vifaa vya kisasa zaidi vinaauni programu bila kufuli)

Mtekelezaji wa ROS2
Bidhaa hii inajumuisha Kitekelezaji cha ROS2 ambacho huratibu programu ya ROS2 kwa kudhibiti upigaji simu wa usajili, ujumbe, huduma, vipima muda na nodi. Hutumia ujumbe kutoka kwa foleni za msingi za DDS za vifaa vya kati na kuzituma kwa ajili ya kutekelezwa kwenye mojawapo ya nyuzi. Kitekelezaji kinaweza kusanidiwa kutekeleza urejeshaji simu kwa kufuatana au kwa sambamba.

Watekelezaji wa hali ya juu wa ROS2
Bidhaa hiyo inajumuisha Watekelezaji wa hali ya juu wa ROS2 ambao hutoa mikakati tofauti ya utekelezaji.

  • Mtekelezaji Mwenye Threaded Moja: Hutekeleza upigaji simu kwa kufuatana na mara kwa mara huchanganua muundo wa programu ili kusasisha nodi, usajili, huduma, n.k.
  • Mtekelezaji wa nyuzi nyingi: Hutekeleza mwito wa kurudi nyuma kwa sambamba na huchanganua muundo wa programu mara kwa mara ili kusasisha maelezo ya tatizo.

Mtekelezaji wa Utiririshaji
Bidhaa huanzisha kitekelezaji cha utiririshaji ambacho hutofautiana na kitekelezaji cha nyuzi katika vipengele kadhaa.

  • Haitengenezi upya orodha inayoweza kutekelezwa kwa kila marudio.
  • Nodi zote, vikundi vya kupiga simu, vipima muda, usajili, n.k. huundwa wakati wa ujenzi.
  • Usajili wote ndani ya nodi hutekelezwa kwenye mazungumzo sawa, bila kujali idadi ya cores zinazotumiwa kwa usanidi wa kutiririsha.
  1. Mtekelezaji wa Utiririshaji wa Klepsydra
    Kitekelezaji cha utiririshaji cha bidhaa kimeundwa mahususi kushughulikia mada za utiririshaji kwa kutumia jozi za wachapishaji-wafuatiliaji. Inatoa ujumbe kwa ufanisi kwa waliojisajili katika nodi zote, zilizopokelewa kutoka kwa programu ya kati kupitia rmw. Kipindi cha matukio hudhibiti mada hizi, na kuhakikisha mtiririko wa data kwa njia laini.
  2. Ufalme wa Klepsydra
    Ufalme wa Klepsydra ni sehemu ya mtekelezaji wa utiririshaji anayefanya kazi kama mratibu. Inaratibu utekelezaji wa wazalishaji na watumiaji ndani ya usanidi wa utiririshaji.
  3. Mtayarishaji
    Mtayarishaji ana jukumu la kutoa data ambayo itatumiwa na waliojisajili. Bidhaa inasaidia wazalishaji wengi katika usanidi wa utiririshaji.
  4. Mtumiaji
    Mtumiaji ana jukumu la kuchakata na kutumia data iliyotolewa na wazalishaji. Bidhaa inasaidia watumiaji wengi katika usanidi wa utiririshaji.

Maswali Yanayoulizwa Mara Kwa Mara (FAQ)

  1. Ni mifumo gani ya uendeshaji inaendana na bidhaa?
    Bidhaa hiyo inaendana na mifumo ya uendeshaji inayotumika sana.
  2. Je, mchakato wa bidhaa unaweza kutumia data ngapi ikilinganishwa na mbinu za kitamaduni?
    Bidhaa hii ina uwezo wa kuchakata hadi data mara 10 zaidi na kupunguza hadi 50% ya matumizi ya CPU ikilinganishwa na mbinu za jadi.
  3. Je, bidhaa hutumia usawazishaji wa GPU?
    Ndiyo, bidhaa hutumia GPU (Kitengo cha Uchakataji wa Picha) kwa ulinganifu wa juu, ambao huongeza kasi ya usindikaji wa data na matumizi ya GPU.

Mbinu ya Uboreshaji Nje ya Mtandao kwa Programu za Multi-Core ROS2: Kitekelezaji cha ROS2 cha Kipete cha Multi-Core

Mkutano wa ROS Stuttgart 2023

Dk Pablo Ghiglino ( pablo.ghiglino@klepsydra.com )

Mtekelezaji wa Utiririshaji wa ROS2

MUHTASARI: USAKATAKA SAMBAMBA

  • Changamoto kwenye usindikaji wa bodiKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Vifaa vya kisasa na programu ya zamani:
    • Kompyuta huwa na idadi kubwa ya data ya chini hadi ya kati
    • Matumizi duni ya rasilimali
    • Nguvu nyingi kwa usindikaji mdogo wa data

Matokeo ya programu za Nafasi

  • Hitilafu za mara kwa mara za misheni kutokana na programu
  • Upatikanaji wa data ya vitambuzi kutoka Duniani unatumia muda.
  • Satelaiti hujitahidi kukidhi mahitaji ya nguvuKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)

KULINGANISHA NA BADILISHANA

  • Linganisha-na-ubadilishane (CAS) ni maagizo yanayotumiwa katika usomaji mwingi ili kufikia ulandanishi. Inalinganisha yaliyomo kwenye eneo la kumbukumbu na thamani fulani na, ikiwa tu ni sawa, inarekebisha yaliyomo kwenye eneo la kumbukumbu hadi thamani mpya iliyotolewa. Hii inafanywa kama operesheni moja ya atomiki.
  • Linganisha-na-Swap imekuwa sehemu muhimu ya usanifu wa IBM 370 tangu 1970.
  • Maurice Herlihy (1991) alithibitisha kuwa CAS inaweza kutekeleza zaidi ya algoriti hizi kuliko kusoma, kuandika, na kuleta na kuongeza kwa atomiki.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

FAIDA NA HASARA ZA KUPANGA BILA KUFUNGWAKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)

Faida

  • Utumiaji mdogo wa CPU unahitajika
  • Muda wa chini wa kusubiri na upitishaji wa data wa juu
  • Ongezeko kubwa la uamuzi

Hasara

  • Mbinu ngumu sana ya kupanga programu
  • Inahitaji kichakataji kilicho na maagizo ya CAS (90% ya soko wanayo, ingawa)

Klepsydra pete-buffer

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

BIDHAA
Nyepesi, msimu na inaendana na mifumo ya uendeshaji inayotumika zaidi

  • SDK - Seti ya Kukuza Programu
    Boresha usindikaji wa data ukingoni kwa programu za jumla na kanuni za kina za kichakataji
  • AI - Akili ya Bandia
    Injini ya utendaji wa juu wa mtandao wa neva (DNN) ili kupeleka AI yoyote au moduli ya kujifunza mashine ukingoni
  • Programu-jalizi ya Mtekelezaji wa ROS2
    Kitekelezaji cha ROS2 kinaweza kuchakata hadi data mara 10 zaidi na kupunguza hadi 50% ya matumizi ya CPU.
  • GPU (Kitengo cha Uchakataji wa Picha)
    Usambamba wa juu wa GPU ili kuongeza kasi ya usindikaji wa data na matumizi ya GPUKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)

Muktadha: ROS1 katika Nafasi

  • Faida:
  • Huwasha uhuru, mtazamo na udhibiti anganiKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Inabadilika, ya kawaida, na inayoungwa mkono na jumuiya kubwa.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)
  • Exampchini:
    • Robonaut wa NASA 2 (R2) - Wanaanga waliosaidiwa kwenye ISS
    • Mwanaanga wa NASA - Shughuli za uhuru kwenye ISS
    • PANDA - Satelaiti za Spherical kwa utafiti juu ya ISS
    • Dextre - Mkono wa roboti kwa ghiliba na ukarabati kwenye ISS
    • Google Lunar XPRIZE - Inatumika kwa misheni ya rover ya mweziKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

Muktadha: Nafasi-ROS

  • Mfumo wa ROS katika uchunguzi wa anga na roboti
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)
  • Imehitimu kwa kiasi kwa matumizi ya Nafasi
  •  Exampchini:
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (5)
    • Wasaidizi wa roboti kwa wanaanga
    • Ugunduzi wa sayari na rovers zinazojiendesha
    • Uendeshaji na udhibiti wa satelaiti
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)
    • Kutia nanga kwa vyombo vya anga vya juu
    • Huduma na matengenezo kwenye obiti
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (7)
  • Faida:
    • Huwasha uhuru, mawasiliano, na mtazamo
    • Huongeza kasi ya ukuzaji na uendeshaji wa misheni ya anga.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

Mtekelezaji wa ROS2 Amefafanuliwa

Mtekelezaji huratibu na kuratibu programu ya ROS2 kwa kudhibiti upigaji simu wa usajili, ujumbe, huduma, vipima muda na nodi. Katika ROS2, mtekelezaji hahifadhi foleni yake mwenyewe ya ujumbe na simu, lakini badala yake hutumia ujumbe kutoka kwa foleni za msingi za DDS za vifaa vya kati, na kisha kuituma kwa utekelezaji kwa moja ya nyuzi.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (9)

Hali ya juu

Watekelezaji wa ROS2

  • Kitekelezaji chenye uzi mmoja: Mfululizo mmoja huuliza kifaa cha kati na kutekeleza mwito kwa mfuatano. Kisha huchanganua muundo na kusasisha nodi, usajili, huduma, n.k.
  • Kitekelezaji cha Uzi moja tuli, ambapo uchanganuzi na ufafanuzi wa muundo unatekelezwa mara moja tu, wakati wa ujenzi. Nodi zote, vikundi vya kupiga simu, vipima muda, usajili n.k. huundwa kabla ya spin() kuitwa.
  • Kitekelezaji chenye nyuzi nyingi huunda idadi ya nyuzi ambazo zitatekeleza urudishaji simu kwa sambamba. Sawa na mtekelezaji mmoja aliye na nyuzi, itachanganua muundo wa programu mara kwa mara na kusasisha maelezo ya tatizo.

Mtekelezaji wa utiririshaji Zaidiview

  • Kitekelezaji cha Utiririshaji hutumia Kitanzi cha Tukio cha Klepsydra kuwasilisha ujumbe kwa waliojisajili katika nodi zote, ambazo zinatoka kwa programu ya kati kupitia rmw. Kipindi cha matukio hudhibiti mada hizi kwa kutumia jozi za wachapishaji wanaofuatilia.
  • Kitekelezaji cha utiririshaji kinatenda sawa na kitekelezaji cha uzi mmoja tuli katika vipengele kadhaa. Kwanza, haitengenezi upya orodha inayoweza kutekelezwa kwa kila marudio. Nodi zote, vikundi vya kupiga simu, vipima muda, usajili n.k. huundwa wakati wa ujenzi. Pili, usajili wote ndani ya nodi hutekelezwa kwenye uzi mmoja, bila kujali idadi ya cores zinazotumika kwa usanidi wa utiririshaji.

Mtekelezaji wa Utiririshaji wa Klepsydra

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

Mtekelezaji wa utiririshaji

Je, inafanyaje kazi?

  • Jozi ya mchapishaji-mfuatiliaji imeundwa kwa kila mada inayohitajika na nodi fulani ya ROS2.
  • Kwa ndani, kila jozi ya mchapishaji-mfuatiliaji inatambuliwa na vigezo viwili: jina la nodi na jina la mada. Kwa maneno mengine, nodi mbili tofauti zinazochapisha kwa mada sawa zitasimamiwa kwa kujitegemea.
  • Jozi zote za wachapishaji-wafuatiliaji zinazohusiana na mada ambazo ni za nodi sawa zinadhibitiwa na kitanzi sawa cha tukio.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (10)

Kitekelezaji cha utiririshaji Single-core dhidi ya msingi mwingiKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

  • Advantage ya mtekelezaji wa utiririshaji ni kwamba hakuna haja ya usimamizi wa maandishi mengi ya wanaojiandikisha kwa sababu zote zinasimamiwa na uzi wa kitanzi cha tukio kinachohusika, ambacho ni cha kawaida kwa msingi mmoja na msingi mwingi.
  • Ya kwanza inafanya kazi kwa njia sawa na mtekelezaji tuli wa nyuzi moja, kwa kuwa waliojisajili katika nodi zote wanavutiwa na uzi mmoja.

Kigezo cha Utendaji: Mfumo wa Ref

Kiwango cha Utendaji

  • Usanidi wa Vigezo vya Utiririshaji wa Klepsydra:
    • Kigezo kilitokana na mfumo wa marejeleo wa Autoware. Inaiga programu halisi ya kuendesha gari.
    • Vipimo vyote vilichukuliwa kwa kutumia Raspberry Pi 4B yenye: ROS galactic, Ubuntu 20.04 na GB 4 ya kondoo dume, masafa ya mara kwa mara ya 1.50GHz.
    • Usanidi unaooana wa mfumo wa marejeleo, na bila kutengwa kwa CPU
  • Vichakataji vilivyojaribiwa:
    • Raspberry PI 4 (kichakataji cha kumbukumbu cha RTWG)
    • IX10 ya Unibap (NASA na Blue Origin Testbed)
    • Teledyne e2v LS1046

Kiwango cha Utendaji

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)

  • Lengo la algorithm ya maumbile ni kupunguza muda wa wastani wa njia muhimu.
  • Hiyo ni, muda unaochukua tangu kuchapishwa kwa Data ya Lidar hadi Object Collision Estimator ikamilishe kazi yake.
  • Kielelezo kinaonyesha njia muhimu ambayo utafiti wetu ulijaribu kuboresha

Mtekelezaji wa utiririshaji
Kiboreshaji cha Usambazaji wa Utiririshaji wa Klepsydra (SDO)

  • Tofauti za msingi nyingi za kitekelezaji cha utiririshaji hufanya kazi vizuri zaidi wakati usambazaji wa mzigo wa nodi kati ya core umeboreshwa na unaweza kuleta tofauti kubwa katika suala la muda, matumizi ya nguvu na upitishaji wa data.
  • Walakini, uchoraji wa ramani wa cores sio mdogo na unahitaji njia ya kimfumo. Njia inayowezekana ni kufafanua kazi inayolengwa ambayo hupima utendaji wa mfumo kulingana na usanidi wa msingi.
  • Algorithm ya kijenetiki inaweza kisha kutumiwa kuboresha usanidi wa msingi kwa kujaribu mara kwa mara usanidi tofauti na kuchagua zile zinazofanya vizuri kulingana na utendakazi lengwa. Utaratibu huu unaendelea hadi usanidi bora upatikane.
  • Mbinu hii inaruhusu matumizi ya ufanisi zaidi ya mfumo wa msingi nyingi na kuhakikisha kwamba mzigo unasambazwa kwa njia bora zaidi.

Muhtasari wa Matokeo

  • Kwa kazi ndogo ya nodi, utata ulioongezwa hautafsiri kwa matokeo bora. Wimbo tuli uliounganishwa, kwa kuwa ni rahisi sana, huwashinda watekelezaji wengine.
  • Kwa kuongeza mzigo wa kazi, Kitekelezaji cha Utiririshaji ndiye mtekelezaji bora zaidi akifuatwa na Kitekelezaji Kina Single Yenye Threaded.
  • Ilitarajiwa kuwa Kitekelezaji cha Utiririshaji kilifanya vyema zaidi kuliko thread moja, kwa kuwa programu haibadilishi topolojia yake inapoendeshwa. Inaonyeshwa kuwa hii ni kweliKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (13)
  • Matokeo ya Raspberry PI4
  • Ongezeko sawa la utendakazi lililopatikana kwa iX10 ya Unibap na LS1046 ya TeledyneKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (14)

Hitimisho

Muhtasari

  • Makala haya yanawasilisha mbinu mpya ya kuboresha kielelezo cha utekelezaji cha ROS2 ambacho kinachanganya utekelezaji wa kitekelezaji wa kitekelezaji wa ROS2 bila kufuli bila kufuli, na utumiaji wa kanuni za kijeni ili kuboresha usambazaji wa mzigo wa utumaji wa roboti kwenye chembe zinazopatikana kwenye kompyuta lengwa.
  • Mchanganyiko huu umethibitishwa kufanya kazi kwa ufanisi sana kwa mfumo wenye mzigo mzito wa kukokotoa, kama mfumo wa marejeleo uliofafanuliwa hapo juu. Faida kuu ya utafiti uliowasilishwa ni uwezo wake wa kubadilika kwa matumizi tofauti: toolojia tofauti za nodi za ROS2 zinaweza kuharakishwa kwa kutumia kitekelezaji cha utiririshaji pamoja na uboreshaji wa kinasaba, ambayo ni mojawapo ya changamoto zinazojadiliwa zaidi katika ROS2.

Kazi ya Baadaye

Muhtasari

  • Kuhusu kazi ya baadaye ya utafiti huu, kuna vipengele kadhaa vya kujumuishwa katika mtekelezaji wa utiririshaji:
    • msaada kwa unyenyekevu na rolling,
    • kutolewa kwa chanzo wazi cha mtekelezaji wa utiririshaji wa msingi mmoja na
    • matumizi ya kiboreshaji cha sensorer pamoja na kitanzi cha tukio kwa mada zilizo na wasajili kadhaa.
    • Upimaji wa usanifu wa RISC-V

Nyaraka / Rasilimali

Klepsydra ROS2 Multi Core Ring Buffer Kitekelezaji [pdf] Mwongozo wa Mtumiaji
Kitekelezaji cha Bafa ya Pete ya ROS2 Multi Core, ROS2, Kitekelezaji cha Bafa ya Pete nyingi za Msingi, Kitekelezaji cha Bafa ya Pete, Kitekelezaji Buffer, Kitekelezaji

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *