Skip to content
Failed

Changes

list perf "zoomout" numbers run with interleaving and observation disabled, which removes an anomaly and reproduces the "zoomin" numbers in the "sweet spot"
mlbrooks at
LL perf: small fixes

Fix off-by-one bug in runtime-no-shuf solution.  Add safety check that interleaving is off.  Re-run.
mlbrooks at
Replace dlist test's sout with printf, to enable testing non-libcfa draft implementations
mlbrooks at
Data and analysis associated with harness of commit 78bc398830.

Analysis change narrows the sweet-spot zone to where CFA is not misbehaving on queues and where general noise is reduced.

Revised plots are going into thesis doc, but commentary/focus has not shifted accordingly.  Notably, the CFA-attribution analysis is now mostly obviated.
mlbrooks at
Various changes motivated by improving CFA score on len-1 queues.

No such CFA score improvement achieved.  Each change helped only on stripped-down, "try to isolate an important factor" tests.  Generally, the changes are benign refactorings.  (Results substantiating "don't hurt" are forthcoming.)

Libcfa changes are
- move a read action from between the memory breaks to before them
- make the memory breaks conditionally excluded (default included, as before)

Harness changes are
- add width, a compiled-in number of lists to use in round-robin order; defaults to 1, which is what was happening all along
- make the analysis scripts tolerate (so far, ignore) the width column
- rename CLI arg NumNodes to Length (now NumNodes is Length * Width)
- factor core testing loops into helper function `runtest`
- switch to signal-based termination (and add uC++ work-around)
- put "iterator threading" into ITERS_SAVE, joining preexisting "save iter into elem's self ref"; make iterator threading conditional on iterators-active
- disable insertion loop counter and obs_*-variable declarations (and thus writes) when observation disabled
- generalize observation to work on multiple lists
- make observation and assertion-check-enabled mode work on stripped CFA list implementations like tagging-disabled
- through this observation, ensure correctness of multi-list versions
mlbrooks at
Adjust stripped-harness comparion config to exclude interleaving, matching current general runs
mlbrooks at
Add data for Intel host 'java', alongside incumbent AMD host 'swift'.

Revise analysis--presentation to show both side by side.  Remove presentation of CFA Attribution, which is now seen to be chasing a red herring.

Data continue to be from harness of commit 78bc398830.
doc/theses/mike_brooks_MMath/benchmarks/list/results-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.d doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.py doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.d doc/theses/mike_brooks_MMath/plots/list-cmp-survey.d doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.py doc/theses/mike_brooks_MMath/benchmarks/list/results-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.py doc/theses/mike_brooks_MMath/benchmarks/list/results-general.csv doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-general.csv doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.py doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-meta.dat doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.py doc/theses/mike_brooks_MMath/plots/ListCommon.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.py doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout.py doc/theses/mike_brooks_MMath/plots/list-cmp-exout-meta.dat doc/theses/mike_brooks_MMath/benchmarks/list/results-java-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cmp-survey.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-meta.dat doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-meta.dat doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.d doc/theses/mike_brooks_MMath/benchmarks/list/results-java-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.py doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.d doc/theses/mike_brooks_MMath/benchmarks/list/detail-plots.gp doc/theses/mike_brooks_MMath/list.tex doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-java-general.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.d doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.gp
mlbrooks at
move old module work into another folder
doc/proposals/modules-alvin/examples/graph/2_tshell/main.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/main__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph.c doc/proposals/modules-alvin/examples/graph/3_export/graph/node__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph.c doc/proposals/modules-alvin/examples/graph/5_tweaking/main__impl.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/4_impl/main__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph__tshell.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/main__impl.c doc/proposals/modules-alvin/examples/graph/1_size_analysis/size_analysis.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge.c doc/proposals/modules-alvin/examples/graph/0_initial/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/0_initial/main.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/info.md doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/main.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/node.c doc/proposals/modules-alvin/examples/graph/4_impl/graph__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph__tshell.h doc/proposals/modules-alvin/examples/graph/0_initial/graph/edge.c doc/proposals/modules-alvin/examples/graph/4_impl/graph__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph__export.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/main.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/proposal.md doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph.c doc/proposals/modules-alvin/examples/graph/0_initial/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/main.c doc/proposals/modules-alvin/proposal.md doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge.c doc/proposals/modules-alvin/examples/graph/0_initial/graph.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__impl.c doc/proposals/modules-alvin/examples/graph/3_export/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__impl.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__impl.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph__tshell.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/1_size_analysis/a.out doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__export.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph.c doc/proposals/modules-alvin/examples/graph/4_impl/main.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/main.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/node.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__export.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/edge.c doc/proposals/modules-alvin/examples/graph/3_export/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/1_size_analysis/size_analysis.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/node.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/1_size_analysis/a.out doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/3_export/main.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge.c doc/proposals/modules-alvin/examples/graph/info.md doc/proposals/modules-alvin/examples/graph/3_export/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph/edge__export.h
alvin.zhang at