ProHoster > Blog > Pulega > Fa'ailoga mo Linux servers: o se filifiliga o meafaigaluega tatala
Fa'ailoga mo Linux servers: o se filifiliga o meafaigaluega tatala
Matou te faʻaauau pea ona talanoa e uiga i mea faigaluega mo le suʻesuʻeina o le CPU i luga o masini Linux. I aso nei i meafaitino: temci, uarch-bench, likwid, perf-tools ma llvm-mca.
Ole mea faigaluega lea mo le fa'atatauina ole taimi ole fa'atinoina o polokalame e lua. O le mea moni, e mafai ai e oe ona faʻatusatusa le taimi o le faʻatinoina o talosaga e lua. O le tusitala o le aoga o se tamaititi aʻoga mai Siamani, Johannes Bechberger, o le na atiina ae o se vaega o lana suʻesuʻega i lalo o le kolisi i le 2016. Meafaigaluega o aso nei tufatufaina e laiseneina i lalo ole GNU General Public License.
Na manaʻo Johannes e fatu se meafaigaluega e mafai ai e ia ona fuaina le faʻatinoga o se faiga faʻa-komepiuta i se siosiomaga faʻatonutonu. O le mea lea, o se tasi o vaega autu o le temci o le mafai lea ona faʻatulagaina se siosiomaga suʻega. Faataitaiga, mafai: sui tulaga ole pule ole PPU, fa'agata filo filo ma L1 ma L2 caches, tape le turbo mode i Intel processors, ma isi. Mo benchmarking temci faaaoga meafaigaluega taimi, perf_stat и fa'atauva'a.
O le mea lea e foliga mai ai le aoga i le tulaga muamua:
# 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
Fa'avae i luga o fa'ai'uga benchmarking, e fa'atupuina le faiga lipoti talafeagai faʻatasi ai ma ata, laulau ma kalafi, e faʻaeseese ai le temci mai fofo tutusa.
Faatasi ai ma vaivaiga o le temci, o lona "talavou" e tulaga ese. Ona o lenei mea o ia e le o mea uma e lagolagoina fa'apipi'i masini ma polokalame. Mo se faʻataʻitaʻiga, e faigata ona taʻavale i luga o macOS, ma o nisi o foliga e le o maua i luga o se faiga faʻavae ARM. I le lumanaʻi, e ono suia le tulaga, ona o loʻo faʻamalosia e le tusitala le atinaʻeina o le poloketi, ma o le numera o fetu i luga o GitHub o loʻo faasolosolo malie lava ona faʻateleina - e leʻi leva tele atu. talanoaina i faamatalaga i luga ole Hacker News.
O se aoga mo le iloiloina o le faʻatinoga o galuega ole PPU maualalo, na atiaʻe e le inisinia Travis Downs (Travis Downs). Talu ai nei sa ia faia ai le blog Galuega Faatino i luga ole GitHub Pages, lea e talanoa e uiga i meafaigaluega faʻavasega ma isi mea faʻatatau. I se tulaga lautele, uarch-bench ua faatoa amata ona maua le lauiloa, ae ua masani lava ua taua tagata o le Hacker News i mataupu autu e avea o se meafaigaluega e alu i le faʻailoga.
Uarch-bench e mafai ai e oe ona iloilo le faʻatinoga o manatuaga, faʻatusatusa le saoasaoa o faʻamaumauga ma galuega faʻamamā YMM resitala. E mafai ona maua i'uga fa'atatau e fa'atupu e le polokalame i totonu o le faleteuoloa aloaia i le pito i lalo o le itulau.
E taua le matauina o le uarch-bench, pei o le temci, fa'aletonu Galuega a le Intel Turbo Boost (e otometi lava ona fa'atuputeleina le saosaoa o le uati i lalo o le uta) ina ia fa'atumauina fa'ai'uga o su'ega.
Mo le taimi nei, o le poloketi o loʻo i totonu o le amataga o le atinaʻe, o lea e le o iai ni faʻamatalaga auiliili o le uarch-bench, ma o lona faʻagaioiga e mafai ona i ai ni pusa - mo se faʻataʻitaʻiga, ua iloa faigata faʻatasi ai ma le faʻalauiloaina i Ryzen. E le gata i lea, na'o fa'ailoga mo x86 fausaga e lagolagoina. Ua folafola e le tusitala e faʻaopoopo atili galuega i le lumanaʻi ma valaʻaulia oe e auai i le atinaʻe.
O se seti lea o meafaigaluega mo le iloiloina o le faatinoga o masini Linux ma Intel, AMD ma ARMv8 processors. Na faia i lalo o le faʻauluuluga a le German Federal Ministry of Education and Research i le 2017 ma tuʻuina atu i punaoa tatala.
Faatasi ai ma meafaigaluega likwid e mafai ona tatou faʻamaonia le likwid-powermeter, lea e faʻaalia ai faʻamatalaga mai le resitalaina o le RAPL e uiga i le mana o loʻo faʻaaogaina e le faiga, faʻapea foʻi ma le likwid-setFrequencies, lea e mafai ai ona e pulea le faʻaogaina o taimi. E mafai ona e vaʻai i le lisi atoa maua i le faleteuoloa.
O le meafaigaluega e faʻaaogaina e inisinia o loʻo aʻafia i suʻesuʻega HPC. Mo se faʻataʻitaʻiga, ma le likwid galue o se vaega o tagata tomai faapitoa mai le Nofoaga Autu Faakomepiuta Faaitulagi o le Iunivesite o Erlangen-Nuremberg (RRZE) i Siamani. Na te faia foi se sao malosi i le atinaʻeina o lenei seti o meafaigaluega.
O lenei meafaigaluega mo le suʻeina o le faʻatinoga o sapalai Linux faʻalauiloa Brendan Gregg. O ia o se tasi o atinaʻe Laupapa - o se fa'avae su'esu'e malosi mo le fa'asalaina o talosaga i le taimi moni.
perf-tools e faʻavae i luga o le perf_events ma ftrace kernel subsystems. O latou fa'aoga e mafai ai ona e su'esu'eina le I/O latency (iosnoop), siaki fa'aupuga o vala'au (unccount, funcslower, funcgraph and functrace) ma aoina fuainumera i luga o "hits" i le faila cache (cachestat). I le tulaga mulimuli, o le poloaiga e pei o lenei:
Ua fa'atupuina se fa'alapotopotoga tele tele i le meafaifa'aili (toetoe lava 6 afe fetu ile GitHub). Ma o loʻo i ai kamupani o loʻo faʻaaogaina ma le faʻaaogaina meafaigaluega, mo se faʻataʻitaʻiga Netflix. Ae o le meafaigaluega o loʻo faʻalauteleina ma faʻaleleia (e ui lava o faʻafouga e seasea faʻasalalau talu ai nei). O le mea lea, e mafai ona tupu ni mea sese i lona faʻagaioiga - na tusia e le tusitala o nisi taimi e mafua ai le popole o le fatu.
O se fa'aoga e va'ai ai pe fia le aofa'i o punaoa fa'akomepiuta e mana'omia e masini komepiuta i PPU eseese. O ia iloilo Faatonuga ile Ta'amilosaga (IPC) ma le uta i luga o meafaigaluega e gaosia e se talosaga faapitoa.
llvm-mca na tuʻuina atu i le 2018 o se vaega o le poloketi LLVM, o loʻo faʻatupuina se faiga faʻapitoa mo auʻiliʻiliga, suiga ma le faʻaleleia o polokalame. Ua iloa o tusitala o le llvm-mca na musuia e se fofo mo le iloiloina o le faatinoga o polokalama. IACA mai le Intel ma saili e fai se isi mea. Ma e tusa ai ma tagata faʻaoga, o le mea faigaluega a le meafaigaluega (la latou faʻatulagaina ma le aofaʻi) e foliga tutusa lava IACA - faʻataʻitaʻiga e mafai ona maua iinei. Ae ui i lea, llvm-mca na'o le taliaina AT&T syntax, o lea e foliga mai e tatau ona e faʻaaogaina tagata liliu e galue ai.
O mea matou te tusia e uiga ia matou blogs ma fesoʻotaʻiga lautele: