2008-12-11 23:27:32

by J.A. Magallon

[permalink] [raw]
Subject: Is there something like multi-device fan out ?

Hi...

I suspect this sounds like a strange question.
A friend has a company that distributes his own catalogs on CD-ROM, and wants
to build a mass-burning box (something like 8 CD/DVD burners), running linux.

The problem is how to burn an image at the same time to all writers.
I could write a script, but I think this would launch 8 reads on the same
iso file, all desynchronized, that will drive nuts the disk.
Is there any way to get all the /dev/sr? devices and build something like
a fan-out device, or like a RAID1-CDROM or whatever ?
I suppose it has to be done at the kernel level...

TIA

--
J.A. Magallon \ Software is like sex:
\ It's better when it's free
Mac OS X Leopard 10.5.5 (build 9F33) x86-64 - Darwin Kernel 9.5.0


2008-12-11 23:41:55

by H. Peter Anvin

[permalink] [raw]
Subject: Re: Is there something like multi-device fan out ?

J.A. Magallon wrote:
> Hi...
>
> I suspect this sounds like a strange question.
> A friend has a company that distributes his own catalogs on CD-ROM, and wants
> to build a mass-burning box (something like 8 CD/DVD burners), running linux.
>
> The problem is how to burn an image at the same time to all writers.
> I could write a script, but I think this would launch 8 reads on the same
> iso file, all desynchronized, that will drive nuts the disk.

Not really. They will end up synchronized through a mechanism called
the cache capture effect: the image that is behind will have the benefit
of having the precursors already having read the input, so it's ready
for use in the cache already, therefore it will run faster. The stable
condition, as long as the writers are close to the same speed and the
writes are started at close enough to the the same time, is that they
are all writing the same data at almost the same time.

-hpa

2008-12-12 12:20:38

by Matthias Schniedermeyer

[permalink] [raw]
Subject: Re: Is there something like multi-device fan out ?

On 11.12.2008 15:41, H. Peter Anvin wrote:
> J.A. Magallon wrote:
> > Hi...
> >
> > I suspect this sounds like a strange question.
> > A friend has a company that distributes his own catalogs on CD-ROM, and wants
> > to build a mass-burning box (something like 8 CD/DVD burners), running linux.
> >
> > The problem is how to burn an image at the same time to all writers.
> > I could write a script, but I think this would launch 8 reads on the same
> > iso file, all desynchronized, that will drive nuts the disk.
>
> Not really. They will end up synchronized through a mechanism called
> the cache capture effect: the image that is behind will have the benefit
> of having the precursors already having read the input, so it's ready
> for use in the cache already, therefore it will run faster. The stable
> condition, as long as the writers are close to the same speed and the
> writes are started at close enough to the the same time, is that they
> are all writing the same data at almost the same time.

And if you want to be absolutly sure.

RAM is cheap nowadays, plug in enough RAM (no swap!) so you can copy the
image to burn into a tmpfs before starting to write them.
No disc IO involved at all. ;-)

A Single-layer DVD has a maximum of around 4.4GB so if you plugging in
8GB, you are on the safe side.

Only for a Dual-Layer DVD you would need more RAM.




Bis denn

--
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.

2008-12-12 22:14:32

by H. Peter Anvin

[permalink] [raw]
Subject: Re: Is there something like multi-device fan out ?

Matthias Schniedermeyer wrote:
>
> And if you want to be absolutly sure.
>
> RAM is cheap nowadays, plug in enough RAM (no swap!) so you can copy the
> image to burn into a tmpfs before starting to write them.
> No disc IO involved at all. ;-)
>

You don't have to copy it to tmpfs, either. Just let the cache do its job.

-hpa