Муаллифон:
(1) Tianyi Cui, Донишгоҳи Вашингтон ([email protected]);
(2) Ченсингю Чжао, Донишгоҳи Вашингтон ([email protected]);
(3) Вей Чжан, Microsoft ([email protected]);
(4) Кайюан Чжан, Донишгоҳи Вашингтон ([email protected]).
Эзоҳ аз муҳаррир: Ин қисми 1 аз 6 тадқиқотест, ки дар он кӯшишҳои оптимизатсияи мувозинати сарбории қабати 7-ро тафсилот медиҳад. Боқимондаро дар зер хонед.
4.2 Ҳаҷми интиқол
4.3 Нигоҳубини ниҳоӣ
4.4 Арзёбии манфиатҳои усулҳои асосӣ
4.5 Сарбории кории воқеӣ
Тавозуни сарборӣ ба таври васеъ дар дохили абрҳои имрӯза барои паҳн кардани дархостҳои шабакавӣ дар серверҳои маркази додаҳо истифода мешаванд. Бо дарназардошти истифодаи васеъи тавозуни сарборӣ ва хароҷоти амалиётии онҳо, як қатор кӯшишҳо ба баланд бардоштани самаранокии онҳо тавассути татбиқи мантиқи мувозинати сарбории Layer-4 дар ядро ё бо истифода аз суръатбахшии сахтафзор равона карда шуданд. Ин кор меомӯзад, ки оё қобилияти мувозинати сарбории Layer-7 мураккабтар ва ба пайвастшавӣ нигаронидашуда низ метавонад аз суръатбахшии сахтафзор баҳра барад. Аз ҷумла, мо интиқоли қобилияти мувозинати сарборӣ ба SmartNIC-ҳои барномарезишавандаро ҳадаф қарор медиҳем. Мо бо истифода аз се идеяи асосӣ хароҷот ва самаранокии энергетикии SmartNIC-ро пурра истифода мебарем. Аввалан, мо баҳс мекунем, ки стеки пурра ва мураккаби TCP/IP барои мувозинатҳои сарбории Layer-7 талаб карда намешавад ва ба ҷои он агенти интиқолдиҳандаи сабукро дар SmartNIC пешниҳод мекунем. Дуюм, мо сохторҳои идоракунии маълумотро бо дараҷаи баланди ҳамзамон бо синхронизатсияи ҳадди аққал ҳангоми иҷро дар SmartNIC-ҳои бисёрқабата таҳия мекунем. Ниҳоят, мо тавсиф мекунем, ки чӣ гуна мантиқи мувозинати сарборӣ бо истифода аз суръатбахшҳои коркарди бастаҳои фармоишӣ дар SmartNICs метавон суръат гирифт. Мо прототипи Laconic-ро дар ду намуди сахтафзори SmartNIC таҳия мекунем, ки бо истифода аз ҳама ядроҳо дар BlueField-2 ба беш аз 150 Гбит / сония гузаранда ноил мешавем, дар ҳоле ки як ядрои SmartNIC 8,7 маротиба баландтар ва таъхири муқоисашавандаро бо Nginx дар як ядрои x86 ба даст меорад.
Тавозуни сарборӣ як блоки бунёдии марказҳои додаҳо мебошанд, зеро онҳо сарбории хидматрасониро дар коллексияи серверҳои барномавӣ мувозинат мекунанд [38, 45, 46]. Тавозуни сарборӣ дар аввал ҳамчун асбобҳои махсуси сахтафзор сохта шуда буданд, аммо ҳоло маъмулан ҳамчун нармафзоре, ки дар серверҳои молӣ ё VM кор мекунанд, ҷойгир карда мешаванд. Ин модели ҷойгиркунӣ нисбат ба тарҳҳои кӯҳнаи сахтафзор дараҷаи бештар мутобиқсозӣ ва мутобиқшавиро таъмин мекунад, аммо он инчунин метавонад боиси хароҷоти баланд барои провайдерҳои абрӣ ва хидматрасонии барномаҳо гардад, бо назардошти хароҷоти харид ва масрафи энергияи серверҳои таъиноти умумӣ [8]. Хидматҳои барномавӣ аксар вақт барои муттаҳид кардан ва кам кардани истифодаи онҳо аз мувозинатҳои сарборӣ барои ба даст овардани сарфаи хароҷоти дилхоҳ кӯшиш мекунанд [2, 4, 5].
Бо дарназардошти истифодаи васеъ ва арзиши тавозуни сарборӣ, як қатор кӯшишҳо ба баланд бардоштани самаранокии онҳо, бахусус мувозинатҳои сарбории Layer-4 (L4) тавассути ворид кардани мантиқи мувозинати сарборӣ дар қабати поёнтар, эҳтимолан аз ҷониби сахтафзор суръатёфта равона карда шуданд. Катран [16] бо истифода аз рамзи eBPF дар дохили ядро Linux суръат мегирад ва ба ин васила бастаҳо дар дохили ядро монтаж ва коркард карда мешавад ва шумораи гузаришҳоро ба коди тавозуни сарбории сатҳи корбар кам мекунад. ClickNP [32] баъзе ҷанбаҳои мантиқи мувозинати сарбории L4 (махсусан қобилиятҳои ба NAT монанд) дар SmartNIC-и FPGA-ро ҳал мекунад ва аз қобилиятҳои коркарди мувозии дастгоҳҳои FPGA истифода мебарад. SilkRoad [38] омезиши коммутатори барномарезишаванда ва мизбони ниҳоӣ барои нигоҳ доштани ҳолати бо тавозуни сарбории L4 алоқамандро истифода мебарад ва тағироти ҳавопаймои маълумотро вобаста ба амалиёти мувозинати сарборӣ дар дохили лӯлаи коммутатор иҷро мекунад.
Гарчанде ки ин кӯшишҳо дар оптимизатсияи мувозинати сарбории L4, ки трафикро дар қабати шабака мувозинат мекунад, дастовардҳои назаррас ба даст оварданд, хадамоти маркази додаҳо аксар вақт ба қобилиятҳои мувозинати сарборӣ дар қабати барнома такя мекунанд, ки танҳо дар мувозинатҳои сарбории Layer-7 (L7) мавҷуданд. Аз ҷумла, хадамот мехоҳанд ҷараёнро дар асоси атрибутҳои дархости муштарӣ масир кунанд, наздикии сессияро барои дархостҳои муштарӣ нигоҳ доранд, назорати дастрасиро таъмин кунанд ва ғайра [7]. Аммо, ин хусусиятҳо барои мувозинатҳои L7 қабул кардани усулҳои суръатбахшии сахтафзорро, ки барои мувозинатҳои L4 истифода мешаванд, душвортар мегардонад. Мушкилоти асосӣ дар он аст, ки амалиёти мувозинати сарборӣ L7 ба иттилооте, ки дар дохили протоколҳои нақлиёти ба пайваст нигаронидашуда ҷойгир шудааст, асос ёфтааст ва аз ин рӯ, ба назар мерасад, ки агенти коркарди пурраи шабакаро дар мувозинати сарборӣ барои коркарди пайвастҳои TCP/HTTP талаб мекунад. Аз ин рӯ, мувозинатҳои имрӯзаи L7 ҳалли нармафзори умумӣ мебошанд, ки хароҷоти баланди коркардро дар серверҳои молӣ доранд.
Дар ин кор, мо мефаҳмем, ки оё мо метавонем самаранокии мувозинатҳои L7-ро бо истифода аз таҷҳизоти шабакавии барномарезишаванда беҳтар кунем. Мо ба SmartNICs тамаркуз мекунем, ки ядроҳои компютерии таъиноти умумиро, ки бо сахтафзори коркарди бастаҳо мукаммал шудаанд, таъмин мекунанд. SmartNICҳо ҳадафҳои махсусан ҷолибанд, зеро ядроҳои ҳисоббарории онҳо метавонанд мантиқи протоколи ихтиёриро дарбар гиранд, дар ҳоле ки суръатдиҳандаҳои коркарди бастаҳои онҳо метавонанд тағироти ҳавопаймои додаҳоро самаранок иҷро кунанд. Ҳамин тариқ, SmartNIC қобилиятҳои ҳисоббарории анъанавии мизбонро бо қобилиятҳои пайдошудаи коммутаторҳои барномарезишаванда муттаҳид мекунад ва ҳадафи мувофиқ барои тавозуни L7 мебошад. Кори мо инчунин қисман аз густариши афзояндаи SmartNICҳо дар марказҳои додаҳо ҳамчун субстрати ҳисоббарории камхарҷ ва каммасраф барои вазифаҳои шабакавӣ асос ёфтааст.
Ҳангоми борфарорӣ кардани функсияҳои мувозинати сарборӣ ба SmartNICs якчанд мушкилот бояд ҳал карда шаванд. Аввалан, ядроҳои SmartNIC заифанд, бо хотираи маҳдуд муҷаҳҳаз шудаанд ва дар иҷрои ҳисобҳои умумӣ бесамаранд. Ба қадри имкон, мо бояд ба ҷои стекҳои умумӣ ва мукаммали дар дохили ядроҳои ОС мавҷудбуда стекҳои шабакаи сабукро истифода барем. Дуюм, коркарди самараноки чандаслӣ дар SmartNICs ҳамоҳангсозии сабукро барои дастрасӣ ба сохторҳои додаҳои ҳамзамон пешбинӣ мекунад ва ин махсусан муҳим аст, зеро мо мантиқи коркарди шабакаро кам мекунем. Сеюм, истифодаи самараноки суръатдиҳандаҳо барои табдили пакетҳо барои баланд бардоштани қобилияти ҳисоббарории SmartNICs зарур аст.
Мо Laconic- ро тарҳрезӣ ва татбиқ мекунем, ки тавозуни сарбории SmartNIC-ро, ки мушкилоти дар боло зикршударо ҳал мекунад. Ҷузъи асосии системаи мо стеки сабуки шабакавӣ мебошад, ки тарҳи муштараки мантиқи мувозинати сарбории қабати барномаро бо вазифаҳои қабати нақлиётӣ ифода мекунад. Ин стеки сабуки шабака коркарди мураккаби бастаҳоро танҳо дар як зермаҷмӯи бастаҳое иҷро мекунад, ки тавассути тавозуни сарборӣ интиқол дода мешаванд. Барои қисми боқимондаи бастаҳо, стеки шабакавӣ азнавнависии оддии бастаҳоро иҷро мекунад ва ба муштарӣ ва сервер такя мекунад, то эътимоднокии ҳамаҷониба ва назорати фишорро таъмин кунад. Барои SmartNICs бо суръатбахшии коркарди бастаҳо, ин тарҳ имкон медиҳад, ки аксари бастаҳо бо истифода аз муҳаррикҳои коркарди ҷараён дар асоси сахтафзор коркард карда шаванд ва ба ин васила афзоиши назарраси самаранокиро таъмин кунанд. Мо инчунин сохторҳои идоракунии маълумотро таҳия мекунем, ки ҳамзамон хеле зиёданд ва амалиёти гаронбаҳои истисноии мутақобиларо кам мекунанд. Мо қайд мекунем, ки баъзе саҳмҳои тарроҳии мо инчунин ба тарроҳии умумӣ дар асоси сервер дахл доранд, аммо онҳо ба SmartNICs тавассути факторинги роҳи зуд, ки дар муҳаррикҳои бастаи сахтафзор иҷро карда мешаванд, таъсири чандрасонаӣ доранд.
Мо Laconic-ро сохтем ва онро ба ду намуди гуногуни SmartNIC мутобиқ кардем: Marvell LiquidIO3 ва Nvidia BlueField-2. Laconic ҳам Layer-4 ва Layer-7-ро таъмин мекунад ва мантиқи интерпозиционии Layer-7-ро, ки маъмулан истифода мешаванд, барои мувозинат кардани пайвастҳо ба хидматҳои пуштибонӣ амалӣ мекунад. Барои паёмҳои калон, Laconic дар BlueField-2 бо як ядрои ягонаи ARM кор мекунад, метавонад нисбат ба Nginx-и васеъ истифодашаванда, ки дар ядрои пуриқтидори x86 кор мекунад, то 8,7 маротиба баландтар гузарад. Барои паёмҳои хурд, Laconic дар BlueField-2 метавонад қобилияти баландтарро бо таъхири муқоисашаванда ё ҳатто камтар дар муқоиса бо Nginx ба даст орад. Дар LiquidIO3, интиқоли Laconic дар муқоиса бо x86 Nginx 4,5 маротиба зиёдтар аст. Мо инчунин иҷрои Laconic-ро бо сарбории воқеии ҷаҳонӣ нишон медиҳем ва микробенчмаркҳои муфассалро дар бораи манфиатҳои ғояҳои асосӣ пешниҳод мекунем.
Ин коғаз дар архив таҳти иҷозатномаи CC BY-NC-ND 4.0 DEED дастрас аст.