Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#58672 - 14/01/2002 11:17 Tandem connections
Scorp1us
journeyman

Registered: 03/01/2002
Posts: 76
I don't know if it's the CPU or the medium of connection that is the bottle neck, but It'd be cool if we could use USB AND Ethernet at the same time even is it's only 50% faster, this would save hours off a big sync.

I'd implement it by:
1. See if 2 or more files are in the queue.
2. If so, then check to see if both USB and ethernet are connected. Assign files to connection by length - longest ethernet, next longest USB.. If the time to sync will be large, then maybe throw in serial too. But becarefull that you don't end up in the trap of waiting for a song to transfer over serial, when it could be aborted, restarted, and finished over ethernet faster. (That's only an issue when the sync is coming to an end.)
3. If so, then find where the last block is stored of one of the songs. Start the next song's position at the following free block.
4. Now transfer the data over both connections.
5. Wash, rinse, repeat as nessesary.

Note that all that block work is (presumably) needed to avoid fragmentation*. Since the nature of this beast is sequential access, we don't want to alterate blocks of songs - that will increase thrashing and therefore increase the time the harddrive is being read.

*With big enough HD caching and buffers, this may not be an noticible issue.

Top
#58673 - 14/01/2002 12:06 Re: Tandem connections [Re: Scorp1us]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4174
Loc: Cambridge, England
I don't know if it's the CPU or

It's the CPU. You won't gain any speed advantage by doing it in tandem.

Peter

Top
#58674 - 14/01/2002 13:02 Re: Tandem connections [Re: peter]
Scorp1us
journeyman

Registered: 03/01/2002
Posts: 76
I have a hard time beliving that. I remember when I had a 486DX-33 with 2 Ethernet cards as a masq. box in college. The throughput of the box topped out at .5MByte/s. (That's in one interface and out the other - in Linux 2.0.12, IIRC) Now you're telling me a 200+Mhz StrongARM won't have idle time?

It's not like it's playing MP3s and/or vis'ing at the same time. I could understand if it were, 'cause my 166 could barely play them

I guess I'll have to login and run top during a sync when I get home...

Now what I could believe is that the harddrive is too slow, but I'd expect them to be using DMA.

Top
#58675 - 14/01/2002 13:11 Re: Tandem connections [Re: Scorp1us]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
The hard drives don't use DMA.

_________________________
- Tony C
my empeg stuff

Top
#58676 - 14/01/2002 15:42 Re: Tandem connections [Re: tonyc]
Roger
carpal tunnel

Registered: 18/01/2000
Posts: 5682
Loc: London, UK
The empeg has no DMA controller. The drives use PIO, as does the network interface. There's not enough bus bandwidth to get 10Mbps onto the disks raw. There'd be no point in using USB at the same time.

Otherwise we'd probably have put 100Mbps networking on the board...
_________________________
-- roger

Top
#58677 - 16/01/2002 11:37 Re: Tandem connections [Re: Roger]
altman
carpal tunnel

Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
USB is very heavy CPU load. There's an interrupt every 64 bytes, and the device itself is slow to read from and only 8-bit wide.

Ethernet is fast to read from, has one interrupt every 1.5kish (on a big ftp, for example), and is on a 16-bit bus.

Running usb & ethernet at the same time flat out may slow down ethernet a little and the extra usb throughput would be hard pressed to make up for it.

Hugo

Top