Changeset bf73608 for doc/theses/mike_brooks_MMath/list.tex
- Timestamp:
- Apr 24, 2026, 1:27:24 PM (5 days ago)
- Branches:
- master
- Children:
- 8501107
- Parents:
- 534188b
- File:
-
- 1 edited
-
doc/theses/mike_brooks_MMath/list.tex (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/list.tex
r534188b rbf73608 963 963 \end{figure} 964 964 965 Where \VRef[Figure]{f:ListPerfGlossary} enumerates the specific values, re all the use-case dimensions are:965 Where \VRef[Figure]{f:ListPerfGlossary} enumerates the specific values, recall the use-case dimensions are: 966 966 \begin{description} 967 967 \item[movement ($\times 2$)] … … 1015 1015 Rather, size zones are picked, specific effects inside of a zone are averaged away, and the story at one zone is compared to that at another zone. 1016 1016 1017 \begin{figure} 1018 \centering 1019 \setlength{\tabcolsep}{0pt} 1020 \begin{tabular}{p{3.4375in}p{0.125in}p{2.9375in}} 1021 \subfloat[ ]{\label{f:zoomin-abs-i-swift} 1022 \includegraphics{plot-list-zoomin-abs-i-swift.pdf} 1023 } & & 1024 \subfloat[ ]{\label{f:zoomin-abs-viii-java} 1025 \includegraphics{plot-list-zoomin-abs-viii-java.pdf} 1026 } 1027 \end{tabular} 1028 \caption{Variety of IR duration \vs list length, at small--medium lengths. Two example use cases are shown: I, stack movement with head-only access (plot a); VIII, queue movement with element-oriented removal access (plot b); both use cases have insert-first polarity. One example is run on each machine: UC-I on AMD (ploat a); UC-VIII on Intel (plot b). Lower duration is better.} 1029 \label{fig:plot-list-zoomin-abs} 1030 \end{figure} 1031 1032 \VRef[Figure]{fig:plot-list-zoomin-abs} gives two example responses to size. 1033 The dataset here is a small portion of the overall result and it is premature to attempt conclusions about framework differences from it. 1034 These two examples show, firstly, how differently a pair of individual configurations can behave. 1035 Of more immediate significance, they also have a pattern repeated, in all eight of their size responses. 1036 Note the ``small'' and ``medium'' overlaid boxes, which call out the size zones' definitions. 1037 Outside of an identified box, size response is erratic. 1038 Inside a box, size response is smooth. 1039 This pattern occurs generally throughout all the experimental results, beyond the two examples here. 1040 1017 1041 To preview, \VRef[Section]{toc:coarse-compre} dismisses ``Large'' sizes (above 150 elements), where the performance story is dominated by the amount of memory touched, inherently, by the choice of intrusive list \vs wrapped, and where one intrusive framework is quite obviously as good as another. 1018 At smaller sizes, comparing one intrusive framework to another makes sense; this compari on occurs in the remaining ``Result'' sections.1019 Among the ``not Large'' sizes used there, two further zones,Small and Medium, are selected as representatives of what can vary when the scale is changed.1042 At smaller sizes, comparing one intrusive framework to another makes sense; this comparison occurs in the remaining ``Result'' sections. 1043 Among the remaining ``not Large'' sizes, two further zones, \VRef[Figure]{fig:plot-list-zoomin-abs}'s Small and Medium, are selected as representatives of what can vary when the scale is changed. 1020 1044 These particular ranges were chosen beacause each range tends to have one story repeated across its constituent sizes. 1021 1045 If \CFA's duration increases across Small, then the other frameworks' usually do too. … … 1076 1100 1077 1101 Use case, physical context and framework are the explanatory factors. 1078 Taking all combinations of the explanatory factors gives 624 individual configurations. 1079 1080 Though there are multiple experimental trials of each configuration (to assure repeatability), the usual measure is mean AIR among the trials, considered for each of the 624 individual configurations. 1081 1082 All means reported in this analysis are geometric. 1083 1084 \MLB{TODO: add example plots; explain histogram of 624} 1102 Taking all combinations of the explanatory factors gives 624 individual configurations: 1103 \[ 1104 \textrm{624 individual configurations} = 1105 \sum_{\substack{ 1106 \textrm{12 use cases}\\ 1107 \textrm{4 physical contexts}\\ 1108 \textrm{4 specific sizes}\\ 1109 \textrm{3.25 frameworks} 1110 }} 1111 \textrm{1 individual configuration} 1112 \] 1113 1114 \begin{figure} 1115 \centering 1116 \setlength{\tabcolsep}{0pt} 1117 \includegraphics[trim={0in, 1.75in, 0in, 0in}, clip]{plot-list-legend-rel-i-swift.pdf} 1118 \begin{tabular}{p{2.75in}p{0.125in}p{3.625in}} 1119 \subfloat[ ]{\label{f:zoomin-rel-i-swift} 1120 \includegraphics{plot-list-zoomin-rel-i-swift.pdf} 1121 } & & 1122 \subfloat[ ]{\label{f:zoomin-histo-i-swift} 1123 \includegraphics{plot-list-histo-rel-i-swift.pdf} 1124 } 1125 \end{tabular} 1126 \caption{IR duration, transformed for general anaysis. The analysis follows the single example setup of \VRef[Figure]{f:zoomin-abs-i-swift}, \ie Use Case I on AMD, where IR is given as absolute duration. Plot (a) transforms the source dataset by conditioning on specific size. Plot (b) takes the results from only the identified size zones, discards their specific-size information, and shows the resulting distribution. Lower duration is better.} 1127 \label{fig:plot-list-rel} 1128 \end{figure} 1129 1130 32 of these individual configurations, plucked from \VRef[Figure]{f:zoomin-abs-i-swift}, are the subject of \VRef[Figure]{fig:plot-list-rel}, where they are now transformed into the format used for general analysis. 1131 In \subref*{f:zoomin-rel-i-swift}, each of the 56 data points is an individual configuration; the subset within the two boxes has the 32 of interest. 1132 In \subref*{f:zoomin-histo-i-swift}, the very leftmost histogram (Small, \CFA) summarizes the 4 Small--\CFA individual configurations. 1133 Each remaining framework, at size zone Small, similarly summarizes 4 individual configurations. 1134 This statement is the interpretation of the x-category label, ``Small (/4).'' 1135 Each line under the ``/4'' label has 4 individual configurations; so, this group has 16 individual configurations. 1136 The interpretation of ``Medium (/4)'' is similar; it groups the remaining 16 configurations. 1137 When both size zones are pooled together, ``Both (/8)'' results; this group revisits all 32 configurations. 1138 1139 This example's use of 32 individual configurations is in contrast with full-universe comparisons like the forthcoming \VRef[Figure]{fig:plot-list-1ord}, whose coverage further includes all use cases and both machines. 1140 1141 The transformation of \VRef[Figure]{f:zoomin-abs-i-swift} into \VRef[Figure]{f:zoomin-rel-i-swift} conditions on the configuration's specific size. 1142 At a particular size, the average duration is computed, across the three frameworks that work on all use cases: \CFA, \uCpp and LQ-@tailq@. 1143 \VRef[Figure]{fig:plot-list-rel} shows a particular configuration's duration relative to this average. 1144 1145 The effect of conditioning on specific size erases the fact that \VRef[Figure]{fig:plot-list-zoomin-abs} shows, aside from the coarse hops, all frameworks getting smoothly slower as size increases. 1146 This effect is partiularly relevant \emph{within} a size zone, most noticeable as the data lines all going up across the Small box. 1147 Now, with size conditioned, \VRef[Figure]{f:zoomin-rel-i-swift} has the trends inside a zone box being flat. 1148 This flatness gives \subref*{f:histo-rel-i-swift} nicely separated histograms. 1149 1150 Specific size is the only factor conditioned in this view. 1151 This choice was made to keep the relationship between \VRef[Figures]{f:zoomin-abs-i-swift} and \VRef[]{:zoomin-rel-i-swift} perceptible. 1152 By contrast, general comparisons like \VRef[Figure]{fig:plot-list-1ord} condition on more, generally, everyting not presented. 1153 Its physical-factor breakdown conditions on use case and framework, but not on physical factors; its other two breakdowns are defined similarly. 1154 1155 The noteworthy performance hop, in this example, is LQ-@list@, which \VRef[Figures]{f:zoomin-abs-i-swift} has as consistently slow in the Small range, and consistently fast in the Medium range. 1156 Therefore, in \VRef{f:zoomin-histo-i-swift}, its two per-size-zone histograms are far apart, and its cross-size-zone histogram is bimdal. 1157 Hops and distribution contributions, like this one, are common. 1158 They are attention-grabbing curiosities when comparing nearly any pair of individual configurations. 1159 They are the background noise of the all-in inter-configuration comparisons following. 1160 With this one, \VRef[Figure]{fig:plot-list-1ord}'s LQ-@list@ distribution (farthest right) does have a perceptible bump at $1.8\times$, corresponding to the upper mode seen here. 1161 But this UC-I--Intel contribution is only $1/6 = 8/48$ of the configurations summarized there. 1162 1163 Each individual configuration is tested by five trials, giving the error bars of \VRef[Figure]{:zoomin-rel-i-swift} (at min and max). 1164 This trial error is unaffected by the size conditioning. 1165 Though this error is presented only for the narrow slice of the current examples, the amount of it seen here is typical across all the configurations. 1166 With a few exceptions, it is modest; so, the experiment is repeatable. 1167 The data points in \subref{f:zoomin-rel-i-swift} show mean excluding min and max. 1168 This value, alone, is the contribution to the histogram in \subref{f:zoomin-histo-i-swift}. 1169 That is, inter-configuration rollups discard the modest trial-repeatability error. 1170 The girth of a histogram's distribution is entirely the inter-configuration variance, of its configurations' expected performance. 1171 1172 Thus, in the forthcoming comparison plots: 1173 \begin{itemize} 1174 \item 1175 The measure is mean IR among the middle 3 trials out of 5, that occurred for an individual configuration. 1176 \item 1177 The number of individual configurations per histogram is stated as ``/N,'' at a relevant grnaularity. 1178 \item 1179 All reported averages are geometric means and all IR duration axes (verticals) are logarithmic. 1180 \item 1181 Unless indicated otherwise, all explanatory factors appearing on a plot are marginalized, while those not appearing on the plot are conditioned. 1182 \end{itemize} 1085 1183 1086 1184 … … 1124 1222 \caption{Insert/remove duration \vs list length. 1125 1223 Lengths go as large possible without error. 1126 One example use case is shown: stack movement, insert-first polarity and head-mediated access. Loweris better.}1224 One example use case is shown: I, stack movement, insert-first polarity and head-mediated access. Lower duration is better.} 1127 1225 \label{fig:plot-list-zoomout} 1128 1226 \end{figure} … … 1211 1309 \begin{figure} 1212 1310 \centering 1213 \includegraphics{plot-list-1ord.pdf} 1311 \includegraphics{plot-list-1ord.pdf} \\ 1312 \small{\textsuperscript{\textdagger} LQ-@list@ is (/48) by its incomplete (25\%) use case coverage. Its bars are scaled to match.} 1214 1313 \caption{Histogram of IR durations, decomposed by all first-order effects. 1215 Each of the three breakdowns divides the entire population of test results into its mutually disjoint constituents. The measure is duration; lower is better.}1314 Each of the three breakdowns divides the entire population of test results into its mutually disjoint constituents. Lower duration is better. \MLB{To fix: the size-zone bars are broken (wrong data)}} 1216 1315 \label{fig:plot-list-1ord} 1217 1316 \end{figure} … … 1246 1345 1247 1346 1248 \subsection{ IntrusiveSweet and Sore Spots}1347 \subsection{Result: Sweet and Sore Spots} 1249 1348 1250 1349 \begin{figure} 1251 1350 \centering 1252 \includegraphics{plot-list-2ord.pdf} 1351 \includegraphics{plot-list-2ord.pdf}\\ 1352 1353 \small{ 1354 \textsuperscript{\textdagger} LQ-@list@ is absent from Movement and Polarity comparisons because it does not support queue and insert-last, respectively.\\ 1355 \textsuperscript{\textdaggerdbl} LQ-@list@ is (/24) by its incomplete (25\%) use case coverage. Its bars are scaled to match.\\ 1356 \textsuperscript{*} The full population of 192 individual configurations applies (48 for LQ-@list@), but this analysis summarizes pairs of them, giving each histogram's 96 contributions (24 for LQ-@list@). 1357 } 1253 1358 \caption{Histogram of IR durations, illustrating interactions with framework. 1254 1359 Each distribution shows how its framework reacts to a single other factor being varied across one pair of options. 1255 1360 Every (binned and mean-contributing) individual data point represents a pair of test setups, one with the criterion set to the option labelled at the top; the other setup uses the bottom option. 1256 1361 This point's y-axis score is the ratio of these setups' durations. 1257 The point lands in a bin closer to the label of the option that performs better. 1362 The point lands in a bin closer to the label of the option that performs better. \MLB{To fix: the size-zone bars are broken (no data)} 1258 1363 } 1259 1364 \label{fig:plot-list-2ord} … … 1292 1397 It occurs only for the queue movement, only on the AMD machine, and only for the \CFA framework. 1293 1398 1294 Length-1 performan e is an important case.1399 Length-1 performance is an important case. 1295 1400 Lists like those of waiting threads are frequently left empty, with the occasional thread (or few) momentarily joining. 1296 1401 These scenarios need to work. 1297 1402 1298 A cause of th is behaviourwas never determined.1299 Speculation is that \CFA's increased data dependency, a result of the tagging scheme, pairs poorly with the situationimplied by queue movement.1403 A cause of the slowdown was never determined. 1404 Speculation is that \CFA's increased data dependency, a result of the tagging scheme, pairs poorly with the aliasing implied by queue movement. 1300 1405 The aliasing, at length 1, is: the head's first element is the head's last element. 1301 With stack movement, one of these aliases is used twice, while with queue movement, both are used in alternation. 1302 1303 The breakdowns earlier in the performane assessment work by varying length only. 1406 With stack movement, one of these names for the first element is reaused for both insert and remove. 1407 While with queue movement, both names are used in alternation. 1408 1409 The breakdowns earlier in the performance assessment vary length only. 1304 1410 That is, they see the story down the leftmost column in a triangle. 1305 1411 The insight for contextualizing this issue was to inspect both length and width. … … 1358 1464 \begin{comment} 1359 1465 1360 \begin{figure}1361 \centering1362 \setlength{\tabcolsep}{0pt}1363 \begin{tabular}{p{0.75in}p{2.75in}p{3in}}1364 &1365 \subfloat[Operation I, AMD]{\label{f:AbsoluteTime-i-swift}1366 \hspace*{-0.75in}1367 \includegraphics{plot-list-zoomin-abs-i-swift.pdf}1368 } % subfigure1369 &1370 \subfloat[Operation I, Intel]{\label{f:AbsoluteTime-i-java}1371 \includegraphics{plot-list-zoomin-abs-i-java.pdf}1372 } % subfigure1373 \\1374 &1375 \subfloat[Operation VIII, AMD]{\label{f:AbsoluteTime-viii-swift}1376 \hspace*{-0.75in}1377 \includegraphics{plot-list-zoomin-abs-viii-swift.pdf}1378 } % subfigure1379 &1380 \subfloat[Operation VIII, Intel]{\label{f:AbsoluteTime-viii-java}1381 \includegraphics{plot-list-zoomin-abs-viii-java.pdf}1382 } % subfigure1383 \end{tabular}1384 \caption{Operation duration \vs list length at small-medium lengths. Two example operations are shown: [I] stack movement with head-only access (plots a and b); [VIII] queue movement with element-oriented removal access (plots c and d); both operations use insert-first polarity. Lower is better.}1385 \label{fig:plot-list-zoomin}1386 \end{figure}1387 1466 1388 1467 \VRef[Figure]{fig:plot-list-zoomin} shows the sizes below 150 blown up.
Note:
See TracChangeset
for help on using the changeset viewer.