Skip to content

Changes

Started by timer
Started 5 mo 17 days ago
Queued 3 ms
Took 1 hr 5 min on built-in
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/plots/list-zoomin-abs-swift.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.d doc/theses/mike_brooks_MMath/benchmarks/list/results-java-general.csv doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.d doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.py doc/theses/mike_brooks_MMath/benchmarks/list/results-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cmp-survey.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-meta.dat doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.py doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-meta.dat doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-meta.dat doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.py doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout.py doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-java.gp doc/theses/mike_brooks_MMath/list.tex doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.d doc/theses/mike_brooks_MMath/benchmarks/list/results-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.d doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-meta.dat doc/theses/mike_brooks_MMath/plots/list-cmp-exout.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.py doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.py doc/theses/mike_brooks_MMath/plots/ListCommon.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.py doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-remelem-java.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.d doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-swift.gp doc/theses/mike_brooks_MMath/benchmarks/list/results-general.csv doc/theses/mike_brooks_MMath/plots/list-cmp-survey.py doc/theses/mike_brooks_MMath/benchmarks/list/results-java-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-general.csv doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.gp doc/theses/mike_brooks_MMath/plots/list-cmp-exout-java.d doc/theses/mike_brooks_MMath/plots/list-cmp-survey-swift.py doc/theses/mike_brooks_MMath/benchmarks/list/detail-plots.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-rel.py doc/theses/mike_brooks_MMath/plots/list-cmp-exout-swift.d doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf.d doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib.gp doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.py doc/theses/mike_brooks_MMath/plots/list-cmp-survey-java.d doc/theses/mike_brooks_MMath/plots/list-zoomin-abs.gp doc/theses/mike_brooks_MMath/plots/list-zoomout-shuf-java.gp doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.py doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-swift.d doc/theses/mike_brooks_MMath/benchmarks/list/results-java-zoomout-shuf.csv doc/theses/mike_brooks_MMath/plots/list-cfa-attrib-java.d doc/theses/mike_brooks_MMath/plots/list-zoomout-noshuf-swift.py doc/theses/mike_brooks_MMath/benchmarks/list/results-swift-zoomout-noshuf.csv doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-swift.d
mlbrooks at
move old module work into another folder
doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/main__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/main__impl.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge.c doc/proposals/modules-alvin/examples/graph/3_export/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/node.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/0_type_stubs/graph/3_export/graph/edge__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/main__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__impl.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge.c doc/proposals/modules-alvin/examples/graph/3_export/graph.c doc/proposals/modules-alvin/examples/graph/info.md doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/main.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/graph__export.h doc/proposals/modules-alvin/examples/graph/3_export/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__tshell.h 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__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/proposal.md doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__impl.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__export.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/1_size_analysis/a.out doc/proposals/modules-alvin/examples/graph/0_initial/graph/edge.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__impl.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge_picker__export.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__impl.c doc/proposals/modules-alvin/examples/graph/0_initial/graph/node.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/0_initial/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/main.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/main.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/node__export.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/3_export/graph/node__export.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph__tshell.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker__export.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph/node.c doc/proposals/modules-alvin/examples/graph/1_size_analysis/a.out doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge_picker__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph__export.h doc/proposals/modules-alvin/examples/graph/0_initial/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__impl.c doc/proposals/modules-alvin/examples/graph/4_impl/main.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/node__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/info.md doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/1_size_analysis/size_analysis.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/2_tshell/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge.c doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/node.c doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__tshell.h doc/proposals/modules-alvin/0_type_stubs/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/4_impl/graph__tshell.h doc/proposals/modules-alvin/0_type_stubs/graph/0_initial/graph.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__export.h doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge__impl.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/edge_picker.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/3_export/graph/edge_picker.c doc/proposals/modules-alvin/examples/graph/3_export/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/node__impl.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph.c doc/proposals/modules-alvin/proposal.md doc/proposals/modules-alvin/examples/graph/3_export/graph__export.h doc/proposals/modules-alvin/0_type_stubs/graph/5_tweaking/graph/edge__export.h doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/graph/node.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/edge_picker.c doc/proposals/modules-alvin/0_type_stubs/graph/2_tshell/main.c doc/proposals/modules-alvin/examples/graph/3_export/main.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__tshell.h doc/proposals/modules-alvin/examples/graph/0_initial/main.c doc/proposals/modules-alvin/examples/graph/1_size_analysis/size_analysis.c doc/proposals/modules-alvin/examples/graph/2_tshell/graph.c doc/proposals/modules-alvin/examples/graph/4_impl/graph/node__export.h doc/proposals/modules-alvin/examples/graph/4_impl/main__impl.c doc/proposals/modules-alvin/examples/graph/2_tshell/main.c doc/proposals/modules-alvin/examples/graph/5_tweaking/graph/edge_picker__impl.c 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.c doc/proposals/modules-alvin/0_type_stubs/graph/4_impl/graph/edge__tshell.h doc/proposals/modules-alvin/examples/graph/3_export/graph/node__tshell.h
alvin.zhang at