[vorbis-dev] Parallelism

Michael Smith msmith at labyrinth.net.au
Wed Aug 16 07:58:09 PDT 2000



At 10:23 AM 8/16/00 -0400, you wrote:
>Greetings.
>
>In looking through the mail archives, I don't see any mention of
>parallelism of the vorbis code (particularly the encoder).  I was
>wondering if anyone was looking into this at all?  Either with threads,
>and/or on some kind of parallel machine (e.g., a Beowulf cluster)?  I see
>very little mention of threads in the source code, which leads me to
>believe that they are only there for their respective frameworks (e.g.,
>the xmms plugin).

I looked at it (in the context of an encoder, but without modification of
the library, or at least not significant modification. I can't see anywhere
where it would be practical and useful (there is one bit that would
naturally split over two cpus, but you'd have one cpu doing 95% of the work
- it's not worth it).

If you made significant internal modifications to the library, it might
become practical, but I'm not sure - more importantly, I can't see why it
would be useful. If encoding a single file, the encoder is fast enough
(i.e. better than realtime on a fairly recent cpu). If encoding multiple
files, you can spawn multiple encoders.

However, it might be more user complexity than is desired to have to
explicitly start multiple encoders. In this case, doing one thread per file
(up to some limit - you might have a dual cpu machine, and thus use a
hypothetical -p 2 option) might be useful.

If anyone thinks they'd actually use this, let me know (offlist). If I get
more than one or two answers of 'yes', I'll try and add support for this to
oggenc (oggenc is written such that the addition of threading shouldn't
cause any additional problems, so this should be fairly easy).

Michael

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list