Tag: Page replacement algorithm
-
A fractal in the real world
Of course, real world fractals do exist, but it is interesting to appear to have “discovered” one, or at least a pattern which certainly shows many fractal-like properties. I am plotting the relative efficiency of different page replacement algorithms – and here I am looking at Belady’s OPT (or MIN), or as it is sometimes…
-
A very first draft…
Our proposal here is to meet this need to use a memory space much greater than the locally available low-latency storage head on. The problems faced by programmers of today’s many- and multi-core devices are, in a sense, far from new: in the 1960s an earlier generation of programmers, experimenting with virtual memory and time-sharing…
-
LRU queue strangeness
For the last week or so I have been writing and then debugging (and so mainly debugging) a least-recently-used (LRU) page replacement system on my Microblaze simulation. Perhaps I shouldn’t have bothered – I had a working first-in-first-out (FIFO) system after all. But no one seriously uses FIFO, so I had to write some LRU…
-
A timerless CLOCK algorithm
I am writing this down partly as a way of seeing if it makes sense… Minor faults we can live with: if we have to reaffix a mapping back into the TLB it takes a few cycles but that is not a heavy burden. Major faults, however, are a different matter: they take many thousands…
-
Picking which page to remove
I have now written some very basic but functional paging code for the Microblaze but have realised I am, essentially, going to have to start a lot of it again. The Microblaze puts page tables firmly under software control and its memory management unit (MMU) concentrates on managing page references through its translation lookaside buffers…
-
Going atomic … or concurrency is hard
In my PhD world a year’s worth of software experimentation has proved what we all knew already … that systems using traditional memory models struggle in the Network-on-Chip environment and so I am now trying something slightly different. My “model” (it’s all in software) is of a 16 core system, with each core having a…
-
Curses on ncurses
Every programmer will be familiar with something like this… A little while back I wrote a program that simulates – crudely but effectively – a multicore NoC device. I use it to model the execution times of different page replacement algorithms. The input is XML generated via a step by step trace of a working…
-
Traffic generation options
This is a blog post where I am going to write about things as a way of clarifying, in my own mind, what the best way of tackling a problem is. So far, in research for my PhD, I have concentrated on establishing some base points for potential performance of Network-on-Chip systems running multithreaded code.…
-
Racey code can damage your (mental) health
I’ve had a tough week. Ran a half marathon (quite badly, but I finished – see the picture) on Sunday, hobbled around York University (blister on my foot) on Monday before returning to London and coping with the added stress of a new job. All the while the failure of my latest piece of code…
-
None of the easy things work
This is a post about my PhD research: in fact it is a sort of public rumination, an attempt to clarify my thoughts in writing before I take the next step. It’s also possibly an exercise in procrastination: a decision to write about what I might do next, rather than to get on with doing…