Request for Comments: Pledge fund for multicore support

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

 



On Mon, Sep 08, 2008 at 01:44:55PM +0200, Milan Broz wrote:
> Current status is (after some recent discussion):
> - dm-crypt need mechanism to add more than one encryption thread
> - # of threads should be configurable (maybe even runtime using dm message)
> - implementation must support planned barrier support for device-mapper
> 
> (Also note, if there is any hw doing the encryption, more threads become
> ineffective - it is limited by crypto hw capabilities, not by main processors
> count.)
> 
> So already on TODO, but not with the highest priority:-)

Hi,

Since it seems from recent posts to this list that there are many
people who are interested in having this feature (and I'm one of
them), and at least I would be willing to pledge some money for
implementing this feature, I'm considering starting a project for this
on http://micropledge.com/ (that's what I found after some googling,
let me know if there's something better - although their terms seem
very reasonable, it's free for OSS projects save for Paypal fees).

Before doing that, I'd like however your (where "you" includes
potential pledgers, potential implementers and those dm-crypt
developers that are not interested in taking the project) input on at
least:

1. Whether you think the idea of a pledge fund for implementing
   multi-threaded crypto in dm-crypt for one device is constructive at
   all? If all this does is start a flame war and alienate developers,
   it's probably best that we forget the idea.

2. What should the requirements be? The form for starting a fund (or a
   "project" in micropledge terms) is at http://micropledge.com/dream
   .

(Note: I wonder if and how the micropledge.com system works for a
group of developers willing to take the job together.)

For requirements, I'm thinking along the lines of:

a. It must be good enough that it can be accepted by the dm-crypt team
   for inclusion in dm-crypt proper, and it at least must have no
   substantial issues why it would never be accepted by kernel
   developers;

(Note: This probably subsumes many smaller issues, like
maintainability and issues like those listed in the above quotation by
Milan Broz; however I feel those things are best left open in this
spec for further discussion and consensus by the dm-crypt developers.)

b. It must be licensed so to be legally includable in the kernel (i.e.
   compatible with GPLv2);

c. It must show performance improvement when running on an SMP
   computer, even if only in an artifical benchmark, assuming that
   disk is fast enough to not be a problem. To show that it utilizes
   multiple processors, it needs to be demonstrated that:

     i. On a dual core computer (say, Intel Core 2), the performance
        is at least 1.3x the performance of the current implementation
        on a single core of the same computer;

    ii. On a quad core computer, the performance is at least 2.3x the
        performance of the current implementation on a single core of
        the same computer; and

   iii. From a technical point of view, it is reasonable to say that
        the performance gains come from using multiple CPUs or cores
        and not from single-threaded code optimizations.

(Note: I think the 1.3x and 2.3x requirements should not be very hard,
but essentially they demonstrate that the implementation really uses
multiple CPUs to its advantage, and if it's good enough to also pass
requirement (a), well, at least it's a beginning.)

What do you think?

	Sami

---------------------------------------------------------------------
dm-crypt mailing list - http://www.saout.de/misc/dm-crypt/
To unsubscribe, e-mail: dm-crypt-unsubscribe@xxxxxxxx
For additional commands, e-mail: dm-crypt-help@xxxxxxxx


[Index of Archives]     [Device Mapper Devel]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux