Chagua Lugha

COLA: Usakinishaji Otomatiki wa Pamoja kwa Huduma Ndogo za Wingu

Uchambuzi wa COLA, kiongezaji kipya cha usakinishaji otomatiki kwa programu za huduma ndogo, unaoboresha ugawaji wa VM kwa ujumla ili kupunguza gharama huku ukikidhi malengo ya ucheleweshaji wa mwisho-hadi-mwisho.
apismarket.org | PDF Size: 1.6 MB
Ukadiriaji: 4.5/5
Ukadiriaji Wako
Umekadiria waraka huu tayari
Kifuniko cha Waraka PDF - COLA: Usakinishaji Otomatiki wa Pamoja kwa Huduma Ndogo za Wingu

1. Utangulizi

Mabadiliko kutoka kwa usanifu wa monolith hadi huduma ndogo zilizounganishwa kwa njia nyepesi katika programu za wingu huleta utata mkubwa katika usimamizi wa rasilimali. Wasanidi programu wanapaswa kuamua ni kiasi gani cha rasilimali za kompyuta (k.m., nakala za kontena, VM) kugawa kwa kila huduma ndogo. Uamuzi huu una athari kubwa kwa gharama ya uendeshaji kwa msanidi programu na ucheleweshaji wa mwisho-hadi-mwisho unaohisiwa na mtumiaji wa programu. Mbinu za jadi za usakinishaji otomatiki, kama vile Usakinishaji Otomatiki wa Podi Ulalo (HPA), huziweka kiwango kila huduma ndogo kwa kujitegemea kulingana na vipimo vya ndani kama vile matumizi ya CPU. Hata hivyo, njia hii haifai kikamilifu kwa sababu haizingatii hali ya kutegemeana kwa huduma ndogo ndani ya mtiririko wa kazi wa programu. COLA (Kiongezaji cha Usakinishaji wa Pamoja) inapendekezwa kama suluhisho ambalo hugawa rasilimali kwa pamoja kwenye huduma ndogo zote kwa lengo la kimataifa: kupunguza gharama ya fedha huku ukihakikisha ucheleweshaji wa mwisho-hadi-mwisho wa programu unabaki chini ya lengo maalum.

2. Tatizo la Usakinishaji Otomatiki Unaotegemea Kila Huduma

Usakinishaji otomatiki wa kiwango cha tasnia unaofanya kazi sasa unafanyika kwa njia ya kila huduma ndogo. Kila huduta huanzisha vitendo vya kuweka kiwango (kuongeza/kuondoa VM au podi) wakati matumizi yake mwenyewe ya rasilimali (CPU, kumbukumbu) yanapozidi kizingiti. Kasoro ya msingi ni kwamba mtazamo huu wa ndani hauzingatii utendaji wa kimataifa wa programu. Kuboresha ucheleweshaji wa huduma ndogo moja kunaweza kuwa na athari ndogo kwenye ucheleweshaji wa jumla unaohisiwa na mtumiaji ikiwa huduma nyingine katika mnyororo inabaki kama kikwazo. Hii husababisha ugawaji duni wa rasilimali—kutoa zaidi kwa huduma fulani huku ukitoa chini kwa vikwazo muhimu—kusababisha gharama kubwa bila kufikia Lengo la Kiwango cha Huduma (SLO) la ucheleweshaji unayotaka.

3. COLA: Mbinu ya Usakinishaji Otomatiki wa Pamoja

COLA hupanga upya tatizo la usakinishaji otomatiki kama tatizo la uboreshaji lenye vikwazo. Inabadilisha viongeza vingi vya usakinishaji otomatiki vinavyojitegemea na kudhibiti kimoja, cha katikati ambacho kina uwezo wa kuona kimataifa topolojia na utendaji wa huduma ndogo za programu.

3.1. Mfumo Mkuu wa Uboreshaji

Lengo limewekwa rasmi kama:

  • Lengo: Kupunguza gharama ya jumla ya kompyuta.
  • Kikwazo: Ucheleweshaji wa wastani au wa mkia wa programu wa mwisho-hadi-mwisho ≤ Ucheleweshaji wa Lengo.
  • Vigezo vya Uamuzi: Idadi ya VM (au nakala) zilizogawiwa kwa kila huduma ndogo $i$, inayoonyeshwa kama $n_i$.

Hili ni tatizo changamano, lisilo la mstari la uboreshaji kwa sababu uhusiano kati ya $n_i$ na ucheleweshaji wa mwisho-hadi-mwisho sio wa moja kwa moja na unategemea mifumo ya mzigo wa kazi na mawasiliano kati ya huduma.

3.2. Mchakato wa Utafutaji Nje ya Mtandao

Kutatua uboreshaji huu mtandaoni hauwezekani kwa sababu ya muda unaohitajika kwa utoaji na uthabiti wa utendaji. Kwa hivyo, COLA hutumia mchakato wa utafutaji nje ya mtandao:

  1. Utumiaji wa Mzigo wa Kazi: Tumia mzigo wa kazi unaowakilisha kwenye programu.
  2. Utambuzi wa Kikwazo: Tambua huduma ndogo iliyojaa zaidi (ongezeko kubwa zaidi la matumizi ya CPU chini ya mzigo).
  3. Ugawaji wa Rasilimali kupitia Tatizo la Bandia: Kwa huduma ya kikwazo, amua idadi bora ya VM kwa kutumia uundaji wa bandia yenye mikono mingi. Kitendakazi cha "zawadi" hulinda uboreshaji wa ucheleweshaji dhidi ya ongezeko la gharama.
  4. Kurudia: Rudia hatua 2-3 kwa huduma ndogo inayojaa inayofuata hadi lengo la kimataifa la ucheleweshaji lifikiwe.
  5. Uundaji wa Sera: Matokeo yake ni sera ya kuweka kiwango (ramani kutoka kwa sifa za mzigo wa kazi hadi ugawaji wa rasilimali) ambayo inaweza kutekelezwa mtandaoni.

COLA inaweza kuingilia kati kati ya mizigo ya kazi inayojulikana na kurudi kwenye viongeza vya chaguomsingi vya usakinishaji otomatiki ikiwa ikakabiliana na muundo wa mzigo wa kazi usioonekana.

4. Maelezo ya Kiufundi & Uundaji wa Kihisabati

Tatizo kuu la uboreshaji linaweza kuwakilishwa kwa njia ya kufikirika kama:

$$\min_{\{n_i\}} \sum_{i=1}^{M} C_i(n_i)$$ $$\text{chini ya: } L_{e2e}(\{n_i\}, \lambda) \leq L_{target}$$ $$n_i \in \mathbb{Z}^+$$ Ambapo:

  • $M$: Idadi ya huduma ndogo.
  • $n_i$: Idadi ya vitengo vya rasilimali (k.m., VM) kwa huduma ndogo $i$.
  • $C_i(n_i)$: Kitendakazi cha gharama kwa huduma ndogo $i$ na vitengo $n_i$.
  • $L_{e2e}$: Kitendakazi cha ucheleweshaji wa mwisho-hadi-mwisho, kinachotegemea $n_i$ zote na ukali wa mzigo wa kazi $\lambda$.
  • $L_{target}$: SLO ya ucheleweshaji unayotaka.
"Tatizo la bandia" katika hatua ya 3 ya utafutaji wa COLA linahusisha kuchukulia kila ugawaji unaowezekana wa VM kwa huduma ya kikwazo kama "mkono." Kuvuta mkono kunalingana na kutoa usanidi huo na kupima usawazishaji wa gharama-kuchelewa unaotokana. Algorithms kama vile Upeo wa Uaminifu wa Juu (UCB) zinaweza kutumika kuchunguza na kutumia nafasi ya usanidi kwa ufanisi.

5. Matokeo ya Majaribio & Tathmini

COLA ilitathminiwa kwa ukali ikilinganishwa na viongeza kadhaa vya msingi vya usakinishaji otomatiki (vinavyotegemea matumizi na vinavyotegemea ML) kwenye Injini ya Kubernetes ya Google (GKE).

5.1. Usanidi wa Majaribio

  • Programu: Programu 5 za huduma ndogo za chanzo wazi (k.m., Seva Rahisi ya Wavuti, BookInfo, Duka la Mtandaoni).
  • Jukwaa: GKE Standard (node zinazosimamiwa na mtumiaji) na GKE Autopilot (miundombinu inayosimamiwa na mtoaji).
  • Vigezo vya Msingi: HPA ya kawaida (inayotegemea CPU), viongeza vya hali ya juu vya usakinishaji otomatiki vinavyotegemea ML.
  • Mizigo ya Kazi: Miundo tofauti 63 ya mizigo ya kazi.
  • Lengo: Kufikia SLO maalum ya ucheleweshaji wa wastani au wa mkia (k.m., p95).

5.2. Vipimo Muhimu vya Utendaji

Ufikiwaji wa SLO

53/63

Mizigo ya kazi ambapo COLA ilifikia lengo la ucheleweshaji.

Kupunguzwa kwa Gharama ya Wastani

19.3%

Ikilinganishwa na kiongeza cha usakinishaji otomatiki kinachofuata kwa bei nafuu.

Sera Yenye Gharama Bora Zaidi

48/53

COLA ilikuwa ya bei nafuu zaidi kwa mizigo 48 ya kazi miongoni mwa 53 iliyofanikiwa.

Uboreshaji kwenye Programu Ndogo

~90%

Kwa programu ndogo ambapo utafutaji wa kina uliwezekana, COLA ilipata usanidi bora katika takriban 90% ya kesi.

5.3. Muhtasari wa Matokeo

Matokeo yanaonyesha faida kubwa ya COLA. Ilifanikiwa kufikia SLO ya ucheleweshaji inayotaka mara kwa mara ambapo wengine walishindwa, na kufanya hivyo kwa gharama ndogo sana. Akiba ya gharama ilikuwa wazi sana hivi kwamba "gharama ya mafunzo" ya kukimbia utafutaji wa nje ya mtandao wa COLA ililipwa ndani ya siku chache za uendeshaji. Kwenye GKE Autopilot, faida za COLA zilionekana zaidi, kwani ilipita kwa ufanisi kwenye ufafanuzi unaosimamiwa na mtoaji ili kupunguza gharama.

Maelezo ya Chati (Yaliyodhaniwa): Chati ya mistari ingeonyesha "Gharama kwa Ombi Lililofanikiwa" au "Gharama ya Jumla ya Kundi" kwenye mhimili wa Y, na viongeza tofauti vya usakinishaji otomatiki (COLA, HPA, ML-A) kwenye mhimili wa X. Mstari wa COLA ungekuwa chini sana. Chati ya pili inaweza kuonyesha "Kiwango cha Ukiukaji wa SLO ya Ucheleweshaji," ambapo mstari wa COLA unakaribia sifuri huku wengine wakionyesha viwango vya juu vya ukiukaji.

6. Mfumo wa Uchambuzi & Mfano wa Kesi

Mtazamo wa Mchambuzi: Uvunjaji wa Hatua Nne

Uelewa wa Msingi: Mafanikio ya msingi ya karatasi hii sio algorithm mpya ya kifahari, lakini mabadiliko muhimu katika mtazamo: kuchukulia programu nzima ya huduma ndogo kama mfumo mmoja wa kuboreshwa, sio mkusanyiko wa sehemu zinazojitegemea. Hii inafanana na mabadiliko katika taswira ya kompyuta yaliyoletwa na miundo kama vile CycleGAN (Zhu et al., 2017), ambayo ilipita zaidi tafsiri ya picha zilizounganishwa kwa kuzingatia uthabiti wa mzunguko wa kikoa kizima cha mabadiliko. COLA inatumia kanuni sawa ya "uthabiti wa kimataifa" kwa usimamizi wa rasilimali.

Mtiririko wa Kimantiki: Hoja ni rahisi yenye kushawishi: 1) Bora zaidi ya ndani (kuweka kiwango kwa kila huduma) hujumlisha kuwa ufanisi duni wa kimataifa. 2) Kwa hivyo, tumia lengo la kimataifa (gharama) lenye kikwazo cha kimataifa (kuchelewa mwisho-hadi-mwisho). 3) Kwa kuwa kutatua hili mtandaoni ni polepole sana, tatua nje ya mtandao kupitia utafutaji na utekeleze sera. Uzuri uko katika kutumia tatizo la bandia kufanya utafutaji wa ugawaji bora wa kikwazo uwe na ufanisi, mbinu inayoungwa mkono na utafiti mkubwa katika ujifunzaji wa kuimarisha kwa uboreshaji wa mifumo (k.m., kazi kutoka RISELab ya UC Berkeley).

Nguvu & Kasoro: Nguvu: Matokeo ya kimajaribio ni bora—kupunguzwa kwa gharama kwa 19.3% ni takwimu ya kiwango cha ukumbi wa bodi. Njia ya nje ya mtandao ni ya vitendo, ikiepuka kutokuwa na utulivu wakati wa kukimbia. Mfumo haujabainishwa na jukwaa. Kasoro: Kisigino cha Achilles ni utegemezi kwenye mizigo ya kazi ya nje ya mtandao inayowakilisha. Katika programu zinazobadilika kwa kasi au chini ya matukio ya trafiki ya "kunguru mweusi," sera iliyokokotolewa awali inaweza kuwa ya zamani au ya maangamizi. Kurudi kwenye viongeza vya chaguomsingi vya usakinishaji otomatiki kwa karatasi ni kiraka, sio tiba, kwa suala hili la uthabiti. Zaidi ya hayo, utata wa utafutaji uwezekano wa kuwa na kiwango duni na idadi ya huduma ndogo, ukiweza kuzuia matumizi yake katika programu kubwa sana na ngumu.

Uelewa Unaoweza Kutekelezwa: Kwa wasanifu wa wingu, ujumbe ni wazi: acha kuweka viwango vya CPU kwa kujitenga. Wekeza katika kujenga au kupitisha uwezo wa kuona utendaji wa kimataifa na injini ya kati ya uamuzi. Anza na njia mseto: tumia falsafa ya COLA kufafanua minyororo muhimu ya huduma na utumie kuweka kiwango cha pamoja hapo, huku ukiacha huduma zisizo muhimu, zinazojitegemea kwenye HPA ya jadi. ROI, kama inavyoonyeshwa, inaweza kuwa ya haraka. Watoaji wa wingu wanapaswa kuzingatia; zana kama GKE Autopilot zinahitaji tabaka kama hizi zenye akili za uundaji ili kweli kutimiza ahadi ya miundombinu "iliyosimamiwa".

7. Mtazamo wa Matumizi & Mwelekeo wa Baadaye

Kanuni nyuma ya COLA zina matumizi mapana zaidi ya kuweka kiwango kwa VM:

  • Kuwa na Rasilimali Nyingi & Kuweka Kiwango Tofauti: Toleo la baadaye linaweza kuamua kwa pamoja juu ya ukubwa wa VM (ulioboreshwa kumbukumbu dhidi ya ulioboreshwa kompyuta), ugawaji wa GPU, na hata uwekaji kwenye maeneo ya upatikanaji au watoaji wa wingu kwa gharama na ukinzani.
  • Unganisho na Mtandao wa Huduma: Kuunganisha COLA na mtandao wa huduma (kama Istio) kungetoa telemetri tajiri zaidi (ufuatiliaji wa kiwango cha ombi, michoro ya utegemezi) na hata kuwezesha udhibiti wa moja kwa moja wa uelekezaji wa trafiki na kuvunja mzunguko kama sehemu ya uboreshaji.
  • Kukabiliana Mtandaoni & Ujifunzaji-Meta: Mipaka kuu ya utafiti ni kushinda kizuizi cha nje ya mtandao. Mbinu kutoka kwa ujifunzaji-meta zinaweza kuruhusu COLA kukabiliana na sera yake mtandaoni kwa haraka kulingana na maoni ya wakati halisi, au kuchunguza usanidi mpya kwa usalama wakati wa vipindi vya trafiki ndogo.
  • Malengo ya Kompyuta ya Kijani: Lengo la uboreshaji linaweza kupanuliwa ili kupunguza alama ya kaboni au matumizi ya nishati, kukabiliana na mpango wa kompyuta endelevu, kwa kujumuisha data kutoka kwa vyanzo kama vile mradi wa Alama ya Kaboni ya Wingu.
  • Soko la Sera: Kwa miundo ya kawaida ya programu (k.m., biashara ya elektroniki, utiririshaji wa vyombo vya habari), sera za COLA zilizoboreshwa awali zinaweza kushirikiwa au kuuzwa, na hivyo kupunguza haja ya mafunzo ya kibinafsi.

8. Marejeo

  1. Sachidananda, V., & Sivaraman, A. (2022). COLA: Collective Autoscaling for Cloud Microservices. arXiv preprint arXiv:2112.14845v3.
  2. Zhu, J., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
  3. Burns, B., Grant, B., Oppenheimer, D., Brewer, E., & Wilkes, J. (2016). Borg, Omega, and Kubernetes. Queue, 14(1), 70–93.
  4. Hoffman, M., Shahriari, B., & Aslanides, J. (2020). Addressing Function Approximation Error in Actor-Critic Methods. Proceedings of the 37th International Conference on Machine Learning (ICML). (Mfano wa RL ya hali ya juu inayohusiana na kukabiliana mtandaoni).
  5. Cloud Carbon Footprint. (n.d.). An open source tool to measure and visualize the carbon footprint of cloud usage. Retrieved from https://www.cloudcarbonfootprint.org/.
  6. Verma, A., Pedrosa, L., Korupolu, M., Oppenheimer, D., Tune, E., & Wilkes, J. (2015). Large-scale cluster management at Google with Borg. Proceedings of the European Conference on Computer Systems (EuroSys).