My question:
poc> While wondering why my Classic seemed to slow down every once in a
poc> while, I thought I'd check how many 'biod's it was running. The answer
poc> turned out to be 'none'. However, on checking AnswerBook, the only
poc> reference to 'biod' says it's not available on Solaris 2.1.
poc> Anybody know why? Does it matter?
A goodly number of answers, basically all saying the same thing, which
is helpfull :-) It turns out that Solaris 2 uses kernel threads for
what SunOS used to use the kludgy biod hack for. Furthermore, these
threads are assigned on demand and go away when not needed. This is
the longest answer, from John A. Murphy <jam@philabs.Philips.Com>:
biods are no longer used in Solaris 2.x They are replaced with kernel
threads. I quote from a sunos 2.1 tutorial slide,
Kernel Threads Replace biods
The functionality of the blocking I/O daemons (biods) is replaced by
the use of kernel threads. The traditional use for blocking I/O
daemons was to provide a means for NFS I/O operations to wait for disk
I/O without stopping other kernel execution.
Asynchronous Writes - NFS write requests are queued on a per-mount
point basis and are assigned to a kernel thread which performs the
asynchronous write request on a per-mount point basis.
The use of kernel resources are minimized by creating kernel threads
on demand for asynchronous write requests up to a per-mount point high
water mark of eight. No threads exist when there are no write
requests outstanding. Synchronous read-aheads are still a standard
feature and may become asynchronous in a future release.
Traffic Bursts Reduced - In previous SunOS releases, systems
generating many NFS requests would sometimes create bursts of requests
up to their maximum number of biods, then wait for response packets
back. This repetitive burst and wait patter characterized the
operation of some file servers. With SunOS 5.1, each write requests
is dynamically allocated a kernel thread, up to the per-mount point
limit of eight. These threads are processed asynchronously. Thus the
kernel can process write requests for some mount points while other
mount point's requests are waiting.
Murf
Thanks also to;
From: leclerc@epsu10.Clamart.EST.SLB.COM (Leclerc Francois) said:
From: ups!kalli!kevin@fourx.Aus.Sun.COM (Kevin Sheehan {Consulting Poster Child})
From: David.Miner@East.Sun.COM (Dave Miner - ...sometimes you're the bug)
and of course the ever-attentive Hal Stern <stern@sunne.East.Sun.COM
(Hal Stern - NE Area Systems Engineer)>, who also had this to say:
you may have *too many* threads running at once, and you
may be hammering your server with huge bursts of requests.
where there used to be 4 biod daemons, there are now (i think)
8 threads per mount point. you can tune this down with
a variable in /etc/system, but i need to look that up... :-)
Patrick O'Callaghan Internet: poc@usb.ve
Departamento de Computacion NICNAME: PO22
Universidad Simon Bolivar Tel: +058 (2) 906 3320, 906 3947
Apartado de Correos 89000 FAX: +058 (2) 93 71 28
Caracas, Venezuela "There is no Net but the Internet"
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:07:44 CDT