patinnc / compare_topdown Goto Github PK
View Code? Open in Web Editor NEWrun various topdown tools with various workloads and compare results
License: MIT License
run various topdown tools with various workloads and compare results
License: MIT License
compare level 1 topdown stats for itp(perfspect), itpLite (60secs repo) and pmu-tools (Andi Kleen's repo) Let you see topdown stats from different topdown tools running different workloads To run it: cd compare_topdown get 60secs and pmu-tools and perf and spin.x (see below for github locations) edit gen_topdown_data.sh with paths to each tool as root do: ./gen_topdown_data.sh > tmp.txt This has 3 stages (echo cmds, then gen_dat then print_results) It run 3 monitoring tools against 'spin.x -w freq_sml' on all the cpus and on half the cpus. The script tries to run 'per system', 'per pid' and 'per cpu' data collection for each monitoring tool. So about 18 output directories sample output for cascade lake (48 cpus on 2 sockets) is included ./common_to_csv.sh tmp.txt > tmp1.txt reads the output from each dir and puts it into a common format creates a ';' delimited output in tmp1.txt I pasted the lines from tmp1.txt into excel spreadsheet sample_compare_itp_itpLite_pmu-tools.xlsx. The text csv lines look like below This lets you see the level 1 topdown stats from each tool with different workloads and monitoring parameters. Note that itp doesn't do 'per cpu' collection. Also pmu-tool doesn't really do 'per cpu' topdown... it computes the metrics per core and then reports both HT threads (so if you ran nothing on HT1 you'd get the HT0 stats posted to HT1). The 60secs tools are available from https://github.com/patinnc/60secs You can get spin.x is from https://github.com/patinnc/oppat (cd oppat; ./mk_spin.sh) or you can get the statically linked spin.x binary from https://github.com/patinnc/patinnc.github.io/blob/master/bin/spin.x You can get the statically linked linux 5.10 perf from https://github.com/patinnc/patinnc.github.io/blob/master/bin/perf The pmu-tools are from https://github.com/andikleen/pmu-tools tool; pmu-tool; itp; itpLite; pmu-tool; itpLite; pmu-tool; itp; itpLite; pmu-tool; itpLite; itp; itpLite; itp; itpLite cpus; 48; 48; 48; 48; 48; 24; 24; 24; 24; 24; 48; 48; 24; 24 type; sys; sys; sys; cpu; cpu; sys; sys; sys; cpu; cpu; pid; pid; pid; pid work; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml; freq_sml kstr;,cpus= 48,type= sys,work= freq_sml;,cpus= 48,type= sys,work= freq_sml;,cpus= 48,type= sys,work= freq_sml;,cpus= 48,type= cpu,work= freq_sml;,cpus= 48,type= cpu,work= freq_sml;,cpus= 24,type= sys,work= freq_sml;,cpus= 24,type= sys,work= freq_sml;,cpus= 24,type= sys,work= freq_sml;,cpus= 24,type= cpu,work= freq_sml;,cpus= 24,type= cpu,work= freq_sml;,cpus= 48,type= pid,work= freq_sml;,cpus= 48,type= pid,work= freq_sml;,cpus= 24,type= pid,work= freq_sml;,cpus= 24,type= pid,work= freq_sml dir;tst_v36_pmu-tool_freq_sml_48cpus_sys;tst_v36_itp_freq_sml_48cpus_sys;tst_v36_itpLite_freq_sml_48cpus_sys;tst_v36_pmu-tool_freq_sml_48cpus_cpu;tst_v36_itpLite_freq_sml_48cpus_cpu;tst_v36_pmu-tool_freq_sml_24cpus_sys;tst_v36_itp_freq_sml_24cpus_sys;tst_v36_itpLite_freq_sml_24cpus_sys;tst_v36_pmu-tool_freq_sml_24cpus_cpu;tst_v36_itpLite_freq_sml_24cpus_cpu;tst_v36_itp_freq_sml_48cpus_pid;tst_v36_itpLite_freq_sml_48cpus_pid;tst_v36_itp_freq_sml_24cpus_pid;tst_v36_itpLite_freq_sml_24cpus_pid %busy;100;99.062;98.940;100;98.953;50;48.762;49.622;100;49.621;190.951;90.263;92.730;45.129 frqGHz;2.7;2.699;2.696;2.7;2.696;2.7;2.699;2.696;2.7;2.696;2.700;2.700;2.700;2.700 %retiring;49.9;49.863;49.911;49.8917;24.924;25.1;25.328;25.140;25.0917;25.002;24.970;24.934;25.114;25.088 %bad_spec;0;0.024;0.024;0;0.014;0;0.170;0.017;0;0.010;0.007;0.003;0.010;0.003 %frt_end;28.4;28.337;28.376;28.3958;14.175;0.1;0.132;0.096;0.1125;0.097;14.189;14.166;0.025;0.026 %bck_end;21.7;21.776;21.690;21.7125;60.886;74.7;74.370;74.747;74.7083;74.892;60.833;60.898;74.851;74.883 IPC;;0.998;0.998;;0.999;;1.002;1.001;;1.001;1.000;0.998;1.005;1.004 mem_bw;;0.034;0.025;;0.025;;0.044;0.036;;0.035;;;; LatCycls;;421.495;293.865;;286.963;;421.313;336.368;;325.490;;;; Lat(ns);;156.139;133.575;;130.438;;156.103;152.894;;147.950;;;; pkg_watts;;133.218;133.643;;133.556;;119.275;120.239;;120.243;;;; %cyc_be;;;0.640;;0.643;;;0.312;;0.316;;0.631;;0.089 %cyc_uopRet;;;99.225;;99.192;;;99.477;;99.510;;99.230;;99.833 L3MssBW;;;0.001;;0.001;;;0.003;;0.003;;;; LatUnc(ns);;;84.473;;84.894;;;104.687;;104.919;;;; LatUncCycls;;;227.735;;228.873;;;282.203;;282.826;;;; LatUncBW;;;0.004;;0.004;;;0.006;;0.006;;;; %L3_miss;;;17.205;;16.724;;;15.755;;16.018;;;; bw_rmt;;;0.003;;0.003;;;0.006;;0.006;;;;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.