Skip to content

At Long Last – Precious Hardware Acceleration

Hello everyone,

Subsequent to recent and steady growth of the user base and in an effort to cope with the system resource demands the come with peak usage times, there will be intermittent periods of server unavailability beginning November 1st, (better late than never I suppose) into November 2nd with an unlikely possibility of running into the 3rd, in order to accommodate the necessary downtime associated with the hardware reconfiguration and testing.

Geeked up, playing Xbox all day – Juicy J, May 2011

Up until this point in the project, we have utilized exclusively CPU based means for transcoding media for playback. Why? Well, primarily because over the various iterations of hardware that have been subject to use and abuse in the name of digital entertainment for this project, CPU’s, more specifically CPU cores, were/are plentiful and affordable. Given the reasonably small user base that only saw peak CPU usage around 40% of the current server’s total potential or roughly one of the two physical CPU’s present in the server, there was no need for faster, denser processing chips, let alone a (back then) bank breaking GPU to take advantage of a then newly implemented feature in an early access version of Plex Media Server that took advantage of the superior performance that GPU’s offered for this specific type of computational work.

π’₯𝒢𝓂 𝒢 𝑀𝒢𝓃 π‘œπ’» πΉπ‘œπ“‡π“‰π“Šπ“ƒπ‘’, 𝒢𝓃𝒹 π’₯ π“‚π“Šπ“ˆπ“‰ π“ˆπ‘’π‘’π“€ π“‚π“Ž πΉπ‘œπ“‡π“‰π“Šπ“ƒπ‘’

οΌπ»π‘’π“ƒπ“‡π“Ž Γ†π“‹π‘’π“‡π’Ύπ‘’π“ˆ, 𝟣𝟫𝟫𝟦

What the problem is?

So we’ve reached a tipping point essentially where we can go one of two directions. We can find a new server platform, something more modern and recent at a large cost. Or, we could bolster the existing system to the best of our ability by implementing the last frontier that had remained unexplored up until this point in the project. That being, hardware acceleration for encoding and decoding tasks which is achieved through the use of GPU’s rather than CPU’s.

Taking into consideration the limitations of our already aged server hardware, namely the PCIe version being 3.0. Based on the information I was able to find, the Goldilocks zone for our purposes, specifically our primary transcoding demands and codecs/resolutions involved, would be serviced 99.9% by an NVIDIA Quadro P4000 graphics card.

So, now essentially retroactively announcing the implementation/downtime of our first GPU install. We now have increased capacities for transcoding media which should in turn free up massive amounts of CPU cycles that could have been utilized more efficiently elsewhere.

I may go into further detail on some of the statistics I gathered and utilized to make my final decision but it’s not rocket science, (tldr) GPU does graphical related stuff better than CPU.

-LST