[SATLUG] simultaneously burning multiple DVDs

Craig sargonemail at gmail.com
Tue Dec 30 13:32:20 CST 2014


> On Dec 30, 2014, at 11:40 AM, Borries Demeler <demeler at
biochem.uthscsa.edu> wrote:
 > First, I want to understand *why* such a setup would even be necessary. I
 > realize that I could just pop one drive into 4 different computers and
 > run this by some remote control program. But that is not the solution
 > I want to consider right now until I understand better where the
limitation
 > actually is.
*> I'm convinced it's a driver problem.
....
The problem is when burning a DVD, the drive can't wait/pause while more
data is sent.
As noted previously in the discussion, the "wait" issue is mitigated by
adding a buffer.
Obviously, that just buys one more time. -- takes longer to empty buffer,
so more time
before buffer under run can occur.
In the days before "buffering", one could not do anything else while the
cd/dvd was doing a burn.
Interrupt the burn by running another program, and the burn attempt would
be hosed.
The multiple dvd/cd burns on a single machine using multiple dvd/cd writers
is a kernel issue.
This assumes that one doesn't saturate the PC bus (epci / usb 3.0 / etc) /
max the cpu such that
the machine can not service the dvd/cd buffers before a buffer underflow
occurs (resource starvation).
So, what's the problem with doing just 2 dvd/cd burns at the same time on a
modern machine?
Greatly simplified explanation:
OS's switch/alternate between running programs.  At standard OS (non-real
time) just queue's up the programs
and rotates between them with no regard to other issues.
Multi-core/threaded cpu's allow more than one program
to be running at the same time, up to the number of cores/cpus available.
Unfortunately, the resources that
the multi-cpu's use still have to be accessed in a manner akin to the
single cpu set-up.
This results in the standard single cpu setup "queue" noted at the start.
While a program request for a resource
is in the queue, a program is paused/locked.  Note:  This is different than
prioritizing a program via nice!
A real-time kernel allows prioritizing locks on resources.  So, typing at
the keyboard wouldn't take priority
over dvd write.  At the kernel level, reclaiming memory wouldn't take
priority over that DVD fill buffer request.

Craig


More information about the SATLUG mailing list