Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక

మేము Linux మెషీన్‌లలో CPU పనితీరును అంచనా వేయడానికి సాధనాల గురించి మాట్లాడటం కొనసాగిస్తాము. ఈరోజు మెటీరియల్‌లో: temci, uarch-bench, likwid, perf-టూల్స్ మరియు llvm-mca.

మరిన్ని బెంచ్‌మార్క్‌లు:

Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక
- లుకాస్ బ్లేజెక్ - అన్‌స్ప్లాష్

temci

ఇది రెండు ప్రోగ్రామ్‌ల అమలు సమయాన్ని అంచనా వేయడానికి ఒక సాధనం. ముఖ్యంగా, ఇది రెండు అప్లికేషన్ల అమలు సమయాన్ని పోల్చడానికి మిమ్మల్ని అనుమతిస్తుంది. యుటిలిటీ యొక్క రచయిత జర్మనీకి చెందిన విద్యార్థి జోహన్నెస్ బెచ్‌బెర్గర్, అతను 2016లో తన అండర్ గ్రాడ్యుయేట్ థీసిస్‌లో భాగంగా దీనిని అభివృద్ధి చేశాడు. నేడు ఒక సాధనం ద్వారా పంపిణీ చేయబడింది GNU జనరల్ పబ్లిక్ లైసెన్స్ క్రింద లైసెన్స్ పొందింది.

జోహన్నెస్ ఒక నియంత్రిత వాతావరణంలో కంప్యూటింగ్ సిస్టమ్ పనితీరును కొలవడానికి అనుమతించే ఒక సాధనాన్ని సృష్టించాలనుకున్నాడు. అందువల్ల, టెమ్సీ యొక్క ప్రధాన లక్షణాలలో ఒకటి పరీక్ష వాతావరణాన్ని ఏర్పాటు చేయగల సామర్థ్యం. ఉదాహరణకి, చెయ్యవచ్చు: CPU ఫ్రీక్వెన్సీ మేనేజర్ సెట్టింగ్‌లను మార్చండి, నిలిపివేయండి హైపర్-థ్రెడింగ్ మరియు L1 మరియు L2 కాష్‌లు, ఇంటెల్ ప్రాసెసర్‌లలో టర్బో మోడ్‌ని ఆఫ్ చేయడం మొదలైనవి. బెంచ్‌మార్కింగ్ కోసం temci సాధనాలను ఉపయోగిస్తుంది సమయం, perf_stat и గెట్రూసేజ్.

మొదటి సందర్భంలో యుటిలిటీ ఇలా కనిపిస్తుంది:

# 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

బెంచ్‌మార్కింగ్ ఫలితాల ఆధారంగా, సిస్టమ్ ఉత్పత్తి చేస్తుంది అనుకూలమైన నివేదిక రేఖాచిత్రాలు, పట్టికలు మరియు గ్రాఫ్‌లతో, ఇది temciని సారూప్య పరిష్కారాల నుండి వేరు చేస్తుంది.

టెమ్సీ యొక్క లోపాలలో, దాని "యువత" నిలుస్తుంది. దీని కారణంగా అతను ప్రతిదానికీ మద్దతు లేదు హార్డ్‌వేర్ మరియు సాఫ్ట్‌వేర్ కాన్ఫిగరేషన్‌లు. ఉదాహరణకు, MacOSలో అమలు చేయడం కష్టం మరియు ARM-ఆధారిత సిస్టమ్‌లో కొన్ని లక్షణాలు అందుబాటులో లేవు. భవిష్యత్తులో, పరిస్థితి మారవచ్చు, రచయిత ప్రాజెక్ట్ను చురుకుగా అభివృద్ధి చేస్తున్నందున, మరియు GitHub లో నక్షత్రాల సంఖ్య క్రమంగా పెరుగుతోంది - చాలా కాలం క్రితం temci కూడా వ్యాఖ్యలలో చర్చించారు హ్యాకర్ వార్తలపై.

uarch-బెంచ్

ఇంజనీర్ ట్రావిస్ డౌన్స్ అభివృద్ధి చేసిన తక్కువ-స్థాయి CPU ఫంక్షన్‌ల పనితీరును అంచనా వేయడానికి ఒక యుటిలిటీ (ట్రావిస్ డౌన్స్) ఇటీవల అతను బ్లాగింగ్ చేస్తున్నాడు పనితీరు విషయాలు GitHub పేజీలలో, ఇది బెంచ్‌మార్కింగ్ సాధనాలు మరియు ఇతర సంబంధిత విషయాల గురించి మాట్లాడుతుంది. సాధారణంగా, uarch-బెంచ్ జనాదరణ పొందడం ప్రారంభించింది, కానీ ఇది ఇప్పటికే చాలా సాధారణం పేర్కొన్న బెంచ్‌మార్కింగ్ కోసం గో-టు టూల్‌గా నేపథ్య థ్రెడ్‌లలో హ్యాకర్ న్యూస్ నివాసితులు.

మెమరీ పనితీరు, సమాంతర డేటా లోడింగ్ వేగం మరియు శుభ్రపరిచే పనిని అంచనా వేయడానికి Uarch-బెంచ్ మిమ్మల్ని అనుమతిస్తుంది YMM నమోదు చేస్తుంది. ప్రోగ్రామ్ ద్వారా రూపొందించబడిన బెంచ్‌మార్కింగ్ ఫలితాలు ఎలా ఉంటాయో కనుగొనవచ్చు అధికారిక రిపోజిటరీలో పేజీ దిగువన.

టెమ్సీ వంటి uarch-బెంచ్, డిస్‌కనెక్ట్ చేస్తుంది ఇంటెల్ టర్బో బూస్ట్ ఫంక్షన్ (ఇది స్వయంచాలకంగా లోడ్ కింద ప్రాసెసర్ క్లాక్ వేగాన్ని పెంచుతుంది) తద్వారా పరీక్ష ఫలితాలు స్థిరంగా ఉంటాయి.

ప్రస్తుతానికి, ప్రాజెక్ట్ అభివృద్ధి ప్రారంభ దశలో ఉంది, కాబట్టి uarch-benchకు వివరణాత్మక డాక్యుమెంటేషన్ లేదు మరియు దాని ఆపరేషన్ బగ్‌లను కలిగి ఉండవచ్చు - ఉదాహరణకు, కష్టాలు తెలుస్తాయి రైజెన్‌లో ప్రారంభించడంతో. అలాగే, x86 ఆర్కిటెక్చర్‌ల బెంచ్‌మార్క్‌లకు మాత్రమే మద్దతు ఉంది. భవిష్యత్తులో మరిన్ని కార్యాచరణలను జోడిస్తానని రచయిత హామీ ఇచ్చారు మరియు అభివృద్ధిలో చేరమని మిమ్మల్ని ఆహ్వానిస్తున్నారు.

ద్రవ

ఇది Intel, AMD మరియు ARMv8 ప్రాసెసర్‌లతో Linux మెషీన్‌ల పనితీరును అంచనా వేయడానికి సాధనాల సమితి. ఇది 2017లో జర్మన్ ఫెడరల్ మినిస్ట్రీ ఆఫ్ ఎడ్యుకేషన్ అండ్ రీసెర్చ్ ఆధ్వర్యంలో సృష్టించబడింది మరియు ఓపెన్ సోర్స్‌లోకి విడుదల చేయబడింది.

likwid సాధనాల్లో, మేము likwid-powermeterని హైలైట్ చేయవచ్చు, ఇది సిస్టమ్ ద్వారా వినియోగించబడే శక్తి గురించి RAPL రిజిస్టర్ల నుండి సమాచారాన్ని ప్రదర్శిస్తుంది, అలాగే ప్రాసెసర్ ఫ్రీక్వెన్సీని నియంత్రించడానికి మిమ్మల్ని అనుమతించే likwid-setFrequencies. మీరు పూర్తి జాబితాను చూడవచ్చు రిపోజిటరీలో కనుగొనండి.

సాధనం HPC పరిశోధనలో పాల్గొన్న ఇంజనీర్లచే ఉపయోగించబడుతుంది. ఉదాహరణకు, likwid తో работает జర్మనీలోని యూనివర్శిటీ ఆఫ్ ఎర్లాంజెన్-నురేమ్‌బెర్గ్ (RRZE) యొక్క ప్రాంతీయ కంప్యూటింగ్ సెంటర్ నుండి నిపుణుల బృందం. ఈ సాధనాల సమితి అభివృద్ధిలో ఆమె కూడా చురుకుగా పాల్గొంటుంది.

Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక
- క్లెమ్ ఒనోజెగువో - అన్‌స్ప్లాష్

perf-టూల్స్

Linux సర్వర్‌ల పనితీరును విశ్లేషించడానికి ఈ సాధనం సమర్పించిన బ్రెండన్ గ్రెగ్. అతను డెవలపర్‌లలో ఒకడు DTrace — నిజ సమయంలో అప్లికేషన్లను డీబగ్గింగ్ చేయడానికి డైనమిక్ ట్రేసింగ్ ఫ్రేమ్‌వర్క్.

perf-tools perf_events మరియు ftrace కెర్నల్ సబ్‌సిస్టమ్‌లపై ఆధారపడి ఉంటుంది. I/O లేటెన్సీ (iosnoop), సిస్టమ్ కాల్ ఆర్గ్యుమెంట్‌లను ట్రాక్ చేయడానికి (అన్‌కౌంట్, ఫంక్‌స్లోవర్, ఫంక్‌గ్రాఫ్ మరియు ఫంక్‌ట్రేస్) మరియు ఫైల్ కాష్ (క్యాచెస్టాట్)లో “హిట్‌ల”పై గణాంకాలను సేకరించడానికి వారి యుటిలిటీలు మిమ్మల్ని అనుమతిస్తాయి. తరువాతి సందర్భంలో, ఆదేశం ఇలా కనిపిస్తుంది:

# ./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

పరికరం చుట్టూ చాలా పెద్ద సంఘం ఏర్పడింది (GitHubలో దాదాపు 6 వేల నక్షత్రాలు) మరియు ఉదాహరణకు, పెర్ఫ్-టూల్స్ను చురుకుగా ఉపయోగించే కంపెనీలు ఉన్నాయి నెట్ఫ్లిక్స్. కానీ సాధనం మరింత అభివృద్ధి చేయబడుతోంది మరియు సవరించబడుతోంది (అయితే నవీకరణలు ఇటీవల చాలా అరుదుగా విడుదల చేయబడ్డాయి). అందువల్ల, దాని ఆపరేషన్‌లో లోపాలు సంభవించవచ్చు - కొన్నిసార్లు perf-టూల్స్ కెర్నల్ భయాందోళనలకు కారణమవుతాయని రచయిత వ్రాశారు.

llvm-mca

వివిధ CPUలలో మెషిన్ కోడ్‌కి ఎన్ని కంప్యూటింగ్ వనరులు అవసరమో అంచనా వేసే యుటిలిటీ. ఆమె మూల్యాంకనం చేస్తుంది ప్రతి చక్రానికి సూచనలు (IPC) మరియు నిర్దిష్ట అప్లికేషన్ ఉత్పత్తి చేసే హార్డ్‌వేర్‌పై లోడ్.

ప్రాజెక్ట్‌లో భాగంగా llvm-mca 2018లో ప్రదర్శించబడింది ఎల్‌ఎల్‌విఎం, ఇది ప్రోగ్రామ్‌ల విశ్లేషణ, పరివర్తన మరియు ఆప్టిమైజేషన్ కోసం సార్వత్రిక వ్యవస్థను అభివృద్ధి చేస్తోంది. llvm-mca రచయితలు సాఫ్ట్‌వేర్ పనితీరును విశ్లేషించడానికి ఒక పరిష్కారం ద్వారా ప్రేరణ పొందారని తెలిసింది. ఇంటెల్ నుండి IACA మరియు ప్రత్యామ్నాయాన్ని రూపొందించాలని కోరింది. మరియు వినియోగదారుల ప్రకారం, సాధనం యొక్క అవుట్‌పుట్ (వాటి లేఅవుట్ మరియు పరిమాణం) నిజంగా IACAని పోలి ఉంటుంది - ఉదాహరణ ఇక్కడ చూడవచ్చు. అయితే, llvm-mca మాత్రమే అంగీకరిస్తుంది AT&T సింటాక్స్, కాబట్టి మీరు దానితో పనిచేయడానికి ఎక్కువగా కన్వర్టర్లను ఉపయోగించాల్సి ఉంటుంది.

మా బ్లాగులు మరియు సోషల్ నెట్‌వర్క్‌లలో మనం ఏమి వ్రాస్తాము:

Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక "చాప. వాల్ స్ట్రీట్ మోడల్" లేదా క్లౌడ్ ఖర్చులను ఎలా ఆప్టిమైజ్ చేయాలి

Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక మీ Linux సిస్టమ్‌ను ఎలా భద్రపరచాలి: 10 చిట్కాలు
Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక ప్రమాదాన్ని తగ్గించడం: మీ డేటాను ఎలా కోల్పోకూడదు

Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక ఇప్పటికే సిస్టమ్ అడ్మినిస్ట్రేషన్‌లో నిమగ్నమై ఉన్న లేదా ప్రారంభించడానికి ప్లాన్ చేస్తున్న వారి కోసం పుస్తకాలు
Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపిక ఎంపిక: నెట్‌వర్క్‌లపై ఐదు పుస్తకాలు మరియు ఒక కోర్సు

Linux సర్వర్‌ల కోసం బెంచ్‌మార్క్‌లు: ఓపెన్ టూల్స్ ఎంపికమేము 1cloud.ru వద్ద ఉచిత సేవను అందిస్తాము "DNS హోస్టింగ్" మీరు ఒకే వ్యక్తిగత ఖాతాలో DNS రికార్డులను నిర్వహించవచ్చు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి