tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: IIs factible to implement full writes of strips to raid using NVRAM memory in LFS?



On Thu, Aug 18, 2016 at 07:58:53PM +0200, Jose Luis Rodriguez Garcia wrote:
 > > LFS writes the metadata at the same time, in the same place as the data.
 > > No synchronous writes necessary.
 > 
 > As I understand LFS needs to do synchronous writes when there is
 > metadata operations (directories)/fsync operations involved. Instead
 > of writting a full segment (1 MB per default), it writes a "small
 > segment". It kills performance in RAID 5/6, because the write isn't a
 > full stripe: you have to read all the disks, for calculate the new
 > parity 1 write on raid of x disks= x reads + 2 writes (data + parity).
 > 
 > The NVRAM memory solves this problem as buffer/ write cache.

Short segments occur because the ratio of syncs to new blocks written
is too high in practice: you have to write out before there's enough
data to fill a segment. Rearranging it to assemble whole segments in
nvram before writing them to disk is possible but would be a fairly
big project.

One could also integrate this with cleaning so you ~always write a
whole segment by filling it up with data from cleaning if you don't
have anything else to write, but that's a *big* project.

Right now my chief concern is making it work reliably, since it
currently seems not to. The first order of business seems to be to
come up with a new locking model, since the existing locking is not
just bodgy (like we knew) but also not self-consistent and in places
glaringly incorrect.

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index