Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Mar 1998 19:03:16 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        remy@synx.com (Remy NONNENMACHER)
Cc:        tlambert@primenet.com, hackers@FreeBSD.ORG
Subject:   Re: Disk write caches
Message-ID:  <199803051903.MAA29505@usr06.primenet.com>
In-Reply-To: <Pine.A32.3.91.980305094557.16895O-100000@rs1> from "Remy NONNENMACHER" at Mar 5, 98 09:53:10 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > > > I would be very interested to see what the benchmarks on a machine
> > > > with soft updates would be with a disk with and without write
> > > > cacheing.
> > > 
> > > I tested cache benefits within disks. Write cache disabling lowered the 
> > > perfs from 2 to 10 time depending on operations.
> > 
> > Did this include soft updates, however?
> 
> No. It was using 3.0 from December (25). How does soft update compares 
> with async mounts?

For many operations it's faster.  Async mounts do not necessarily imply
write gathering.  Soft Updates use an I/O "clock" that can result in
gathered writes.  The difference is that there are a reduced number of
I/O's in the softupdates uses of async I/O vs. the async mount uses of
async I/O.

For some operations, the clock and the number of buckets in the clock
cause a slowdown.  This can be tuned two ways (neither of which are
implemented as tunables at this time).  The reallocation is a bit of
work, so it would require an event rather than a simple value change
to make it work.  The sysctl() code is not very well suited to this
type of thing (attaching code to a change operation).

In practice, these tunables would only be needed in pessimal cases,
for benchmarking things like large tree creates (which are a tiny
bit slower than async).  If you combine the create/delete time, then
the soft updates code is *vastly* faster than async, even with noatime,
because it gathers metadata writes.


> Will the driver immediatly responding 'OK' for each write have no
> more interest with soft update ?

I don't understand the question.

The reason I asked my question (which Julian has stated he will be
answering, thereby letting me off the hook of getting my own hardware
that will disable write cache on the drive) is that I question the
value of a write cache, if sync writes are not being performed for
nearly any operations.

Effectively, soft updates creates a write cache in software, which is
smarter about OS usage patterns than the write cache in hardware (being
that soft updates has an exact graphical model of the optimal usage
pattern).

My question bears on the utility of cacheing and returning a driver
level write in the case where nearly all controller level writes are
cached and returned by the soft update dependecy creation process.


There has been a lot of interest in the Simon/SCSI/RAID thread about
fault tolerance.  It seems to me that a system *without* disk write
caching is more fault tolerant than a system *with* disk write
caching.

It is a pity that standard PC architecture machines do not include
power supplies with seperate AC and DC powerfail notification, nor
motherboard circuitry to notify the OS of the AC failure so that the
OS can do something about it (in a driver).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803051903.MAA29505>