In November 2017, we highlighted our collaboration with key partners like NVIDIA in bringing performance-sensitive applications to Kubernetes and, ultimately, to Red Hat OpenShift. With today’s launch of Red Hat OpenShift Container Platform 3.10, we’re pleased to say that Red Hat’s enterprise Kubernetes platform is now well-positioned to handle several of these demanding workloads, offering a modern, fully open Kubernetes platform upon which to run next-generation applications.
But first, let’s look at the concepts of "intelligent and performance-sensitive applications." Increasingly, enterprises are focused on digital transformation (using digital technologies like Linux containers and Kubernetes) to help drive differentiated offerings and improve the customer experience. Out of this digital transformation, new workloads are emerging, like artificial intelligence, machine learning, and neural networks, which consume and analyze the vast reams of data created by the digital enterprise to drive innovation. Just as important are existing applications for financial transaction processing, telecommunications, and the like, which require high-performance and low-latency to drive efficiencies.
Emerging or not, these types of workloads would, at one time, be looked at as specific to bare-metal, in that they needed the speed and raw performance offered by running directly on server hardware without any abstracted software layer.
That’s no longer the case. Thanks to work done by Red Hat, our partners, and the Kubernetes community, we’re now able to support several key features within the latest version of Red Hat OpenShift Container Platform that make it possible to run these workloads in production. This means that organizations no longer have to rely on maintaining workload-specific hardware or being locked into a cloud provider to specifically bring these applications to bear - Red Hat OpenShift Container Platform 3.10 offers more choice when it comes to building a foundation for performance-sensitive applications.
So what are these features?
New to Red Hat OpenShift Container Platform 3.10 is full support for hugepages. Hugepages are a commonly used performance optimization technique for large-memory applications, such as databases, Java workloads, matching engines and more. Frequently, these types of applications can be classified as performance-sensitive, and this addition further delivers a clear pathway for these workloads to live on OpenShift.
Previously only available in Tech Preview, the hugepages feature supports the allocation and consumption of pre-allocated hugepages, making them a first-class entity in OpenShift. If hugepages are available on a node, the Kubelet will advertise them for consumption by applications.
CPU capacity in OpenShift and Kubernetes is advertised and scheduled in milli-cores. The default behavior of applications running on OpenShift is to timeshare those milli-cores across all available CPUs in the system. This approach works for many applications.
However, there are a class of applications — like artificial intelligence, machine learning, and data sciences, just to name a few — whose performance is affected by this time-sharing approach. The CPU Manager feature in the latest release of Red Hat OpenShift provides these applications with a way to schedule and reserve whole cores for themselves, which helps reduce TLB misses and context-switching and improve CPU cache residency of application code.
Also new to Red Hat OpenShift Container Platform 3.10 is Device Manager. The Device Manager is a Kubelet feature that provides a mechanism for advertising specialized node hardware resources with the help of Kubelet plug-ins known as device plugins. Device plugins are vendor-provided container images (generally daemonsets) that work with the Kubelet to advertise hardware resources such as GPUs or FPGAs.
With these features, organizations can run these applications on OpenShift natively, helping to ease the transition between legacy platforms and containerized workloads running on Kubernetes. This provides more freedom of movement for applications and expands performance-sensitive workload capabilities across the hybrid cloud, enabling greater choice for enterprises as they develop digital transformation strategies to better serve their customers and end users.
To learn more about the performance-sensitive features in Red Hat OpenShift Container Platform 3.10 as well what’s new in the latest version of the industry’s most comprehensive enterprise Kubernetes platform, visit https://blog.openshift.com/red-hat-openshift-container-platform-3-10-is-now-available-for-download.
Jeremy Eder is a senior principal performance engineer at Red Hat.