
Salamu kwa jumuiya ya Habr! Hivi majuzi niliandika juu ya bodi yetu ya nguzo ya toleo la kwanza []. Na leo nataka kukuambia jinsi tulivyofanya kazi kwenye toleo kumbukumbu ya ufikiaji bila mpangilio.
Tunapenda seva ndogo ambazo zinaweza kutumika kwa maendeleo ya ndani na upangishaji wa ndani. Tofauti na kompyuta za mezani au kompyuta ndogo, seva zetu zimeundwa kufanya kazi 24/7, zinaweza kuunganishwa haraka, kwa mfano, kulikuwa na wasindikaji 4 kwenye nguzo, na baada ya dakika 5 kulikuwa na wasindikaji 16 (hakuna vifaa vya ziada vya mtandao) na haya yote. katika hali ya kompakt kimya na yenye ufanisi wa nishati.
Usanifu wa seva zetu unategemea kanuni ya nguzo ya ujenzi, i.e. tunafanya bodi za nguzo ambazo, kwa kutumia mtandao wa ethernet kwenye ubao, kuunganisha modules kadhaa za kompyuta (wasindikaji). Ili kurahisisha, bado hatutengenezi moduli zetu za kompyuta, lakini tumia Raspberry Pi Compute Modules na kwa kweli tulitarajia moduli mpya ya CM4. Lakini, kila kitu kilikwenda kinyume na mipango na kipengele chao kipya na nadhani wengi wamekatishwa tamaa.
Chini ya kukata, jinsi tulivyotoka V1 hadi V2 na jinsi tulilazimika kutoka na kipengee kipya cha fomu ya Raspberry Pi CM4.
Kwa hiyo, baada ya kuunda nguzo kwa nodes 7, maswali ni - ni nini kinachofuata? Jinsi ya kuongeza thamani ya bidhaa? 8, 10 au 16 nodi? Watengenezaji wa moduli gani? Kufikiria juu ya bidhaa kwa ujumla, tuligundua kuwa jambo kuu hapa sio idadi ya nodi au mtengenezaji ni nani, lakini kiini cha nguzo kama kizuizi cha ujenzi. Tunahitaji kuangalia kwa kiwango cha chini cha jengo hilo
kwanza, itakuwa nguzo na wakati huo huo kuwa na uwezo wa kuunganisha disks na bodi za upanuzi. Kizuizi cha nguzo kinapaswa kuwa nodi ya msingi inayojitosheleza na yenye anuwai ya chaguzi za upanuzi.
pili, ili vitalu vya chini vya nguzo vinaweza kuunganishwa kwa kila mmoja kwa kujenga makundi ya ukubwa mkubwa na hivyo kuwa na ufanisi katika suala la bajeti na kasi ya kuongeza. Kasi ya kuongeza lazima iwe haraka zaidi kuliko kuunganisha kompyuta za kawaida kwenye mtandao na bei nafuu zaidi kuliko vifaa vya seva.
Tatu, vitengo vya chini vya nguzo vinapaswa kuwa compact vya kutosha, simu, ufanisi wa nishati, gharama nafuu na sio kudai kwa hali ya uendeshaji. Hii ni moja ya tofauti muhimu kutoka kwa rafu za seva na kila kitu kilichounganishwa nao.
Tulianza kwa kuamua idadi ya nodi.
Idadi ya nodi
Kwa hukumu rahisi za kimantiki, tuligundua kuwa nodi 4 ndio chaguo bora kwa kizuizi cha chini cha nguzo. Nodi 1 sio nguzo, nodi 2 hazitoshi (1 bwana 1 mfanyakazi, hakuna uwezekano wa kuongeza ndani ya kizuizi, haswa kwa chaguzi tofauti), nodi 3 zinaonekana sawa, lakini sio nguvu nyingi za 2 na kuongeza ndani. block ni mdogo, nodi 6 zinakuja kwa bei karibu kama nodi 7 (kutoka kwa uzoefu wetu hii tayari ni bei kubwa ya gharama), 8 ni nyingi, haifai katika fomu ya mini ya ITX na suluhisho la gharama kubwa zaidi la PoC.
Nodi nne kwa kila block inachukuliwa kuwa maana ya dhahabu:
- nyenzo kidogo kwa kila bodi ya nguzo, kwa hivyo ni nafuu kutengeneza
- nyingi ya 4, jumla ya 4 vitalu kutoa 16 wasindikaji kimwili
- mzunguko imara 1 bwana na wafanyakazi 3
- tofauti nyingi tofauti, jumla-compute + moduli za kukokotoa zilizoharakishwa
- kipengele cha fomu cha mini cha ITX kilicho na viendeshi vya SSD na kadi za upanuzi
Kuhesabu moduli
Toleo la pili linatokana na CM4, tulifikiri kwamba itatolewa katika kipengele cha fomu ya SODIMM. Lakini…
Tulifanya uamuzi wa kutengeneza ubao wa binti wa SODIMM na kuunganisha CM4 moja kwa moja kwenye moduli ili watumiaji wasilazimike kufikiria kuhusu CM4.

Moduli ya Turing Pi Compute Inasaidia Raspberry Pi CM4
Kwa ujumla, katika kutafuta modules, soko zima la modules za kompyuta lilifunguliwa kutoka kwa modules ndogo na 128 MB RAM hadi 8 GB RAM. Moduli zilizo na RAM ya GB 16 na zaidi ziko mbele. Kwa mwenyeji wa maombi makali kulingana na teknolojia za asili za wingu, 1 GB ya RAM tayari haitoshi, na kuonekana kwa hivi karibuni kwa moduli za 2, 4 na hata 8 GB ya RAM hutoa nafasi nzuri ya ukuaji. Hata walizingatia chaguo na moduli za FPGA za programu za kujifunza kwa mashine, lakini usaidizi wao umecheleweshwa kwa sababu mfumo ikolojia wa programu haujatengenezwa. Wakati wa kusoma soko la moduli, tulikuja na wazo la kuunda kiolesura cha ulimwengu kwa moduli, na katika V2 tunaanza kuunganisha kiolesura cha moduli za kompyuta. Hii itawaruhusu wamiliki wa toleo la V2 kuunganisha moduli kutoka kwa watengenezaji wengine na kuzichanganya kwa kazi mahususi.
V2 inasaidia laini nzima ya Raspberry Pi 4 Compute Module (CM4), ikijumuisha matoleo ya Lite na moduli za RAM za GB 8.

Pembeni
Baada ya kuamua muuzaji wa modules na idadi ya nodes, tulikaribia basi ya PCI ambayo pembeni ziko. Basi ya PCI ndio kiwango cha vifaa vya pembeni na hupatikana karibu na moduli zote za kompyuta. Tuna nodi kadhaa, na kwa hakika, kila nodi inapaswa kuwa na uwezo wa kushiriki vifaa vya PCI katika hali ya ombi la wakati mmoja. Kwa mfano, ikiwa ni diski iliyounganishwa na basi, basi inapatikana kwa nodes zote. Tulianza kutafuta swichi za PCI zilizo na usaidizi wa seva pangishi nyingi na tukagundua kuwa hakuna hata moja inayolingana na mahitaji yetu. Masuluhisho haya yote yalidhibitiwa kwa seva pangishi 1 au wapangishi wengi, lakini bila hali ya maombi ya wakati mmoja kwa vituo vya mwisho. Tatizo la pili ni gharama kubwa ya $50 au zaidi kwa chip. Katika V2, tuliamua kuahirisha majaribio na swichi za PCI (tutarudi kwao baadaye tunapokua) na tukafuata njia ya kugawa jukumu kwa kila nodi: nodi mbili za kwanza zilifunua bandari ndogo ya PCI kwa kila nodi, nodi ya tatu. wazi 2-bandari 6 Gbps kidhibiti SATA . Ili kufikia diski kutoka kwa nodes nyingine, unaweza kutumia mfumo wa faili wa mtandao ndani ya nguzo. Kwa nini isiwe hivyo?
Sneakpeek
Tuliamua kushiriki baadhi ya michoro ya jinsi uzuiaji wa chini kabisa wa nguzo ulivyobadilika baada ya muda kupitia majadiliano na tafakari.



Kama matokeo, tulifika kwenye kitengo cha nguzo kilicho na nodi 4 za pini 260, bandari 2 ndogo za PCIe (Mwa 2), bandari 2 za SATA (Mwa 3). Ubao una Swichi Inayosimamiwa ya Tabaka-2 na usaidizi wa VLAN. Bandari ya mini ya PCIe imeondolewa kwenye node ya kwanza, ambayo unaweza kufunga kadi ya mtandao na kupata bandari nyingine ya Ethernet au modem ya 5G na kufanya router kwa mtandao kwenye nguzo na bandari za Ethernet kutoka node ya kwanza.

Basi la nguzo lina vipengele zaidi, ikiwa ni pamoja na uwezo wa kumulika moduli moja kwa moja kupitia nafasi zote na bila shaka viunganishi vya FAN kwenye kila nodi yenye udhibiti wa kasi.
Maombi
Miundombinu ya makali ya programu na huduma zinazojiendesha yenyewe
Tulibuni V2 kuwa kiwango cha chini kabisa cha ujenzi kwa miundombinu ya kiwango cha juu cha wateja/kibiashara. Ukiwa na V2, ni nafuu kuanza uthibitisho-wa-dhana na ukubwa unapokua, ukisambaza taratibu programu ambazo ni za gharama nafuu na zinazofaa kupangisha ukingoni. Vitalu vya nguzo vinaweza kuunganishwa pamoja ili kujenga makundi makubwa zaidi. Hii inaweza kufanyika hatua kwa hatua bila hatari kubwa ya kuanzishwa
taratibu. Tayari leo kuna idadi kubwa ya maombi ya biashara, .
Kituo cha kazi cha ARM
Kwa hadi GB 32 za RAM kwa kila kundi, nodi ya kwanza inaweza kutumika kwa toleo la kompyuta la OS (kwa mfano Ubuntu Desktop 20.04 LTS) na nodi 3 zilizobaki za mkusanyiko, majaribio, na utatuzi wa matatizo, pamoja na kutengeneza suluhisho asilia za wingu kwa makundi ya ARM. Kama nodi ya CI/CD kwa miundombinu ya pembeni ya ARM katika uzalishaji.
Kundi la Kurusha la V2 lenye moduli za CM4 linakaribia kufanana kiusanifu (tofauti katika matoleo madogo ya ARMv8) hadi kuunganishwa kulingana na matukio ya AWS Graviton. Kichakataji cha moduli ya CM4 hutumia usanifu wa ARMv8 ili uweze kuunda picha na programu za matukio ya AWS Graviton 1 na 2, ambayo yanajulikana kuwa nafuu zaidi kuliko matukio ya x86.
Chanzo: mapenzi.com
