Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2002 16:22:56 -0400
From:      David Gilbert <dgilbert@velocet.ca>
To:        Keith Pitcher <kpitcher@locallink.net>
Cc:        David Gilbert <dgilbert@velocet.ca>, freebsd-hackers@freebsd.org
Subject:   Re: [hackers] Multi CDR burn
Message-ID:  <15659.17952.903580.570415@canoe.velocet.net>
In-Reply-To: <20020709191404.GA97352@stone.locallink.net>
References:  <20020708220105.GA32341@stone.locallink.net> <15658.50186.945164.162061@canoe.velocet.net> <20020709191404.GA97352@stone.locallink.net>

next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> "Keith" == Keith Pitcher <kpitcher@locallink.net> writes:

Keith> On Tue, Jul 09, 2002 at 07:07:54AM -0400, David Gilbert wrote:
>> Remember: unix is a system whereby you assemble piplelines and
>> scripts of _simple_ programs to create complex behavior.  It's not
>> necessary to have a multi-cd tool when you can roll your own with
>> your own behavior.
>> 
>> Dave.

Keith> This is a simplistic and inadequate solution. UNIX was intended
Keith> to be efficient, not to do eight Times the amount of work of
Keith> any other system.  This uses 8 times the memory, 8 times the
Keith> processor, and 8 times the bus (only 4 times if two channels,
Keith> but you get the idea). A properly written CD burning tool would
Keith> use the SCSI commands to send the data only once to all of the
Keith> devices.  This solution requires that you have a machine that
Keith> is 8 times more powerful than you should actually need. We do
Keith> not. We have an HP Netserver 5: a P100 with a built in narrow
Keith> SCSI2 controller.

Keith> Given the hardware, is there a way to burn 8 CDs at one time,
Keith> or is there some mirroring code that is well written enough to
Keith> facilitate it?

I wouldn't expect mirroring code to be of help here since FreeBSD's
vinum and ccd expect disk formats (not iso_9660) and also expect
regular read/write disks, not CDR (which require special treatment
anyways).

I also didn't know that there was a write-to-many SCSI command?
Someone can confirm or deny this?

A narrow SCSI2 bus is 20Mhz * 8 bit or 20 Megabytes per second.  A 1x
CDROM is 20 kilobytes per second (roughly, I looked it up and several
sources said 150 kilobits per second) ... so your single scsi bus
should handle 1000 1x CDROMS or 8 125x CDROMS.  Simply put, your SCSI
channel (even it it's only 10Mhz is way more then enough).

Next, let the OS do the work.  You'll likely find that you can set the
buffers to almost zero (I think the default is one meg).  The code
will be shared, the data will only be read once and you just might
find that it works.  UNIX is there to make these simple things work
for you.

I'll go out on a limb and speculate that there isn't a write-to-many
command as you suggest.  My understanding of SCSI is that each command
addresses one target... and that part of the format is hard-coded.

Dave.

-- 
============================================================================
|David Gilbert, Velocet Communications.       | Two things can only be     |
|Mail:       dgilbert@velocet.net             |  equal if and only if they |
|http://daveg.ca                              |   are precisely opposite.  |
=========================================================GLO================

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15659.17952.903580.570415>