Thu 20:15
Hanna Linder gave a short introduction to lse, and then mjb talked about his -mjb tree
mjb talks about NUMA scheduler: – basically, run the usual SMP scheduler inside each NUMA node – bouncing a process happens on exec (moving procs between nodes is expensive if they end up with all of their memory allocated from the wrong node)
the discussion moved on to how to recognize if the process is forking and execing, or just forking (in order to know if we should migrate it or not). Suggestions include
– saving previous runs information (just like my persistent scheduler idea!) in various places, like /etc/database, or the inode, or in memory, or in the elf header.
– giving user space an API for telling the OS what it’s about to do (which strikes me as the right thing to do, for psched as well… does such an API exist for applications to say whether they are interactive or CPU bound? nice(1), I guess, as well as the real time priorities).
I wonder, is there a point in a general utility/library that profiles an process, to take into account system calls, page faults, any other events? a “histogram” of the process, to anticipate its future behavior.
I’m glad I went to this BOF. The scheduler discussion showed that my psched idea is flawed to begin with, before I spent too much time researching and implementing it. Oh well, there will be other ideas.
Leave a Reply