Slashdot Mirror


Intel Developers Demo USB 3.0 Throughput On Linux

Sarah Sharp writes "Intel's Open Source Technology Center is working on USB 3.0 support for Linux. USB 3.0 has wire speeds of 5Gbps and promises to be 10 times faster than USB 2.0. A recent video demo shows speeds that are 3.5 times faster than USB 2.0. The USB 3.0 drivers will be submitted to the mainline kernel when the eXtensible host controller interface (xHCI) specification reaches a 1.0 release."

36 of 231 comments (clear)

  1. What's in a name... by alain94040 · · Score: 5, Insightful

    USB 2.0 gave us high-speed and full-speed. Some marketing department had to work really hard on the USB 3.0 specs, to come up with... super-speed.

    Now let's talk about the obvious problem: at 5 Gbit/s, it's faster than the Ethernet in my house (1 Gbit/s). Am I the only one who didn't really notice a 10X speed improvement when moving from 100 Mbit Ethernet to gigabit Ethernet? Conventional hard drives are just too slow.

    Maybe SSD + USB 3.0 would be really cool. Imagine a Flash based HD camera talking to a Flash based hard drive. Is 2009 the year of the Flash?

    Which brings me back to my original point: for the next generation USB, I propose the name flash-speed :-)

    PS: thanks to Intel for helping Linux stay on the leading edge. It looks like Linux may even support this before Windows, thanks to the Windows 7 schedule... I just wish Intel's pre-conditions on contributing to the xHCI specs didn't start with stuff like:

    Step 1. Print and execute the xHCI Contributor agreement. Note: The agreement must be executed by a corporate officer.

    --
    http://fairsoftware.net/

    1. Re:What's in a name... by Microlith · · Score: 3, Informative

      Imagine a Flash based HD camera talking to a Flash based hard drive.

      Maybe if said HD camera has a USB host controller, like that USB-2-GO stuff.

      Otherwise, I suspect USB 3.0 is as braindead as USB 1.0 and will still require a computer to do all the actual work.

    2. Re:What's in a name... by Microlith · · Score: 4, Insightful

      This is why Intel is pushing USB: it is entirely CPU dependent.

      You won't notice it when you're running with X * 2 logical cores. It'll be shuffled off to some low utilization core.

    3. Re:What's in a name... by John+Allsup · · Score: 5, Interesting

      I guess for hard drives, the question is how close to eSATA it gets.
      Also, does USB3 still have the CPU overhead and latency of earlier USB compared to FW?

      --
      John_Chalisque
    4. Re:What's in a name... by Mad+Merlin · · Score: 4, Informative

      'bursty' ... is that sort of like 'minty'? ;)

      No, it's that max speeds for USB 2.0 refer to the max burst speeds, not the maximum sustainable speed. A single 7200 RPM drive attached via USB 2.0 will be substantially slower than if you attached it via SATA or IDE, even though 60 MB/s (= 480 Mbit/s) should be enough for most drives.

    5. Re:What's in a name... by metalhed77 · · Score: 4, Interesting

      That USED to be true. It's not the hard drive, all the layers that get put in between when you access a disk over the network. Modern hard drives can easily do 60MB/s sustained.

      For instance, I have a couple raid6 arrays which clock in at about 250 MB/s and 150MB/s natively. If I hook that machine up directly to another machine's ethernet port I only get about 30MB/s sharing the device w/ iSCSI. SMB and NFS yield similar results. This is true even though I can get over 900Mbps using iperf.

      Sharing disks over gig-e sucks when you actually need throughput. It's great for when you just need to expand a SAN and speed is secondary. I've heard that bonding two Gig-e cards doesn't realize much of an improvement FWIW, so I assume latency is part of the reason it's slower.

      --
      Photos.
    6. Re:What's in a name... by Gazzonyx · · Score: 4, Funny

      USB 2.0 gave us high-speed and full-speed. Some marketing department had to work really hard on the USB 3.0 specs, to come up with... super-speed.

      I'm holding out for WARP speed...

      I'm holding out for plaid speed...

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    7. Re:What's in a name... by More_Cowbell · · Score: 3, Interesting

      I appreciate the answer, but you replied to the bit where I was trying (poorly) for humor. I know what burst speed vs sustainable speed is all about. What I wanted you to explain is what makes you think a medium that has a burst speed of 4.8 Gbit/s will not be able to sustain > 1 Gbit/s (like your ethernet). I have read a bit, and not seen any info either way...

      --
      Experience teaches only the teachable. -AH
    8. Re:What's in a name... by 0100010001010011 · · Score: 3, Informative

      The agreement essentially brings patents held by these companies into a single portfolio that can then be licensed by manufacturers for a single fee. That fee is US$.25 per system that includes FireWire ports, regardless of the number of patents used or the number of FireWire ports implemented. This is a dramatic decrease from the US$1 per port per device (see "Apple To Charge 'Per-Port' Licensing On FireWire") that Apple originally announced it would charge for its own patents.

      $10 is not in licensing fees.

    9. Re:What's in a name... by Mr+Z · · Score: 3, Informative

      Protocol latency is a big deal. If you have a large per-transaction overhead, then the overall throughput of a given medium will be very sensitive to the number of transactions it creates on the media, as opposed to the total number of bytes it needs to move.

      That's part of the reason the HTTP sprouted request pipelining, since the round-trip-time between the endpoints of the connection figured largely in the startup latency of each connection.

      It sounds like the typical PC implementation of USB relies heavily on the CPU to handle all but the lowest levels of the protocol. (I'm relying on hearsay here.) If this is indeed the case, then it'll be hard for USB to reach the max sustained speeds for storage devices, unless there's a mechanism for requesting large blocks of data (or large numbers of small blocks) in a single transaction.

      For us old-school types, it's similar to the reason XMODEM didn't get much faster with faster modems over a certain speed. XMODEM didn't pipeline anything. It'd send a block, and then wait for an ACK. Since the latency of fancier modems was higher than the simple FSK 300 baud modems, the handshake turnaround time of the ACK swamped the gains made while sending the blocks. (Also, the tiny block size didn't help.) Thus, pipelined protocols like ZMODEM and large-block non-pipelined protocols (XMODEM-1K) came about to address this.

    10. Re:What's in a name... by 0100010001010011 · · Score: 4, Informative

      Again, bull shiat. Use google before stating "recent developments."

      USB 2.0 was released in April 2000.

      Those licensing fees were announced in May 1999.

      In Jan 1999 Apple announced that it would be $1 per port. As far as I know it's always been $1 per port. Now I don't know of any devices with 10 ports on them (Making the licensing fee $10). Here's a CNET article from the same time.

      Both were before USB2.0 was released and considerably less than what you claim.

    11. Re:What's in a name... by saharabeara · · Score: 3, Informative

      Hmm, a crappy host based implementation at 5Gbps or a storage targeted, low everhead one at 3Gbps (possibly going to 6Gbps if the next gen spec gets extended to eSATA), I know which one I will use =)

      Actually, USB 3.0 was targeted for mass storage devices. They added the concept of Bulk Streams to support "out-of-order data transfers required for mass storage device command queuing." (USB 3.0 spec, section 4.4.6.4) Basically, the host can queue up to 65K SCSI commands, and the device can choose which command it wants to service first.

      The host doesn't have to poll the device to see when commands are done because they added device notifications to USB 3.0. So the host fires off 65K of SCSI requests and the device asynchronously notifies the host as they get done. I'm no firewire expert, so I have no idea if it does something comparable. :)

  2. Wha? by Weaselmancer · · Score: 4, Informative

    Could you please explain that a bit?

    It's my understanding that high throughput drivers usually use DMA.

    In my experience polled mode drivers are pretty rare. Especially in high throughput.

    --
    Weaselmancer
    rediculous.
    1. Re:Wha? by Lost+Engineer · · Score: 3, Insightful

      USB 2.0 requires the host to control all communication on the bus, and in practice uses more CPU time than something like 1394. I don't know if they changed this in USB3 or not.

    2. Re:Wha? by Hal_Porter · · Score: 5, Informative

      Yup the host sets up a structure in memory which lists all the USB endpoints. When a driver wants to do some IO it asks the host controller driver which adds a request into the structure with a pointer to a buffer. The host controller hardware reads the structure with busmaster DMA and generates the USB packets. When the device answers the host controller DMAs the data into the the driver's buffer interrupts the CPU. Then the host controller can pass the buffer back to the driver. Polling is done by leaving the request in the structure, it doesn't require any CPU activity. Intel like USB because they invented it, not as some sort of conspiracy to load your CPU.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    3. Re:Wha? by lysergic.acid · · Score: 4, Interesting

      so why do FireWire 400 readers still consistently beat out USB 2:

      While USB 2.0's theoretical 480Mbp/s (60MBp/s) throughput should be sufficient for UDMA 4 CompactFlash, realthroughput is significantly less. Top hard drive manufacturers typically cite USB 2.0's best speed at 33MB/s, or abouthalf the speed of UDMA 4 CompactFlash, or 25% of UDMA 6 CompactFlash. There are myriad reasons for USB 2.0's'real world' speeds including: CPU overhead from its master/slave arrangement, NRZI encoding, and inexpensivechipset implementations. The USB 2.0 UDMA reader used in the benchmarks above uses one of the latest USBchipsets from Genesys Logic. While a new generation of that chipset should soon be available, we don't foresee itproviding throughput close to half of that of FireWire.

      heck, those benchmarks show that even using FireWire 400 to read a PIO CompactFlash card still beats USB 2.0 UDMA reading a UDMA-enabled CompactFlash card.

    4. Re:Wha? by raynet · · Score: 5, Informative

      Taken from wikipedia: "Although high-speed USB 2.0 nominally runs at a higher signaling rate (480 Mbit/s) than FireWire 400, typical USB PC-hosts rarely exceed sustained transfers of 280 Mbit/s, with 240 Mbit/s being more typical. This is likely due to USB's reliance on the host-processor to manage low-level USB protocol, whereas FireWire delegates the same tasks to the interface hardware. For example, the FireWire host interface supports memory-mapped devices, which allows high-level protocols to run without loading the host CPU with interrupts and buffer-copy operations."

      --
      - Raynet --> .
    5. Re:Wha? by yoyhed · · Score: 4, Insightful

      Yup the host sets up a structure in memory which lists all the USB endpoints. When a driver wants to do some IO it asks the host controller driver which adds a request into the structure with a pointer to a buffer. The host controller hardware reads the structure with busmaster DMA and generates the USB packets. When the device answers the host controller DMAs the data into the the driver's buffer interrupts the CPU. Then the host controller can pass the buffer back to the driver. Polling is done by leaving the request in the structure, it doesn't require any CPU activity. Intel like USB because they invented it, not as some sort of conspiracy to load your CPU.

      I know it's off-topic, but I thought I'd point out why I love Slashdot by comparing it to Digg. If this story were on Digg, the comments would be something like "I BET THIS BE ON NEXT MACBOOK PRO LOL". Here, we get something like your comment in the first thread. <3 /.

      --
      WHO NEEDS SHIFT WHEN YOU HAVE CAPSLOCK/ DAMN1
    6. Re:Wha? by mabhatter654 · · Score: 4, Informative

      This is why you can't have USB-to-USB devices like you have Firewire-to-Firewire devices. It's why USB is very bad for time-sensitive data like music and video, because you're always waiting for the host controller to do something on the CPU, which might be busy.. have you ever seen DMA to memory ever work properly on consumer grade hardware anyway?

      It's not so much a "scam" as it is designing to the market. Firewire devices have a non-trivial price premium because of the device-to-device controller... but that's why they can do things like daisy-chain or direct connect between computers with no special cables. On the other hand USB allows endpoint devices to be made very cheaply.. they have near-zero intelligence if you want. The USB host can be as "thick" or "thin" as the OEM wants... they can put all the host chip control in software drivers to keep chip cost down. They can also put all the control codes for devices in software... remember "wINKjets" that went obsolete with each new Windows version... they have almost no internal software at all.

    7. Re:Wha? by lysergic.acid · · Score: 4, Interesting

      good point. and to be honest, most people don't need FireWire 800/1600 just to transfer a few documents or spreadsheets--or even photos & mp3s--to their computer. the few seconds saved doesn't justify the added cost of FireWire over USB. nor do they need to use a high-speed data bus for their mouse, keyboard, webcam, printer, scanner, or what have you. so it makes sense that USB is more prevalent than FireWire.

      however, FireWire is still extremely useful (and crucial) to certain professionals who regularly work with large files or have to move around large amounts of data, like hi-res/raw images, lossless audio, hi-def video, etc. that's why FireWire is still pretty standard in high-end music & video production equipment. so the idea that FireWire is dead (or can simply be replaced with USB 2.0/3.0) is just poorly informed.

      even the military still uses FireWire for things like the the F-35's vehicle systems network:

      1394b is playing a pivotal role in the F-35 Lightning II program, providing guaranteed quality of service with predictable latencies in real-time control applications. More than 70 1394 devices are delivering information about mission details, communication systems, weapon systems, engine controls, and flight controls.

      the IEEE-1394B data bus is similarly employed in the F-22 Raptor for which it was developed. and NASA also uses it to monitor debris during launches amongst other mission-critical applications.

    8. Re:Wha? by afidel · · Score: 3, Informative

      have you ever seen DMA to memory ever work properly on consumer grade hardware anyway?
      Yeah, every day. PIO mode HDD's suck terribly, DMA is necessary to achieve decent performance.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  3. Re:cool, at least it is progress by thermian · · Score: 5, Funny

    yeah yeah, i read the comments about gigabit ethernet being faster, thats not the point, usb 3 is still better than usb 2, enjoy the weekend...

    We're geeks, reading stuff like this *is* enjoying the weekend.....

    --
    A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
  4. latency badness by r00t · · Score: 4, Interesting

    USB suffers from 1 ms time quantization and thus latency. I see nothing about fixing this.

    Example badness:

    When running MIDI over USB, timing is forced onto 1 ms slots. Normally when playing a chord, the keys don't all hit at exactly the same moment. You can't really tell, except that this makes the music sound natural. With the 1 ms problem, the keys happen at exactly the same moment (bad) or spread out into two separate events (worse).

    1. Re:latency badness by PiSkyHi · · Score: 3, Funny

      ...yes and 2 completely separate transfer cables, 1 for all the ones, the other for all the zeros.

      Gold plated, of course.

  5. Compared to USB 1... by MonoSynth · · Score: 5, Interesting

    This shows where Linux is nowadays. It took literally years before USB1 was even supported and now Intel uses Linux to prove USB3's performance!

    1. Re:Compared to USB 1... by MSG · · Score: 4, Informative

      Too bad they used Windows to show it performing about twice as fast as the Linux test ...

      The tests were nothing alike. The Linux demo was sending data to an actual storage device, not to a loopback device designed only to test throughput. The Linux driver also had a great deal of debugging code running which contributed to the relatively low throughput.

      None of which is to say that Linux was or deserved to be the star of this show. It's nice, however, to see technology vendors demonstrating software on platforms other than Windows.

  6. Firewire Not Dead, Doing Pretty Good Actually by Anonymous Coward · · Score: 3, Interesting

    Whenever a story about USB3 is written, the following caveats should be mandated by law if necessary:

    1. Speed claims are theoretical, and do not reflect real-world results by a long shot. Lots of overhead, CPU dependence, etc.

    USB2 promised 480Mbps and never delivered it. You get 250Mbps on a good day. Now we have marketing claims that USB3 will be "10x faster," yet a video demo shows it's 3.5x faster. That's 1.5Gbps, not 5Gbps.

    2. Firewire 3200 is approved and on the way. It will be faster than USB3, backward-compatible with FW800 (same cables and ports) and should begin appearing on Macs in January. Firewire isn't dead; Firewire 400 is being eased out in favour of faster versions.

    If FW 3200 performs like its predecessors, it should be (in real-world usage) routinely about 2x faster than USB3.

    Moral of the story: don't settle for mediocre.

  7. Re:Future Problems..... by Jeoh · · Score: 4, Funny

    USB 7.0 Monster-Speed USB 8.0 Ludicrous-Speed USB 9.0 HOLY SHIT

  8. There's throughput and then there's latency by Gazzonyx · · Score: 3, Interesting

    Well, I get high throughput with my NIC drivers that poll (I can't remember the kernel compile option for this ATM), but this is at the cost of a higher latency. The trade off is that I've got 5 NICs on this box and it turns out that without polling I get close to having an interrupt storm and spend all my time switching context to execute the drivers bottom half of the interrupt. With polling, the interrupt gets masked and I don't have to worry about servicing every interrupt coming down the line. My latency is higher, but I get more throughput for every time I service the bus as it has more packets to process. This also means I'm trading off space for time (I need larger ring buffers to queue packets) such that I have less memory for the system, but processes get more time on the processor between interrupts.

    While not having to do with USB, the driver architect and concepts are likely very much the same.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  9. Re:Future Problems..... by Briareos · · Score: 3, Funny

    USB 7.0: Profit-Speed!

    --

    "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

  10. Re:Motherboards by kklein · · Score: 3, Insightful

    Please don't say "rig."

  11. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion

  12. Re:cool, at least it is progress by TheRaven64 · · Score: 3, Insightful

    So is FireWire400, once you subtract the protocol overhead from both. Will USB 3 be faster than FireWire800 (which I have been using for the last few years) in real world use? And will FireWire3200 be shipping by the time USB3 is found in real products?

    --
    I am TheRaven on Soylent News
  13. The real big thing... by wikinerd · · Score: 3, Informative

    Wake me up when Firewire over UTP gets popular. THAT would be interesting.

  14. Who needs USB anymore ? by billcopc · · Score: 4, Interesting

    Why are they wasting everyone's time with USB 3.0, when the rest of the universe is shifting toward Ethernet as a common interconnect ? Note I didn't say IP, just Ethernet - good old CAT-5.

    Frig, if the audio folks have already started that transition, then what the hell is Intel doing ? The audio industry is probably the most retarded in the world (according to my failed expectations), and even they see that Ethernet is a cost-effective and braindead simple replacement for all these proprietary cables we've had to contend with over the years.

    --
    -Billco, Fnarg.com
    1. Re:Who needs USB anymore ? by afidel · · Score: 3, Informative

      If that's a troll it's a good one, but you can provide 7.5x more power over ethernet then the USB spec allows (15.4W vs 2.5W). 802.3at pushes things even further to 24W max.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.