LWN.net Logo

Interview: Andrea Arcangeli

KernelTrap interviews VM hacker Andrea Arcangeli. "The VM at large is a big heuristic, and there's no perfect formula you can use to tell which page it's time to swapout to disk when, nor you can exactly predict how well the swapping will behave at runtime until you test or simulate it; that is the really hard part of the VM.'
(Log in to post comments)

Interview: Andrea Arcangeli

Posted May 18, 2004 19:30 UTC (Tue) by alspnost (guest, #2763) [Link]

Excellent interview! Very interesting stuff, but it's just so scary when someone younger than you is such a freakishly good programmer and has his mind wrapped around some staggeringly hard kernel concepts....

Still, it does indeed look like we're due for a repeat of the great VM upheaval sometime during the like of 2.6. Perhaps people won't be quite so surprised and dismayed this time - except for Rik van Riel, that is...?

Interview: Andrea Arcangeli

Posted May 19, 2004 22:02 UTC (Wed) by jzbiciak (✭ supporter ✭, #5246) [Link]

Not a big upheaval, really. As Andrea notes in the interview, the VM heuristics are not changing this time, but rather how you identify a page once you've picked it. It's a much simpler piece that's changing. The impact of the change is mostly in memory footprint required for the VM algorithms. 'rmap' and 'objrmap' are both reverse-mapping techniques--they just achieve the same goal (tracing a physical page to all its virtual mappings) by different bookkeeping. Which pages get swapped shouldn't change dramatically between the two approaches, although objrmap should result in significantly less memory pressure on big iron.

In contrast, the 2.4 upheaval changed the fundamental heuristics by which the VM picks pages to push out to swap. That's a much bigger deal. As I understand it, the old 2.4 algorithm was a clock-based algorithm that scaled poorly to a large number of pages. The AA algorithm was more of a global LRU. The cost of identifying a page to swap out, in addition to the actual swapping behavior under load can be quite different with the two approaches. It's truly a much more fundamental change.

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds