Tag: page replacement
Hard fault count drives performance
Just to emphasise how hard faults are determining for performance – here is a plot of hard faults versus page count for the same application mentioned in the previous post. The pattern is very similar, though it should be noted that increasing the page count does still keep the fault count coming down at the…
Squashing the LRU bug
Just for once I did not rush to an online forum and say I had found a bug in a product – and I was right not too. Having tried three different cross compiler toolchains I convinced myself that the issue was plainly neither compiler (or, to be more accurate in this case, assembler) output…
Curiouser and curiouser – the case of the LRU bug
My LRU queue bug is continuing to puzzle me – and it’s not as simple as a data misalignment. In fact it does not appear to be a data misalignment issue at all: before I was trapping a lot of hardware exceptions under that header because it was a common fault when I got the…
Simulating global and local memory on OVP
Had a good meeting with my PhD supervisor today: he was in London – I didn’t have to make a flying visit to York. So the next steps with my OVPsim Microblaze code is to model global and local memory – by default OVPsim treats all memory as local, mapping the full 32-bit address space…
Paging and virtual memory is at the heart of just about any computing device – more complex than a DVD player – we use everyday. Paging is the memory management system based on the idea that we can divide the real memory of our computer into a sequence of smallish (typically 4,096 bytes) of “page…
Thrash reduction no longer a priority for Linux kernel devs?
Version 3.5 of the Linux kernel has been released. One of the changes it includes is the removal of the “swap token” code – one of the very few ‘local’ memory management policies grafted on to the ‘global’ page replacement mechanisms in the kernel. There are various technical reasons offered for the removal of the code…
The graph is wrong
Once I published the graph on the previous blog entry I more or less immediately realised it was wrong – it’s not that the curves are wrong: it’s that they are plotted on different scales. The red line plots lifetime curve using the working set of the process based on pages accessed in a certain…
Working sets compared
NB: This graph is wrong – read more here This shows the ‘lifetime curve’ of Xterm using a time based for determining the working set (ie having a working set of variable size based on recency of access) and a fixed-sized working set. The y-axis measures the average number of instructions executed between faults.