Re: [ANNOUNCE] Native Linux KVM tool v2

From: Ingo Molnar
Date: Thu Jun 16 2011 - 04:08:34 EST



* Pekka Enberg <penberg@xxxxxxxxxx> wrote:

> Hi Ingo,
>
> On Thu, Jun 16, 2011 at 10:24 AM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >  - executing AIO in the vcpu thread eats up precious vcpu execution
> >   time: combined QCOW2 throughput would be limited by a single
> >   core's performance, and any time spent on QCOW2 processing would
> >   not be spent running the guest CPU. (In such a model we certainly
> >   couldnt do more intelligent, CPU-intense storage solutions like on
> >   the fly compress/decompress of QCOW2 data.)
>
> Most image formats have optional on-the-fly
> compression/decompression so we'd need to keep the current I/O
> thread scheme anyway.

Yeah - although high-performance setups will probably not use that.

> > I'd only consider KAIO it if it provides some *real* measurable
> > performance advantage of at least 10% in some important usecase.
> > A few percent probably wouldnt be worth it.
>
> I've only been following AIO kernel development from the sidelines
> but I really haven't seen any reports of significant gains over
> read()/write() from a thread pool. Are there any such reports?

I've measured such gains myself a couple of years ago, using an
Oracle DB and a well-known OLTP benchmark, on a 64-way system.

I also profiled+tuned the kernel-side AIO implementation to be more
scalable so i'm reasonably certain that the gains exist, and they
were above 10%.

So the kaio gains existed back then but they needed sane userspace
(POSIX AIO with signal notification sucks) and needed a well-tuned
in-kernel implementation as well. (the current AIO code might have
bitrotted)

Also, synchronous read()/write() [and scheduler() :-)] scalability
improvements have not stopped in the past few years so the
performance picture might have shifted in favor of a thread pool.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/