To read all comments associated with this story, please click here.
Wow that 300mhz P2 must have a hell of a system bus. I have a 3.8ghz P4 at work that couldn't get above 40 megabytes per second in throughput. Still very fast, but not very close to maxing out gigabit ethernet.
"Wow that 300mhz P2 must have a hell of a system bus. "
Depends almost entirely on the number of packets per second and not on the bits per second. More packets, more interrupts, more CPU load. This is why gigabit nic's have interrupt mitigation and large buffers. If you use large packets you can get very respectable bps on low end hardware.
Still, 1gbps on a 300mhz p2 is suspiciously high.
"I have a 3.8ghz P4 at work that couldn't get above 40 megabytes per second in throughput."
This, on the other hand, is suspiciously low.
That's definitely not normal. Even my Disk I/O is better than that on a 5 year old P4 Linux system (around 50MB/s to a plain old PATA drive). PCI should be capable of 133MB/s and GigE is 128MB/s.
The point is, regardless of throughput speed, the processor time consumption of Linux network code seems to be far lower than that of Vista.
Gapless and in sync.
The Multimedia Class Scheudler Service is built into the scheduler. Any task in Vista can register itself with it to ensure that task is not interrupted.
I'd imagine that on a Vista-based server (if such an animal exists -- I'd imagine most servers are still on Windows 200X), the process that did the actual serving would be using this class to make sure that it never dropped, while non-critical and unimportant tasks (the GUI, background maintenance tests) were executed as secondary tasks.
Microsoft programmers are not allowed to look at any external source code at all, not even BSD licensed code. There are exceptions of course, for instance zlib is available internally, but those exceptions are only granted by Legal and Corporate Affairs (LCA) after extensive IP vetting. The problem for Microsoft, as always, is liability and IP taint; they are scared that if they take ideas and/or code from BSD etc someone might claim it's some kind of patent infringement or similar. They deploy this policy world-wide because even though far from all countries recognize the patentability of software, Microsoft still needs to distribute its software globally which include the US market with its insane legal climate.





Member since:
2006-01-04
This is a network stack redesigned from the ground up? I know complex TCP/IP routing can be processor intensive, but seriously...
Mark goes on to show that copying a file from one machine to another consumes a staggering 41% of the available processor.
I can't imagine what causes this sort of load. This screams denial of service to me; if it's this complicated they should drop the DPC to a lower priority as soon as they can, rather than hanging all other threads on the system.
If something virtually blocks all other threads on the computer, you really want to make sure you keep it's execution time down to a minimum. Routing TCP/IP to the correct application shouldn't be extremely hard unless you've got a very complicated packet filter in place: but this should only really happen on dedicated routers/firewall boxes. 300 MHz P2 boxes seem to handle 1gbps home routing and forwarding on Linux without problem in my experience, and can even function as a streaming media player.
Even weirder, is that rather than looking at virtually every other OS and wondering how they get around this problem without taking 40% CPU, they just create a new sub-scheduler. If all other OSes manage it, why can't Windows... hell they could even take a quick peek at the latest FreeBSD networking code to see what optimisations and algorithms they use. A programmer who doesn't take advantage of the tools available to him is a bad programmer.
Incidentally, is this MMCSS thing just MS speak for "When media is playing it lowers network speed," or is it some scheduler extension. If it is a scheduler extension, why can't these features be available to other non-media related realtime tasks, rather than being media centric; infact, why didn't they just make it part of the scheduler along with the other priority settings? (I'm curious - not just being rhetorical)