Re: transactions in Vino

shapj@us.ibm.com
Tue, 22 Jun 1999 15:21:31 -0400


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.

Your number was that a Vino transaction begin/end pair is 1570 cycles on a 100
Mhz Pentium. The L4 IPC operation, if memory serves me, is something like 130
cycles in the case of interest, which would give 12x. Withdrawing the 100x
figure (with apologies), I submit that this number amply makes my case.

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

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