Changeset 741d004 for doc/theses/mike_brooks_MMath/list.tex
- Timestamp:
- Apr 27, 2026, 11:59:39 PM (30 hours ago)
- Branches:
- master
- Children:
- 69de8d1
- Parents:
- c910d308
- File:
-
- 1 edited
-
doc/theses/mike_brooks_MMath/list.tex (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/list.tex
rc910d308 r741d004 659 659 This section explains how the experiment is built. 660 660 Many of the following parts define terminology concerning tuning knobs. 661 \VRef[Figure]{f:ListPerfGlossary} provides a consolidated reference. 662 663 \begin{figure} 661 \VRef[Table]{f:ListPerfGlossary} provides a consolidated reference. 662 663 \begin{table} 664 \caption{ 665 Glossary of terms used in the list performance evaluation 666 } 667 \label{f:ListPerfGlossary} 664 668 \noindent 665 669 \begin{tabular}{p{1.75in}@{\ }p{4.5in}} 666 670 Insert-Remove (IR) 667 671 & The atomic unit of work being measured: one insertion plus one remove (plus all looping/tracking overheads) \\ 668 Use Case 672 Use Case 669 673 & Pattern of add-remove calls. \\ 670 674 -- Movement & \\ … … 688 692 & insert through head and remove by element\\ 689 693 Physical Context & \\ 690 -- Size (number) & Number of nodes being linked. Unless specified, equals the \emph{length} of the program's sole list. \emph{Width}, rarely used, is the number of lists. \\694 -- Size (number) & Number of nodes being linked. Equals the length of the program's sole list. \\ 691 695 -- Size Zone 692 696 & Contiguous range of sizes, chosen to avoid known anomalies and to sample a brief plateau. Each zone buckets four specific sizes. \\ … … 697 701 \quad $\ni$ (other) 698 702 & Not used for comparing intrusive frameworks. \\ 699 -- machine703 -- Machine 700 704 & Computer running the experiment \\ 701 705 \quad $\ni$ AMD … … 709 713 $\ni$ \uCpp & \uCpp's @uSequence@ \\ 710 714 $\ni$ \CFA & \CFA's @dlist@ \\ 711 Explanation being 715 Individual config'n (IC) 716 & Specific situation in which an IR sequence is timed. One use case, on one machine, driving one exact list size, by one framework. \\ 717 Trial 718 & Timed run of the test program under a given IC, during which a few billion IRs occur. \\ 719 Explanation being 712 720 & How independent explanatory variable X is analyzed \\ 713 721 -- Marginalized … … 716 724 & Held constant, yielding a more relative measure. Hides the effect that X causes. Conditioning on X creates more, smaller relative-measure peer groups, by isolating each X-domain value. Resulting interpretation is, ``Assuming no change in X.'' \\ 717 725 \end{tabular} 718 \caption{ 719 Glossary of terms used in the list performance evaluation 720 } 721 \label{f:ListPerfGlossary} 722 \end{figure} 726 \end{table} 723 727 724 728 … … 886 890 \label{s:UseCases} 887 891 888 Where \VRef[ Figure]{f:ListPerfGlossary} enumerates the specific values, recall the use-case dimensions are:892 Where \VRef[Table]{f:ListPerfGlossary} enumerates the specific values, recall the use-case dimensions are: 889 893 \begin{description} 890 894 \item[movement ($\times 2$)] … … 997 1001 998 1002 \subsubsection{Sizing} 1003 \label{s:experiment-sizing} 999 1004 1000 1005 Intuition suggests measuring IR for different sized lists should just be a multiple of the single linking/unlinking of a node. … … 1047 1052 \VRef[Figure]{fig:plot-list-zoomin-abs} gives two example responses to size. 1048 1053 % The dataset here is a small portion of the overall result and it is premature to attempt conclusions about framework differences from it. 1049 These two example cases show how differently a pair of individual configurationsbehave.1054 These two example cases show how differently a pair of configurations can behave. 1050 1055 % Of more immediate significance, they also have a pattern repeated, in all eight of their size responses. 1051 1056 % Note the ``small'' and ``medium'' overlaid boxes, which call out the size zones' definitions. 1052 1057 Outside of an identified box, size response is erratic. 1053 1058 Inside a box, size response is relatively smooth. 1054 Within and among boxes there are identifiable patterns, which occur throughout all the experimental results. 1055 Each individual configuration is tested by five trials, giving the error bars at min and max. 1056 The amount of error here is typical across the configurations. 1057 With a few exceptions, it is modest, so experiments are repeatable. 1059 Within and among the boxes there are identifiable patterns, which occur throughout all the experimental results. 1060 1061 Every data point is one Individual Configuration (IC). 1062 Each IC is tested by five trials; a point's error bars give the best and worst trial results; the point's centre is the mean of the middle three. 1063 The amount of error here is typical across all the configurations (beyond the two shown here). 1064 With a few exceptions, it is modest, so these experiments are repeatable. 1058 1065 1059 1066 To preview, \VRef{s:ResultCoarseComparisonStyles} dismisses large sizes (above 150 elements) and wrapped lists, because the performance story is dominated by the amount of memory touched not by intrusive \vs wrapped lists. … … 1115 1122 \subsubsection{Recap and Master Legend} 1116 1123 1117 For experiments performed in later section , there are 12 use cases, which are all combinations of 2 movents, 2 polarities and 3 accessors.1124 For experiments performed in later sections, there are 12 use cases, which are all combinations of 2 movents, 2 polarities and 3 accessors. 1118 1125 There are 4 pysical contexts, which are all combinations of 2 machines and 2 size (length) zones. 1119 Each physical context samples 4 specific sizes.1120 1126 There are 3.25 frameworks. 1121 This accounting considers how LQ-list supports only the movement--polarity combination "stack, insert first."1127 This accounting considers how LQ-list supports only the movement--polarity combination ``stack, insert first.'' 1122 1128 So LQ-list fills a quarter of the otherwise-orthogonal space. 1123 Use case, physical context and framework are the explanatory factors. 1124 Taking all combinations of the explanatory factors gives 12 $\times$ 4 $\times$ 4 $\times$ 3.25 = 624 individual configurations. 1129 Physical context, use case, and framework are the explanatory factors. 1130 Each size zone summarizes samples of 4 specific sizes. 1131 Taking all combinations of the explanatory factors and this sampling gives 4 $\times$ 12 $\times$ 3.25 $\times$ 4 = 624 individual configurations (ICs). 1125 1132 1126 1133 % \[ … … 1149 1156 \caption[IR duration, transformed for general anaysis]{ 1150 1157 IR duration, transformed for general anaysis. 1151 The analysis follows the single example setup of \VRef[Figure]{f:zoomin-abs-i-swift}, \ie Use Case I on AMD , whereIR is given as absolute duration.1158 The analysis follows the single example setup of \VRef[Figure]{f:zoomin-abs-i-swift}, \ie Use Case I on AMD; there, IR is given as absolute duration. 1152 1159 Plot (a) transforms the source dataset by conditioning on specific size. 1153 1160 Plot (b) takes the results from only the identified size zones, discards their specific-size information, and shows the resulting distribution. … … 1200 1207 \end{comment} 1201 1208 1202 It is impossible to present this large amount of information in graphs. 1203 Therefore, a condensed graphing style is used in subsequent plots. 1204 \VRef[Figure]{fig:plot-list-rel} shows how the condensed graphing style is generated from raw data. 1205 \VRef[Figure]{f:zoomin-rel-i-swift} is formed from the data in \VRef[Figure]{f:zoomin-abs-i-swift}, restructured on the Y-axis using a relative duration. 1206 \VRef[Figure]{f:zoomin-histo-i-swift} shows the interesting data within the two boxes (Small/Medium) and their combination (Both). 1207 This graph plots a vertical histogram for each of the 4 lists. 1209 A condensed graphing style is used in subsequent plots to present this amount of data. 1210 \VRef[Figure]{fig:plot-list-rel} shows how the condensed graphing style is generated from indvidual-configuration measures. 1211 \VRef[Figure]{f:zoomin-rel-i-swift} is formed from the data in \VRef[Figure]{f:zoomin-abs-i-swift}, transformed on the Y-axis to show duration relative to the mean across all four frameworks, at each specific size. 1212 \VRef[Figure]{f:zoomin-histo-i-swift} consenses the interesting data within the two boxes (Small/Medium) and their combination (Both). 1213 This graph plots a vertical histogram for each of the 4 frameworks. 1214 A data point on \VRef[Figure]{f:zoomin-abs-i-swift} is one-to-one with a point on \VRef[Figure]{f:zoomin-rel-i-swift}; each gives one IC. 1215 Repeatability of the experimet being established previously, retry variance information (error bar on an individual-configuration point) is discarded, and only the expected performance of an IC (mean of its middle three out of five trials) is promoted into the histograms. 1216 Each histogram bin (light-shaded area) counts the number of ICs whose expected performance falls in the bin's range. 1217 A histogram's girth indicates the diversity of its qualifying configurations' performance expectations. 1218 The overlaid tick symbol marks its group's mean performance. 1219 An x label indicates the total number of ICs in a group, \eg ``/4'' $\Rightarrow$ 4 ICs per histogram (here, a size-zone/framework combination). 1220 The totals are small here because attention is still restricted to the example slice of Use Case I on AMD. 1221 But the graph format now scales to handle the full population of tested configurations, which is the subject of all subsequent plots. 1222 1223 \begin{comment} 1208 1224 The light-shaded histogram is the raw data (similar data values overlap), and the dark histogram is the goemean average when there are multiple experiments condensed in a column. 1209 The caption indicates the number of values condensed into this histogram, e.g., ``/4'' $\Rightarrow$ 4 data points. 1210 The vertical relationship among the averages gives a quick result for a specific experiment, where lower is better.1225 1226 The vertical relationship among the averages gives a quick result, where lower is better. 1211 1227 The relative duration smooths the results, where smoothness diminishes as size increases. 1212 1228 This flatness gives nicely separated histograms. 1213 1229 Thus, in the forthcoming comparison plots: 1230 \end{comment} 1214 1231 1215 1232 % \begin{itemize}[leftmargin=*] … … 1231 1248 \VRef[Figure]{fig:plot-list-zoomout} presents throughput at various list lengths for a linear and random (shuffled) IR test. 1232 1249 Other kinds of scans were made, but the results are similar in many cases, so it is sufficient to discuss these two scans, representing difference ends of the access spectrum. 1233 In the graphs, all four intrusive lists (lq-list, lq-tailq, \uCpp, \CFA, see Framework in \VRef[ Figure]{f:ListPerfGlossary}) are plotted with the same symbol;1250 In the graphs, all four intrusive lists (lq-list, lq-tailq, \uCpp, \CFA, see Framework in \VRef[Table]{f:ListPerfGlossary}) are plotted with the same symbol; 1234 1251 sometimes theses symbols clump on top of each other, showing the performance difference among intrusive lists is small in comparison to the wrapped list (std::list). 1235 1252 See~\VRef{s:ComparingIntrusiveImplementations} for details among intrusive lists.
Note:
See TracChangeset
for help on using the changeset viewer.