Getting Started With Intel's Clear Linux High-Performance Distribution
For the past year Intel's Open-Source Technology Center has been working on the Clear Linux Project as a way to accelerate VMs to the point they are as fast as software containers and provide the best Linux support for Intel hardware in various cloud use-cases. As part of doing this, they've had to make their distribution lightning fast. Clear Linux though can be stretched outside of traditional cloud use-cases if you just want a lean and mean distribution.
Due to the primary use-case of Clear Linux, the distribution does not ship with a GUI display system by default, but there is a "bundle" for that -- Clear Linux is based upon RPM packages but uses swupd as its package management system and relies upon a concept of bundles rather than packages. Swupd is built on top of bsdiff with additions for Intel's use-cases around Clear Linux. Clear Linux certainly believes in the "release early, release often" mantra as this distribution does up to a few releases per day. Clear Linux also separates itself from other distributions via Clear Containers, is a stateless Linux system, uses AutoFDO for optimized binaries, KVM-based Clear Containers, and more. All of the Clear Linux features are described in much greater detail at ClearLinux.org.
Due to Clear Linux being focused so much on out-of-the-box performance and maximizing the potential of Intel hardware under Linux, we have deployed a daily Clear Linux performance tracker with public results to be found on LinuxBenchmarking.com. Those results will be public beginning in the next few days, initially from two Skylake systems. Additionally, we will be running more tests of Clear Linux in our upcoming Linux distribution comparisons. As Clear Linux is a bit of a different beast for newcomers compared to traditional Linux distributions, this article is to serve as a brief introduction.
The daily releases of Clear Linux are offered in various flavors for a cloud deployment, containers, a conventional installer for bare metal systems, a KVM-based image, a live image, a PXE boot image, and a provisioning image. The Clear Linux installer image weighs in at only 100MB when compressed (XZ) or about 1GB when extracted. Booting to the text-based installer shows off its simplicity: there are options for an auto-install or manual. If opting for the automated install, it installs right away without any interaction or options. This method takes just about a minute or so to complete before being ready to reboot the system into the new install.
One of the first speed factors considered was how fast Clear Linux boots! Once the test system hit the UEFI boot-loader, the process seemed near instant! While I didn't run any timed measurements, it seemed dramatically faster than when booting Ubuntu/Fedora, CentOS, or other modern Linux distributions without X11 running. With no options being presented during the install process, after rebooting into the new installation you can login as root where you can then set the password. The most basic Linux CLI utilities are installed by default, but many you will find on most other Linux distributions are not present by default. Clear, nano, vim, ifconfig, and many other common Linux commands/utilities are not installed by default but available via "bundles".
Besides not having all of the common Linux commands one would expect from a VT installed by default (but they can be added with a bundle!), with the system being stateless, you may be thrown off by /etc and /var being nearly empty, but that's all part of the design.
A Clear Linux bundle basically incorporates all of the dependencies/packages desired for a task into one "bundle" for simplicity sake and all versions of the bundles/packages are tied to a given Clear Linux release. If you are on Clear Linux XYZ release, from there that release ties together all of the package versions. This is one of the main reasons why Clear Linux releases are done up to multiple times per day. Clear Linux bundles rely upon binary diffs for making the process quick and pain free.
A list of the Clear Linux bundles can be found via this web-page. If running a command like swupd bundle-add devtools-basic will setup all of your basic development tools from Python and Ruby to R and Go. Likewise, running swupd bundle-add os-testsuite-phoronix will setup everything you need for running the Phoronix Test Suite on Clear Linux.
Clear Linux does stay well up to date with their packages. With Clear Linux 5520 that I was using while writing this article, it ships the Linux 4.3.2 kernel, GCC 5.2.0, and uses an EXT4 file-system by default.
If you would like to learn more about Intel's Clear Linux distribution, visit ClearLinux.org. Stay tuned for Clear Linux performance benchmarks shortly on Phoronix, OpenBenchmarking.org, and LinuxBenchmarking.com!
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.