Goid: a bhios a’ goid ùine pròiseasar bho innealan brìgheil

Goid: a bhios a’ goid ùine pròiseasar bho innealan brìgheil

Halò! Tha mi airson innse dhut gu sìmplidh mu mheacanaig goid taobh a-staigh innealan brìgheil agus mu chuid de stuthan neo-fhollaiseach a fhuair sinn a-mach tron ​​​​rannsachadh aca, a bha agam ri dàibheadh ​​​​a-steach mar stiùiriche teignigeach air àrd-ùrlar sgòthan. Mail.ru Cloud Solutions. Tha an àrd-ùrlar a 'ruith air KVM.

Is e àm goid CPU an ùine anns nach faigh an inneal brìgheil goireasan pròiseasar airson a chuir gu bàs. Chan eil an ùine seo air a chunntadh ach ann an siostaman obrachaidh aoighean ann an àrainneachdan virtualization. Tha na h-adhbharan airson far a bheil na goireasan as motha sin a’ dol, mar ann am beatha, gu math neo-shoilleir. Ach chuir sinn romhainn a dhèanamh a-mach, agus eadhon rinn sinn grunn dheuchainnean. Chan e gu bheil fios againn a-nis air a h-uile càil mu dheidhinn goid, ach innsidh sinn rudeigin inntinneach dhut a-nis.

1. Ciod e goid

Mar sin, tha goid na mheatrach a tha a’ nochdadh dìth ùine pròiseasar airson pròiseasan taobh a-staigh inneal brìgheil. Mar a chaidh a mhìneachadh ann am bad kernel KVMIs e Stealth an ùine anns a bheil an hypervisor a’ cur an gnìomh pròiseasan eile air an OS aoigheachd ged a tha e air ciudha a dhèanamh air pròiseas inneal brìgheil airson a chuir gu bàs. Is e sin, tha goid air a thomhas mar an eadar-dhealachadh eadar an ùine anns a bheil am pròiseas deiseil airson a chuir an gnìomh agus an ùine nuair a thèid ùine pròiseasar a thoirt don phròiseas.

Bidh an kernel inneal brìgheil a ’faighinn a’ mheatrach steal bhon hypervisor. Aig an aon àm, chan eil an hypervisor a’ sònrachadh gu dìreach dè na pròiseasan eile a tha e a’ ruith, tha e dìreach ag ràdh “fhad‘ s a tha mi trang, chan urrainn dhomh ùine a thoirt dhut. ” Air KVM, chaidh cur ris an taic airson àireamhachadh goid badannan. Tha dà phrìomh phuing an seo:

  • Bidh an inneal brìgheil ag ionnsachadh mu ghoid bhon hypervisor. Is e sin, bho shealladh call, airson pròiseasan air an inneal brìgheil fhèin is e tomhas neo-dhìreach a tha seo a dh’ fhaodadh a bhith fo ùmhlachd diofar saobhadh.
  • Chan eil an hypervisor a 'roinn fiosrachadh leis an inneal mas-fhìor mu dè eile a tha e a' dèanamh - is e am prìomh rud nach eil e a 'toirt ùine dha. Air sgàth seo, chan urrainn don inneal brìgheil fhèin saobhadh a lorg anns a’ chomharra goid, a dh’ fhaodadh a bhith air a mheasadh le nàdar phròiseasan farpaiseach.

2. Dè a 'toirt buaidh air goid

2.1. Goid àireamhachadh

Gu bunaiteach, tha goid air a thomhas timcheall air an aon rud ris an ùine cleachdaidh àbhaisteach CPU. Chan eil mòran fiosrachaidh ann mu mar a thathar a’ beachdachadh air ath-chuairteachadh. Is dòcha air sgàth 's gu bheil a' mhòr-chuid de dhaoine den bheachd gu bheil a 'cheist seo follaiseach. Ach tha eas-bhuannachdan an seo cuideachd. Gus eòlas fhaighinn air a 'phròiseas seo, faodaidh tu leughadh artaigil le Brendan Gregg: ionnsaichidh tu mu dheidhinn tòrr nuances nuair a thathar a’ tomhas cleachdadh agus mu shuidheachaidhean far am bi an àireamhachadh seo mearachdach airson nan adhbharan a leanas:

  • Bidh am pròiseasar a’ teasachadh cus, ag adhbhrachadh gum bi na cuairtean a’ leum.
  • Dèan comas / cuir à comas àrdachadh turbo, a dh ’atharraicheas tricead gleoc a’ phròiseasar.
  • Atharrachadh ann an fad na h-ùine a thachras nuair a bhios tu a’ cleachdadh theicneòlasan sàbhalaidh cumhachd pròiseasar leithid SpeedStep.
  • An duilgheadas le bhith a’ cunntadh a’ chuibheasachd: faodaidh tuairmse a dhèanamh air cleachdadh aon mhionaid aig 80% spreadhadh geàrr-ùine de 100% fhalach.
  • Bidh glas snìomh ag adhbhrachadh gun tèid am pròiseasar fhaighinn air ais, ach chan eil pròiseas an neach-cleachdaidh a’ faicinn adhartas sam bith ann a bhith ga chur an gnìomh. Mar thoradh air an sin, bidh cleachdadh pròiseasar àireamhaichte leis a’ phròiseas ceud sa cheud, ged nach ith am pròiseas ùine pròiseasar gu corporra.

Cha do lorg mi artaigil a’ toirt cunntas air àireamhachadh coltach ri goid (ma tha fios agad, roinn e anns na beachdan). Ach, a 'breithneachadh leis a' chòd stòr, tha an dòigh àireamhachaidh co-ionann ri ath-chuairteachadh. Gu sìmplidh, tha cuntair eile air a chuir ris anns an kernel, gu dìreach airson pròiseas KVM (pròiseas inneal mas-fhìor), a tha a’ cunntadh fad a ’phròiseas KVM a’ feitheamh ri ùine CPU. Bidh an cuntair a’ toirt fiosrachadh mun phròiseasar bhon t-sònrachadh aige agus a’ sgrùdadh a bheil a h-uile ticead air a chleachdadh leis a’ phròiseas inneal mas-fhìor. Ma tha sin uile, tha sinn a’ gabhail ris nach robh am pròiseasar an sàs ach anns a’ phròiseas inneal brìgheil. Rud eile, bidh sinn ag innse gu robh am pròiseasar a ’dèanamh rudeigin eile, nochd goid.

Tha am pròiseas cunntais goid fo ùmhlachd nan aon dhuilgheadasan ri cunntadh ath-chuairteachaidh cunbhalach. Gun a bhith ag ràdh gu bheil na duilgheadasan sin a 'nochdadh gu tric, ach tha iad a' coimhead mì-mhisneachail.

2.2. Seòrsaichean virtualization air KVM

San fharsaingeachd, tha trì seòrsaichean de virtualization ann, agus tha iad uile a’ faighinn taic bho KVM. Is dòcha gu bheil an dòigh anns a bheil tachartas goid an urra ris an t-seòrsa virtualization.

Craoladh. Anns a ’chùis seo, bidh obrachadh siostam obrachaidh inneal brìgheil le innealan hypervisor corporra a’ tachairt rudeigin mar seo:

  1. Bidh an siostam obrachaidh aoighean a’ cur àithne chun inneal aoigheachd aige.
  2. Bidh an draibhear inneal aoigheachd a ’faighinn an àithne, a’ gineadh iarrtas airson an inneal BIOS agus ga chuir chun hypervisor.
  3. Bidh am pròiseas hypervisor ag eadar-theangachadh àithne gu àithne airson an inneal corporra, ga dhèanamh, am measg rudan eile, nas tèarainte.
  4. Bidh an draibhear inneal corporra a’ gabhail ris an àithne atharraichte agus ga chuir chun inneal corporra fhèin.
  5. Bidh toraidhean cur an gnìomh òrdughan a’ dol air ais air an aon shlighe.

Is e a ’bhuannachd a th’ ann an eadar-theangachadh gu bheil e a ’toirt cothrom dhut atharrais a dhèanamh air inneal sam bith agus nach eil feum air ullachadh sònraichte de kernel an t-siostaim obrachaidh. Ach feumaidh tu pàigheadh ​​​​airson seo, an toiseach, ann an luaths.

Virtualization bathar-cruaidh. Anns a 'chùis seo, bidh an inneal aig ìre bathar-cruaidh a' tuigsinn òrdughan bhon t-siostam obrachaidh. Is e seo an dòigh as luaithe agus as fheàrr. Ach, gu mì-fhortanach, chan eil e a’ faighinn taic bho gach inneal corporra, hypervisors agus siostaman obrachaidh aoighean. An-dràsta, is e pròiseasairean na prìomh innealan a bheir taic do virtualization bathar-cruaidh.

Para-dhearbhadh. An roghainn as cumanta airson virtualization innealan air KVM agus mar as trice am modh virtualization as cumanta airson siostaman obrachaidh aoighean. Is e an rud sònraichte a th’ ann gu bheil obair le cuid de fo-shiostaman hypervisor (mar eisimpleir, leis an lìonra no stac diosc) no riarachadh dhuilleagan cuimhne a ’tachairt a’ cleachdadh an hypervisor API, gun a bhith ag eadar-theangachadh òrdughan ìre ìosal. Is e ana-cothrom an dòigh virtualization seo gum feumar kernel an t-siostam obrachaidh aoighean atharrachadh gus an urrainn dha conaltradh leis an hypervisor a’ cleachdadh an API seo. Ach mar as trice bidh seo air a rèiteachadh le bhith a 'stàladh draibhearan sònraichte air an t-siostam obrachaidh aoighean. Ann an KVM canar an API seo ris API virtio.

Le paravirtualization, an taca ri craoladh, tha an t-slighe chun inneal fiosaigeach air a lughdachadh gu mòr le bhith a’ cur òrdughan gu dìreach bhon inneal brìgheil chun phròiseas hypervisor air an òstair. Leigidh seo leat coileanadh a h-uile stiùireadh taobh a-staigh an inneal brìgheil a luathachadh. Ann an KVM, tha seo air a dhèanamh leis an virtio API, nach obraich ach airson innealan sònraichte, leithid lìonra no inneal-atharrachaidh diosc. Sin as coireach gu bheil draibhearan virtio air an stàladh taobh a-staigh innealan brìgheil.

Is e an eas-bhuannachd den luathachadh seo nach eil a h-uile pròiseas a tha a’ ruith taobh a-staigh an inneal brìgheil fhathast na bhroinn. Bidh seo a 'cruthachadh cuid de bhuaidhean sònraichte a dh' fhaodadh sìolachadh air goid. Tha mi a’ moladh tòiseachadh air sgrùdadh mionaideach air a’ chùis seo le API airson brìgheil I/O: virtio.

2.3. Clàradh "cothromach".

Tha inneal brìgheil air hypervisor, gu dearbh, na phròiseas àbhaisteach a bhios a’ cumail ri laghan clàraidh (sgaoileadh ghoireasan eadar pròiseasan) anns an kernel Linux, mar sin leig dhuinn sùil nas mionaidiche a thoirt air.

Bidh Linux a’ cleachdadh an CFS ris an canar, Completely Fair Scheduler, a tha air a thighinn gu bhith na chlàr-ama bunaiteach bho kernel 2.6.23. Gus an algairim seo a thuigsinn, faodaidh tu an Linux Kernel Architecture no an còd tùsail a leughadh. Is e brìgh CFS ùine pròiseasar a sgaoileadh eadar pròiseasan a rèir fad an cur gu bàs. Mar as motha de ùine CPU a dh’ fheumas pròiseas, is ann as lugha de ùine CPU a gheibh e. Bidh seo a 'dèanamh cinnteach gu bheil a h-uile pròiseas air a chur gu bàs "gu cothromach" - gus nach bi aon phròiseas daonnan a' gabhail a-steach a h-uile pròiseasar, agus faodaidh pròiseasan eile a bhith air an cur an gnìomh cuideachd.

Aig amannan bidh am paradigm seo a’ leantainn gu artifacts inntinneach. Is dòcha gu bheil cuimhne aig luchd-cleachdaidh Linux fad-ùine air reothadh neach-deasachaidh teacsa cunbhalach air deasg fhad ‘s a tha iad a’ ruith thagraidhean le dian ghoireasan leithid inneal-cruinneachaidh. Thachair seo leis gu robh gnìomhan nach robh dian ann an goireasan ann an tagraidhean deasg a’ farpais ri gnìomhan dian-ghoireasan, leithid an neach-cruinneachaidh. Tha CFS den bheachd gu bheil seo mì-chothromach, agus mar sin bidh e bho àm gu àm a’ stad an deasaiche teacsa agus a’ leigeil leis a’ phròiseasar gnìomhan an neach-cruinneachaidh a làimhseachadh. Chaidh seo a cheartachadh le inneal sched_autogroup, ach dh'fhuirich mòran fheartan eile de chuairteachadh ùine pròiseasar eadar gnìomhan. Gu fìrinneach, chan e sgeulachd a tha seo mu cho dona sa tha a h-uile càil ann an CFS, ach oidhirp aire a tharraing chun fhìrinn nach e cuairteachadh “cothromach” ùine pròiseasar an obair as miosa.

Is e puing cudromach eile anns a’ chlàr-ama preemption. Tha seo riatanach gus am pròiseas snickering a bhreabadh bhon phròiseasar agus leigeil le daoine eile obrachadh. Canar tionndadh co-theacsa ris a’ phròiseas ejection. Anns a 'chùis seo, tha co-theacsa iomlan na h-obrach air a ghleidheadh: staid a' chruach, clàran, msaa, às deidh sin thèid am pròiseas a chuir gu feitheamh, agus fear eile a 'gabhail àite. Is e gnìomhachd daor a tha seo airson an OS agus is ann ainneamh a thathas ga chleachdadh, ach chan eil dad ceàrr air. Is dòcha gu bheil atharrachadh co-theacsa tric a’ nochdadh duilgheadas san OS, ach mar as trice tha e leantainneach agus chan eil e a’ nochdadh dad gu sònraichte.

Tha feum air sgeulachd cho fada gus aon fhìrinn a mhìneachadh: mar as motha de ghoireasan giullachd a dh’ fheuchas pròiseas ri ithe ann an clàr Linux onarach, is ann as luaithe a thèid stad a chuir air gus an obraich pròiseasan eile cuideachd. Co-dhiù a tha seo ceart no nach eil, tha e na cheist iom-fhillte a dh'fhaodar a rèiteachadh ann an dòigh eadar-dhealaichte fo luchdan eadar-dhealaichte. Ann an Windows, gu o chionn ghoirid, bha an clàr-ama ag amas air giullachd prìomhachais air tagraidhean deasg, a dh’ fhaodadh pròiseasan cùl-fhiosrachaidh a reothadh. Bha còig clasaichean eadar-dhealaichte de chlàran aig Sun Solaris. Nuair a chuir sinn virtualization air bhog, chuir sinn ris an t-siathamh tè, Clàr-ama cuibhreann cothromach, leis nach robh na còig roimhe sin ag obair gu leòr le Solaris Zones virtualization. Tha mi a’ moladh sgrùdadh mionaideach a thòiseachadh air a’ chùis seo le leabhraichean mar Solaris Internals: Solaris 10 agus OpenSolaris Kernel Architecture no A 'tuigsinn an Linux Kernel.

2.4. Ciamar sùil a chumail air goid?

Tha a bhith a’ cumail sùil air goid taobh a-staigh inneal brìgheil, mar mheatrach pròiseasar sam bith eile, sìmplidh: faodaidh tu inneal metrics pròiseasar sam bith a chleachdadh. Is e am prìomh rud gu bheil an inneal brìgheil air Linux. Air adhbhar air choireigin chan eil Windows a’ toirt seachad an fhiosrachaidh seo don luchd-cleachdaidh aige. 🙁

Goid: a bhios a’ goid ùine pròiseasar bho innealan brìgheil
Toradh na h-àithne as àirde: mion-fhiosrachadh mu luchd a’ phròiseasar, anns a’ cholbh as fhaide deas - goid

Bidh an duilgheadas ag èirigh nuair a thathar a’ feuchainn ris an fhiosrachadh seo fhaighinn bhon hypervisor. Faodaidh tu feuchainn ri ro-innse a dhèanamh air goid air an inneal aoigheachd, mar eisimpleir, a’ cleachdadh am paramadair Cuibheasachd Luchdachaidh (LA) - luach cuibheasach an àireamh de phròiseasan a tha a’ feitheamh anns a’ chiudha cur gu bàs. Chan eil an dòigh airson am paramadair seo obrachadh a-mach sìmplidh, ach san fharsaingeachd, ma tha LA air a dhèanamh àbhaisteach leis an àireamh de snàithleanan pròiseasar nas motha na 1, tha seo a’ nochdadh gu bheil an frithealaiche Linux air a luchdachadh cus le rudeigin.

Dè a tha na pròiseasan sin uile a’ feitheamh? Is e am freagairt follaiseach am pròiseasar. Ach chan eil am freagairt gu tur ceart, oir uaireannan tha am pròiseasar an-asgaidh, ach tha LA a’ dol far sgèile. Cuimhnich mar a thuiteas NFS dheth agus mar a dh’fhàsas LA. Faodaidh an aon rud tachairt le diosc agus innealan cuir a-steach / toraidh eile. Ach gu dearbh, faodaidh pròiseasan feitheamh airson deireadh glas sam bith, an dara cuid corporra, co-cheangailte ri inneal I / O, no loidsigeach, leithid mutex. Tha seo cuideachd a’ toirt a-steach glasadh aig ìre bathar-cruaidh (an aon fhreagairt bhon diosc), no loidsig (na prìomh-amasan glasaidh ris an canar, a tha a’ toirt a-steach dòrlach de bhuidhnean, atharrachail mutex agus snìomh, semaphores, caochladairean suidheachadh, glasan rw, glasan ipc ...).

Is e feart eile de LA gu bheil e air a mheas mar chuibheasachd siostam obrachaidh. Mar eisimpleir, tha 100 pròiseas a’ farpais airson aon fhaidhle, agus an uairsin LA = 50. Bhiodh e coltach gu bheil luach cho mòr a’ nochdadh gu bheil an siostam obrachaidh dona. Ach airson còd sgrìobhte cam eile, is dòcha gur e suidheachadh àbhaisteach a tha seo, a dh’ aindeoin gu bheil e dona a-mhàin, agus nach eil pròiseasan eile san t-siostam obrachaidh a ’fulang.

Mar thoradh air a’ chuibheasachd seo (agus ann am mionaid aig a’ char as lugha), chan e rud sam bith a dhearbhadh leis a’ chomharra LA an obair as buannachdail, le toraidhean gu math mì-chinnteach ann an cùisean sònraichte. Ma dh’ fheuchas tu ri obrachadh a-mach, gheibh thu a-mach nach eil artaigilean air Wikipedia agus goireasan eile a tha rim faighinn a’ toirt cunntas ach air na cùisean as sìmplidh, gun mhìneachadh domhainn air a’ phròiseas. Bidh mi a’ cur a h-uile duine aig a bheil ùidh, a-rithist, an seo a Bhreandain Gregg  - lean na ceanglaichean gu h-ìosal. Cò tha ro leisg Beurla a bhruidhinn - eadar-theangachadh den artaigil mòr-chòrdte aige mu LA.

3. Buaidhean sònraichte

A-nis leig dhuinn sùil a thoirt air na prìomh chùisean de ghoid ris an do thachair sinn. Innsidh mi dhut mar a leanas iad bho na tha gu h-àrd gu h-àrd agus mar a tha iad a’ buntainn ris na comharran air an hypervisor.

Ath-chuairteachadh. An fheadhainn as sìmplidh agus as cumanta: chaidh an hypervisor ath-chleachdadh. Gu dearbh, tha tòrr innealan brìgheil a ’ruith, caitheamh pròiseasar àrd nam broinn, tòrr farpais, tha cleachdadh LA nas motha na 1 (àbhaisteach le snàithleanan pròiseasar). Bidh a h-uile dad taobh a-staigh gach inneal brìgheil a’ slaodadh sìos. Tha goid a chaidh a ghluasad bhon hypervisor cuideachd a 'fàs, feumar an luchd ath-riarachadh no cuideigin a chuir dheth. San fharsaingeachd, tha a h-uile dad loidsigeach agus so-thuigsinn.

Para-virtualization vs. Chan eil ach aon inneal brìgheil air an hypervisor; bidh e ag ithe pàirt bheag dheth, ach a’ toirt a-mach luchd mòr I/O, mar eisimpleir air diosc. Agus bho àiteigin tha goid beag a 'nochdadh ann, suas ri 10% (mar a chithear le grunn deuchainnean).

Tha a’ chùis inntinneach. Tha goid a 'nochdadh an seo dìreach air sgàth bacadh aig ìre draibhearan paravirtualized. Tha briseadh air a chruthachadh taobh a-staigh an inneal brìgheil, air a phròiseasadh leis an draibhear agus air a chuir chun hypervisor. Mar thoradh air an làimhseachadh brisidh air an hypervisor, airson an inneal brìgheil tha e coltach ri iarrtas a chaidh a chuir, tha e deiseil airson a chuir gu bàs agus a ’feitheamh ris a’ phròiseasar, ach chan eil ùine pròiseasar air a thoirt seachad. Tha an nighean brìgheil den bheachd gu bheil an turas seo air a ghoid.

Bidh seo a 'tachairt aig an àm a thèid am bufair a chuir, bidh e a' dol a-steach gu àite kernel an hypervisor, agus bidh sinn a 'tòiseachadh a' feitheamh ris. Ged, bho shealladh an inneal mas-fhìor, bu chòir dha tilleadh sa bhad. Mar sin, a rèir an algairim àireamhachadh goid, thathas den bheachd gu bheil an turas seo air a ghoid. As dualtaiche, anns an t-suidheachadh seo dh'fhaodadh gum bi dòighean eile (mar eisimpleir, a 'giollachd cuid eile sys gairmean), ach cha bu chòir dhaibh a bhith mòran eadar-dhealaichte.

Clàr-ama an aghaidh innealan brìgheil làn luchdachadh. Nuair a tha aon inneal brìgheil a’ fulang le bhith a’ goid barrachd na feadhainn eile, tha seo mar thoradh air a’ chlàr-ama. Mar as motha a bhios pròiseas a’ luchdachadh am pròiseasar, is ann as luaithe a bhreabas an clàr-ama gus an urrainn don fheadhainn eile obrachadh. Mura h-eil an inneal brìgheil ag ithe mòran, cha mhòr gum faic e goid: shuidh a phròiseas gu h-onarach agus dh’ fhuirich e, feumaidh sinn barrachd ùine a thoirt dha. Ma bheir inneal brìgheil a-mach an luchd as motha air a h-uile cores, bidh e gu tric air a bhreabadh a-mach às a ’phròiseasar agus bidh iad a’ feuchainn gun a bhith a ’toirt mòran ùine dha.

Tha e eadhon nas miosa nuair a dh’ fheuchas pròiseasan taobh a-staigh an inneal brìgheil ri barrachd phròiseasar fhaighinn leis nach urrainn dhaibh dèiligeadh ri giullachd dàta. An uairsin bheir an siostam obrachaidh air an hypervisor, air sgàth optimization onarach, nas lugha agus nas lugha de ùine pròiseasar. Bidh am pròiseas seo a’ tachairt mar maoim-sneachda, agus a’ goid leuman gu na speuran, ged is gann gun mothaich innealan mas-fhìor eile e. Agus mar as motha de choraichean, is ann as miosa a bhios an inneal air a bheil buaidh. Ann an ùine ghoirid, is e innealan brìgheil làn luchdaichte le mòran choraichean as motha a tha a’ fulang.

LA ìosal, ach tha goid ann. Ma tha LA timcheall air 0,7 (is e sin, tha coltas gu bheil an hypervisor air a luchdachadh sìos), ach thathas a’ cumail sùil air goid taobh a-staigh innealan brìgheil fa leth:

  • An roghainn le paravirtualization air a mhìneachadh gu h-àrd mar-thà. Gheibh an inneal brìgheil meatrach a’ nochdadh goid, ged a tha an hypervisor ceart gu leòr. A rèir toraidhean ar deuchainnean, chan eil an roghainn goid seo nas àirde na 10% agus cha bu chòir dha buaidh mhòr a thoirt air coileanadh thagraidhean taobh a-staigh an inneal brìgheil.
  • Tha paramadair LA air a thomhas gu ceàrr. Nas mionaidiche, aig gach àm sònraichte tha e air a thomhas gu ceart, ach nuair a tha e cuibheasach thairis air aon mhionaid tha e a 'tionndadh a-mach gu bheil e air a mheas gu mòr. Mar eisimpleir, ma bhios aon inneal brìgheil gach trian den hypervisor ag ithe a h-uile pròiseasar airson dìreach leth-mhionaid, an uairsin bidh LA gach mionaid air an hypervisor aig 0,15; bheir ceithir innealan brìgheil mar sin ag obair aig an aon àm 0,6. Agus chan urrainnear an fhìrinn gu robh goid fiadhaich aig 25% airson leth-mhionaid air gach fear dhiubh a rèir comharra LA a thoirt a-mach tuilleadh.
  • A-rithist, air sgàth an neach-clàraidh a cho-dhùin gu robh cuideigin ag ithe cus agus leig le cuideigin feitheamh. Anns an eadar-ama, atharraichidh mi an co-theacsa, làimhsichidh mi brisidhean agus bheir mi aire do rudan siostam cudromach eile. Mar thoradh air an sin, chan eil cuid de dh’ innealan brìgheil a ’faicinn duilgheadas sam bith, agus cuid eile a’ faighinn droch lughdachadh coileanaidh.

4. Saobhadh eile

Tha millean adhbhar a bharrachd ann airson a bhith a’ toirt air falbh ùine giullachd cothromach air inneal brìgheil. Mar eisimpleir, bidh hyperthreading agus NUMA a’ toirt a-steach duilgheadasan ann an àireamhachadh. Bidh iad gu tur a ’dèanamh troimh-chèile air an roghainn kernel airson a’ phròiseas a chuir an gnìomh, leis gu bheil an clàr-ama a ’cleachdadh co-èifeachdan - cuideaman, a tha a’ dèanamh an àireamhachadh eadhon nas duilghe nuair a bhios e ag atharrachadh a ’cho-theacsa.

Tha saobhadh ann mar thoradh air teicneòlasan leithid àrdachadh turbo no, air an làimh eile, modh sàbhalaidh lùtha, a dh ’fhaodadh, nuair a thathar a’ tomhas cleachdadh, àrdachadh no lughdachadh tricead no eadhon an ùine air an fhrithealaiche. Le bhith a’ comasachadh àrdachadh turbo a’ lughdachadh coileanadh aon snàithlean pròiseasar mar thoradh air àrdachadh ann an coileanadh fear eile. Aig an àm seo, chan eil fiosrachadh mu tricead pròiseasar gnàthach air a ghluasad chun inneal brìgheil, agus tha e den bheachd gu bheil cuideigin a ’goid a chuid ùine (mar eisimpleir, dh’ iarr e 2 GHz, ach fhuair e leth sin).

San fharsaingeachd, faodaidh mòran adhbharan a bhith ann airson saobhadh. Is dòcha gum faigh thu rudeigin eile air siostam sònraichte. Tha e nas fheàrr tòiseachadh leis na leabhraichean ris an tug mi ceanglaichean gu h-àrd, agus staitistig fhaighinn air ais bhon hypervisor a’ cleachdadh goireasan leithid perf, sysdig, systemtap, agus dhiubh sin dusanan.

5. Co-dhùnaidhean

  1. Faodaidh cuid de ghoid tachairt mar thoradh air paravirtualization, agus faodar a mheas àbhaisteach. Bidh iad a 'sgrìobhadh air an eadar-lìon gum faod an luach seo a bhith 5-10%. Tha e an urra ris na tagraidhean taobh a-staigh an inneal brìgheil agus air an luchd a chuireas e air na h-innealan corporra aige. An seo tha e cudromach aire a thoirt do mar a tha tagraidhean a’ faireachdainn taobh a-staigh innealan brìgheil.
  2. Chan eil co-mheas an luchd air an hypervisor agus an goid taobh a-staigh an inneal brìgheil an-còmhnaidh eadar-cheangailte gu soilleir; faodaidh an dà thuairmse air goid a bhith mearachdach ann an suidheachaidhean sònraichte fo luchdan eadar-dhealaichte.
  3. Tha droch bheachd aig a 'chlàr-ama air pròiseasan a tha a' faighneachd mòran. Bidh e a 'feuchainn ri nas lugha a thoirt dhaibhsan a dh' iarras barrachd. Tha innealan mòra brìgheil olc.
  4. Faodaidh beagan goid a bhith àbhaisteach eadhon às aonais paravirtualization (a ’toirt aire don luchd taobh a-staigh an inneal brìgheil, feartan luchd nan nàbaidhean, cuairteachadh luchdan thairis air snàithleanan agus factaran eile).
  5. Ma tha thu airson faighinn a-mach goid ann an siostam sònraichte, feumaidh tu diofar roghainnean a sgrùdadh, metrics a chruinneachadh, an sgrùdadh gu faiceallach agus smaoineachadh air mar as urrainn dhut an luchd a sgaoileadh gu cothromach. Tha e comasach gluasad bho chùisean sam bith, a dh’ fheumar a dhearbhadh gu deuchainneach no coimhead air anns an dì-bhugadair kernel.

Source: www.habr.com

Cuir beachd ann