Entropy in RHEL based cloud instances

According to Wikipedia, entropy is the randomness collected by an operating system or application for use in cryptography or other uses that require random data.

Entropy is often overlooked, misconfigured or forgotten and it can originate in sporadic errors whether it can be timeouts, refused connections, etc. Such errors are difficult to debug as the errors happen only when there is not enough entropy available.

This article tries to explain briefly how to check if this can be a problem in a RHEL system and how to fix it.

NOTE: This article is meant to provide some helpful hints about entropy. It is not meant to be exhaustive or definitive. There are hundreds of information sources on the Internet such as KCS articles; https://access.redhat.com/articles/221583 and https://access.redhat.com/solutions/19866 where this article is based. Check the bibliography section for more information.

Continue reading “Entropy in RHEL based cloud instances”

Share

Introduction to NuGet with .NET Core on RHEL

Introduction to NuGet with .NET Core

NuGet is an open source package manager for the .NET Core ecosystem. For those familiar with Red Hat Enterprise Linux (RHEL), you can think of it as the “yum” for pulling libraries into your .NET Core project. Working with NuGet packages in .NET Core applications is accomplished primarily through your project’s .csproj file and the dotnet command-line interface.

Continue reading “Introduction to NuGet with .NET Core on RHEL”

Share

After Years of Linux on ARM, when is the Year of Red Hat on ARM servers?

From hobbyist SoC devices such as the ubiquitous Raspberry Pi to a complete domination of the mobile device market, ARM processors have proven the value of the architecture. It is easy to see why ARM processors were able to explode in this market, given that they are able to pack quite a bit of performance into a rather small physical space. Take for instance Qualcomm’s Snapdragon 400 processor, which is used in many products including the Huawei Watch This processor provides a dual core, fast, performance using 14-nanometer design. This makes it small enough to fit on your wrist, and it is efficient enough to limit power consumption enough to run on a battery, which can also fit on your wrist. The usefulness in these spheres of ARM processors is well known, and the fact that RHEL seems to have little interest in the mobile, embedded device, or hobbyist market is also fairly well known. What should be of interest to Red Hat developers, though, is the potential for the Enterprise Server market that ARM processors seem to be displaying. While x86 devices likely are to remain in place for workstations and laptops, the low power usage and small physical design of ARM processors make it interesting to the server market, where power consumption and space are also limitations.

Continue reading “After Years of Linux on ARM, when is the Year of Red Hat on ARM servers?”

Share

What’s new in MACsec: setting up MACsec using wpa_supplicant and (optionally) NetworkManager

A few months ago, on this blog, we talked about MACsec. In this post, I want to introduce the work we’ve done since then. Since that work revolves around methods to configure MACsec, this will also act as a guide to configure it by two methods: wpa_supplicant alone, or NetworkManager with wpa_supplicant.

If you read the previous MACsec post, you probably thought that this whole business of generating keys and creating “secure associations” isn’t very convenient, especially given that you then have to monitor your associations and generate new keys manually. And you’re right: it’s not.

Besides, if you run RHEL or Fedora, you’re probably used to configuring your network with NetworkManager, so you would expect to be able to configure MACsec with NetworkManager as well. We’re going to describe this below. First, let’s go a little bit behind the scenes.

Continue reading “What’s new in MACsec: setting up MACsec using wpa_supplicant and (optionally) NetworkManager”

Share

Running HPC workloads across multiple architectures with Red Hat Enterprise Linux

In this article, I want to provide some background details about our recently developed demonstration video – “Running Game of Life across multiple architectures with Red Hat Enterprise Linux“.

This video shows the Game of Life running in a heterogeneous environment using three 64-bit hardware architectures: aarch64 (ARM v8-A), ppc64le (IBM Power little endian) and x86_64 (Intel Xeon). If you are not familiar with the rules of this cellular automaton, they are worth checking out via the reference above.

Continue reading “Running HPC workloads across multiple architectures with Red Hat Enterprise Linux”

Share

The need for speed and the kernel datapath – recent improvements in UDP packets processing

Networking hardware is becoming crazily fast, 10Gbs NICs are entry-level for server h/w, 100Gbs cards are increasingly popular and 200Gbs are already surfacing. While the Linux kernel is striving to cope with such speeds with large packets and all kind of aggregation, ISPs are requesting much more demanding workload with NFV and line rate packet processing even for 64 bytes packets.

Is everything lost and are we all doomed to rely on some kernel bypass solution? Possibly, but let’s first inspect what is really the current status for packet processing in the kernel data path, with a perspective look at the relevant history and the recent improvements.

We will focus on UDP packets reception: UDP flood is a common tool to stress the networking stack allowing arbitrary small packets and defeating packet aggregation (GRO), in place for other protocols.

Continue reading “The need for speed and the kernel datapath – recent improvements in UDP packets processing”

Share