Slashdot Mirror


BBC Optimizing UHD Video Streaming Over IP (bbc.co.uk)

johnslater writes: A friend at the BBC has written a short description of his project to deliver UHD video over IP networks. The application bypasses the OS network stack, and constructs network packets directly in a buffer shared with the network hardware, achieving a ten-fold throughput improvement. He writes: "Using this technique, we can send or receive uncompressed UHD 2160p50 video (more than 8 Gbps) using a single CPU core, leaving all the rest of the server's cores free for video processing." This is part of a broader BBC project to develop an end-to-end IP-based studio system.

12 of 72 comments (clear)

  1. Interesting by jd · · Score: 5, Interesting

    Kernel bypass plus zero copy are, of course, old-hat. Worked on such stuff at Lightfleet, back when it did this stuff called work. Infiniband and the RDMA Consortium had been working on it for longer yet.

    What sort of performance increase can you achieve?

    Well, Ethernet latencies tend to run into milliseconds for just the stack. Tens, if not hundreds, of milliseconds for anything real. Infiniband can achieve eight microsecond latencies. SPI can get down to two milliseconds.

    So you can certainly achieve the sorts of latency improvements quoted. It's hard work, especially when operating purely in software, but it can actually be done. It's about bloody time, too. This stuff should have been standard in 2005, not 2015! Bloody slowpokes. Back in my day, we had to shovel our own packets! In the snow! Uphill! Both ways!

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re: Interesting by tomalpha · · Score: 3, Informative

      Yeah, this kind of thing has been around for a while.

      These days the added latency of going through the kernel IP stack is generally measured in micro rather than milliseconds but the difference is still the same order of magnitude. Solarflare, Mellanox and others will happily sell you expensive Ethernet network cards that come bundled with drivers that let you bypass the kernel IP stack. The stack itself isn't especially slow but the system call and extra memcpys still do all add up. I've also seen an in-house user space stack built largely on top of lwIP.

      So I'd agree that none of this particularly new, but I reckon it's still interesting that the BBC is using it. Maybe that'll help spur more widespread adoption.

    2. Re:Interesting by ihtoit · · Score: 2

      70ns for a signal to propagate over 10m of twisted pair copper. Start there.

      I have Gigabit connection over my LAN and I still get...lemme test... 1ms to the router, 2ms to a random other machine. Over WAN, 109ms to Slashdot, 16ms to the BBC. World of Tanks EU server goes between 40-130ms, depending on how busy it is and whether my son is video skyping....

      --
      Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
  2. Re:Credulity by Anonymous Coward · · Score: 2, Informative

    IP packets and Ethernet frames are really quite small data structures, so the cost of processing is vastly overshadowed by the cost of scheduling, context switching, memory management, etc.. Because modern CPUs are limited by RAM access latency, they're only fast when they can either loop or stream. If there isn't enough of that between the overhead, performance tanks.

  3. Baby steps. by SeaFox · · Score: 2

    How about the BBC stop requiring Flash for videos. That would be a better place to start.

    1. Re:Baby steps. by wonkey_monkey · · Score: 2
      --
      systemd is Roko's Basilisk.
    2. Re:Baby steps. by AmiMoJo · · Score: 2

      4k is aiming a bit low anyway. NHK, the Japanese equivalent of the BBC, I'd going directly to 8k for the 2020 Olympics. Test broadcasts will begin in 2018, about 2.5 years from now. 4k is going to be short lived.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  4. I can't wait by Rosco+P.+Coltrane · · Score: 2

    to be able to watch Eastenders in Ultra HD...

    To the Beeb's credit though, the Sky at Night in UHD would definitely be a lot more interesting, surely. But out of thousands of mediocre shows and movies released year after year after year, is it worth buying a new tv to marvel at a dozen really good programs? Somehow this don't seem to be a good value proposition.

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    1. Re:I can't wait by SuricouRaven · · Score: 4, Informative

      This isn't for you to watch UHD. It's for internal use in production, so they can shunt live UHD video around their studios. That way they keep full quality right up until the final stage before distribution, when it gets resized according to the end device. Your TV will get plain old 1080p as always - but they'll have UHD capability ready to go for transmitting to cinemas or sending to big public displays, and they can archive a UHD version for future use so they can zoom in tighter on the action in future highlights.

  5. Re:I found my own way to protest. by SuricouRaven · · Score: 2

    I also put the wrong link in.

  6. Re:Credulity by Bengie · · Score: 2

    A 10x difference in performance is not only attainable, but even faster is being done.

    At 10Gb/s, the amount of data getting shuffled around in a normal network stack is enough to push the limits of the databuses. Most network stacks copy the data something like 4 times. That works as a multiplier and changes 10Gb/s into 40Gb/s. Context switching causes cache trashing and can consume more cycles than the actual data getting processed. A single context switch can consume about 1,000 cycles on a modern CPU.

  7. Re:instead of investing in super ultra hq video.. by Anonymous Coward · · Score: 3, Funny

    why not do 720p for everybody first, with no region locking or lockouts? fuck this uber hq shit. dvd quality is, quite frankly, good enough for all but the most anal of viewers.

    Shush! If UHD doesn't take, we'll be forever stuck with 1080p computer monitors. Do not be the person who prevented 8 MPixels desktop monitors from becoming mainstream.

    Dear Sirs,

    I'm the head of the UHD Panel Manufacturers' Association. I'm sorry to say that, having read the grandparent post by an Anonymous Coward, our members have unanimously decided to cancel all further development and manufacturing of ludicrously high-definition panels, and to shut down the association. In fact, we've decided to stop bothering with 1080p panels as well and in future will just be selling 1280 x 720 displays.

    The parent was correct in identifying the influence of a single post by an Anonymous Coward on a niche website; we consider Slashdot the be-all-and-end-all of our market research and as a result of that post we're ending our involvement in a potential multi-billion dollar industry.

    In fact, we're even considering going back to CRT displays, you ungrateful wretches.

    Yours sincerely,

    Hwang Beom-seok,

    President of the UHD Panel Manufacturers Association