qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Adding a persistent writeback cache to qemu


From: Alex Bligh
Subject: Re: [Qemu-devel] Adding a persistent writeback cache to qemu
Date: Mon, 24 Jun 2013 11:25:57 +0100

Stefan,

--On 24 June 2013 11:31:35 +0200 Stefan Hajnoczi <address@hidden> wrote:

It sounds like the cache is in the sheep daemon and therefore has a
global view of all volumes being accessed from this host.  That way it
can do things like share the cached snapshot data between volumes.

Yes, that's potentially interesting. I think you'd only need to
share data for read-only objects. Read caching (at least of read
only objects) could also persist beyond the life of one qemu process.
So stopping qemu and restarting it could be done with a hot cache.

However, you can't do that for writeable objects, as your write
back cache needs to be fully written out before another qemu
process can be launched referencing the same object, and moreover
writeable objects are not in general shared between multiple
processes anyway (if we ignore corner cases like OCFS2 on RBD).

I had assumed (because of some earlier work I did on a different distributed storage project) that the main advantage would be the write-back caching rather than the read caching; that might be untrue with multiple guests running the same image.

This is what I was pointing out about putting the cache in QEMU - you
only know about this QEMU process, not all volumes being accessed from
this host.

Even if Ceph and Sheepdog don't share code, it sounds like they have a
lot in common and it's worth looking at the Sheepdog cache before adding
one to Ceph.

One problem there is Ceph is in C++, Sheepdog is in C.

Another is that sheepdog has a daemon running on the client which
can keep state etc. as qemu comes and goes. Ceph just has a library.

--
Alex Bligh



reply via email to

[Prev in Thread] Current Thread [Next in Thread]