Chris Small (one of the Vino architects) writes:
> A friend forwarded your posting of 20 Jun to linux-kernel and cap-talk
> that mentioned in passing the overhead of transactions in VINO. I'm not
> sure how you got your VINO transaction overhead cost of 100x "per kernel
> operation". If you want to consider an L4 IPC a typical kernel
> operation, then a transaction begin/end is about one order of magnitude
> slower than an IPC (about 100 cycles on an x86, right?).
Chris:
If I overstated the case, I do apologize. I wonder if you'ld be good enough to answer this to both lists so that we can all see the outcome.
Indeed, I consider the L4 IPC operation to be a reasonable upper bound on the fundamental system call overhead. Actually, it's generous because system calls don't usually have to change the address space, but let's stick with their number for purposes of discussion.
But one of the key ideas in Vino was in-kernel composition of things, which suggests to me that a single kernel invocation might involve several begin/end pairs.
Can you provide insight into how many transaction begin/end pairs a kernel invocation in Vino typically incurs?
Just so you know, I was actually holding out Vino as an exemplar of "the best that can be done" in a transaction oriented approach.
Jonathan S. Shapiro, Ph. D.
IBM T.J. Watson Research Center
Email: shapj@us.ibm.com
Phone: +1 914 784 7085 (Tieline: 863)
Fax: +1 914 784 7595