Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera

Kei te korero tonu matou mo nga taputapu mo te aromatawai i nga mahi CPU i runga i nga miihini Linux. I tenei ra i roto i nga rauemi: temci, uarch-bench, likwid, perf-tools me llvm-mca.

Ētahi atu tohu tohu:

Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera
Whakaahua - Lukas Blazek — Wewetehia

temci

He taputapu tenei mo te whakatau tata i te wa mahi o nga kaupapa e rua. Ko te tikanga, ka taea e koe te whakataurite i te wa mahi o nga tono e rua. Ko te kaituhi o te whaipainga he akonga mai i Tiamana, a Johannes Bechberger, nana i whakawhanake hei waahanga o tana tuhinga paetahi i te tau 2016. Te taputapu o tenei ra tohaina e kua raihanatia i raro i te Raihana Katoa a GNU.

I hiahia a Johannes ki te hanga taputapu e taea ai e ia te ine i te mahinga o te punaha rorohiko i roto i te taiao whakahaere. Na reira, ko tetahi o nga ahuatanga matua o te temci ko te kaha ki te whakarite i tetahi taiao whakamatautau. Hei tauira, taea: huri i nga tautuhinga kaiwhakahaere auau PTM, mono miro nui me nga keteroki L1 me L2, whakawetohia te aratau turbo i runga i nga tukatuka Intel, me etahi atu. , perf_stat и tikiti.

Koinei te ahua o te taputapu i te keehi tuatahi:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

I runga i nga hua tohu tohu, ka whakaputa te punaha pūrongo watea me nga hoahoa, nga ripanga me nga kauwhata, e wehewehe ana i te temci mai i nga otinga rite.

I roto i nga ngoikoretanga o temci, ko tona "rangatahi" ka tu. Na tenei ia kaore nga mea katoa e tautokohia ana whirihoranga taputapu me te rorohiko. Hei tauira, he uaua ki te whakahaere i runga i te macOS, a, ko etahi ahuatanga kaore i te waatea i runga i te punaha ARM. I nga wa kei te heke mai, ka rereke pea te ahuatanga, i te mea kei te kaha te kaituhi ki te whakawhanake i te kaupapa, a kei te piki haere te maha o nga whetu i runga i a GitHub - kaore i roa i mua ko temci ahakoa i korerohia i roto i nga korero i runga i te Hacker News.

uarch-bench

He whaipainga mo te arotake i te mahinga o nga mahi CPU taumata-iti, i hangaia e te miihini Travis Downs (Ko Travis Raro). No tata nei kua panui ia Nga Take Mahi i runga i nga wharangi GitHub, e korero ana mo nga taputapu tohu tohu me etahi atu mea e pa ana. I te nuinga o te waa, kei te timata te uarch-bench ki te rongonui, engari he mea noa whakahuatia nga kainoho o Hacker News i roto i nga miro kaupapa hei taputapu haere mo te tohu tohu.

Ko te Uarch-bench ka taea e koe te arotake i nga mahi mahara, te tere uta raraunga whakarara me te mahi horoi Rehita YMM. Ka kitea te ahua o nga hua tohu tohu i mahia e te hotaka i roto i te whare pupuri mana kei raro o te wharangi.

He mea tika kia mahara ko te uarch-bench, penei i te temci, ka monokia Ko te mahi a Intel Turbo Boost (ka whakanui aunoa i te tere karaka i raro i te utaina) kia rite ai nga hua whakamatautau.

I tenei wa, ko te kaupapa kei te timatanga o te whakawhanaketanga, no reira karekau he tuhinga taipitopito a uarch-bench, a kei roto pea i ana mahi nga pepeke - hei tauira, ka mohiotia nga uaua me te whakarewatanga i runga i a Ryzen. Ano, ko nga tohu tohu mo nga hoahoanga x86 anake e tautokohia ana. Ka oati te kaituhi ki te taapiri atu i nga mahi a muri ake nei ka tono koe kia uru atu ki te whanaketanga.

wai

He huinga taputapu tenei mo te arotake i te mahinga o nga miihini Linux me nga kaitoro Intel, AMD me ARMv8. I hangaia i raro i te maru o te Tiamana Federal Ministry of Education and Research i te tau 2017 ka tukuna ki te puna tuwhera.

I roto i nga taputapu likwid, ka taea e matou te whakanui i te likwid-powermeter, e whakaatu ana i nga korero mai i nga rehita RAPL mo te mana e pau ana i te punaha, me te likwid-setFrequencies, e taea ai e koe te whakahaere i te auau tukatuka. Ka taea e koe te kite i te rarangi katoa kitea i roto i te putunga.

Ka whakamahia te taputapu e nga miihini e uru ana ki te rangahau HPC. Hei tauira, me te likwid mahi he roopu tohunga mai i te Whare Rorohiko Rohe o te Whare Wananga o Erlangen-Nuremberg (RRZE) i Tiamana. Ka whai waahi ano ia ki te whanaketanga o tenei huinga taputapu.

Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera
Whakaahua - Clem Onojeghuo — Wewetehia

taputapu-perf

Ko tenei taputapu hei tātari i nga mahi a nga kaitoro Linux whakaurua Brendan Gregg. Ko ia tetahi o nga kaihanga DTrace — he anga whaiwhai hihiko mo te patuiro i nga tono i roto i te waa tuturu.

Ko nga taputapu-perf e ahu mai ana i nga perf_events me te ftrace kernel subsystems. Ma o raatau taputapu ka taea e koe te tarai i te I/O torohūtanga (iosnoop), te whai i nga tohenga waea a te punaha (kaore i te tatau, te puhoi, te funcgraph me te functrace) me te kohi tatauranga mo nga "hits" i roto i te keteroki konae (cachestat). I te keehi whakamutunga, penei te ahua o te whakahau:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Kua hanga he hapori tino nui huri noa i te taputapu (tata ki te 6 mano nga whetu i runga i GitHub). A he kamupene kei te kaha te whakamahi i nga taputapu perf, hei tauira Netflix. Engari kei te whanakehia, kei te whakarereketia ano te taputapu (ahakoa he iti noa te tuku whakahōutanga i enei ra). Na reira, ka puta he hapa i roto i tana mahi - ka tuhia e te kaituhi ko etahi wa ko nga taputapu-perf ka puta te mataku o te kernel.

llvm-mca

He taputapu e matapae ana e hia nga rauemi rorohiko e hiahiatia ana e te waehere miihini i runga i nga PTM rereke. Ko ia arotake Tohutohu mo ia Porohita (IPC) me te uta i runga i nga taputapu ka mahia e tetahi tono.

I whakaatuhia a llvm-mca i te tau 2018 hei waahanga o te kaupapa LLVM, e whakawhanake ana i te punaha mo te wetewete, te whakarereke me te arotautanga o nga kaupapa. E mohiotia ana ko nga kaituhi o llvm-mca i whakaaweahia e tetahi otinga mo te tātari i nga mahi rorohiko. IACA mai i Intel me te whai ki te hanga i tetahi huarahi rereke. Na e ai ki nga kaiwhakamahi, ko te putanga o te taputapu (to ratou whakatakotoranga me te nui) he rite tonu ki te IACA - tauira ka kitea i konei. Heoi, ka whakaae noa a llvm-mca AT&T wetereo, no reira me whakamahi koe i nga kaitahuri hei mahi tahi.

He aha ta matou e tuhi ana i runga i a maatau blog me nga whatunga hapori:

Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera "Mat. Tauira Wall Street" me pehea ranei te arotau i nga utu kapua

Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera Me pehea te haumaru i to punaha Linux: 10 tohutohu
Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera Te whakaiti i nga tupono: me pehea e kore ai e ngaro o raraunga

Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera Ko nga pukapuka mo te hunga kua uru kee ki te whakahaere punaha, kei te whakamahere noa ranei ki te timata
Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwhera Kōwhiringa: e rima ngā pukapuka me te kotahi akoranga i runga whatunga

Nga tohu tohu mo nga kaitoro Linux: he whiringa taputapu tuwheraKo matou i 1cloud.ru he ratonga kore utu "manaaki DNS" Ka taea e koe te whakahaere i nga rekoata DNS i roto i te kaute whaiaro kotahi.

Source: will.com

Tāpiri i te kōrero