Re: Real-time projects that could use userspace RCU

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

 



* Paul E. McKenney (paulmck@xxxxxxxxxxxxxxxxxx) wrote:
> On Tue, May 11, 2010 at 09:14:04AM -0400, Mathieu Desnoyers wrote:
> > * John Kacur (jkacur@xxxxxxxxxx) wrote:
> > > On Tue, May 11, 2010 at 2:21 PM, Mathieu Desnoyers
> > > <mathieu.desnoyers@xxxxxxxxxxxx> wrote:
> > > > Hi Thomas,
> > > >
> > > > Paul told me you were quite interested in the userspace RCU library when he told
> > > > you about it (http://lttng.org/urcu). Do you have some userspace applications or
> > > > libraries with real-time needs in mind that could use it ? We could help moving
> > > > them to liburcu. The wait-free read-side is, as you certainly know, a
> > > > characteristic of RCU that can be very useful to RT applications.
> > > >
> > > > [CCing linux-rt-users, as it seems appropriate to ask them too.]
> > > >
> > > > Thanks,
> > > 
> > > Do you have any kind of benchmarks? If you had something appropriate
> > > we could add it to the rt-tests suite (which includes cyclictest). Not
> > > only would this provide an objective measure, but it could also act as
> > > a reference implementation for userspace programmers.
> > 
> > Yes, the library already has its set of benchmark test programs. The results can
> > be found in http://lttng.org/pub/thesis/desnoyers-dissertation-2009-12.pdf
> > section 6.5. It shows that RCU read-side is a few orders of magnitude faster
> > than lock-based approaches and scales linearly with the number of cores.
> > 
> > The same PDF, sections 7.6.2 and 7.6.3, presents the architecture-level modeling
> > of the RCU mb algorithm in Promela, along with the formal proof by model
> > checking for both correctness and progress (the read-side is proven wait-free).
> > 
> > > 
> > > See here.
> > > git clone git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
> > > 
> > > cyclictest is the original program written by Thomas, maintained by
> > > Clark Williams now. Most - but not all, of the additional tests are
> > > modelled after this program, so you might want to have a look at that
> > > if you're not already familiar with it.
> > 
> > Thanks for the pointer, I did know about cyclictest, but not the others. Since
> > the read-side does not involve the OS nor blocking, I wonder which of these
> > tests would be even a near-match though.
> 
> Why not add mutual-exclusion tests, including locking, per-thread locking,
> reader-writer locking, and RCU?  The figure of merit would be maximum
> latency rather than throughput, but the existing userspace-rcu tests should
> be pretty close.
> 

Do you mean adding our RCU tests to the rt-tests.git tree or adding more
information in our own tests ? Also, the maximum latency is quite dependent on
the rest of the workload running on the system, so we might have to generate
such a workload while the test runs to give an interesting and accurate view of
the maximum latency.

Maybe running one (or many) of the already existing rt-tests in parallel would
do.

Thoughts ?

Mathieu


> 							Thanx, Paul

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux