Elemental Server Provides Enterprise-Class GPU Transcoding Acceleration
At IBC 2009, I had a demo of a product I'd been waiting to see for several years: an enterprise-class graphics processor unit (GPU) transcoding system.
Back in mid-2008, I was interviewed for a Portland Business Journal article about the market potential for GPU transcoding acceleration, which had slowly been making advances since late 2006.
The reason the GPU technology market landscape caught the eye of Aliza Earnshaw, the Journal's technology reporter, centered on a small Portland startup, Elemental Technologies.
Elemental, which had just raised approximately $4.5 million in Series A funds, was exploring ways to harness the latent power of GPUs to accelerate transcoding of edited content from Adobe Premiere and Final Cut Pro non-linear editing timelines.
The Business Journal reporter wanted to know whether this shift in market strategy by Elemental, away from its original concept of self-contained GPU-based transcoding solutions and toward software-based solutions, was due to the fact that GPUs could never compete with the central processing units (CPUs) found in most desktops and servers, when it came to high-end encoding and transcoding boxes.
My answer to her was that it simply a matter of time before the latent power of the GPU was harnessed for video transcoding, given the fact that GPUs are designed from the ground up with video in mind.
Elemental stood a good chance of capitalizing on this trend, given their multiple years of delving into the underlying processor technology and nVIDIA's Compute-Unified Device Architecture (CUDA) programming technology. Yet the shift to a software-only solution also made marketing and strategic sense, as it gave the company a short-term go-to-market strategy while also allowing Elemental to further develop its code base. HP picked up the solution, working with nVIDIA to integrate the Elemental solution into its multiple GPU machines such as its recent HP Z-series machines, such as the Z800.
With its demo at IBC 2009, Elemental returned to its roots, offering a potentially compelling answer in the GPU-CPU debate. The IBC prototype was for Elemental Server, a self-contained GPU-based enterprise transcoding system.
Elemental Server, which is now shipping, is what CEO Sam Blackman calls the "first-to-market multiple-GPU transcoding engine, using massively parallel video processing to allow multiple, simultaneous faster-than-real-time transcodes."
Once Blackman called Elemental Server "a first" in a phone interview just prior to today's announcement, I did some research to verify that no other company had actually shipped a system in this market space. Despite finding a few attempts at prototypes, and a software-only open-source project, I have not been able to find another GPU-based system that offers multiple simultaneous transcodes.
"GPU computing is a relatively new field, so we get questions about video quality vs CPU alternatives," says Blackman, when asked about the misunderstandings that Elemental hears in the general marketplace. "To prove the quality of a GPU system meets—and, in some cases, exceeds—CPU transcoding quality, we do an enormous amount of testing vs. top-of-the-line CPU codecs. We will shortly be publishing the results of our testing."
The Elemental Server comes with four GPUs that can be independently addressed, which Blackman says means the server is capable of transcoding one 1080p HD file per GPU, or up to 6 standard-definition video files per GPU, for a total of 4 1080p or 24 SD transcodes occurring at one time.
"While Elemental Server ships in a standard configuration without any direct inputs," says Blackman, "it can handle concurrent processing of multiple resolutions and bitrates on a single system, simplifying the requirements for creating Adaptive Bit Rate (ABR) content. An SDI input card is also available to allow simultaneous live encoding into multiple formats."
The server also has the ability to use FibreChannel or InfiniBand for connectivity to centralized storage, and a new SDI board is forthcoming that will allow additional encoding options, with analog composite, s-video and component connections available via a breakout cable.
"The Elemental Server does transcoding and single-source encoding," says Blackman, "but it is not designed to act as a streaming engine."
Blackman says another misunderstanding about GPU transcoding is that it only addresses a narrow market niche.
"We've had broadcasters, content delivery networks and online video platforms testing our beta systems," said Blackman. "but we've also heard from educational and government entities interested in testing our solutions."
Blackman makes some significant claims in terms of the raw processing power, compared to CPU processing solutions.
"If a potential customer chooses to replace CPU-based systems with our GPU-based solution," said Blackman, "they'll see at least a four-time increase in transcoding speeds. For pre-processing filters since as de-interlacing and comb filters, our customers will see a 50-60 times increase in speed, as these types of video filters are native to GPU processing."
Streaming Media plans to review these claims, testing the Elemental Server within the next few weeks and comparing it to CPU- and DSP-based solutions, as well as software-only GPU solutions such as Elemental's Accelerator for the HP Z800 8-core, dual-GPU workstation.
Asked about the specifics of the GPUs being used in the Elemental Server, Blackman demurred, saying only that they are standard GPUs.
"We're not using specialized GPUs," says Blackman, "instead we're using off-the-shelf GPUs. Beyond just the GPUs, though, we've completely rewritten the acceleration code—moving well beyond the current desktop GPU solution to include clustering software that allows transcoding across multiple cards and even multiple systems."
One of the keys to an enterprise-level solution is monitor output remotely, and Elemental includes an HTML interface as well as alarms and monitoring for remote connectivity. A direct GPU output, via a DVI monitor connected to one of the GPUs, also allows for "confidence" monitoring.
"No particular machine in a multiple-server solution acts as the master node," says Blackman, "meaning that any system can farm out jobs, without the need to buy a special license. In addition, since any system can act as the master node, a fail-over from one system to another is also part of the enterprise-grade solution."
Since Elemental Server supports MPEG-2, VC-1, and H.264 codecs, wrapped in various format containers—including F4V, ASF, WMV, 3GP, and MP4—Blackman says Elemental plans to release a white paper showing the details of how Elemental's codecs compare to CPU-only codecs that have been around for quite some time.