ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම

Linux යන්ත්‍රවල CPU ක්‍රියාකාරිත්වය තක්සේරු කිරීමේ මෙවලම් ගැන අපි දිගටම කතා කරමු. අද ද්රව්යයේ: temci, uarch-bench, likwid, perf-tools සහ llvm-mca.

තවත් මිණුම් සලකුණු:

ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම
ඡායාරූපය - Lukas Blazek - Unsplash

temci

මෙය වැඩසටහන් දෙකක ක්‍රියාත්මක කිරීමේ කාලය තක්සේරු කිරීමේ මෙවලමකි. අත්යවශ්යයෙන්ම, යෙදුම් දෙකක ක්රියාත්මක කිරීමේ කාලය සංසන්දනය කිරීමට ඔබට ඉඩ සලසයි. උපයෝගීතාවයේ කතුවරයා ජර්මනියේ ශිෂ්‍යයෙකු වන ජොහැන්නස් බෙච්බර්ගර් වන අතර ඔහු එය 2016 හි ඔහුගේ උපාධි නිබන්ධනයේ කොටසක් ලෙස සංවර්ධනය කළේය. අද මෙවලම විසින් බෙදා හරිනු ලැබේ GNU සාමාන්‍ය මහජන බලපත්‍රය යටතේ බලපත්‍ර ලබා ඇත.

පාලිත පරිසරයක් තුළ පරිගණක පද්ධතියක ක්‍රියාකාරීත්වය මැනීමට ඉඩ සලසන මෙවලමක් නිර්මාණය කිරීමට ජොහැන්නස්ට අවශ්‍ය විය. එබැවින්, temci හි එක් ප්‍රධාන ලක්ෂණයක් වන්නේ පරීක්ෂණ පරිසරයක් සැකසීමේ හැකියාවයි. උදාහරණ වශයෙන්, හැකි: 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 සමාන විසඳුම් වලින් වෙන්කර හඳුනා ගනී.

Temci හි අඩුපාඩු අතරින් එහි "යෞවනය" කැපී පෙනේ. මේ නිසා ඔහු සෑම දෙයක්ම සහාය නොදක්වයි දෘඪාංග සහ මෘදුකාංග සැකසුම්. උදාහරණයක් ලෙස, macOS මත ධාවනය කිරීමට අපහසු වන අතර සමහර විශේෂාංග ARM මත පදනම් වූ පද්ධතියක නොමැත. අනාගතයේ දී, තත්වය වෙනස් විය හැකිය, කතුවරයා මෙම ව්‍යාපෘතිය ක්‍රියාකාරීව සංවර්ධනය කරමින් සිටින අතර, GitHub හි තරු ගණන ක්‍රමයෙන් වැඩි වෙමින් පවතී - බොහෝ කලකට පෙර නොවේ temci පවා අදහස් දැක්වීමේදී සාකච්ඡා කර ඇත හැකර් පුවත් මත.

uarch-bench

ඉංජිනේරු ට්‍රැවිස් ඩවුන්ස් (Travis Downs) විසින් සංවර්ධනය කරන ලද පහළ මට්ටමේ CPU ශ්‍රිතවල ක්‍රියාකාරීත්වය ඇගයීම සඳහා උපයෝගීතාවයකි.ට්‍රැවිස් ඩවුන්ස්) මෑතකදී ඔහු බ්ලොග්කරණයේ යෙදී සිටියේය කාර්ය සාධනය වැදගත් වේ මිණුම් සලකුණු මෙවලම් සහ අනෙකුත් අදාළ දේවල් ගැන කතා කරන GitHub පිටු මත. පොදුවේ ගත් කල, uarch-bench ජනප්රියත්වය ලබා ගැනීමට පටන් ගෙන ඇත, නමුත් එය දැනටමත් බෙහෙවින් පොදු ය සඳහන් කර ඇත මිණුම් සලකුණු කිරීම සඳහා යන මෙවලමක් ලෙස තේමාත්මක නූල්වල හැකර් ප්‍රවෘත්තිවල පදිංචිකරුවන්.

Uarch-bench ඔබට මතක ක්‍රියාකාරිත්වය, සමාන්තර දත්ත පැටවීමේ වේගය සහ පිරිසිදු කිරීමේ කාර්යය ඇගයීමට ඉඩ සලසයි. YMM ලියාපදිංචි වේ. වැඩසටහන මගින් ජනනය කරන ලද මිණුම් සලකුණු ප්‍රතිඵල කෙබඳුදැයි සොයා ගත හැක නිල ගබඩාවේ පිටුවේ පතුලේ.

temci වැනි uarch-bench බව සඳහන් කිරීම වටී. විසන්ධි කරයි Intel Turbo Boost ශ්‍රිතය (එය භාරය යටතේ ප්‍රොසෙසර ඔරලෝසුවේ වේගය ස්වයංක්‍රීයව වැඩි කරයි) එවිට පරීක්ෂණ ප්‍රතිඵල අනුකූල වේ.

දැනට, ව්‍යාපෘතිය සංවර්ධනයේ මුල් අවධියේ පවතී, එබැවින් uarch-bench හි සවිස්තරාත්මක ලියකියවිලි නොමැති අතර එහි ක්‍රියාකාරිත්වය දෝෂ අඩංගු විය හැකිය - උදාහරණයක් ලෙස, දුෂ්කරතා දනී Ryzen මත දියත් කිරීමත් සමඟ. එසේම, x86 ගෘහ නිර්මාණ ශිල්පය සඳහා මිණුම් සලකුණු පමණක් සහය දක්වයි. කතුවරයා අනාගතයේදී තවත් ක්‍රියාකාරීත්වයක් එක් කිරීමට පොරොන්දු වන අතර සංවර්ධනයට සම්බන්ධ වීමට ඔබට ආරාධනා කරයි.

දියර

මෙය Intel, AMD සහ ARMv8 ප්‍රොසෙසර සහිත ලිනක්ස් යන්ත්‍රවල ක්‍රියාකාරීත්වය ඇගයීම සඳහා වූ මෙවලම් සමූහයකි. එය 2017 දී ජර්මානු ෆෙඩරල් අධ්‍යාපන හා පර්යේෂණ අමාත්‍යාංශයේ අනුග්‍රහය යටතේ නිර්මාණය කර විවෘත මූලාශ්‍ර වෙත නිකුත් කරන ලදී.

Likwid මෙවලම් අතර, අපට likwid-powermeter ඉස්මතු කළ හැකිය, එමඟින් පද්ධතිය විසින් පරිභෝජනය කරන බලය පිළිබඳ RAPL රෙජිස්ටර් වලින් තොරතුරු මෙන්ම ප්‍රොසෙසර සංඛ්‍යාතය පාලනය කිරීමට ඔබට ඉඩ සලසන likwid-setFrequencies. ඔබට සම්පූර්ණ ලැයිස්තුව බලන්න පුළුවන් ගබඩාවේ සොයා ගන්න.

HPC පර්යේෂණයට සම්බන්ධ ඉංජිනේරුවන් විසින් මෙවලම භාවිතා කරයි. උදාහරණයක් ලෙස, likwid සමඟ වැඩ කරනවා ජර්මනියේ Erlangen-Nuremberg විශ්වවිද්‍යාලයේ (RRZE) ප්‍රාදේශීය පරිගණක මධ්‍යස්ථානයේ විශේෂඥයින් පිරිසක්. මෙම මෙවලම් කට්ටලය සංවර්ධනය කිරීමේදී ඇය ද ක්රියාකාරී ලෙස සහභාගී වේ.

ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම
ඡායාරූපය - ක්ලෙම් ඔනෝජෙගු - Unsplash

perf-මෙවලම්

Linux සේවාදායකයන්ගේ කාර්ය සාධනය විශ්ලේෂණය කිරීම සඳහා මෙම මෙවලම හඳුන්වා දී ඇත බ්‍රෙන්ඩන් ග්‍රෙග්. ඔහු සංවර්ධකයන්ගෙන් කෙනෙකි ඩීට්රේස් - තථ්‍ය කාලීන යෙදුම් නිදොස් කිරීම සඳහා ගතික ලුහුබැඳීමේ රාමුවක්.

perf-tools perf_events සහ ftrace kernel උප පද්ධති මත පදනම් වේ. ඔවුන්ගේ උපයෝගිතා මඟින් ඔබට I/O ප්‍රමාදය (iosnoop) විශ්ලේෂණය කිරීමට, පද්ධති ඇමතුම් තර්ක (unccount, funcslower, funcgraph සහ functrace) නිරීක්ෂණය කිරීමට සහ ගොනු හැඹිලියේ (cachestat) "හිට්" පිළිබඳ සංඛ්‍යාලේඛන රැස් කිරීමට ඉඩ සලසයි. අවසාන අවස්ථාවේදී, විධානය මේ ආකාරයෙන් පෙනේ:

# ./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-tools ක්රියාකාරීව භාවිතා කරන සමාගම් තිබේ Netflix. නමුත් මෙවලම තවදුරටත් සංවර්ධනය කර වෙනස් වෙමින් පවතී (යාවත්කාලීන කිරීම් ඉතා කලාතුරකින් නිකුත් කර ඇතත්). එබැවින්, එහි ක්රියාකාරිත්වයේ දෝෂ ඇති විය හැක - සමහර විට perf-මෙවලම් කර්නල් භීතියට හේතු වන බව කතුවරයා ලියයි.

llvm-mca

විවිධ CPU මත පරිගණක සම්පත් යන්ත්‍ර කේතය කොපමණ ප්‍රමාණයක් අවශ්‍ය වේද යන්න පුරෝකථනය කරන උපයෝගීතාවයකි. ඇය ඇගයීමට ලක් කරයි එක් චක්රයක් සඳහා උපදෙස් (සීපීඅයි) සහ යම් යෙදුමක් උත්පාදනය කරන දෘඪාංග මත පැටවීම.

ව්‍යාපෘතියේ කොටසක් ලෙස llvm-mca 2018 දී ඉදිරිපත් කරන ලදී එල්එල්වීඑම්, වැඩසටහන් විශ්ලේෂණය, පරිවර්තනය සහ ප්‍රශස්තකරණය සඳහා විශ්වීය පද්ධතියක් සංවර්ධනය කරමින් සිටී. llvm-mca හි කතුවරුන් මෘදුකාංග ක්‍රියාකාරිත්වය විශ්ලේෂණය කිරීමේ විසඳුමකින් ආභාෂය ලැබූ බව දන්නා කරුණකි. ඉන්ටෙල් වෙතින් IACA සහ විකල්පයක් නිර්මාණය කිරීමට උත්සාහ කළේය. පරිශීලකයින්ට අනුව, මෙවලමෙහි ප්‍රතිදානය (ඒවායේ පිරිසැලසුම සහ ප්‍රමාණය) සැබවින්ම IACA ට සමාන වේ - උදාහරණයක් මෙහි සොයා ගත හැක. කෙසේ වෙතත්, llvm-mca පමණක් පිළිගනී AT&T වාක්‍ය ඛණ්ඩය, එබැවින් ඔබට එය සමඟ වැඩ කිරීමට බොහෝ විට පරිවර්තක භාවිතා කිරීමට සිදුවනු ඇත.

අපගේ බ්ලොග් සහ සමාජ ජාල වල අප ලියන දේ:

ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම "මැට්. වෝල් ස්ට්‍රීට් ආකෘතිය" හෝ වලාකුළු පිරිවැය ප්‍රශස්ත කරන්නේ කෙසේද

ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම ඔබේ ලිනක්ස් පද්ධතිය සුරක්ෂිත කරන්නේ කෙසේද: උපදෙස් 10ක්
ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම අවදානම් අවම කිරීම: ඔබගේ දත්ත නැති කර නොගන්නේ කෙසේද

ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම පද්ධති පරිපාලනයට දැනටමත් සම්බන්ධ වී සිටින හෝ ආරම්භ කිරීමට සැලසුම් කරන අය සඳහා පොත්
ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීම තේරීම: පොත් පහක් සහ ජාල පිළිබඳ එක් පාඨමාලාවක්

ලිනක්ස් සර්වර් සඳහා මිණුම් සලකුණු: විවෘත මෙවලම් තෝරාගැනීමඅපි 1cloud.ru හි නොමිලේ සේවාවක් ලබා දෙන්නෙමු "DNS සත්කාරකත්වය" ඔබට තනි පුද්ගලික ගිණුමකින් DNS වාර්තා කළමනාකරණය කළ හැක.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න