From owner-freebsd-hackers Tue Nov 14 11:50:24 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA08164 for hackers-outgoing; Tue, 14 Nov 1995 11:50:24 -0800 Received: from terra.Sarnoff.COM (terra.sarnoff.com [130.33.11.203]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA08152 for ; Tue, 14 Nov 1995 11:50:10 -0800 Received: (from rminnich@localhost) by terra.Sarnoff.COM (8.6.12/8.6.12) id OAA01682; Tue, 14 Nov 1995 14:48:32 -0500 Date: Tue, 14 Nov 1995 14:48:32 -0500 (EST) From: "Ron G. Minnich" To: hackers@freebsd.org Subject: bogus benchmark & who knows where the time goes? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@freebsd.org Precedence: bulk My apologies for the tone of a previous note. It won't be repeated. My thanks to john dyson, terry lambert, and others for their thoughtful and interesting comments re that simple program that is in truth a bogus benchmark for general use (it's measuring two different things on linux and freebsd, which is why it's not a useful general purpose benchmark). The program stimulates page faults on freebsd, and not on linux. It remains useful to me for work i'm doing but for general purpose should not be used. Now i'd like to raise a purely freebsd question: where's the time going? Freebsd does ok on page faults -- 60-80 microseconds, 3x better than linux! If you just multiply the numbers out it's about 6k-8k instructions. I don't know what part of this is actual instruction overhead and what part is waiting for i/o. I do know what a better number looks like: 10 microseconds, or 600 instructions, or both. 10 microseconds looks better because at that point you're doing general purpose multi-user page faults in time comparable to what people are achieving with single-user Myrinet cards. 600 instructions looks better because you can then support more parallel applications. The ATM card we're doing here will send packets out with about 5 microseconds of software overhead, and you don't have to look too long to see that software is now over 90% of the page fault overhead -- quite different than the Ethernet numbers. So it's an interesting question: what would it take to achieve these goals? where is the time going? what can we slice out? When chuck cranor did the netbsd port to the heurikon cards we spent some time looking at the vm code. There's a lot of work going on in there. It would be nice to see a simpler model that does less and does it faster. We formulated a challenge goal: user-mode page fault to network I/O in 10 instructions. Probably impossible to achieve, but we can dream ... ron Ron Minnich |Like a knife through Daddy's heart: rminnich@sarnoff.com |"Don't make fun of Windows, daddy! It takes care (609)-734-3120 | of all my files and it's reliable and I like it".