From owner-freebsd-hackers Thu Aug 9 0:11:57 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from falcon.mail.pas.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by hub.freebsd.org (Postfix) with ESMTP id 6533737B403 for ; Thu, 9 Aug 2001 00:11:54 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from mindspring.com (dialup-209.245.135.111.Dial1.SanJose1.Level3.net [209.245.135.111]) by falcon.mail.pas.earthlink.net (EL-8_9_3_3/8.9.3) with ESMTP id AAA16931; Thu, 9 Aug 2001 00:11:39 -0700 (PDT) Message-ID: <3B723782.F55EDEBA@mindspring.com> Date: Thu, 09 Aug 2001 00:10:58 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Rolf Neugebauer Cc: Weiguang SHI , bright@mu.org, jeff@expertcity.com, freebsd-hackers@FreeBSD.ORG Subject: Re: timing question References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Rolf Neugebauer wrote: > NB. for achieving higher timer resolutions you might find it > interesting to look at Soft-Timers at Rice [2]. Events are scheduled > at the usual timer interrupt frequency but the time wheels are also > checked at system-call and other interrupt times, thus, depending on > load, achieving finer grained timer resolutions. The TOCS paper, > referenced on that site, also describes a mixed approach between > Soft-Timers and hardware timers to achieve tighter delay bounds. I like most of Mohit Aron's papers, and Peter Druschel's work is pretty much landmark. The real problem with them is that their implementations are for very old versions of FreeBSD, or they are licensed with a pretty restrictive license that would prevent them from being incorporated in FreeBSD, or both. The soft timers aren't the only code, either. There are two different LRP implementations they have released in conjunction with the Scala server project; the one for FreeBSD 4.x is under a very restrictive license, while the other one is very old, and both of them are "graduate student code", i.e., they are not anywhere near usable in a production system. The LRP paper is the one I have been obliquely referencing with regard to receiver livelock avoidance in the thread "allocating at interrupt" (or something like that). Unfortunately, Mohit is now working for Zambeel on a Linux based product (I have a guess about it, actually), but they are still in stealth mode, so we aren't going to be seeing much from him for a while. Druschel is still working for Rice, last I heard, but has also formed a forward proxy cache company with some other academics, and they consistently win the performance numbers in the cache bakeoffs for forward proxy caches tested via the "polygraph" benchmark (polygraph is a typical "your product id a bad idea, so I am going to write something to kill it" benchmark, but everyone publishes numbers, so it's accepted as a figure of merit, even though it goes incredibly out of its way to first characterize how a forward proxy cache works, and then pick a pessimal usage pattern to bust it... "so there"). Most of the Scala ideas don't require 5 PhD's to understand, and someone well versed in the literature could implement them, with effort (for example, I've implemented LRP for FreeBSD 4.3-STABLE for the company I work for; LRP deals with one of the seven deadly receiver livelock issues). With HP selling a 10Gbit copper ethernet card on 64 bit PCI, even without the standards ratified (the optical geeks can't get their act together to get their components specified for that rate), it would be very easy to overwhelm your bus with DMA from the copper card, if you didn't handle each of the seven deadly issues in the livelock case correctly. For those who don't know the term, think "denial of service attack". -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message