Interview With Linux Kernel Guru Ingo Molnar 22
An anonymous reader writes "KernelTrap has posted an interview with Ingo Molnar, the Linux kernel guru who wrote the O(1) scheduler and improved threading enough to allow hundreds of thousands of threads to run in parallel. The interview covers a wide range of interesting topics, offering much insight into the latest and greatest improvements found in the Linux development kernel. From the new rmap VM, to BitKeeper, to TUX, to comparing Linux with FreeBSD, it's all there..."
Paving the way for 2.6? (Score:1)
Next, Google will put this on their front page, quoting
BTW, has anyone at
_______
I have seen war. You will not like it.
Description of O(1) scheduler? (Score:3, Interesting)
Re:Description of O(1) scheduler? (Score:2, Redundant)
(For reference sorting an array of random numbers using bubble sort takes O(n^2), while using merge sort takes O(n*log(n)). Use google to see why. Also be aware that Big O is only a 'measure' of worst case time. Mergesort, if the data is in order takes O(n) (IIRC) )
You could throw 10 processes or 10 million at the O(1) scheduler, and it will still take the same time (witness the recent DSW of "I ran 1 million processes in parallel in 3 seconds!")
Re:Description of O(1) scheduler? (Score:2, Informative)
There's a nice description about how it works here:
http://www.uwsg.iu.edu/hypermail/linux/kernel/020
Just scroll down to the "Design" section (quarter of the way down the page).
Re:Description of O(1) scheduler? (Score:1)
Re:Description of O(1) scheduler? (Score:1)
Re:Description of O(1) scheduler? (Score:4, Informative)
pages 7-20
slight exageration.. (Score:2, Interesting)
Not exactly. His tests involved *creating* hundreds of thousands of threads and hibernating them instantly. Only a few thousand were ever running at once. That's not to discredit Mr. Molnar, but the x86 architecture (which linux is primarily geared towards) isn't up to the task -- at least not yet. Intel's hyperthreading may eventually change that.
Re: slight exageration? not. (Score:5, Informative)
The test would be meaningless otherwise - you can create/destroy 100,000 threads in a row on any OS without any problem.
Furthermore, Anton Blanchard tested _1 million_ parallel threads on one of his big PowerPC boxen, using the new threading code - the test completed in roughly 30 seconds and he has got an insane load-average in the hundreds of thousands range - a further proof that the threads were running in parallel.
Re:The numbers thingy (Score:1, Informative)
That's the manual section that they're in. Can't remember off the top of my head but it's roughly 1 is command line utils, 2 and 3 are API and runtime library, 5 for configuration files, 8 for admin utils/daemons, etc.
Sometimes there are entries in different sections with the same name - to find the one you want you have to specify the manual section on the 'man' command line. mkdir(1), for example, is a command line utility and mkdir(2) is a system call.
Note that this isn't the same as O(1) which is an upper bound on how an algorithm scales - see Zapman's (redundant) post above.
slashdot (Score:1)