Sunday, 19 October 2014

Frailty, thy name is visually intuitive representations of large quantities of arbitrary data

For my internship I have graphed the number of memory addresses that have been accessed by each individual PC (Program Counter), in order to analyze the distribution of accesses between programs. Simply recording the data yields a fairly obtuse bank of data: literally 2 long strings of unreadable numbers. To represent his data in an intuitive manner, I am using 3 different approaches:
  1. Sort the PCs by their access frequency (i.e. the total number of accesses) and graph the expansion of the PCs so that the expansion is on the Y axis and the frequency is on the X axis.
  2. Create a histogram expressing the expansion v. the number of PCs.
  3. Create a cuumulative distribution function (CDF) graphing the PCs sorted by expansion v. the expansion. (This graph will constantly be increasing, so the importance is in the rate of increase.)

Monday, 13 October 2014

Fuzzy fuzzy access streams

In memory access streams there is a topic called "contraction", which refers to the ratio of the number of physical addresses to the number of structural addresses in an Irregular Stream Buffer. (You can read more about the Irregular Stream Buffer here.) A contraction of 1, i.e. having the same number of physical addresses and structural addresses, is best for caching because it means that accuracy will improve and the same thing will never the be cached twice.

Contraction has a close cousin, expansion. Expansion refers to the situation in which there are more structural addresses than physical addresses, so the Stream Buffer ends up having a larger than necessary memory footprint. Contraction refers to the opposite situation: there are more physical addresses than structural addresses, which leads to lost information.

Say we have the access stream
ABCDEF

Now, say we have the following access stream after this one
XBDCEF
This will cause expansion because this second stream will be recognized as a separate stream.

Alternatively, consider this access stream instead
AVWXYZ
This will cause contraction because this second stream will be recognized as a modification of the first access stream (assuming that the stream recognition system is lenient enough)