Move news blogs

This commit is contained in:
David Klimesh
2023-05-05 12:48:00 -07:00
parent 9c1e32f3e3
commit 9149f07622
29 changed files with 0 additions and 0 deletions
@@ -0,0 +1,461 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--65.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="In the past five weeks, we have released three point-releases of Intel® Clear Containers. The most recent, v2.1.4, released this week. As we continue to work to ensure a feature-filled and OS-agnostic offering, our latest efforts incorporate updates in the areas of compatibility, documentation, and quality." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/announcing-intel-clear-containers-v214" />
<meta property="og:title" content="Announcing Intel® Clear Containers V2.1.4!" />
<meta property="og:description" content="In the past five weeks, we have released three point-releases of Intel® Clear Containers. The most recent, v2.1.4, released this week. As we continue to work to ensure a feature-filled and OS-agnostic offering, our latest efforts incorporate updates in the areas of compatibility, documentation, and quality." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/65.html" />
<link rel="shortlink" href="../node/65.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Announcing Intel® Clear Containers V2.1.4! | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-announcing-intel-clear-containers-v214 nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="announcing-intel-clear-containers-v214.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--65.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--65--full.html.twig
* node--65.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Announcing Intel® Clear Containers V2.1.4!</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">26 Apr, 2017</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p>In the past five weeks, we have released three point-releases of Intel® Clear Containers. The most recent, v2.1.4, released this week. As we continue to work to ensure a feature-filled and OS-agnostic offering, our latest efforts incorporate updates in the areas of <strong>compatibility</strong>, <strong>documentation</strong>, and <strong>quality</strong>.</p>
<h2>Compatibility</h2>
<ul><li><strong>Docker*</strong>: Clear Containers 2.1.4 is now compatible with Docker v17.03.1-ce.  This effort makes our development up to date with Dockers enterprise edition. Soon, Clear containers will be part of Docker enterprise edition as a plugin.</li>
<li>
<p><strong>Container Runtime Interface, CRI-O*</strong>: Compatibility with the Kubernetes CRI and the CRI-O project continues to be a key effort for the team. Our recent improvements in this area include: fixing the runtime list for pod containers, the addition of CRI-O integration tests, fixes for intra-pod containers volume support, and the ability to create cgroups for pods and containers.</p>
</li>
</ul><h2>Quality</h2>
<p> We added multiple <a href="https://github.com/01org/cc-oci-runtime/tree/master/tests">tests</a> in the last point releases, for example, hypervisor, network, and oci-config among others.</p>
<h2>Documentation</h2>
<p>A key part of our efforts is to make installation easy for our users.  We created new installation documents for the following key operating systems:</p>
<ul><li>
<p><a href="https://github.com/01org/cc-oci-runtime/blob/master/documentation/Installing-Clear-Containers-on-Centos-7.md">Centos*</a></p>
</li>
<li>
<p><a href="https://github.com/01org/cc-oci-runtime/blob/master/documentation/Installing-Clear-Containers-on-Ubuntu.md">Ubuntu*</a></p>
</li>
<li>
<p><a href="https://github.com/intel/cc-oci-runtime/blob/master/documentation/Installing-Clear-Containers-on-Fedora.md">Fedora*</a></p>
</li>
<li>
<p><a href="https://github.com/01org/cc-oci-runtime/blob/master/documentation/Installing-Clear-Containers-on-ClearLinux.md">Clear Linux*</a></p>
</li>
<li>
<p><a href="https://github.com/01org/cc-oci-runtime/blob/master/documentation/Installing-Clear-Containers-on-RHEL.md">Red Hat</a>*</p>
</li>
</ul><p>Visit the <a href="https://github.com/01org/cc-oci-runtime/releases">Release Notes</a> page for the complete list of the latest updates to the Clear Containers.</p>
<p>In our  <a href="https://github.com/01org/cc-oci-runtime/tree/2.1.1/documentation">GitHub* documentation</a> area, you can find the instructions to obtain and install the latest Clear Containers release. The full source is available on our <a href="https://github.com/01org/cc-oci-runtime">GitHub</a> repository. To better understand the Clear Containers architecture, including the new components and features, visit the newly added <a href="https://github.com/01org/cc-oci-runtime/blob/2.1.1/documentation/architecture.md">Architecture Documentation</a> pages for an in-depth look at the design.</p>
<p>Download the latest release and let us know what you think - either via the <a href="https://github.com/01org/cc-oci-runtime">GitHub</a> page, the mailing list, or IRC methods listed <a href="https://github.com/01org/cc-oci-runtime/blob/master/CONTRIBUTING.md#contact">here</a>. You can also give us feedback by posting comments on this blog!</p>
<p><br />
- the Intel Clear Container Team</p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="announcing-intel-clear-containers-v214.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,455 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31079.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Please RSVP to attend the first Clear Linux* OS Meetup Where https://goo.gl/maps/9qKH7vReehFBo9Yk7 Intel Hawthorn Farm - HF3 Auditorium 5200 NE Elam Young Pkwy, Hillsboro, OR 97124 When Wednesday, May 22, 2019 3:00 PM to 8:30 PM" />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/clear-linux-os-introduction-and-beyond" />
<meta property="og:title" content="Clear Linux* OS - An Introduction and Beyond" />
<meta property="og:description" content="Please RSVP to attend the first Clear Linux* OS Meetup Where https://goo.gl/maps/9qKH7vReehFBo9Yk7 Intel Hawthorn Farm - HF3 Auditorium 5200 NE Elam Young Pkwy, Hillsboro, OR 97124 When Wednesday, May 22, 2019 3:00 PM to 8:30 PM" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31079.html" />
<link rel="shortlink" href="../node/31079.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Clear Linux* OS - An Introduction and Beyond | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-clear-linux-os-introduction-and-beyond nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="clear-linux-os-introduction-and-beyond.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31079.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31079--full.html.twig
* node--31079.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Linux* OS - An Introduction and Beyond </span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">02 May, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p>Please <a href="https://www.meetup.com/Open-Source-Technology-Center-PDX/events/260768637/">RSVP to attend the first Clear Linux* OS Meetup</a></p>
<hr /><h4>Where</h4>
<p><a href="https://goo.gl/maps/9qKH7vReehFBo9Yk7">https://goo.gl/maps/9qKH7vReehFBo9Yk7</a></p>
<p>Intel Hawthorn Farm - HF3 Auditorium<br />
5200 NE Elam Young Pkwy, Hillsboro, OR 97124</p>
<hr /><h4>When</h4>
<p>Wednesday, May 22, 2019<br />
3:00 PM to 8:30 PM</p>
<hr /><h4>Details</h4>
<p>Meetup: <a href="https://www.meetup.com/Open-Source-Technology-Center-PDX/events/260768637/">https://www.meetup.com/Open-Source-Technology-Center-PDX/events/260768637/</a></p>
<p>We invite you to join us for the first in a series of Intel Clear Linux OS MeetUps. The aim of this initial MeetUp is to introduce you to the <a href="https://clearlinux.org/">Clear Linux* project</a> and help you learn how to better use the Clear Linux OS in your everyday job. Light refreshments and dinner provided.<br /><br /><strong>What to Expect</strong></p>
<p>You will:<br />
1. Leave with an understanding of the value of the Clear Linux OS to the industry (performance, security, customization, and manageability)<br />
2. Learn how to use the Clear Linux OS as your main workstation and deliver software<br />
3. Receive a non-technical introduction to features and their benefits<br /><br /><strong>Proposed agenda (subject to change)</strong></p>
<p>3:00 Check in, refreshments, networking<br />
3:30 Clear Linux Project Overview<br />
3:45 Clear Linux OS Architecture<br />
4:45 Demo: <a href="https://docs.01.org/clearlinux/latest/guides/stacks/dlrs/dlrs.html">Deep Learning Reference Stack</a> using Clear Linux OS<br />
5:15 Demo: <a href="https://docs.01.org/clearlinux/latest/guides/clear/swupd.html">Swupd</a><br />
5:45 Dinner Break<br />
6:15 Hands on workshop<br />
8:15 Panel</p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="clear-linux-os-introduction-and-beyond.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,472 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31618.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Clear Linux OS is pleased to announce that our cloud-native-basic bundle is now certified conformant with Kubernetes v1.16 Clear Linux OS now joins the many Kubernetes Conformance partners. Why certify Clear Linux OS?" />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/clear-linux-os-now-certified-kubernetes-distribution" />
<meta property="og:title" content="Clear Linux* OS is now a certified Kubernetes* distribution" />
<meta property="og:description" content="Clear Linux OS is pleased to announce that our cloud-native-basic bundle is now certified conformant with Kubernetes v1.16 Clear Linux OS now joins the many Kubernetes Conformance partners. Why certify Clear Linux OS?" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31618.html" />
<link rel="shortlink" href="../node/31618.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Clear Linux* OS is now a certified Kubernetes* distribution | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-clear-linux-os-now-certified-kubernetes-distribution nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="clear-linux-os-now-certified-kubernetes-distribution.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31618.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31618--full.html.twig
* node--31618.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Linux* OS is now a certified Kubernetes* distribution</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__author">
Michael Vincerra
</p>
<p class="blog_detail__date">08 Jan, 2020</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p><strong><em>Clear Linux OS is pleased to announce that our cloud-native-basic bundle is now certified conformant with Kubernetes v1.16 Clear Linux OS now joins the many Kubernetes <a href="https://kubernetes.io/partners/#conformance">Conformance partners</a>.</em></strong></p>
<p><strong>Why certify Clear Linux OS?</strong></p>
<p dir="ltr">The Clear Linux* project has proven experience addressing the issue of distributing performant, secure, and fast-moving software. Whether youre looking for the best host for containers or building containerized applications, Clear Linux OS offers extreme versatility, scalability, and hardened security. </p>
<p dir="ltr"><strong>So what makes Clear Linux OS an optimal platform for hosting containers?</strong></p>
<ul><li dir="ltr">
<p dir="ltr"><strong>Manageability</strong><br />
In contrast to other Linux distros, Clear Linux OS is lean and can host multiple containers without requiring many unnecessary packages. Default installation is minimal, so theres no need to strip the OS of extra services or software. Check out the <a href="https://docs.01.org/clearlinux/latest/reference/system-requirements.html">recommended system requirements</a>.  </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Security</strong><br />
Clear Linux OS employs the principle of lightweight installation, reducing risk and addressing a basic security concern: “The more software you have installed, the larger the attack surface.” Because Clear Linux OS offers at least two releases per week, your version of Clear Linux OS will always carry the latest updates from the Linux kernel, as well as <a href="https://docs.01.org/clearlinux/latest/guides/clear/security.html">our developers security fixes</a>.<br /><strong> </strong></p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Software updates</strong><br />
Clear Linux OS allows you to run the exact same software for all container hosts in a cluster. <a href="https://docs.01.org/clearlinux/latest/guides/clear/swupd.html">Clear Linux OS manages software using swupd</a>. This means administrators need only check a single version number to track all software on the system. <br /><strong> </strong></p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Performance</strong><br />
With a lightning-fast boot time, Clear Linux OS containers can be provisioned on-demand. Faster performance also means more containers per host, allowing for cost savings. Clear Linux OS is one of the most performance-driven Linux distros for running workloads in the cloud. Clear Linux OS <a href="https://www.phoronix.com/scan.php?page=article&amp;item=intel-linux-cascade&amp;num=1">ranks faster on several benchmarks when tested on the second generation Intel® Xeon® Scalable family processor family, Cascade Lake 8280</a>.<strong>  </strong></p>
</li>
</ul><p dir="ltr">Managed by The <a href="https://dev-cncf.pantheonsite.io/">Cloud Native Computing Foundation®</a> (CNCF), <a href="https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/">Kubernetes</a> provides a "portable, extensible, open-source platform for managing containerized workloads and services.” One of the<a href="https://www.cncf.io/cncf-kubernetes-project-journey/#development-velocity"> fastest-growing open source projects</a>, Kubernetes grants <a href="https://www.cncf.io/certification/software-conformance/">certification to Conformance Partners</a> to ensure that a vendors installation fully supports the Kubernetes API providing interoperability from one Kubernetes installation to the next. </p>
<p dir="ltr">We are certifying that the Clear Linux OS <a href="../node/30213.html">cloud-native-basic bundle</a> installation of Kubernetes v1.16 meets the <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md#conformance-test-requirements">certification requirements</a>. Not only does this certification mean this bundle is proven conformant and easy to install, it also ensures that it contains the latest and greatest improvements from the community.</p>
<p dir="ltr">This provides you with the ability to quickly setup and configure a single or multi-node Kubernetes cluster running on top of Clear Linux OS. The  <a href="../node/30213.html">cloud-native-basic bundle</a> supports multiple container runtimes (cri-o, containerd*, Kata Containers) and multiple CNI plugins (Canal, Flannel, Cilium). In addition we provide <a href="https://github.com/clearlinux/cloud-native-setup/tree/master/clr-k8s-examples">examples</a> to expand on the abilities of Kubernetes demonstrating Firecracker*, Kata Containers, Ingres, Prometheus*, with more on the way. Conformance testing ensures the product will remain compliant as both Clear Linux OS and Kubernetes continue to grow.</p>
<p dir="ltr">Installing Kubernetes on a Clear Linux node is simple. To get started, you need only add one bundle: <a href="../node/30213.html">cloud-native-basic</a>. </p>
<p dir="ltr"><strong>Learn more about Kubernetes on Clear Linux OS:</strong></p>
<ul><li dir="ltr">
<p dir="ltr"><a href="https://docs.01.org/clearlinux/latest/tutorials/kubernetes.html">How to install, configure, and start the Kubernetes container orchestration system on Clear Linux OS using  cri+o and kata-runtime</a></p>
</li>
<li dir="ltr">
<p dir="ltr"><a href="https://docs.01.org/clearlinux/latest/tutorials/kubernetes-bp.html">Kubernetes Best Practices</a></p>
</li>
<li dir="ltr">
<p dir="ltr"><a href="https://github.com/clearlinux/cloud-native-setup/tree/master/clr-k8s-examples">Cloud Native Setup: Kubernetes on Clear Linux OS examples</a></p>
</li>
<li dir="ltr">
<p dir="ltr"><a href="../node/30213.html">Clear Linux OS cloud-native-basic bundle</a></p>
</li>
</ul>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="clear-linux-os-now-certified-kubernetes-distribution.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,442 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31358.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="The Clear Linux OS Docs team is happy to announce that our documentation site for the Clear Linux Project has moved to a Sphinx/reST site with the ubiquitous Read-The-Docs theme, consistent with many open source documentation projects. " />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/clear-linux-project-has-new-documentation-site" />
<meta property="og:title" content="Clear Linux Project has a new documentation site" />
<meta property="og:description" content="The Clear Linux OS Docs team is happy to announce that our documentation site for the Clear Linux Project has moved to a Sphinx/reST site with the ubiquitous Read-The-Docs theme, consistent with many open source documentation projects. " />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31358.html" />
<link rel="shortlink" href="../node/31358.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Clear Linux Project has a new documentation site | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-clear-linux-project-has-new-documentation-site nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="clear-linux-project-has-new-documentation-site.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31358.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31358--full.html.twig
* node--31358.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_5.html' title='Maintenance'>Maintenance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Linux Project has a new documentation site</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">13 Aug, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p dir="ltr">The Clear Linux OS Docs team is happy to announce that our <a href="https://docs.01.org/clearlinux/latest/index.html">documentation site</a> for the Clear Linux Project has moved to a Sphinx/reST site with the ubiquitous Read-The-Docs theme, consistent with many open source documentation projects.  </p>
<p dir="ltr">The new documentation site allows for a huge improvement in documentation features and functionality for our end users. Some of the new features include:</p>
<p dir="ltr"><strong>1. Simplified contribution process with “<a href="https://github.com/clearlinux/clear-linux-documentation/blob/master/source/index.rst">Edit on GitHub</a>” link on every page</strong></p>
<p dir="ltr"><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh4.googleusercontent.com/HZofEtD8gJtL3ZNeMbRM-PfKHr3AtN7SOWcmwwxLK7OmfQF4hFj9n8_M3RLqRut8eLOCo_uiTwUVvoA8np_1cO4AKBICNHzs7P690HRCFZfnm0CZ5kqZAQmj279-1_mZ-CrbsDoZ" /></p>
<p><strong>2. Sphinx Read-The-Docs (RTD) modern and mobile-friendly</strong><br /><strong><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh6.googleusercontent.com/ofDcTTbH6AEPfmpWQvE8YaEQzs2R7q4zCYC1wRLbAJ6HbWhNLjN9VldAKfEmxvsIpNQ8ozqWyGGkf-cgaowa0Su927WT4qfnMFd-4fqpq4rNwcQx2ZlTG-esX6stkyvE4uwXlC4a" /></strong><br /><strong>3. Improved responsive display, navigation buttons, and code-block rendering </strong></p>
<p dir="ltr"><strong><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh3.googleusercontent.com/nzHDgPYohdvCk9tH3a3wztrCh93w5ZrVDjnGIDKescXyLRhLf_lZARlmdGoYEJvRvLxVwj9q5Q65BUJ2Eima8YZXLy80YtpS_Jbe1zOp78dNbEoHZKiW2l3MO5AbJaU_5wgcSaqp" /></strong></p>
<p><strong>4. Simplified content presentation in <a href="https://docs.01.org/clearlinux/latest/get-started/index.html">Get Started</a>, <a href="https://docs.01.org/clearlinux/latest/guides/index.html">Guides</a>, and <a href="https://docs.01.org/clearlinux/latest/tutorials/index.html">Tutorials</a>  </strong></p>
<p><strong>5. Multiple language and version support</strong><br />
On the bottom left of the new site navigation pane, you will notice navigation to various versions of Clear Linux OS as well multiple languages. Translations of the Clear Linux OS documentation are underway and we are looking forward to adding them to the documentation soon!  </p>
<p dir="ltr">This site move was a massive undertaking spearheaded by the Clear Linux Documentation team. They helped ensure that every detail of the move was tracked accordingly and ensured no details were missed. Kudos to them!</p>
<p dir="ltr">We highly encourage you to explore the new documentation site, provide <a href="https://community.clearlinux.org/t/how-can-we-improve-our-documentation/30">feedback</a>, and <a href="https://github.com/clearlinux/clear-linux-documentation/issues">log any issues</a> you find, or even <a href="https://docs.01.org/clearlinux/latest/reference/collaboration/collaboration.html">collaborate directly</a>  as we continue to make improvements on the new documentation site.</p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="clear-linux-project-has-new-documentation-site.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,497 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31487.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Ecosystem Updates Clear Linux OS updates related to Open Source Ecosystem Linux 5.4 Kernel Python* 2 removed from Clear Linux OS Python* 3.8 support" />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/coming-soon-clear-linux-os-feature-roadmap-q4-2019" />
<meta property="og:title" content="Coming Soon: Clear Linux OS Feature Roadmap Q42019" />
<meta property="og:description" content="Ecosystem Updates Clear Linux OS updates related to Open Source Ecosystem Linux 5.4 Kernel Python* 2 removed from Clear Linux OS Python* 3.8 support" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31487.html" />
<link rel="shortlink" href="../node/31487.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Coming Soon: Clear Linux OS Feature Roadmap Q42019 | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-coming-soon-clear-linux-os-feature-roadmap-q4-2019 nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="coming-soon-clear-linux-os-feature-roadmap-q4-2019.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31487.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31487--full.html.twig
* node--31487.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_5.html' title='Maintenance'>Maintenance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Coming Soon: Clear Linux OS Feature Roadmap Q42019</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">18 Oct, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p dir="ltr"><strong>Ecosystem Updates</strong></p>
<p dir="ltr">Clear Linux OS updates related to Open Source Ecosystem</p>
<ul><li dir="ltr">
<p dir="ltr">Linux 5.4 Kernel</p>
</li>
<li dir="ltr">
<p dir="ltr"><a href="https://community.clearlinux.org/t/clear-linux-project-will-remove-python2-content-entirely-from-the-distro-by-the-end-of-2019/1757">Python* 2 removed from Clear Linux OS</a></p>
</li>
<li dir="ltr">
<p dir="ltr">Python* 3.8 support</p>
</li>
<li dir="ltr">
<p dir="ltr"><a href="https://community.clearlinux.org/t/llvm-update-schedule/1665/5">LLVM 9/Clang* 9</a> </p>
</li>
<li dir="ltr">
<p dir="ltr">Kubernetes* 1.16* / CRI-O 1.15</p>
</li>
<li dir="ltr">
<p dir="ltr">Perl* 5.30 - shared modules + autospec'd builds</p>
</li>
</ul><p> </p>
<p dir="ltr"><strong>OS Updates</strong></p>
<p dir="ltr">Core Operating System updates</p>
<ul><li dir="ltr">
<p dir="ltr"> clr-user-bundles support (swupd-3rd-party) to be added</p>
</li>
<li dir="ltr">
<p dir="ltr">Performance enhancements to bundle-add and update </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Installer</strong> - Support for Logical Volume Manager (LVM)  to enable software raid</p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Toolchain</strong> - Upgrades Mock, RPM, DNF to latest releases</p>
</li>
<li dir="ltr">
<p dir="ltr">Improved support for non-EFI boot and update </p>
</li>
<li dir="ltr">
<p dir="ltr">New software store application  will provide OS-native application version of the <a href="https://clearlinux.org/software">online software catalog</a>. An alternative to GNOME Software Center, it will have the same look and feel as website but  will include the ability to install bundles.</p>
</li>
<li dir="ltr">
<p dir="ltr">Metadata indexing: this search will allow users and developers to programmatically retrieve exact information on content and metadata that describes or is included in Clear Linux OS releases.</p>
</li>
<li dir="ltr">
<p dir="ltr">PXE to be included with clr-installer</p>
</li>
</ul><p> </p>
<p dir="ltr"><strong>Container Images updates</strong></p>
<p dir="ltr">Improvements on Clear Linux OS containers optimized for IA made available on <a href="https://hub.docker.com/u/clearlinux">Dockerhub</a> to include:</p>
<ul><li dir="ltr">
<p dir="ltr"><strong>Programming Language: </strong><a href="https://hub.docker.com/r/clearlinux/python">python</a>, <a href="https://hub.docker.com/r/clearlinux/php">php</a>, <a href="https://hub.docker.com/r/clearlinux/golang">golang</a>, <a href="https://hub.docker.com/r/clearlinux/perl">perl</a>, <a href="https://hub.docker.com/r/clearlinux/openjdk">openjdk</a></p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Machine Learning: </strong><a href="https://hub.docker.com/r/clearlinux/tensorflow">tensorflow</a>, <a href="https://hub.docker.com/r/clearlinux/tensorflow-serving">tensorflow serving</a></p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Database: </strong><a href="https://hub.docker.com/r/clearlinux/mariadb">mariadb</a>, <a href="https://hub.docker.com/r/clearlinux/postgres">postgres</a>, <a href="https://hub.docker.com/r/clearlinux/redis">redis</a></p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Application Infrastructure: </strong><a href="https://hub.docker.com/r/clearlinux/nginx">nginx</a>, <a href="https://hub.docker.com/r/clearlinux/rabbitmq">rabbitmq</a>, <a href="https://hub.docker.com/r/clearlinux/memcached">memcached</a>, <a href="https://hub.docker.com/r/clearlinux/wordpress">wordpress</a></p>
</li>
</ul><p> </p>
<p dir="ltr">Stay tuned on our <a href="https://github.com/clearlinux">GitHub repo</a> and <a href="https://community.clearlinux.org/">forum</a> for updates. This is where youll find threads from our Developers with details of proposed changes or additions to Clear Linux OS. The list above represent planned features, and is subject to change (sometimes based on your feedback).</p>
<p dir="ltr">So please, let us know your thoughts. Remember: some ideas proposed by you may be complex and never make it into the project, while others will take a long time to go from proposal to a complete feature.</p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="coming-soon-clear-linux-os-feature-roadmap-q4-2019.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,536 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31707.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Worldwide IT spending is projected to total $3.9 trillion in 2020, an increase of 3.4% from 2019, according to the latest forecast by Gartner, Inc[1]. Software to be the fastest-growing major market this year, reaching double-digit growth at 10.5%." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/database-reference-stack-dbrs-v2-now-available" />
<meta property="og:title" content="Database Reference Stack (DBRS) v2.0 Now Available" />
<meta property="og:description" content="Worldwide IT spending is projected to total $3.9 trillion in 2020, an increase of 3.4% from 2019, according to the latest forecast by Gartner, Inc[1]. Software to be the fastest-growing major market this year, reaching double-digit growth at 10.5%." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31707.html" />
<link rel="shortlink" href="../node/31707.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Database Reference Stack (DBRS) v2.0 Now Available | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/filter/filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/entity_embed/css/entity_embed.filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-database-reference-stack-dbrs-v2-now-available nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="database-reference-stack-dbrs-v2-now-available.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31707.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31707--full.html.twig
* node--31707.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Database Reference Stack (DBRS) v2.0 Now Available</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">19 Mar, 2020</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p>Worldwide IT spending is projected to total $3.9 trillion in 2020, an increase of 3.4% from 2019, according to the latest forecast by Gartner, Inc<sup>[<a href="https://www.gartner.com/en/newsroom/press-releases/2020-01-15-gartner-says-global-it-spending-to-reach-3point9-trillion-in-2020" target="_blank">1</a>]</sup>. Software to be the fastest-growing major market this year, reaching double-digit growth at 10.5%. The Database Reference Stack (DBRS) optimized for Intel ® Optane ™ persistent memory, streamlines your computing experience by combining storage capacity and intelligent system acceleration<sup>[<a href="https://www.intel.com/content/www/us/en/architecture-and-technology/optane-memory.html">2</a>]</sup>.</p>
<p>Intel understands how complex it is to create and deploy applications for database workloads. Thats why we <a href="../node/31420.html">developed</a> an integrated Database Reference Stack (DBRS) for<a href="https://www.intel.com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html" target="_blank"> Intel® Optane™ PMem</a>, delivered with second-generation Intel® Xeon® Scalable processors, to speed development and deployment.</p>
<p>Were pleased to announce the Database Reference Stack v2.0 release, incorporating customer feedback and delivering an enhanced user experience with support for expanded use cases. This release incorporates enhancements of Memcached*, a free and open source, high-performance, distributed memory object caching system, generic in nature, but designed to speed dynamic web applications by alleviating database load<sup>[<a href="https://memcached.org/">3</a>]</sup>.</p>
<p>As with previous releases, we are releasing the Database Reference Stack early in the development cycle. This allows the community and Cloud Service Providers (CSPs) to try the stack and share feedback with Intel Corporation, which will help us deliver further refinements and expanded uses. The stack can be used in single-node architecture, providing choice for developers, based on the workloads they run.</p>
<p><strong>Architectural diagram of the Database Reference Stack, with Memcached* as follows:</strong></p>
<p><strong><img alt="DBRS_Cassandra_Single-v2" data-entity-type="" data-entity-uuid="" src="../sites/default/files/DBRSv2-single_node.png" /></strong></p>
<p>This release incorporates the latest versions of leading developer tools and frameworks:</p>
<ul><li>Operating Systems:
<ul><li><a href="https://clearlinux.org/">Clear Linux* OS,</a> an open source Linux distribution optimized for Intel platforms.</li>
<li><a href="https://www.centos.org/">CentOS</a>*, an open source Linux distribution. </li>
</ul></li>
<li>Databases:
<ul><li><a href="https://github.com/memcached/memcached/wiki/ReleaseNotes1518">Memcached</a>, an in-memory key-value store for small chunks of arbitrary data from results of database calls, API calls, or page rendering. Memcached doesn't require a storage engine library because it implements its own memory allocation strategy called “slab” allocation. This feature aims to overcome memory fragmentation issues and memory management. For more information visit the Memcached <a href="https://github.com/memcached/memcached/wiki/UserInternals">GitHub page</a>.</li>
</ul></li>
<li>Containers: Docker* Containers and Kata Containers* with Intel® Virtualization (Intel® VT) Technology for enhanced protection.</li>
<li>Libraries:
<ul><li><a href="https://github.com/libevent/libevent">Libevent</a>, a software library that provides asynchronous event notification. The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Libevent also supports callbacks triggered by signals and regular timeouts.</li>
</ul></li>
<li>Persistent Memory modes -- fsdax mode: Persistent memory can be configured <a href="https://docs.pmem.io/ndctl-users-guide/managing-namespaces#creating-namespaces">in fsdax mode for an application to use</a> with the Database Reference Stack.</li>
</ul><p>Visit the <a href="https://github.com/memcached/memcached/wiki/Overview#servers-are-disconnected-from-each-other">Memcached Design Philosophy</a> GitHub page to learn more.</p>
<p>Multiple layers of the Database Reference Stack are performance-tuned for Intel Architecture (IA), offering significant advantages over other stacks.</p>
<p><strong>Performance gains for the Database Reference Stack, with Memcached, single node, on 2nd Generation Intel® Xeon® Platinum 8280L with Intel® Optane™ PMem show the following:</strong></p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="09f407c9-2284-466d-bb65-f77f681d6aa8" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/DBRSv2-chart.png" width="645" height="666" alt="Performance gains for the Database Reference Stack" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p><span><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span>For more complete information about performance and benchmark results, visit </span></span></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="http://www.intel.com/benchmarks"><span><span><span>www.intel.com/benchmarks</span></span></span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span>.  Refer to </span></span></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="http://software.intel.com/en-us/articles/optimization-notice"><span><span><span>http://software.intel.com/en-us/articles/optimization-notice</span></span></span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span> for more information regarding performance and optimization choices in Intel software products.</span></span></span></span></span></span></span></p>
<p><strong><em>Database Reference Stack (DBRS) with Memcached configuration: 2nd Generation Intel® Xeon® Scalable Platform </em></strong><em> 2x Intel® Xeon® Platinum 82</em><em>80L Processor, 28 cores, HT On, Turbo On, Total Memory 192 GB (12 slots/ 16GB/ 2666 MHz) + 1024GB Intel® Optane™ Pmem (8 slots/ 128GB/ 2666 MHz), 1x SanDisk 480GB SSD, BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x500002C), Clear Linux 32480, 5.5.6-914.native, GCC v9.2.1 compiler, rpc-perf 3.2.0-pre, dataset size=960GB (20GB*48 Instances), 90% get and 10% set, 1k byte values, 100% hit rate, score=5,689,980.33 ops/sec, p99 latency=767.90 us. </em></p>
<p><strong><em>Baseline Stack with Memcached configuration: 2nd Generation Intel®  Xeon® Scalable Platform</em></strong><em> 2x Intel Xeon Platinum </em><em>8280L Processor, 28 cores, HT On, Turbo On, Total Memory 768 GB DRAM (24 slots/ 32GB/ 2666 MHz), 1x SanDisk 480GB SSD, BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x500002C), Clear Linux 32480, 5.5.6-914.native, GCC v9.2.1 compiler, rpc-perf 3.2.0-pre, </em><em>dataset size=640GB (20GB*32 Instances), 90% get and 10% set, 1k byte values, 100% hit rate, score=4,934,670.00 ops/sec, p99 latency=659.40 us</em></p>
<p>Intel is working to provide databases that continue to run best on Intel Platforms. We use this stack to innovate on 2nd Gen Intel® Xeon® Scalable Processors with Intel® Optane™ PMem and plan to continue performance optimizations for coming generations.</p>
<p>Visit the<a href="https://clearlinux.org/sw/stacks"> Clear Linux Stacks </a>page to learn more, download the Database Reference Stack code, and contribute feedback. We welcome ideas for further enhancements through the <a href="mailto:Stacks@lists.01.org">stacks mailing list</a>.</p>
<hr /><p><strong><em>Notices and Disclaimers</em></strong></p>
<p><em>Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors.</em></p>
<p><em>Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information for performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit </em><a href="http://www.intel.com/benchmarks"><em>www.intel.com/benchmarks</em></a><em>. See charts above for configurations.</em></p>
<p><em>Performance results are based on testing as of 3/10/2020 and may not reflect all publicly available security updates. No product or component can be absolutely secure. </em>Your costs and results may vary.</p>
<p><strong><em>System configuration</em></strong></p>
<p><strong><em>Database Reference Stack (DBRS) with Memcached configuration: 2nd Generation Intel® Xeon® Scalable Platform </em></strong><em> 2x Intel® Xeon® Platinum 82</em><em>80L Processor, 28 cores, HT On, Turbo On, Total Memory 192 GB (12 slots/ 16GB/ 2666 MHz) + 1024GB Intel® Optane™ Pmem (8 slots/ 128GB/ 2666 MHz), 1x SanDisk 480GB SSD, BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x500002C), Clear Linux 32480, 5.5.6-914.native, GCC v9.2.1 compiler, rpc-perf 3.2.0-pre, dataset size=960GB (20GB*48 Instances), 90% get and 10% set, 1k byte values, 100% hit rate, score=5,689,980.33 ops/sec, p99 latency=767.90 us. </em></p>
<p><strong><em>Baseline Stack with Memcached configuration: 2nd Generation Intel®  Xeon® Scalable Platform</em></strong><em> 2x Intel Xeon Platinum </em><em>8280L Processor, 28 cores, HT On, Turbo On, Total Memory 768 GB DRAM (24 slots/ 32GB/ 2666 MHz), 1x SanDisk 480GB SSD, BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x500002C), Clear Linux 32480, 5.5.6-914.native, GCC v9.2.1 compiler, rpc-perf 3.2.0-pre, </em><em>dataset size=640GB (20GB*32 Instances), 90% get and 10% set, 1k byte values, 100% hit rate, score=4,934,670.00 ops/sec, p99 latency=659.40 us</em></p>
<p><em>Intels compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</em></p>
<p>Refer to <a href="http://software.intel.com/en-us/articles/optimization-notice">http://software.intel.com/en-us/articles/optimization-notice</a> for more information regarding performance and optimization choices in Intel software products.</p>
<p><em>Notice Revision #20110804</em></p>
<p><em>Intel, Optane, and Xeon are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.</em></p>
<p><sub>[1]<a href="https://www.gartner.com/en/newsroom/press-releases/2020-01-15-gartner-says-global-it-spending-to-reach-3point9-trillion-in-2020">https://www.gartner.com/en/newsroom/press-releases/2020-01-15-gartner-says-global-it-spending-to-reach-3point9-trillion-in-2020</a></sub></p>
<p><sub>[2]<a href="https://www.intel.com/content/www/us/en/architecture-and-technology/optane-memory.html">https://www.intel.com/content/www/us/en/architecture-and-technology/optane-memory.html</a></sub></p>
<p><sub>[3] <a href="https://memcached.org/">https://memcached.org/</a></sub></p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="database-reference-stack-dbrs-v2-now-available.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,638 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31592.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Artificial Intelligence (AI) continues to be deployed across a growing number of use cases: healthcare and financial services, to wildfire detection [1], image-to-image translation/recognition, and other high-demand workloads. AI has the power to impact almost every aspect of our daily lives, and Intel is committed to advancing the Deep Learning (DL) workloads that power AI. " />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/deep-learning-reference-stack-v5.0-now-available" />
<meta property="og:title" content="Deep Learning Reference Stack v5.0 Now Available" />
<meta property="og:description" content="Artificial Intelligence (AI) continues to be deployed across a growing number of use cases: healthcare and financial services, to wildfire detection [1], image-to-image translation/recognition, and other high-demand workloads. AI has the power to impact almost every aspect of our daily lives, and Intel is committed to advancing the Deep Learning (DL) workloads that power AI. " />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31592.html" />
<link rel="shortlink" href="../node/31592.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Deep Learning Reference Stack v5.0 Now Available | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/filter/filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/entity_embed/css/entity_embed.filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-deep-learning-reference-stack-v50-now-available nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="deep-learning-reference-stack-v5.0-now-available.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31592.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31592--full.html.twig
* node--31592.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Deep Learning Reference Stack v5.0 Now Available</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">17 Dec, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p>Artificial Intelligence (AI) continues to be deployed across a growing number of use cases: healthcare and financial services, to wildfire detection [<a href="https://www.cnn.com/2019/12/05/tech/ai-wildfires/index.html">1</a>], image-to-image translation/recognition, and other high-demand workloads. AI has the power to impact almost every aspect of our daily lives, and Intel is committed to advancing the Deep Learning (DL) workloads that power AI. </p>
<p>Intel understands how complex it is to create and deploy applications for deep learning workloads. Thats why we <a href="https://software.intel.com/en-us/blogs/2018/12/07/intel-introduces-the-deep-learning-reference-stack">developed</a> an integrated <a href="https://clearlinux.org/stacks/deep-learning">Deep Learning Reference Stack</a>, optimized for Intel® Xeon® Scalable processor and released the companion <a href="https://software.intel.com/en-us/blogs/2019/05/24/accelerating-data-analytics-and-ai">Data Analytics Reference Stack</a>, as well as a <a href="../node/31421.html">Database Reference Stack</a>.</p>
<p>Today, were pleased to announce the Deep Learning Reference Stack 5.0 release, incorporating customer feedback and delivering an enhanced user experience with support for expanded use cases. This release incorporates enhancements of <a href="https://en.wikipedia.org/wiki/Natural_language_processing">Natural Language Processing</a> (NLP), which helps computers process and analyze large amounts of <a href="https://en.wikipedia.org/wiki/Natural_language">natural language </a>data, among other features.</p>
<p>With this update, Intel further enables developers to quickly prototype and deploy DL workloads, reducing complexity while maintaining the ability to customize solutions. Among the features in this release:</p>
<ul><li><a href="https://github.com/tensorflow/tensorflow/releases/tag/v1.15.0">TensorFlow* 1.15</a> and <a href="https://github.com/tensorflow/tensorflow/releases/tag/v2.1.0-rc0">TensorFlow* 2.0</a>, an end-to-end open source platform for machine learning (ML).</li>
<li><a href="https://github.com/pytorch/pytorch">PyTorch* 1.3</a>, an open source machine learning framework that accelerates the path from research prototyping to production deployment.</li>
<li><a href="https://github.com/williamFalcon/pytorch-lightning">PyTorch Lightning</a>*, a lightweight wrapper for PyTorch designed to help researchers set up all the boilerplate state-of-the-art training.</li>
<li><a href="https://github.com/huggingface/transformers">Transformers</a>*, a state-of-the-art Natural Language Processing (NLP) for TensorFlow 2.0 and PyTorch.</li>
<li><a href="https://01.org/openvinotoolkit">Intel® OpenVINO</a>™ model server version <a href="https://github.com/opencv/dldt">2019_R3,</a> delivering improved neural network performance on Intel processors, helping unlock cost-effective, real-time vision applications.</li>
<li><a href="https://www.intel.ai/intel-deep-learning-boost/#gs.v6slqq">Intel Deep Learning Boost</a> (DL Boost) with AVX-512 Vector Neural Network Instruction (Intel AVX-512 VNNI) designed to accelerate deep neural network-based algorithms.</li>
<li>Deep Learning Compilers (<a href="https://tvm.ai/">TVM</a>* 0.6), an end-to-end compiler stack.</li>
</ul><p><strong>Benefits of the Deep Learning Reference Stack </strong></p>
<p>With this release, Intel focused on incorporating Natural Language Processing (NLP) in the Deep Learning Reference Stack to demonstrate that pretrained language models can be used to achieve state-of-the-art results [<a href="https://ruder.io/nlp-imagenet/">2</a>]. NLP can be used for Natural language inference, machine translation, and for higher layers of transfer learning.</p>
<p><a href="https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/">Kubeflow</a><a href="https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/"> Pipelines</a>*, a platform for building and deploying portable, scalable, machine learning (ML) workflows, are used for deployment of deep learning containerized images. This enables and simplifies orchestration of machine learning pipelines, making it easy for developers to use numerous use cases and applications on the Deep Learning Reference Stack.</p>
<p>We incorporated <a href="https://github.com/huggingface/transformers">Transformers</a>, a state-of-the-art general-purpose architecture for Natural Language Understanding (NLU) and Natural Language Generation (NLG). This helps to seamlessly move from pre-trained or fine-tuned models to productization.</p>
<p>For the PyTorch-based Deep Learning Reference Stack, we incorporated <a href="https://github.com/zalandoresearch/flair">Flair</a>, a powerful NLP library that allows developers to apply natural language processing (NLP) models to text, such as named entity recognition (NER), part-of-speech tagging (PoS), sense disambiguation, and classification.</p>
<p>In addition to the Docker deployment model, we integrated the Deep Learning Reference Stack with popular Function-as-a-Service technologies, which help deploy event-driven, independent functions and microservices dynamically managed and scaled based on machine resources.</p>
<p>Additionally, we provided simple and easy to use end-to-end use cases for the Deep Learning Reference Stack to help developers quickly prototype and bring up the stack in their environments. Some examples:</p>
<ul><li><a href="https://github.com/intel/stacks-usecase/tree/master/pix2pix">Pix-to-Pix: </a>Demonstrates use of the performant Deep Learning Reference Stack for <a href="https://01.org/blogs/2019/pix2pix-utilizing-deep-learning-reference-stack">image-to-image</a> translation within a serverless infrastructure. This solves challenges of synthesizing photos from abstract designs, reconstructing objects from edge maps, and colorizing images, among other tasks.</li>
<li><a href="https://github.com/intel/stacks-usecase/tree/master/github-issue-classification">GitHub* Issue Classification</a>: Allows developers to use the Deep Learning Reference Stack to <a href="https://01.org/blogs/2019/github-issue-classification-utilizing-end-end-system-stacks">analyze</a> the issue content and tag it automatically, saving time for developers and directing their focus on solving other complex issues.</li>
</ul><p>Well unveil additional use cases targeting developer and service provider needs in the coming weeks.</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="993da887-593d-42fc-8f61-02fa3d6718a8" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/DLRS_TensorFlow_single&#32;FULL.png" width="3856" height="2852" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="b51a7de1-5a83-4b4e-b6ca-d362890973d9" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/DLRS_TensorFlow_multi&#32;FULL.png" width="3724" height="2800" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p> </p>
<p> </p>
<p>This release also incorporates the latest versions of popular developer tools and frameworks:</p>
<ul><li><strong>Operating System</strong>: <a href="https://clearlinux.org/stacks/deep-learning">Clear Linux* OS</a>, customized to individual development needs and optimized for Intel platforms, including specific use cases like Deep Learning.*</li>
<li><strong>Orchestration</strong>: Kubernetes to manage and orchestrate containerized applications for multi-node clusters with Intel platform awareness.</li>
<li><strong>Containers</strong>: Docker Containers and Kata Containers with Intel® VT Technology for enhanced protection.</li>
<li><strong>Libraries</strong>: Intel® Math Kernel Library for Deep Neural Networks (MKL DNN), highly-optimized for mathematical function performance.</li>
<li><strong>Runtimes</strong>: Python application and service execution support.</li>
<li><strong>Deployment</strong>: As mentioned earlier, <a href="https://www.seldon.io/open-source/">Kubeflow Seldon</a>*, and <a href="https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/">Kubeflow</a><a href="https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/"> Pipelines</a>* are used for the deployment of the Deep Learning Reference Stack.</li>
<li><strong>User Experience</strong>: <a href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a>*, a multi-user Hub that spawns, manages, and proxies multiple instances of the single-user Jupyter notebook server.</li>
</ul><p>Each layer of the Deep Learning Reference Stack has been performance-tuned for Intel architecture, enabling impressive performance compared to non-optimized stacks.</p>
<p><strong>Performance gains for the Deep Learning Reference Stack with Intel® OpenVINO™ and ResNet50 as follows:</strong></p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="4d7f4dfc-7741-4ed0-864f-4c0ec8c00e86" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dlrs-inference-performance-8180vs8280.png" width="1344" height="873" alt="dlrs-inference-performance-8180vs8280" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p> </p>
<p><strong><em>Second Generation Intel® Xeon® Scalable Platform</em></strong><em> </em><em>2 socket Intel® Xeon® Platinum 8280 Processor (2.7GHz, 28 cores), HT On, Turbo ON, Total Memory 384 GB (12 slots/ 32GB/ 2933 MHz), BIOS: SE5C620.86B.02.01.0008.031920191559 (ucode:0x500002c), Clear Linux 31690, Kernel 5.3.11-869.native, Deep Learning ToolKit: OpenVINO™ 2019_R3, AIXPRT </em><em>V1.0</em><em> benchmark(</em><a href="https://www.principledtechnologies.com/benchmarkxprt/aixprt/"><em>https://www.principledtechnologies.com/benchmarkxprt/aixprt/</em></a><em>), Workload:ResNet-50, Compiler: gcc v9.2.1, Intel® MKL DNN v0.18, 56 inference instances/2 sockets, Datatype: INT8</em></p>
<p><strong><em>Intel® Xeon® Scalable Platform</em></strong><em> </em><em>2 socket Intel® Xeon® Platinum 8180 Processor(2.5GHz, 28 cores), HT On,Turbo ON, Total Memory 384 GB (12 slots/ 32GB/ 2666 MHz), BIOS: SE5C620.86B.02.01.0008.031920191559 (ucode:0x2000065), Clear Linux 31690, Kernel 5.3.11-869.native, Deep Learning ToolKit: OpenVINO™ 2019_R3, AIXPRT V1.0 benchmark(</em><a href="https://www.principledtechnologies.com/benchmarkxprt/aixprt/"><em>https://www.principledtechnologies.com/benchmarkxprt/aixprt/</em></a><em>), Workload:ResNet-50, Compiler: gcc v9.2.1, Intel® MKL DNN v0.18, 56 inference instances/2 sockets, Datatype: INT8, FP32</em></p>
<p>Intel will continue working to help ensure popular frameworks and topologies run best on Intel architecture, giving customers a choice in the right solution for their needs. We are using this stack to innovate on our current Intel® Xeon® Scalable processors and plan to continue performance optimizations for coming generations.</p>
<p>Visit the <a href="https://clearlinux.org/stacks/deep-learning">Clear Linux* Stacks</a> page to learn more and download the Deep Learning Reference Stack code, and contribute feedback. As always, we welcome ideas for further enhancements through the<a href="mailto:stacks@lists.01.org"> </a><a href="mailto:stacks@lists.01.org">stacks mailing list.</a></p>
<p> [1] <a href="https://www.cnn.com/2019/12/05/tech/ai-wildfires/index.html">https://www.cnn.com/2019/12/05/tech/ai-wildfires/index.html</a></p>
<p>[2] <a href="https://ruder.io/nlp-imagenet/">https://ruder.io/nlp-imagenet/</a></p>
<hr /><p><em>Notices and Disclaimers</em></p>
<p><em>Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors.</em></p>
<p><em>Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information, visit </em><a href="http://www.intel.com/benchmarks"><em>www.intel.com/benchmarks</em></a><em>.</em></p>
<p><em>Performance results are based on testing as of 11/29/2019 and may not reflect all publicly available security updates. No product or component can be absolutely secure.</em></p>
<p><em>System configuration</em></p>
<p><strong><em>Second Generation Intel® Xeon® Scalable Platform</em></strong><em> </em><em>2 socket Intel® Xeon® Platinum 8280 Processor (2.7GHz, 28 cores), HT On, Turbo ON, Total Memory 384 GB (12 slots/ 32GB/ 2933 MHz), BIOS: SE5C620.86B.02.01.0008.031920191559 (ucode:0x500002c), Clear Linux 31690, Kernel 5.3.11-869.native, Deep Learning ToolKit: OpenVINO™ 2019_R3, AIXPRT V1.0 benchmark(</em><a href="https://www.principledtechnologies.com/benchmarkxprt/aixprt/"><em>https://www.principledtechnologies.com/benchmarkxprt/aixprt/</em></a><em>), Workload:ResNet-50, Compiler: gcc v9.2.1, Intel® MKL DNN v0.18, 56 inference instances/2 sockets, Datatype: INT8</em></p>
<p><strong><em>Intel® Xeon® Scalable Platform</em></strong><em> </em><em>2 socket Intel® Xeon® Platinum 8180 Processor(2.5GHz, 28 cores), HT On,Turbo ON, Total Memory 384 GB (12 slots/ 32GB/ 2666 MHz), BIOS: SE5C620.86B.02.01.0008.031920191559 (ucode:0x2000065), Clear Linux 31690, Kernel 5.3.11-869.native, Deep Learning ToolKit: OpenVINO™ 2019_R3,AIXPRT V1.0 benchmark(</em><a href="https://www.principledtechnologies.com/benchmarkxprt/aixprt/"><em>https://www.principledtechnologies.com/benchmarkxprt/aixprt/</em></a><em>), Workload:ResNet-50, Compiler: gcc v9.2.1, Intel® MKL DNN v0.18, 56 inference instances/2 sockets, Datatype: INT8, FP32</em></p>
<p><em>Optimization Notice: Intels compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</em></p>
<p><em>Notice Revision #20110804</em></p>
<p><em>Intel, the Intel logo, and Intel Xeon® are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.</em></p>
<p><em>© Intel Corporation</em></p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="deep-learning-reference-stack-v5.0-now-available.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,566 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31750.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Deep Learning Reference Stack v6.0 Now Available Today, were pleased to announce the Deep Learning Reference Stack 6.0 release, incorporating customer feedback and delivering an enhanced user experience with support for expanded use cases." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/deep-learning-reference-stack-v6-now-available" />
<meta property="og:title" content="Deep Learning Reference Stack v6.0 Now Available" />
<meta property="og:description" content="Deep Learning Reference Stack v6.0 Now Available Today, were pleased to announce the Deep Learning Reference Stack 6.0 release, incorporating customer feedback and delivering an enhanced user experience with support for expanded use cases." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31750.html" />
<link rel="shortlink" href="../node/31750.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Deep Learning Reference Stack v6.0 Now Available | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-deep-learning-reference-stack-v6-now-available nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="deep-learning-reference-stack-v6-now-available.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31750.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31750--full.html.twig
* node--31750.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Deep Learning Reference Stack v6.0 Now Available</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__author">
Beth Dean
</p>
<p class="blog_detail__date">20 Apr, 2020</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<h1><span><span><span><span><strong><span><span>Deep Learning Reference Stack v6.0 Now Available</span></span></strong></span></span></span></span></h1>
<p><span><span><span><span><span><span><span>Today, were pleased to announce the Deep Learning Reference Stack 6.0 release, incorporating customer feedback and delivering an enhanced user experience with support for expanded use cases. Similar to the Deep Learning Reference Stack 5.0, this release further incorporates enhancements of</span></span></span></span></span></span></span><a href="https://en.wikipedia.org/wiki/Natural_language_processing"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Natural Language Processing</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> (NLP), which helps computers process and analyze large amounts of</span></span></span></span></span></span></span><a href="https://en.wikipedia.org/wiki/Natural_language"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>natural language</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>data, among other features.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>With this update, Intel further enables developers to quickly prototype and deploy DL workloads, reducing complexity while maintaining the ability to customize solutions. Among the features in this release:</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://github.com/tensorflow/tensorflow/releases/tag/v1.15.0"><span><span><span><span><span><span><span>TensorFlow* 1.15</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>.2 and</span></span></span></span></span></span></span><a href="https://github.com/tensorflow/tensorflow/releases"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span>TensorFlow* 2.2.0</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>, an end-to-end open source platform for machine learning (ML).</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://github.com/pytorch/pytorch/releases"><span><span><span><span><span><span><span><span><span>PyTorch* 1.4</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span><span><span>.0</span></span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>, an open source machine learning framework that accelerates the path from research prototyping to production deployment.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://github.com/williamFalcon/pytorch-lightning"><span><span><span><span><span><span><span>PyTorch Lightning</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>*, a lightweight wrapper for PyTorch designed to help researchers set up boilerplate state-of-the-art training.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://github.com/huggingface/transformers"><span><span><span><span><span><span><span>Transformers</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>*, a state-of-the-art Natural Language Processing (NLP) for TensorFlow 2.0 and PyTorch.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://01.org/openvinotoolkit"><span><span><span><span><span><span><span>Intel® OpenVINO</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>™ model server version</span></span></span></span></span></span></span><a href="https://github.com/opencv/dldt"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>2020.1,</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> delivering improved neural network performance on Intel processors, helping unlock cost-effective, real-time vision applications [</span></span></span></span></span></span></span><a href="https://software.intel.com/en-us/articles/OpenVINO-RelNotes"><span><span><span><span><span><span><span><span><span>1</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>]</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://www.intel.ai/intel-deep-learning-boost/#gs.v6slqq"><span><span><span><span><span><span><span>Intel Deep Learning Boost</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> (DL Boost) with AVX-512 Vector Neural Network Instruction (Intel AVX-512 VNNI) designed to accelerate deep neural network-based algorithms.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>Deep Learning Compilers (</span></span></span></span></span></span></span><a href="https://tvm.ai/"><span><span><span><span><span><span><span>TVM</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>* 0.6), an end-to-end compiler stack.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><strong><span><span>Benefits of the Deep Learning Reference Stack</span></span></strong></span></span></span></span></p>
<p><span><span><span><span><span><span><span>With this release, Intel focused on incorporating Natural Language Processing (NLP) in the Deep Learning Reference Stack to demonstrate that pretrained language models can be used to achieve state-of-the-art results [</span></span></span></span></span></span></span><a href="https://ruder.io/nlp-imagenet/"><span><span><span><span><span><span><span>2</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>]. Libraries included in the stack for NLP can be used for Natural language processing, machine translation, and for  building embedding layers for transfer learning.</span></span></span></span></span></span></span></p>
<p><a href="https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/"><span><span><span><span><span><span><span>Kubeflow Pipelines</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>*, a platform for building and deploying portable, scalable, machine learning (ML) workflows, are used for deployment of deep learning containerized images. This enables and simplifies orchestration of machine learning pipelines, making it easy for developers to use numerous use cases and applications on the Deep Learning Reference Stack.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>We incorporated</span></span></span></span></span></span></span><a href="https://github.com/huggingface/transformers"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Transformers[3]</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> library, a state-of-the-art general-purpose library that includes a number of pretrained models for Natural Language Understanding (NLU) and Natural Language Generation (NLG). This helps to seamlessly move from pre-trained or fine-tuned models to productization.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>For the PyTorch-based Deep Learning Reference Stack, we also incorporated</span></span></span></span></span></span></span><a href="https://github.com/zalandoresearch/flair"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Flair [4]</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> along with Transformers, a simple NLP library that allows developers to apply natural language processing (NLP) models to text, such as named entity recognition (NER), part-of-speech tagging (PoS), sense disambiguation, and classification.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>In addition to the Docker deployment model, we integrated the Deep Learning Reference Stack with Function-as-a-Service (FaaS) technologies, which are scalable event-driven compute platforms. We created a Conditional Generative Adversarial Nets (cGAN) use case where Fn [</span></span></span></span></span></span></span><a href="https://github.com/intel/stacks-usecase/tree/master/pix2pix/fn"><span><span><span><span><span><span><span><span><span>5</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>] and OpenFaaS [</span></span></span></span></span></span></span><a href="https://github.com/intel/stacks-usecase/tree/master/pix2pix/openfaas"><span><span><span><span><span><span><span><span><span>6</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>] dynamically manage and deploy event-driven, independent inference functions on the Deep Learning Reference Stack based on machine resources.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Additionally, we provided simple and easy to use end-to-end use cases for the Deep Learning Reference Stack to help developers quickly prototype and bring up the stack in their environments. Some examples:</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://01.org/blogs/2019/identify-galaxies-using-deep-learning-reference-stack"><span><span><span><span><span><span><span><span><span>Galaxies Identification</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>: Demonstrates the use of the Deep Learning Reference Stack to detect and</span></span></span></span></span></span></span><a href="https://github.com/intel/stacks-usecase/tree/master/galaxy_recognition"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span>classify galaxies</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> by their </span></span></span></span></span></span></span><span><span><span><span><span><span><span>morphology using image processing and computer vision algorithms on Intel® Xeon® processors.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><a href="https://software.intel.com/en-us/articles/using-ai-to-help-save-lives-a-data-driven-approach-for-intracranial-hemorrhage-detection"><span><span><span><span><span><span><span><span><span>Using AI to Help Save Lives: A Data Driven Approach for Intracranial Hemorrhage Detection</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>: Focus on solving two problems facing the domains of medical diagnosis and artificial intelligence.  First, we designed an AI training pipeline to help detect intracranial hemorrhage (ICH), a serious condition often caused by traumatic brain injuries. ICH must be diagnosed and treated as quickly as possible to avoid disability or death of the patient [7]. Second, we tackled the complexity of creating an AI pipeline with multiple software frameworks, configurations, and dependencies. Our solution was to use the System Stacks for Linux* OS, a purpose-built collection of containers that provide integrated, and tuned AI frameworks.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Well unveil additional use cases targeting developer and service provider needs in the coming weeks.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh5.googleusercontent.com/LZxy3vCfLe8rmIP7jRhROgZXAQrfO_Zx496ckoLrW_AwQwu3o0KoldnED-27WdvxpQwXdRmhBL2KxWI9euSHrDvkfrQl4VYN1mbrD9_09EUF2CCjurfqiTmZCxY1kR081T_XpQfE" /></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p> </p>
<p><span><span><span><span><span><span><span><span><span><span><span><span><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh6.googleusercontent.com/RcvFqs5ljbnVLuXBpeX2g1EUpfpRDhb8wfet3NSo2IQTDzBOvbz8RJU_ZI6dAbK2Mjsdq9YjemIYw4qhlj2scsaDC65xaNBPD2mBbuM2D2HCPc-bmMzndJauGnzTrTYZHCBY5vGr" /></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p> </p>
<p><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh6.googleusercontent.com/9N9Xet7leyf3s3JNtwwb88PHYP9yr5qu3XTVb0H6Jv7vBpcXr2kjlGHusfOrktSAYjvmwKIiEiaJW6d5upMrDC-aoIxZURHaO2n5I_cDpVUXE7_8zcchXYDEXCes2XJAQi3fken5" /></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p> </p>
<p><span><span><span><span><span><span><span><span><span><span><span><span><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh6.googleusercontent.com/uk3ddqDm66bNzWmQFtb1Tw2_9dATEWmgTN3XY56BesFsETpFYwSoRvj3mzqa6B1zWhe4Tnvkmz08jbx7HyYxvopQ3_WYTpJfUmGGH42bPBDxXk7eYqvbVgdknRZ9JZaVTeRUAjCA" /></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>This release also supports the latest versions of popular developer tools and frameworks:</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>Operating System</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>:</span></span></span></span></span></span></span><a href="https://clearlinux.org/stacks/deep-learning"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Clear Linux* OS</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>, an open source Linux* distribution.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>Orchestration</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>: Kubernetes to manage and orchestrate containerized applications for multi-node clusters with Intel platform awareness.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>Containers</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>: Docker Containers and Kata Containers with Intel® VT Technology for enhanced protection.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>Libraries</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>: </span></span></span></span></span></span></span><span><span><span><span><span><span><span>oneAPI Deep Neural Network Library (</span></span></span></span></span></span></span><a href="https://github.com/oneapi-src/oneDNN"><span><span><span><span><span><span><span><span><span>oneDNN</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>)</span></span></span></span></span></span></span><span><span><span><span><span><span><span>, </span></span></span></span></span></span></span><span><span><span><span><span><span><span>an open-source performance library for deep learning applications. The library includes basic building blocks for neural networks optimized for Intel Architecture Processors and Intel Processor Graphics.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>Runtimes</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>: Python application and service execution support.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>Deployment</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>: As mentioned earlier,</span></span></span></span></span></span></span><a href="https://www.seldon.io/open-source/"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Kubeflow Seldon</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>*, and</span></span></span></span></span></span></span><a href="https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Kubeflow Pipelines</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>* are used for the deployment of the Deep Learning Reference Stack.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span></span></span></span></span></span></span></span><span><span><span><span><span><span><span>  </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span><span><span><span><span><strong><span><span>User Experience</span></span></strong></span></span></span></span><span><span><span><span><span><span><span>:</span></span></span></span></span></span></span><a href="https://jupyterhub.readthedocs.io/en/stable/"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Jupyter Hub</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>*, a multi-user Hub that spawns, manages, and proxies multiple instances of the single-user Jupyter notebook server.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Multiple layers of the Deep Learning Reference Stack are performance-tuned for Intel Architecture (IA), offering significant advantages over other stacks.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><strong><span><span>Performance gains for the Deep Learning Reference Stack with TensorFlow 2.2.0 and Inception-v4 as follows:</span></span></strong></span></span></span></span><span><span><span><span><strong><span><span><span><span><span><span><span><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh5.googleusercontent.com/ChaBqiAOxTIp_a0KuiEftkFbDhnWhgpNkRQXkALvqD5jZM5dRXvmFozaW6iG7T3cHVsg9Ow7-CBuVDFVZiTgQcq5k-Wudvwt-I44g-t3Fxt7_dZkt0RIpcnZuor1UsQn5ujxg75c" /></span></span></span></span></span></span></span></strong></span></span></span></span></p>
<p><span><span><span><span><strong><em><span>Second Generation Intel® Xeon® Scalable Platform</span></em></strong></span></span></span></span><span><span><span><span><span><em><span> 2 socket Intel® Xeon® Platinum 8280 Processor (2.7GHz, 28 cores), HT On, Turbo On, Total Memory 384 GB (12 slots/ 32GB/ 2933 MHz), BIOS: </span></em></span></span></span></span></span><span><span><span><span><span><em><span>SE5C620.86B.02.01.0010.010620200716 </span></em></span></span></span></span></span><span><span><span><span><span><em><span>(ucode:0x500002c), Clear Linux 32700, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Kernel 5.5.13-924.native</span></em></span></span></span></span></span><span><span><span><span><span><em><span>, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Deep Learning Framework: TensorFlow* v2.2.0,Inception-v4 (</span></em></span></span></span></span></span><a href="https://github.com/IntelAI/models/tree/master/benchmarks/image_recognition/tensorflow/inceptionv4"><span><span><span><span><span><em><span><span><span>https://github.com/IntelAI/models/tree/master/benchmarks/image_recognition/tensorflow/inceptionv4</span></span></span></em></span></span></span></span></span></a><span><span><span><span><span><em><span>) ,Compiler: gcc v9.3.1, oneDNN version: v1.2.2, BS=32,64,128, synthetic data, 2 inference instance/2 socket, Datatype: INT8</span></em></span></span></span></span></span></p>
<p><span><span><span><span><strong><em><span>Intel® Xeon® Scalable Platform</span></em></strong></span></span></span></span><span><span><span><span><span><em><span> 2 socket Intel® Xeon® Platinum 8180 Processor (2.5GHz, 28 cores), HT On, Turbo On, Total Memory 384 GB (12 slots/ 32GB/ 2666 MHz), BIOS: </span></em></span></span></span></span></span><span><span><span><span><span><em><span>SE5C620.86B.02.01.0010.010620200</span></em></span></span></span></span></span><span><span><span><span><span><em><span>716 (ucode:0x2000065), </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Clear Linux 32700, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Kernel 5.5.13-924.native</span></em></span></span></span></span></span><span><span><span><span><span><em><span>, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Deep Learning Framework: TensorFlow* v2.2.0,Inception-v4 (</span></em></span></span></span></span></span><a href="https://github.com/IntelAI/models/tree/master/benchmarks/image_recognition/tensorflow/inceptionv4"><span><span><span><span><span><em><span><span><span>https://github.com/IntelAI/models/tree/master/benchmarks/image_recognition/tensorflow/inceptionv4</span></span></span></em></span></span></span></span></span></a><span><span><span><span><span><em><span>) ,Compiler: gcc v9.3.1, oneDNN version: v1.2.2, BS=32,64,128, synthetic data, 2 inference instance/2 socket, Datatype: INT8, FP32</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span> </span></em></span></span></span></span></span></p>
<p><span><span><span><span><strong><span><span>Performance gains for the Deep Learning Reference Stack with PyTorch 1.4.0 and ResNet-50 v1.5 as follows:</span></span></strong></span></span></span></span></p>
<p><span><span><span><span><strong><span><span><span><span><span><span><span><img alt="" data-entity-type="" data-entity-uuid="" src="https://lh6.googleusercontent.com/XB6PiDM-kcEZ-IHuSOh8sjXf7_g39-8S1AZZX30TN89xQ5AK8jHJffJdJBJZg8et-EDTG06ppWg_aKqSk5Rxxe7GRKSVbmjA0e4N87hZDiZ_W7W85t5bdelP6r7LvHGr8WgizmYj" /></span></span></span></span></span></span></span></strong></span></span></span></span></p>
<p> </p>
<p><span><span><span><span><strong><em><span>Second Generation Intel® Xeon® Scalable Platform</span></em></strong></span></span></span></span><span><span><span><span><span><em><span> 2 socket Intel® Xeon® Platinum 8280 Processor (2.7GHz, 28 cores), HT On, Turbo On, Total Memory 384 GB (12 slots/ 32GB/ 2933 MHz), BIOS: </span></em></span></span></span></span></span><span><span><span><span><span><em><span>SE5C620.86B.02.01.0010.010620200716 </span></em></span></span></span></span></span><span><span><span><span><span><em><span>(ucode:0x500002c), Clear Linux 32700, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Kernel 5.5.13-924.native</span></em></span></span></span></span></span><span><span><span><span><span><em><span>, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Deep Learning Framework: PyTorch* v1.4.0, ResNet-50 v1.5 (</span></em></span></span></span></span></span><a href="https://github.com/intel/optimized-models/tree/v1.0.10/pytorch"><span><span><span><span><span><em><span><span><span>https://github.com/intel/optimized-models/tree/v1.0.10/pytorch</span></span></span></em></span></span></span></span></span></a><span><span><span><span><span><em><span>),Compiler: gcc v9.3.1,oneDNN version: v0.21.1, BS=32,64,128, synthetic data, 2 inference instance/2 socket, Datatype: INT8</span></em></span></span></span></span></span></p>
<p><span><span><span><span><strong><em><span>Intel® Xeon® Scalable Platform</span></em></strong></span></span></span></span><span><span><span><span><span><em><span> 2 socket Intel® Xeon® Platinum 8180 Processor (2.5GHz, 28 cores), HT On, Turbo On, Total Memory 384 GB (12 slots/ 32GB/ 2666 MHz), BIOS: </span></em></span></span></span></span></span><span><span><span><span><span><em><span>SE5C620.86B.02.01.0010.010620200</span></em></span></span></span></span></span><span><span><span><span><span><em><span>716 (ucode:0x2000065), </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Clear Linux 32700, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>Kernel 5.5.13-924.native</span></em></span></span></span></span></span><span><span><span><span><span><em><span>, </span></em></span></span></span></span></span><span><span><span><span><span><em><span>PyTorch* v1.4.0, ResNet-50 v1.5 (</span></em></span></span></span></span></span><a href="https://github.com/intel/optimized-models/tree/v1.0.10/pytorch"><span><span><span><span><span><em><span><span><span>https://github.com/intel/optimized-models/tree/v1.0.10/pytorch</span></span></span></em></span></span></span></span></span></a><span><span><span><span><span><em><span>),Compiler: gcc v9.3.1, oneDNN version: v0.21.1, BS=32,64,128, synthetic data, 2 inference instance/2 socket, Datatype: INT8, FP32</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Intel will continue working to help ensure popular frameworks and topologies run best on Intel architecture, giving customers a choice in the right solution for their needs. We are using this stack to innovate on our current Intel® Xeon® Scalable processors and plan to continue performance optimizations for coming generations.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Visit the</span></span></span></span></span></span></span><a href="https://clearlinux.org/stacks/deep-learning"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>Clear Linux* Stacks</span></span></span></span></span></span></span></a><span><span><span><span><span><span><span> page to learn more and download the Deep Learning Reference Stack code, and contribute feedback. As always, we welcome ideas for further enhancements through the</span></span></span></span></span></span></span><span><span><span><span><span><span><span> stacks mailing list.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>[1]</span></span></span></span></span></span></span><a href="https://software.intel.com/en-us/articles/OpenVINO-RelNotes"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span>https://software.intel.com/en-us/articles/OpenVINO-RelNotes</span></span></span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span><span>[2]</span></span></span></span></span></span></span><a href="https://ruder.io/nlp-imagenet/"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span>https://ruder.io/nlp-imagenet/</span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span><span>[3] https://docs.01.org/clearlinux/latest/guides/stacks/dlrs.html#using-transformers-for-natural-language-processing</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>[4]</span></span></span></span></span></span></span><a href="https://github.com/flairNLP/flair"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span>https://github.com/flairNLP/flair</span></span></span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span><span>[5]</span></span></span></span></span></span></span><a href="https://github.com/intel/stacks-usecase/tree/master/pix2pix/openfaas"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span>https://github.com/intel/stacks-usecase/tree/master/pix2pix</span></span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><span>/fn</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>[6]</span></span></span></span></span></span></span><a href="https://github.com/intel/stacks-usecase/tree/master/pix2pix/openfaas"><span><span><span><span><span><span><span> </span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span>https://github.com/intel/stacks-usecase/tree/master/pix2pix/openfaas</span></span></span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span>[7] Hssayeni, M. (2020). Computed Tomography Images for Intracranial Hemorrhage Detection and Segmentation (version 1.3.1). PhysioNet.</span></span></span></span></span></span><a href="https://doi.org/10.13026/4nae-zg36"><span><span><span><span><span><span> </span></span></span></span></span></span><span><span><span><span><span><span><span><span>https://doi.org/10.13026/4nae-zg36</span></span></span></span></span></span></span></span></a></p>
<p> </p>
<hr /><p><span><span><span><span><span><em><span>Notices and Disclaimers</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors.</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information, visit</span></em></span></span></span></span></span><a href="http://www.intel.com/benchmarks"><span><span><span><span><span><em><span> </span></em></span></span></span></span></span><span><span><span><span><span><em><span>www.intel.com/benchmarks</span></em></span></span></span></span></span></a><span><span><span><span><span><em><span>.</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Performance results are based on testing as of 04/06/2020 and may not reflect all publicly available security updates. No product or component can be absolutely secure.</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>System configuration</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Optimization Notice: Intels compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Intel technologies may require enabled hardware, software or service activation.</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Notice Revision #20110804</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>Intel, the Intel logo, and Intel Xeon® are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><em><span>© Intel Corporation</span></em></span></span></span></span></span></p>
<p><span><span><span><span><span><span> </span></span></span></span></span></span></p>
<p> </p>
<p> </p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="deep-learning-reference-stack-v6-now-available.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,811 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31541.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Describes how to deploy a scalable WordPress instance on a Kubernetes cluster with Clear Linux OS-based containers." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/deploy-scalable-wordpress-kubernetes-clear-linux-os-containers" />
<meta property="og:title" content="Deploy scalable WordPress* on Kubernetes* with Clear Linux* OS containers" />
<meta property="og:description" content="Describes how to deploy a scalable WordPress instance on a Kubernetes cluster with Clear Linux OS-based containers." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31541.html" />
<link rel="shortlink" href="../node/31541.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Deploy scalable WordPress* on Kubernetes* with Clear Linux* OS containers | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/filter/filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/entity_embed/css/entity_embed.filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-deploy-scalable-wordpress-kubernetes-clear-linux-os-containers nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="deploy-scalable-wordpress-kubernetes-clear-linux-os-containers.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31541.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31541--full.html.twig
* node--31541.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_5.html' title='Maintenance'>Maintenance</a>
, <a tabindex='3' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Deploy scalable WordPress* on Kubernetes* with Clear Linux* OS containers</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">07 Nov, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p class="text-align-center"><em>By Qi Zheng and Rusty Lynch</em></p>
<p><span><span><span>This proof of concept describes how to deploy a scalable WordPress instance on a Kubernetes cluster with Clear Linux OS-based containers.</span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://kubernetes.io/docs/home/"><span>Kubernetes</span></a></span> is an open source orchestration system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.</span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://en.wikipedia.org/wiki/WordPress"><span>WordPress</span></a></span> is a popular free and open source blogging tool and a content management system (CMS). It is a <strong>service</strong> based on a popular components of a web hosting stack including a<strong> web server</strong>, <strong>PHP</strong>, and <strong>MySQL</strong>. The components in the WordPress stack include:</span></span></span></p>
<ul><li><span><span><span><strong>PHP: </strong>WordPress is an application written in PHP.</span></span></span></li>
<li><span><span><span><strong>MySQL: </strong>WordPress requires a SQL database to persist and maintain data, it is usually MySQL or MariaDB. </span></span></span></li>
<li><span><span><span><strong>Web server: </strong>WordPress must be installed on a web server, like Apache or NGINX, to serve as a network ho<span><span>st to be accessed by users.</span></span></span></span></span></li>
</ul><p><span><span><span>To deploy WordPress on Kubernetes, it helps to remember that containers are the fundamental components of an application. Clear Linux OS provides size-, performance-, and security-optimized containers on <span><a href="https://hub.docker.com/u/clearlinux/"><span>DockerHub</span></a></span>. Three container images are available that include the necessary components for building out the WordPress service.</span></span></span></p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="246c6c1e-34c1-4478-8de5-eb8ef84ad3f6" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/deploy-wp-1.png" width="971" height="335" alt="Figure 1" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p><span><span><span>The details on how to implement Clear Linux OS containers can be found on <span><a href="https://github.com/clearlinux/dockerfiles"><span>GitHub*</span></a></span>.</span></span></span></p>
<h1><span><span><span><span><strong>Prerequisites</strong></span></span></span></span></h1>
<p><span><span><span>This tutorial assumes you have a Kubernetes cluster with three nodes running Clear Linux OS, which can be bare metal or virtual machines. One functions as the master node and the other two function as worker nodes in the Kubernetes cluster.</span></span></span></p>
<ul><li><span><span><span>For detailed instructions on how to install Clear Linux OS, see the <span><a href="https://docs.01.org/clearlinux/latest/get-started/index.html"><span>Clear Linux OS getting started documentation</span></a></span>.</span></span></span></li>
<li><span><span><span>For a detailed guide on how to set up Kubernetes, see the documentation on setting up a <span><a href="https://docs.01.org/clearlinux/latest/tutorials/kubernetes.html"><span>Kubernetes cluster with Clear Linux OS</span></a></span>.</span></span></span></li>
</ul><p><span><span><span>Shared storage, such as NFS, is required to enable scalability across the Kubernetes cluster. Install NFS support on each node by installing the </span></span></span><code>nfs-utils</code><span><span><span> bundle.</span></span></span></p>
<pre>
<code>$ sudo swupd bundle-add nfs-utils</code></pre>
<p><span><span><span>Verify the health of the Kubernetes cluster before continuing:</span></span></span></p>
<pre>
<code>$ kubectl get node
NAME             STATUS   ROLES    AGE    VERSION
clr-worker1      Ready    &lt;none&gt;    1h   v1.15.2
clr-worker2      Ready    &lt;none&gt;    1h   v1.15.2
clr-master       Ready    master    1h   v1.15.1</code></pre>
<h2><span><span><span><span><strong>Scalability philosophy </strong></span></span></span></span><br />
 </h2>
<h3><span><span><span><span><span>Scaling WordPress</span></span></span></span></span></h3>
<p><span><span><span>Scaling cloud-native-designed applications becomes relatively straightforward since they are designed with decoupled components (commonly referred to as a microservice), using data that is persisted and synchronized across multiple replicas. Because of this architecture, scaling largely involves spawning additional instances of a component with a <span><span>LoadBalancer </span></span>placed in front to distribute the incoming load evenly across backend containers. Since WordPress not a cloud-native application and is a traditionally-designed application by default, scaling it is trickier, but still doable. </span></span></span></p>
<p><span><span><span>Wordpress has persistent data in two locations that require consideration when thinking about scaling: the data in the database and the content on the web server. Typically, the database and web server are close to each other, if not on the same disk on the same server. In this design, multiple instances of the WordPress application communicate with the same database and web server instances, although they may not be on the same host. When scaling the WordPress service, the WordPress application layer should be focused on.</span></span></span></p>
<h3><span><span><span><span><span>Scaling Kubernetes </span></span></span></span></span></h3>
<p><span><span><span>With this type of architecture, shared persistent storage is imperative to achieving the flexibility for scaling. The ReadWriteMany (RWX) <span><a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes"><span>Access Modes</span></a></span> for Kubernetes persistent volume should be used to make sure replicas in different nodes can access the same volumes. <span><a href="https://github.com/kubernetes-incubator/external-storage/tree/master/nfs"><span>nfs-provisioner</span></a></span> is a module that simplifies dynamic storage provisioning on Kubernetes nodes that provide the persistent volumes for the WordPress cluster.</span></span></span></p>
<p><span><span><span>The following diagram shows a summary of the WordPress cluster on Kubernetes. Green lines indicate the interaction between pods and orange lines indicate the interaction between pod and persistent volume.</span></span></span></p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="60d14d2a-0cd7-4654-94fd-c4d5e9453ea2" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/deploy-wp-2.png" width="1266" height="571" alt="Figure 2" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p class="normal"><span><span><span>In this example, the service is exposed with <span><a href="https://kubernetes.io/docs/concepts/services-networking/service/#nodeport"><span>NodePort</span></a></span> and the WordPress application can be accessed in a browser by simply navigating to:  </span></span></span><code>http://$NodeIP:$NodePort </code></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>NodePort depends on IPtables on the Kubernetes node to randomly select a destination target pods. For details, refer to the doc: </span></span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><a href="https://www.livefire.solutions/nsx-t/Kubernetes-services-exposing-an-application-with-nodeport/"><span>Kubernetes Services exposing an application with NodePort</span></a></span></span>.</span></span></span></p>
<h1><span><span><span><span><strong>Deploy on Kubernetes</strong></span></span></span></span></h1>
<p><span><span><span>The YAML files used to deploy Wordpress components on Kubernetes are all available in the <span><a href="https://github.com/clearlinux/dockerfiles/tree/master/wordpress"><span>Clear Linux OS Dockerfiles repository</span></a></span>. Use these files as reference templates, they are not for production.</span></span></span></p>
<h2><span><span><span><span><strong>Prepare the NFS persistent volumes</strong></span></span></span></span></h2>
<p><span><span><span>The details of setting up networking and storage for NFS depends on your operating environment and is beyond the scope of this tutorial. This design follows the example in <span><a href="https://github.com/kubernetes-incubator/external-storage/tree/master/nfs"><span>nfs-provisioner</span></a></span> with minor customization.</span></span></span></p>
<ol><li><span><span><span>Enter the commands:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ kubectl apply -f rbac.yaml
$ kubectl apply -f nfs-deployment.yaml
$ kubectl apply -f pvc-nfs.yaml
</code></pre>
<ol start="2"><li><span><span><span>Confirm the bounded persistent volumes and claims with the commands:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ kubectl get pvNAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM            STORAGECLASS   REASON   AGE
pvc-b3ff50cf-56c0-4487-8255-33d7785b6aec   500Mi      RWX            Delete           Bound    default/pvc-wp   example-nfs             34s
pvc-d24ba4d2-3020-48ec-a660-f57d3a76b2e6   500Mi      RWX            Delete           Bound    default/pvc-db   example-nfs             34s
$ kubectl get pvc
NAME     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-db   Bound    pvc-d24ba4d2-3020-48ec-a660-f57d3a76b2e6   500Mi      RWX            example-nfs    49s
pvc-wp   Bound    pvc-b3ff50cf-56c0-4487-8255-33d7785b6aec   500Mi      RWX            example-nfs    49s
</code></pre>
<p><span><span><span>In this example, the pod is “randomly” assigned to one worker node </span></span></span><code>clr-worker1</code><span><span><span>, all the final database and web host content are persistent in that node.</span></span></span></p>
<p><span><span><span>Note: In this example, the NFS pod is not assigned to one dedicated node (which is best for persistent data performance). If you want to assign a pod to a node, please refer to <span><a href="https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"><span>Assigning Pods to Nodes</span></a></span> for details. </span></span></span></p>
<pre>
<code class="language-bash">$ kubectl get po -o wide
NAME                               READY   STATUS    RESTARTS   AGE     IP             NODE             NOMINATED NODE   READINESS GATES
nfs-provisioner-76957d5487-72twp   1/1     Running   0          4m37s   10.244.1.173   clr-worker1   &lt;none&gt;           &lt;none&gt;
</code></pre>
<p> </p>
<h2><span><span><span><span><strong>Deploy database and WordPress</strong></span></span></span></span><br />
 </h2>
<h3><span><span><span><span><span>Create secret password for database</span></span></span></span></span></h3>
<p><span><span><span>The database requires a password. The user defaults to root in this example.</span></span></span></p>
<ol><li><span><span><span>Use the command shown below to generate a password. The password </span></span></span><code>clearlinux</code><span><span><span> is used below just as an example. Always follow password policy best practices.</span></span></span></li>
</ol><pre>
<code class="language-bash">$ echo -n "clearlinux" | base64
Y2xlYXJsaW51eA==
</code></pre>
<ol start="2"><li><span><span><span>The </span></span></span><code>secret.yaml</code> <span><span><span>file contains: </span></span></span></li>
</ol><pre>
<code class="language-bash">apiVersion: v1
kind: Secret
metadata:
  name: mysql-pass
type: Opaque
data:
  password: Y2xlYXJsaW51eA==
$ kubectl apply -f secret.yaml</code></pre>
<ol start="3"><li><span><span><span>With this </span></span></span><code>mysql-pass</code><span><span><span> secret, MariaDB and WordPress can get the password and pass it to MariaDB as environment variables. Here is an example of the part in <span><a href="https://github.com/clearlinux/dockerfiles/blob/master/wordpress/wordpress-deployment.yaml"><span>wordpress-deployment.yaml</span></a></span>.</span></span></span></li>
</ol><pre>
<code>    - image: clearlinux/wordpress
        name: wordpress
        imagePullPolicy: IfNotPresent
        env:
        - name: WORDPRESS_DB_HOST
          value: wordpress-mysql
        - name: WORDPRESS_DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass
              key: password</code></pre>
<ol start="4"><li><span><span><span>To expose the WordPress service to users, you must choose <span><a href="https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types"><span>ServiceTypes</span></a></span>. Choose <span><a href="https://kubernetes.io/docs/concepts/services-networking/service/#nodeport"><span>NodePort</span></a></span>. (The type <span><a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer"><span>LoadBalancer</span></a></span> is not the proper choice, because it is not running in a CSP environment.)</span></span></span></li>
</ol><pre>
<code class="language-bash">apiVersion: v1
kind: Service
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - port: 80
      nodePort: 30180
  selector:
    app: wordpress
    tier: frontend
#  type: LoadBalancer
  type: NodePort
</code></pre>
<ol start="5"><li><span><span><span>Deploy using the commands:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ kubectl apply -f mysql-deployment.yaml
service/wordpress-mysql created
deployment.apps/wordpress-mysql created
$ kubectl apply -f wordpress-deployment.yaml
service/wordpress created
configmap/nginx-config created
deployment.apps/wordpress created
</code></pre>
<ol start="6"><li><span><span><span>Check the pod status:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ kubectl get po -o wide
NAME                               READY   STATUS    RESTARTS   AGE     IP             NODE             NOMINATED NODE   READINESS GATES
nfs-provisioner-76957d5487-72twp   1/1     Running   0          68m     10.244.1.173   clr-worker1   &lt;none&gt;           &lt;none&gt;
wordpress-866d67dc78-5j2jz         2/2     Running   0          3m35s   10.244.6.4     clr-worker2       &lt;none&gt;           &lt;none&gt;
wordpress-mysql-6fbd666f76-d264f   1/1     Running   0          3m42s   10.244.6.3     clr-worker2       &lt;none&gt;           &lt;none&gt;
</code></pre>
<p><span><span><span>The database and WordPress are both deployed on node </span></span></span><code>clr-worker2</code><span><span><span>. </span></span></span></p>
<h2><span><span><span><span><strong>Set up WordPress</strong></span></span></span></span></h2>
<ol><li><span><span><span>Create an address to let users access this deployed WordPress service. Since it is <span><a href="https://kubernetes.io/docs/concepts/services-networking/service/#nodeport"><span>NodePort</span></a></span> service type, use the following commands to get the format </span></span></span><code>IP:Port</code><span><span><span>.</span></span></span></li>
</ol><pre>
<code class="language-bash">$ kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services wordpress
30180
$ IPAddr=`kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}"`
</code></pre>
<ol start="2"><li>
<p><span><span><span>This example returned the address, </span></span></span><code>http://$(IPAddr):30180</code><span><span><span>. Open a browser and input this address. The page shown below is displayed.</span></span></span></p>
</li>
</ol><!-- THEME DEBUG --><!-- THEME HOOK: 'entity_embed_container' --><!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' --><div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="29d769e0-c4fe-4d8e-9e94-9a7f2fac84fe" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/deploy-wp-3.png" width="927" height="857" alt="Figure 3" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<ol start="3"><li><span><span><span>Enter the required fields to finish the setup and login again. </span></span></span></li>
</ol><p><span><span><span>When complete, WordPress is ready to use and you may now write a blog.</span></span></span></p>
<h2><span><span><span><span><strong>Scale the WordPress service</strong></span></span></span></span></h2>
<p><span><span><span>You can scale the WordPress service by adding additional replicas or containers running the WordPress frontend that processes incoming connections. For example, to have four replicas, use the command shown below.</span></span></span></p>
<pre>
<code>$ kubectl scale deployments/wordpress --replicas=4
deployment.extensions/wordpress scaled</code></pre>
<p><span><span><span>Check the pod status. There should be four WordPress replicas that were deployed across different nodes. </span></span></span></p>
<p><span><span><span>Please note that in this example, <span><a href="https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#control-plane-node-isolation"><span>the master node was tainted</span></a></span> to be schedulable, which means one replica was deployed to the master node.</span></span></span></p>
<pre>
<code class="language-bash">$ kubectl taint nodes --all node-role.kubernetes.io/master-
$ kubectl get po -o wide
NAME                               READY   STATUS    RESTARTS   AGE   IP             NODE             NOMINATED NODE   READINESS GATES
nfs-provisioner-76957d5487-w4lss   1/1     Running   0          10m   10.244.1.174   clr-worker1   &lt;none&gt;           &lt;none&gt;
wordpress-866d67dc78-5gtzg         2/2     Running   0          8s    10.244.6.7     clr-worker2        &lt;none&gt;           &lt;none&gt;
wordpress-866d67dc78-96jxz         2/2     Running   0          8s    10.244.1.175   clr-worker1   &lt;none&gt;           &lt;none&gt;
wordpress-866d67dc78-lhd4x         2/2     Running   0          10m   10.244.6.5     clr-worker2        &lt;none&gt;           &lt;none&gt;
wordpress-866d67dc78-stsgd         2/2     Running   0          8s    10.244.0.244   clr-master          &lt;none&gt;           &lt;none&gt;
wordpress-mysql-6fbd666f76-xpb2l   1/1     Running   0          10m   10.244.6.6     clr-woker2       &lt;none&gt;           &lt;none&gt;
</code></pre>
<p><span><span><span>Congratulations!</span></span></span></p>
<p><span><span><span>Now you have a scalable WordPress instance.</span></span></span></p>
<p><span><span><span>Happy highly-available blogging!</span></span></span></p>
<p><span><span><span>As an alternative, all of the steps listed in the example above can be done in one step by using scripts<span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span><span>.</span></span></span></span></span> Refer to <span><a href="https://github.com/clearlinux/dockerfiles/tree/master/wordpress"><span>Clear Linux Dockerfiles WordPress</span></a></span> on GitHub for details.</span></span></span></p>
<h1><span><span><span><span><strong>Measuring performance</strong></span></span></span></span></h1>
<p><span><span><span>After scaling with more replicas, performance is expected to improve. This section describes how to measure the performance change itself. </span></span></span></p>
<p><span><span><span>A simple test solution can be used as a reference, by using <span><a href="https://github.com/JoeDog/siege"><span>siege, an HTTP benchmarking</span></a></span> tool, to run with replica as one and scaled to four for example. To avoid performance degradation by siege itself, run the test from a machine not joined in the Kubernetes cluster.</span></span></span></p>
<ol><li><span><span><span>Start with one replica by running these commands on the master node:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ NodeIP==`kubectl get nodes -o \ jsonpath="{.items[0].status.addresses[0].address}"`
$ kubectl scale deployments/wordpress --replicas=1
</code></pre>
<ol start="2"><li><span><span><span>From a separate test machine, start a siege load test against the Kubernetes cluster:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ siege -c 200 -t 1 -b http://$NodeIP:30180
</code></pre>
<ol start="3"><li><span><span><span>Repeat this test with replicas scaled to four using this command on the master node:</span></span></span></li>
</ol><pre>
<code>$ kubectl scale deployments/wordpress --replicas=4</code></pre>
<ol start="4"><li><span><span><span>From the separate test machine in step 2, start a siege load test against the Kubernetes cluster:</span></span></span></li>
</ol><pre>
<code class="language-bash">$ siege -c 200 -t 1 -b http://$NodeIP:30180</code></pre>
<p><span><span><span>Compare the siege test data in both replicas setting, one and four. Typically, performance is better with more replicas, but how much better can it be? It depends on many factors, including node machine performance, node machine numbers, internet speed, and throughput. </span></span></span></p>
<p><span><span><span>For example, a greater than 80% increase in the “throughput” by scaling from one to four was observed in one test environment. Try it in your environment. </span></span></span></p>
<h1><span><span><span><span><strong>Summary</strong></span></span></span></span></h1>
<p><span><span><span>This tutorial goes through a proof of concept on how to deploy a scalable WordPress on Kubernetes cluster with Clear Linux OS based containers. While it is an example, it provides insight into the scalability in the Kubernetes cluster design, while also utilizing Clear Linux OS-optimized containers for the workload. </span></span></span></p>
<ul><li><span><span><span>Download the <span><a href="https://hub.docker.com/r/clearlinux/wordpress"><span>Clear Linux* OS wordpress container image</span></a></span> </span></span></span></li>
<li><span><span><span>Learn more about Kubernetes on Clear Linux OS:</span></span></span>
<ul><li><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://docs.01.org/clearlinux/latest/tutorials/kubernetes-bp.html"><span>Kubernetes best practices</span></a></span></span></span></span></li>
<li><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://docs.01.org/clearlinux/latest/tutorials/kubernetes.html"><span>Install, configure, and start Kubernetes using CRI+O and kata-runtime</span></a></span></span></span></span></li>
</ul></li>
</ul>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="deploy-scalable-wordpress-kubernetes-clear-linux-os-containers.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,873 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31597.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Dynamically Scaling Video Inference at the Edge using Kubernetes* and Clear Linux* OS Authors: Ken Lu, Puneet Sethi" />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/dynamically-scaling-video-inference-edge" />
<meta property="og:title" content="Dynamically Scaling Video Inference at the Edge" />
<meta property="og:description" content="Dynamically Scaling Video Inference at the Edge using Kubernetes* and Clear Linux* OS Authors: Ken Lu, Puneet Sethi" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31597.html" />
<link rel="shortlink" href="../node/31597.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Dynamically Scaling Video Inference at the Edge | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/filter/filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/entity_embed/css/entity_embed.filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-dynamically-scaling-video-inference-edge nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="dynamically-scaling-video-inference-edge.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31597.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31597--full.html.twig
* node--31597.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Dynamically Scaling Video Inference at the Edge</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__author">
Puneet Sethi
</p>
<p class="blog_detail__date">19 Dec, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<h1>Dynamically Scaling Video Inference at the Edge using Kubernetes* and Clear Linux* OS</h1>
<p class="text-align-center"><em>Authors: Ken Lu, Puneet Sethi</em></p>
<h2>Introduction</h2>
<p dir="ltr">This case study describes how to redesign a traditional video inference pipeline with a monolithic architecture into a cloud-native architecture. Our use case combines edge computing and video inference. We explore how the new cloud-native architecture allows us use Kubernetes* pod scaling for a complex edge inference solution. <br /><br />
The demo source code is published on <a href="https://github.com/clearlinux/cloud-native-demos">GitHub</a>. The software uses the <a href="https://software.intel.com/en-us/openvino-toolkit">Intel® Distribution of OpenVINO™</a> and <a href="https://hub.docker.com/u/clearlinux">container images based on Clear Linux* OS</a>.</p>
<h2><br />
Background</h2>
<p dir="ltr"><a href="https://thenewstack.io/why-kubernetes-has-emerged-as-a-key-ingredient-in-edge-computing/">Kubernetes has rapidly become a key ingredient in edge computing</a>. With Kubernetes, companies can run containers at the edge in a way that maximizes resources, makes testing easier, and allows DevOps teams to move faster and more effectively as organizations consume and analyze more data in the field. </p>
<p dir="ltr">However, a challenge when moving to a container-based Kubernetes cluster is understanding how to evolve traditional software with monolithic architectures or service-oriented architectures (SOA) into cloud-native architectures that are more appropriate for <a href="https://en.wikipedia.org/wiki/Microservices">microservices</a>. </p>
<p dir="ltr">Take video inference for example: A traditional video inference pipeline includes fetching a frame from a video source, performing inference on the frame against a pre-loaded model, and outputting the result - all executed within a single thread/process. This traditional single thread/process approach has limitations: Scaling resources is complex and potentially expensive. This is problematic in a cloud environment where scaling in response to dynamic needs is necessary.  </p>
<p dir="ltr">In comparison, a modular <a href="https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it">cloud-native architecture</a> provides many benefits such as:</p>
<ul><li dir="ltr">
<p dir="ltr">Flexible deployment across cloud data centers and edge</p>
</li>
<li dir="ltr">
<p dir="ltr">Independent scaling on diverse edge hardware, supporting a variety of workloads</p>
</li>
<li dir="ltr">
<p dir="ltr">Easier operations for devops teams</p>
</li>
<li dir="ltr">
<p dir="ltr">Reduced disruption of the end-user experience</p>
</li>
</ul><h2><br />
Case Study</h2>
<p dir="ltr">Video inference is at the heart of many of edge AI solutions such as self-driving systems, smart cities, and intelligent manufacturing. We use the smart retail use case to better understand the requirements of edge AI solutions with video inference . Smart retail is a term used to describe improving all aspects of the buyer and seller experience with technology. Some potential requirements for a smart retail system using video inference are:</p>
<ul><li dir="ltr">
<p dir="ltr">When a customer enters the store, a smart store should be able to authenticate the customer and open the door at the right time.<br /><br /><strong>Solution:</strong> Have one or more cameras to detect people and perform facial recognition.</p>
</li>
<li dir="ltr">
<p dir="ltr">While a customer is browsing, a smart store should be able to recognize a customers position in the store and present a customized shopping menu to the customer.<br /><br /><strong>Solution: </strong>Have one or more cameras to do body detection/recognition and perform behavior analysis.<br />
 </p>
</li>
<li dir="ltr">
<p dir="ltr">When a customer exits the store, a smart store should be able to automatically charge payment based on the person exiting and the goods removed from the store.<br /><br /><strong>Solution: </strong>Have one or more cameras to do object detection and perform facial recognition.</p>
</li>
</ul><p dir="ltr">In practice, many cameras must be in place to meet the various inference requirements such as facial recognition, people/body recognition, and object recognition. Inference engines can run in the cloud, but increasingly are also running on local servers at the edge for real-time decision making. The need for diverse inference models that can be deployed from cloud to edge has been addressed by many cloud service providers (CSP) with solutions like <a href="https://docs.microsoft.com/en-us/azure/stream-analytics/">Azure* Stream Analytics</a> and <a href="https://aws.amazon.com/greengrass/ml/?nc1=h_ls">AWS* Greengrass</a>.</p>
<p dir="ltr">When developing an inference service, open source projects like OpenVINO can be used for flexible vertical scaling on heterogeneous edge computation hardware and accelerators, including CPU, GPU, VPU (Intel® Movidius™), and FPGA.</p>
<p dir="ltr"> </p>
<h2>Challenges with inference on Kubernetes</h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-caption="Figure 1: Monolithic designs of inference services" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="cde2966b-15fd-4474-8121-8e25f559f69f" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dsei-fig1_0.png" width="1045" height="607" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p dir="ltr">In the <a href="https://docs.openvinotoolkit.org/latest/_docs_IE_DG_Samples_Overview.html">OpenVINO documentation examples</a>, each inference engine fetches frames directly from a camera input stream, executes model detection, and reports results. This traditional monolithic design is common for edge AI devices with low-end computation resources where scaling is limited. However, in cases where more processing power is required, a powerful edge server may be needed to handle diverse workloads on a consolidated platform. This is where scaling becomes relevant and poses unique challenges. For example:</p>
<ul><li dir="ltr">
<p dir="ltr"><strong>Different inference models with different computation requirements.</strong><br />
For example, the <a href="https://docs.openvinotoolkit.org/latest/_models_intel_face_detection_adas_0001_description_face_detection_adas_0001.html">standard pre-trained facial detection model requires 2.835 GFlops computation</a>, while the <a href="https://docs.openvinotoolkit.org/latest/person-detection-retail-0002.html">pre-trained person detection model requires 12.427 GFlops computation</a>. It would not be fair to allocate the same resources for both inference services.<br />
 </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Multiple camera inputs for inference models that require more computation resources.</strong><br />
It would not be resource-effective to create separate instances of an inference service for each camera stream.<br />
 </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Multiple inference workloads.</strong><br /><a href="https://docs.openvinotoolkit.org/2018_R5/_samples_object_detection_demo_ssd_async_README.html">OpenVINO provides an asynchronous API</a> to do inference on multiple CPU threads/cores in parallel on a single node in order to improve overall frame-rate throughput. This is great for a single inference workload, but is too rigid for a Kubernetes environment managing a cluster of resources.</p>
</li>
</ul><p dir="ltr"> </p>
<h2>Transformation to a cloud-native design</h2>
<p>After identifying limitations of the traditional approach, we redesigned the inference pipeline into a cloud-native architecture. The redesign allowed us to enable dynamic, cluster-wide, horizontal scaling.</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-caption="Figure 2: Changing monolithic inferences service components to microservices for cloud native" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="18444a6b-5257-403a-9239-4e6fd634fc21" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dsei-fig2_1.png" width="1162" height="537" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p class="text-align-center"> </p>
<p>The key idea behind the transformation into cloud-native software was decoupling each component in the original single vertical inference stack into individual microservices that could scale independently. In our scenario there are five services:</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-caption="Figure 3: Diagram of interaction between decoupled cloud-native services" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="f2512eaf-f3a2-435e-9d6d-12d75f8ea504" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dsei-fig3_0.png" width="622" height="288" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p class="text-align-center"> </p>
<ol><li dir="ltr">
<p dir="ltr"><strong>Camera/Video Service.</strong><br />
Responsible for capturing individual frames from a video source (such as camera devices or online media streams) and reporting them to the Frame Queue Service. The service is a Python application with image transformation algorithms, running inside an <a href="https://hub.docker.com/r/clearlinux/openvino">OpenVINO container image based on Clear Linux OS</a> which includes an OpenCV* library with AVX2/AVX512 optimizations. </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Frame Queue Service.</strong><br />
Responsible for providing real-time frame queuing for all video/frame input for eventual processing by the Inference Service. Multiple dedicated frame queues are created for each type of model (for example a face detection queue, a body/people detection queue, or an object detection queue). The service is run inside of a <a href="https://hub.docker.com/r/clearlinux/redis">redis container image based on Clear Linux OS</a>. </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Inference Service.</strong><br />
Responsible for doing the actual video inference against trained models. It fetches the frame from the Frame Queue Service, performs the inference, and reports the resulting output to the Inferred Stream Broker Service. The service runs inside an <a href="https://hub.docker.com/r/clearlinux/openvino">OpenVINO container image based on Clear Linux OS</a>. <br /><br />
By default, the OpenVINO CPU plugin is used with <a href="https://www.intel.ai/vnni-enables-inference/">VNNI (AVX-512 Vector Neural Network Instructions)</a>, with <a href="https://github.com/intel-analytics/analytics-zoo/tree/master/pyzoo/zoo/examples/vnni/openvino">OpenVINO INT8 optimized models</a>. OpenVINO also provides a <a href="https://docs.openvinotoolkit.org/latest/_docs_IE_DG_supported_plugins_HETERO.html">heterogeneous plugin</a> to allow a single network of diverse hardware with vertical scaling capability. This means multiple inference service instances can be created to match the diverse hardware available on a Kubernetes node such as CPU, GPU, VPU (Movidius), and FPGA, with automatic workload placement. </p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Inferred Stream Broker Service. </strong><br />
Responsible for receiving the information from inferred frames and publishing the results for another application to use. The service runs inside a <a href="https://hub.docker.com/r/clearlinux/redis">redis container image based on Clear Linux OS</a>. Note that this can be the same redis instance as the Frame Queue Service.</p>
</li>
<li dir="ltr">
<p dir="ltr"><strong>Gateway Service.</strong><br />
An example output service for displaying the inferred streams in a HTML5-based single-page application (SPA). It includes the following components: </p>
<ul><li dir="ltr">Restful API service to expose the stream information made available by the Inferred Stream Broker Service. It uses Python*s Flask framework inside of a <a href="https://hub.docker.com/r/clearlinux/python">Python container image based on Clear Linux OS</a>.<br />
 </li>
<li dir="ltr">Websocket service to publish the stream via <a href="https://tools.ietf.org/html/rfc6455">WebSocket protocol</a>. The service is implemented as a I/O bound Python application and leverages Pythons coroutine and asyncio to reduce CPU allocation. The service runs inside a <a href="https://hub.docker.com/r/clearlinux/python">Python container image based on Clear Linux OS</a>.<br />
 </li>
<li dir="ltr">SPA web service to publish the front-end HTML5 page using the <a href="https://www.iviewui.com/">VUE iview</a> JavaScript framework. The SPA web service is an example of how the inferred stream data can be used. Inferred stream output is a simple queue that any application can pull from and then act on as desired. This is conducive to <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless functions</a>.</li>
</ul></li>
</ol><p dir="ltr"> </p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-caption="Figure 4: Screenshot of the SPA showing sample video feeds with object, face, and body detection. The sample video feeds are from https://github.com/intel-iot-devkit/sample-videos and licensed under the Creative Commons Attribution 4.0 International" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="fb148ba0-049c-4ac1-a5c8-411484425ee9" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dsei-fig4_0.png" width="1128" height="464" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<h2><br />
Leveraging cloud scalability</h2>
<p dir="ltr">With the components of the video inference solution split into independent services, it becomes easier to see how it can scale using standard cloud-native application scaling techniques. Beyond vertical scaling, the inference service can be scaled horizontally on Kubernetes, benefiting from its stateless design. </p>
<p dir="ltr">A custom <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/operator/">Kubernetes Operator</a> can be defined to automate additional scaling scenarios using more intelligent metrics such as CPU utilization of different models, changing the number of input streams, or changing the rate at which frames are received versus dropped from the frame queues. For example:<br />
 </p>
<ul><li dir="ltr">
<p dir="ltr">The <a href="https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/">Kubernetes Horizontal Pod Autoscaler</a> (HPA) can be enabled to schedule replicas of services dynamically. This means the replica count for each inference service on Kubernetes can be scaled according to the metrics above, not just CPU utilization.</p>
</li>
<li dir="ltr">
<p dir="ltr">If more cameras are added for face detection, then a Kubernetes Operator can increase replicas of the face inference service.</p>
</li>
<li dir="ltr">
<p dir="ltr">If the computation requirements of a new inference model are smaller than the previous model, the Kubernetes Operator can reduce the replicas of the inference service.</p>
</li>
<li dir="ltr">
<p dir="ltr">If the rate at which frames of object detection/recognition are being dropped (FPS drop) is bigger than half of the capture speed (FPS), then a Kubernetes Operator can increase the replicas of the object detection service to improve the frame rate.</p>
</li>
</ul><p dir="ltr"> </p>
<h2>Customizing the Kubernetes Horizontal Pod Autoscaler</h2>
<p>Kubernetes provides the Horizontal Pod Autoscaler feature, which automatically scales the number of pods in a replication controller, deployment, replica set, or stateful set based on observed CPU utilization.</p>
<p> </p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-caption="Figure 5: Diagram showing a custom metric “frame drop rate” being scraped by Promtheus to trigger the Kubernetes Horizontal Pod Autoscaler (HPA)" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="2e1f9497-e99e-4851-9957-100f4ad2215d" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dsei-fig5_0.png" width="1329" height="459" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p class="text-align-center"> </p>
<p>To determine when to scale, CPU utilization is a good metric to start with. However, metrics closer to the actual running services will provide more accurate data for the video inference scenario to determine when to scale up or down. For example: frame capture speed from the camera service, frame drop speed from the frame queue service, or inferred frames speed reported from the inference service.  One easy way to obtain these metrics is to use Prometheus via its push gateway service.</p>
<p> </p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-caption="Figure 6: Diagram of Prometheus metric collection" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="0d907b20-7940-4cfd-a798-f5f8c008a987" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/dsei-fig6_0.png" width="1341" height="471" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p class="text-align-center"> </p>
<p>With relevant metrics being collected and accessible, the HPA could be enabled according to the <a href="https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics">Autoscaling on multiple metrics and custom metrics</a> section of the Kubernetes documentation.</p>
<p class="text-align-center"> </p>
<h2>Conclusion</h2>
<p dir="ltr">Based on growth trends of edge computing we built a video inference solution using open-source technologies such as <a href="https://clearlinux.org/">Clear Linux OS</a>, <a href="https://software.intel.com/en-us/openvino-toolkit">OpenVINO</a>, and <a href="https://kubernetes.io/">Kubernetes</a>. We leveraged automated horizontal scaling mechanisms with improved metrics as follows:</p>
<ul><li dir="ltr">
<p dir="ltr">Identified challenges with the traditional monolithic application design used for video inference workloads.</p>
</li>
<li dir="ltr">
<p dir="ltr">Redesigned software components with a cloud-native mindset. The inference pipeline was broken into several microservices based on <a href="https://hub.docker.com/u/clearlinux/">Clear Linux OS containers</a>, which can operate independently. Using Clear Linux OS allowed our developers to automatically adopt the hardware-specific software optimizations for greater performance. </p>
</li>
<li dir="ltr">
<p dir="ltr">Deployed the redesigned software as services on a Kubernetes cluster. This allowed us to leverage the well-known horizontal scaling abilities of a cluster.  </p>
</li>
<li dir="ltr">
<p dir="ltr">Improved the Kubernetes Horizontal Pod Autoscaler to operate on metrics relevant  to our application (FPS, dropped FPS, inferred FPS) in addition to the system-level (CPU, memory, storage) metrics. </p>
</li>
</ul><p dir="ltr">While this case study focused on one scenario and problem, the techniques and tools described can be used to transform other software to performant cloud-native software.</p>
<p dir="ltr">We encourage you to review the <a href="https://github.com/clearlinux/cloud-native-demos">source code on GitHub</a>,  check out the benefits of <a href="../node/31099.html">Clear Linux OS</a>, and <a href="https://community.clearlinux.org/">let us know</a> what other cloud and edge problems youd like to see solved!</p>
<p dir="ltr"> </p>
<p dir="ltr"> </p>
<blockquote>
<p dir="ltr"><strong>Notice and disclaimers</strong></p>
<p dir="ltr">Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at <a href="http://www.intel.com">www.intel.com</a>.</p>
<p dir="ltr">Performance results are based on testing and may not reflect all publicly available security updates. See configuration disclosure for details. No product can be absolutely secure. Cost reduction scenarios described are intended as examples of how a given Intel-based product, in the specified circumstances and configurations, may affect future costs and provide cost savings. Circumstances will vary. Intel does not guarantee any costs or cost reduction.</p>
<p dir="ltr">Tests document performance of components on a particular test, in specific systems. Differences in hardware, software, or configuration will affect actual performance. For more complete information about performance and benchmark results, visit <a href="http://www.intel.com/benchmarks">http://www.intel.com/benchmarks</a>.</p>
<p dir="ltr">Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit <a href="http://www.intel.com/benchmarks">http://www.intel.com/benchmarks</a>.</p>
</blockquote>
<p dir="ltr"> </p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="dynamically-scaling-video-inference-edge.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
+493
View File
@@ -0,0 +1,493 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31108.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="The Clear Linux* OS team set out to build a Linux OS with the best performance possible on Intel® Architecture. Naturally, we wanted to streamline our development. We started chipping away at a development environment where the user experience is tailored towards Linux developers, one daily release at a time. Early adopters have already provided us valuable user experience input influencing us to provide new images, an updated installer, software store, and forum to better connect to our community." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/linux-os-linux-developers" />
<meta property="og:title" content="A Linux* OS for Linux Developers" />
<meta property="og:description" content="The Clear Linux* OS team set out to build a Linux OS with the best performance possible on Intel® Architecture. Naturally, we wanted to streamline our development. We started chipping away at a development environment where the user experience is tailored towards Linux developers, one daily release at a time. Early adopters have already provided us valuable user experience input influencing us to provide new images, an updated installer, software store, and forum to better connect to our community." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31108.html" />
<link rel="shortlink" href="../node/31108.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>A Linux* OS for Linux Developers | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/filter/filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/entity_embed/css/entity_embed.filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-linux-os-linux-developers nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="linux-os-linux-developers.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31108.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31108--full.html.twig
* node--31108.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>A Linux* OS for Linux Developers</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__author">
Ianeta Hutchinson
</p>
<p class="blog_detail__date">14 May, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p>The Clear Linux* OS team set out to build a Linux OS with the best performance possible on Intel® Architecture. Naturally, we wanted to streamline our development. We started chipping away at a development environment where the user experience is tailored towards Linux developers, one daily release at a time. Early adopters have already provided us valuable user experience input influencing us to provide new images, an updated installer, <a href="https://clearlinux.org/software">software store</a>, and <a href="https://community.clearlinux.org">forum</a> to better connect to our community. We need your continued input to help make the Clear Linux OS ideal for your development needs.</p>
<p>What we have to offer:</p>
<p><strong>Streamlined development tools and workflows. </strong>We leverage open source, cross-platform technologies and bundle content to get developers to productivity faster. Our `basic` bundles are curated to provide all the relevant developer tools that can be added in one command - `<a href="../node/30201.html">c-basic</a>` for developing in C, and `<a href="../node/30225.html">containers-basic</a>` for container use-cases. Community feedback helps us to keep improving our use-case specific bundles while we also make more granular bundles available as requested.</p>
<p>Getting back to a known good state is effortless for Clear Linux developers. Because the Clear Linux OS employs a stateless design concept, developers avoid losing time resolving conflicts between OS, user, and system configurations by tracking different classes of configurations in different locations. A factory reset is as easy as deleting `/etc` and `/var` repositories and rebooting.</p>
<p>Were also eliminating the need to context-switch while debugging. The online FUSE debug system is a developer-centered feature that dynamically pulls debug info throughout a debug session. This means Clear Linux developers dont have to hunt down and install additional packages to debug. Were looking to improve this experience further with your feedback!</p>
<p><strong>The ability to compile fast code, fast. </strong>For a distro looking to serve developers who pump out optimized code, being on the latest compiler is an absolute necessity. Were currently running GCC9 and are poised to move to GCC10 as soon as it becomes available. The Clear Linux OS has always been very aggressive with applying compiler flags to optimize builds and we look forward to continuing this trend. Well also continue with our multiple-build approach so that those who arent flying with Intel® Advanced Vector Extensions 512 (Intel® AVX-512) optimizations, are still getting bang for their Intel® AVX2 buck.</p>
<p><strong>Stays in lockstep with upstream.</strong> Clear Linux OSs rolling release allows us to ensure that security mitigations that are available are included in the next release without any unreasonable delay. This vigilance on security together with a foundation of proven performance allows for a substantial head start to building a performant product. The Clear Linux OS stays close to the upstream kernel, incorporating commits that enable Intel® CPU features without delay, and the optimized libraries included in our Clear Linux distro have contributed towards notable performance <strong><a href="https://www.phoronix.com/scan.php?page=article&amp;item=ubuntu-1904-first&amp;num=1">results.</a></strong></p>
<p><strong><a href="../node/31100.html">Try us out! </a></strong></p>
<p>If you are using a desktop, we provide a multitude of desktop options to choose from to suit your needs. We currently ship the GNOME desktop by default, Plasma, and XFCE desktop environments as well as having LXQt, Awesome, and i3 also available. We chose not to lock developers into one desktop option so that youre able to combine different desktop tools for greater flexibility and customization options.</p>
<p>Check out our new website where weve added a <a href="../node/31103.html">specific area for developers.</a> We are excited to hear your input in helping us enable more Linux developers to create superior code.</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-type="media" data-entity-uuid="74c522f7-d2d7-4b6a-9206-5236dad4294f" data-langcode="en" data-entity-embed-display-settings="[]" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/clear-desktop.PNG" width="455" height="254" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<hr /><p><em><sup>1 </sup>FTC Optimization Notice: Optimization Notice: Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice Revision #20110804</em></p>
<p><em><sup>2 </sup>Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer. No product or component can be absolutely secure.</em></p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="linux-os-linux-developers.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
+740
View File
@@ -0,0 +1,740 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31877.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="by Victor Rodriguez Bahena Discover some of the latest features of GCC release 10.1, integrated in Clear Linux OS, and learn how to use them." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/major-improvements-gcc-101" />
<meta property="og:title" content="Major improvements in GCC 10.1" />
<meta property="og:description" content="by Victor Rodriguez Bahena Discover some of the latest features of GCC release 10.1, integrated in Clear Linux OS, and learn how to use them." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31877.html" />
<link rel="shortlink" href="../node/31877.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Major improvements in GCC 10.1 | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-major-improvements-gcc-101 nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="major-improvements-gcc-101.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31877.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31877--full.html.twig
* node--31877.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Major improvements in GCC 10.1</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">27 Jul, 2020</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p class="normal"><em>by Victor Rodriguez Bahena</em></p>
<p class="normal">Discover some of the latest features of GCC release 10.1, integrated in Clear Linux OS, and learn how to use them.</p>
<h2><span><span><span><span><span><span>Introduction</span></span></span></span></span></span></h2>
<p><span><span><span><span><span><span>It's been 33 years since the first release of GCC, and the GNU community keeps offering new features that surprise and inspire the imagination of developers.  In 2020, the GNU* Compiler Collection (GCC) community gladly announced another major release, GCC 10.1. This release came with various optimization enhancements and bug fixes, several new hardware enablement changes, and enhancements to the compiler back-ends. </span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>In the Clear Linux* Project, we want our users to easily access these new technologies to improve applications for customers by boosting their performance and providing a more robust layer of security protection against attacks. Included in GCC 10.1 is a new static analysis system that detects potential security vulnerabilities. This helps to speed up the development cycle as well as reduce debug time. In this blog post, I review some of the latest features of GCC release 10.1 already present in Clear Linux, explain some of their pros and cons, and show how to use them.  I presented parts of this material as </span></span></span></span></span></span><a href="https://elinux.org/images/2/26/Tool_chain_update_Victor_R.pdf"><span><span><span><span><span><span><span><span>Toolchains in the New Era</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> at the Embedded Linux* Conference 2020. </span></span></span></span></span></span></p>
<h3><span><span><span><span><span><span>Security (-fanalyzer)</span></span></span></span></span></span></h3>
<p><span><span><span><span><span><span>In the GCC release 10.1 a new option, </span></span></span></span></span></span><em><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"><span><span><span><span><span><span><span><span>-fanalyzer</span></span></span></span></span></span></span></span></a></em><span><span><span><span><span><span>, was introduced to enable a new static analysis pass and associated warnings. This pass performs an exploration of paths through the code in the hope of detecting various common errors. Static security analysis is one of the many code review tools that can be implemented without executing the software. Enabling this option effectively activates </span></span></span></span></span></span><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"><span><span><span><span><span><span>some</span></span></span></span></span></span></a><span><span><span><span><span><span> of these warnings:</span></span></span></span></span></span></p>
<ul><li><span><span><span><span><span><span>Wanalyzer-double-fclose</span></span></span></span></span></span></li>
<li><span><span><span><span><span><span>Wanalyzer-double-free</span></span></span></span></span></span></li>
<li><span><span><span><span><span><span>Wanalyzer-exposure-through-output-file</span></span></span></span></span></span></li>
<li><span><span><span><span><span><span>Wanalyzer-file-leak</span></span></span></span></span></span></li>
<li><span><span><span><span><span><span>Wanalyzer-free-of-non-heap</span></span></span></span></span></span></li>
<li><span><span><span><span><span><span>Wanalyzer-malloc-leak</span></span></span></span></span></span></li>
</ul><p><span><span><span><span><span><span>Having a static analysis tool native at compilation time can help to improve developer productivity. These warnings help developers to catch security vulnerabilities early. </span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>One static analysis tool is the </span></span></span></span></span></span><span><span><span><span><em><span>Wanalyzer-double-free</span></em></span></span></span></span><span><span><span><span><span><span> warning that detects situations when </span></span></span></span></span></span><span><span><span><span><em><span>free() </span></em></span></span></span></span><span><span><span><span><span><span>is called more than once with the same memory address as an argument. When a program calls </span></span></span></span></span></span><span><span><span><span><em><span>free()</span></em></span></span></span></span><span><span><span><span><span><span> twice with the same argument, the programs memory management data structures become corrupted and could allow a malicious user to write values in arbitrary memory spaces. This corruption can cause the program to crash or, in some circumstances, alter the execution flow.</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>David Malcom explains the motivation behind </span></span></span></span></span></span><a href="https://developers.redhat.com/blog/2020/03/26/static-analysis-in-gcc-10/"><span><span><span><span><span><span><span><span>Static analysis in GCC 10</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> , where he applies the tool to an actual bug, CVE-2005-1689, showing how double free memory is exploited. This security bug was discovered on the Kerberos* computer-network authentication protocol a few years ago. The double free vulnerability in the krb5_recvauth function in MIT Kerberos 5 (krb5), in versions 1.4.1 and earlier, allows remote attackers to execute arbitrary code via certain error conditions. When doing a compilation with GCC10 and the new flag <em>-fanalyzer</em>,a warning appears on the same line of code where the</span></span></span></span></span></span><a href="http://web.mit.edu/kerberos/advisories/2005-003-patch_1.4.1.txt"><span><span><span><span><span><span> </span></span></span></span></span></span><span><span><span><span><span><span><span><span>patch</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> for the fix is present.  Developers  can also take advantage of other flags, such as <em>-fdiagnostics-format=json</em> and <em>-fdiagnostics-path-format=separate-events</em>.  An automation process can be implemented using these flags to post-process the verbose output log of the compiler in JSON format. This can be  published as an HTML report, providing automated security checks. </span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>Another example of a security vulnerability warning, present in <em>-fanaliyzer</em>, is </span></span></span></span></span></span><span><span><span><span><em><span>Unsafe-call-within-signal-handler</span></em></span></span></span></span><span><span><span><span><span><span>. A signal handler is a function which is called when the corresponding signal (a software interrupt delivered to a process) occurs. This diagnostic warns for paths through the code in which a function known to be async-signal-unsafe, such as fprintf,  is called from a signal handler. </span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>There are several circumstances where a function uses a signal handler that may result in the corruption of memory due to exploits of the process. Attackers may be able to exploit a signal handler to cause the software state to be corrupted, possibly leading to a denial of service or even code execution. The following code sample shows how the </span></span></span></span></span></span><span><span><span><span><em><span>Unsafe-call-within-signal-handler </span></em></span></span></span></span><span><span><span><span><span><span>warning detects a printf vulnerability. </span></span></span></span></span></span></p>
<pre>
<code>#include &lt;stdio.h&gt;
#include &lt;signal.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
void handle_sigint(int sig){
       if (sig == SIGINT){
             printf("SIGNAL: %d", sig);
             exit(-1);
    }
}
int main() {
             signal(SIGINT, handle_sigint);
             while (1)
             sleep(1);
             return 0;
}</code></pre>
<p><span><span><span><span><span><span>In the following example, the compiler warns us from a call to printf from within the signal handler. CWE-479  identifies a Signal Handler Use of a Non-reentrant Function, found in the common weakness enumeration (CWE™) database. A Non-reentrant function is a kind of function that cannot safely be called, interrupted, and then recalled before the first call has finished without resulting in memory corruption [2]. </span></span></span></span></span></span></p>
<pre>
<code>$ gcc test.c -fanalyzer
test.c: In function handle_sigint:
test.c:8:3: warning: call to printf from within signal handler [CWE-479]
[-Wanalyzer-unsafe-call-within-signal-handler]
    8 |   printf("SIGNAL: %d", sig);
     |    ^~~~~~~~~~~~~~~~~~~~~~~~~
main: events 1-2
     |
     |   13 | int main() {
     |          |          ^~~~
     |          |          |
     |          |         (1) entry to main
     |     14 |         signal(SIGINT, handle_sigint);
     |          | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     |          |          |
     |          |          (2) registering handle_sigint as signal handler
     |
event 3
     |
     | cc1:
     |    (3): later on, when the signal is delivered to the process
     |
     +--&gt; handle_sigint: events 4-7
     |
     |           6 | void handle_sigint(int sig){
     |             |        ^~~~~~~~~~~~~
     |             |        |
     |             |       (4) entry to handle_sigint
     |            7  |  if (sig == SIGINT){
     |             |        ~
     |             |         |
     |             |       (5) following true branch (when sig == 2)...
     |            8   |     printf("SIGNAL: %d", sig);
     |             |   ~~~~~~~~~~~~~~~~~~~~~~~~~
     |             |   |
     |             |   (6) ...to here
     |             |   (7) call to printf from within signal handler    
</code></pre>
<p><span><span><span><span><span><span>After being warned about this security issue, a developer can adjust the code in </span></span></span></span></span></span>multiple <span><span><span><span><span><span>ways to ensure that non-reentrant functions are not present in the signal handlers, or ensure that theyre not being called outside the handler when the signal happens.</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>Despite the advantages of the new <em>-fanalyzer</em> static analysis system, there are some disadvantages. One of these is the large amount of spurious warnings/errors generated on the output log. As shown earlier, developers can take advantage of flags such as <em>-fdiagnostics-format=json</em> and <em>-fdiagnostics-path-format=separate-events</em> in order to post-process the output logs. The GCC community is investing time improving this to make developers pay attention to errors that matter and enhance the development speed.</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>Another disadvantage of <em>-fanalyzer</em> is the large amount of time it takes to run the analysis, which could slow down developer productivity. We should evaluate further the increase in compilation time and the fact that non-C code is unlikely to work (this analysis is much more expensive than other GCC warnings). I should acknowledge that the  analyzer is in an experimental state; however I believe that the developer community will leverage and improve the static code analyzer available at the compiler. For more information about <em>-fanalyzer</em>, please refer to the </span></span></span></span></span></span><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"><span><span><span><span><span><span>official GNU</span></span></span></span></span></span></a><span><span><span><span><span><span> documentation</span></span></span></span></span></span><span><span><span><span><span><span> as well as the great work done in </span></span></span></span></span></span><a href="https://developers.redhat.com/blog/2020/03/26/static-analysis-in-gcc-10/"><span><span><span><span><span><span><span><span>Static analysis in GCC 10</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span> blog.</span></span></span></span></span></span></p>
<h2><span><span><span><span><span><span>Profiling</span></span></span></span></span></span></h2>
<p><span><span><span><span><span><span>Commonly, compilers have a section called code-optimization. The code-optimization phase attempts to improve the intermediate code so that better target code could be generated. Usually, better means faster, yet other objectives may also be desired, such as shorter code, better memory management, or target code that consumes less power. [3]</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>The compilers do these optimizations by using known heuristics, making most probable guesses about code execution. However, having exact information about which paths are taken during execution of the code, could help the compiler to avoid guessing and take the best action that best suits the needs of the users of the program. The profile-guided optimization (PGO) solves this problem. But how?</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>The PGO method is used by compilers to produce optimal code by analyzing application runtime data. Because this data comes directly from the application, the compiler can make much more accurate decisions. PGO optimizations have some significant advantage over traditional static optimizations as they are based upon how the application is likely to perform in a production environment. This allows the compiler to optimize for speed for common code paths and optimize for size for uncommon user scenarios. The result is faster and smaller code for the application with significant performance gains.</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>The PGO consists of three phases: </span></span></span></span></span></span></p>
<ul><li><span><span><span><strong><span><span>Instrumentation</span></span></strong></span></span></span><span><span><span><span><span><span> : A compiler produces an instrumented binary that tracks and records  information, such as direction taken by branches as well as the number of times a basic block runs.</span></span></span></span></span></span>
<ul><li><em><span><span><span><span><span><span>gcc -fprofile-generate=&lt;profile_dir&gt; my_app.c -o my_app_instrumented</span></span></span></span></span></span></em></li>
</ul></li>
<li><span><span><span><strong><span><span>Profiled execution</span></span></strong></span></span></span><span><span><span><span><span><span> : Developers must execute the instrumented binary in the same way as users are expected to run the applications. Benchmarks and test cases are useful for this phase.</span></span></span></span></span></span>
<ul><li><em><span><span><span><span><span><span>./my_app_instrumented</span></span></span></span></span></span></em></li>
</ul></li>
<li><span><span><span><strong><span><span>Optimization</span></span></strong></span></span></span><span><span><span><span><span><span>: Information from the profiled execution compiler can better estimate the programs control flow. The compiler produces a new executable file, relying on runtime information rather than the static heuristics.</span></span></span></span></span></span>
<ul><li><em><span><span><span><span><span><span>gcc -fprofile-use=&lt;profile_dir&gt; my_app.c</span></span></span></span></span></span></em></li>
</ul></li>
</ul><p><span><span><span><span><span><span>In the GCC release 10.1, a new option for profiling: <em>-</em></span></span></span></span></span></span><em><span><span><span><span><span><span>fprofile-partial-training</span></span></span></span></span></span></em><span><span><span><span><span><span> was introduced apart from </span></span></span></span></span></span><em><span><span><span><span><span><span>-fprofile-use</span></span></span></span></span></span></em><span><span><span><span><span><span>. With <em>-fprofile-use</em> (Figure 1) all portions of programs not executed during the training run are optimized aggressively for size rather than speed. </span></span></span></span></span></span></p>
<p><img alt="Regular fprofile-use flow" data-entity-type="file" data-entity-uuid="949d3a71-1bed-4300-a46d-f4f4dda84a23" src="../sites/default/files/inline-images/test_1.png" width="820" height="335" loading="lazy" /></p>
<p><strong><span><span><span><span><span><span>Figure 1 Regular fprofile-use flow</span></span></span></span></span></span></strong></p>
<p><span><span><span><span><span><span>As shown in Figure 1, its not always practical to train all possible paths in the program. There might be blocks that are not covered during the profile execution due to the scope of the benchmark or test case. What happens when the users corner cases are not included in the profiled execution? Should they experience bad performance?</span></span></span></span></span></span></p>
<p><br /><span><span><span><span><span><span>With</span></span></span></span></span></span><span><span><span><span><span><span> <em>-fprofile-partial-training</em> </span></span></span></span></span></span><span><span><span><span><span><span>(Figure 2) profile feedback will be ignored for all functions not executed during a training run, which leads them to be optimized as if they were compiled without profile feedback and should not be optimized for size. </span></span></span></span></span></span></p>
<p> </p>
<p><img alt="New fprofile-partial-training flow" data-entity-type="file" data-entity-uuid="9f35233b-d7bb-41b4-87a5-1f30a0ba5151" src="../sites/default/files/inline-images/test_2-1.png" width="820" height="335" loading="lazy" /></p>
<p><strong><span><span><span><span><span><span>Figure 2 New fprofile-partial-training flow</span></span></span></span></span></span></strong></p>
<p><span><span><span><span><span><span>Some of the most </span></span></span></span></span></span><a href="https://developer.ibm.com/technologies/systems/articles/gcc-profile-guided-optimization-to-accelerate-aix-applications/"><span><span><span><span><span><span>common</span></span></span></span></span></span></a><span><span><span><span><span><span> and effective techniques during profile optimizations are function inlining, block ordering, and register allocation, among others. Following is a very simple example where profile optimizations improve the code:</span></span></span></span></span></span></p>
<pre>
<code>#include &lt;stdio.h&gt;
#include &lt;time.h&gt;
#include &lt;stdlib.h&gt;
void B(int n);
int L(int n);
void B(int n){
printf("Fibonacci !!!\n");
int i, t1 = 0, t2 = 1, nextTerm;
for (i = 1; i &lt;= n; ++i) {
printf("%d, ", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
}
int L(int n){
// Lucas number
if (n == 0)
return 2;
if (n == 1)
return 1;
return L(n - 1) +
L(n - 2);
}
int main(int argc, char *argv[]){
int i, n;
time_t t;
srand((unsigned) time(&amp;t));
int rand_num = rand() % 50;
printf("Random number = %d\n", rand_num);
if(argc&gt;=2)
B(rand_num);
else
printf("Lucas number:%d\n",L(rand_num));
return 0;
}
</code></pre>
<p><span><span><span><span><span><span>When we compile this code in Clear Linux* OS version 33470 ( </span></span></span></span></span></span><span><span><span><span><span><span>gcc profiling.c</span></span></span></span></span></span><span><span><span><span><span><span>), we see that the order of the execution inside the main function represents the logic that we had in the source code: </span></span></span></span></span></span></p>
<pre>
<code>if(argc&gt;=2)
B(rand_num);
else
printf("Lucas number:%d\n",L(rand_num));
000000000000121c &lt;main&gt;:
[...]
1269: jle 127e &lt;main+0x62&gt;
126d: callq 1189 &lt;B&gt;
[...]
127e: mov %ebx,%edi
1280: callq 11e8 &lt;L&gt;
</code></pre>
<p><span><span><span><span><span><span>Here we compile with </span></span></span></span></span></span><em><span><span><span><span><span><span>-fprofile-generate=. .</span></span></span></span></span></span></em></p>
<pre>
<code>gcc -fprofile-generate=./data profile.c -o profile
</code></pre>
<p><span><span><span><span><span><span>When we execute the binary without any argument, the branch that is always chosen is the </span></span></span></span></span></span><strong><span><span><span><span><span><span>else</span></span></span></span></span></span></strong><span><span><span><span><span><span><strong> part</strong> of the control flow. After this, the profile data stored in ./data directory will inform the compiler that the Lucas function is the one that has to be considered first.</span></span></span></span></span></span></p>
<pre>
<code>if(argc&gt;=2)
B(rand_num);
else
printf("Lucas number:%d\n",L(rand_num));
</code></pre>
<pre>
<code>$ ./profiling
Rand number = 40
Lucas number:228826127
$ ./profiling
Rand number = 11
Lucas number:199
$ ./profiling
Rand number = 44
Lucas number:1568397607
$ ./profiling
Rand number = 40
Lucas number:228826127</code></pre>
<p><span><span><span><span><span><span>When we recompile the code with this information we can see that the order of logic has changed and the function used to calculate the Lucas number is closer to main since it is the function that has been executed more during our training use case: </span></span></span></span></span></span></p>
<pre>
<code>$ gcc -fprofile-use=./data profiling.c -o profiling</code></pre>
<pre>
<code>0000000000001189 &lt;main&gt;:
11c0: callq 1040 &lt;printf@plt&gt;
11c5: cmp $0x1,%ebx
11c8: jg 11f0 &lt;main+0x67&gt;
11ca: mov %ebp,%edi
11cc: callq 11f9 &lt;L&gt;
[...]
11f0: mov %ebp,%edi
11f2: callq 122e &lt;B&gt;
11f7: jmp 11e4 &lt;main+0x5b&gt;</code></pre>
<p><span><span><span><span><span><span>At this point we can see that the compiler has made a better decision based on the runtime information. However, what happens with the functions not exercised during runtime execution? When we compare </span></span></span></span></span></span><a href="https://github.com/VictorRodriguez/hobbies/blob/master/c_programing_exercises/profiling/documentation/fibonacci_wo_profiling.md"><span><span><span><span><span><span><span><span>function B</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span>, untouched during runtime execution after the compiler optimizes with </span></span></span></span></span></span><span><span><span><span><span><span><em>-fprofile-use=</em>,</span></span></span></span></span></span><span><span><span><span><span><span> we see that the compiler does some </span></span></span></span></span></span><a href="https://github.com/VictorRodriguez/hobbies/blob/master/c_programing_exercises/profiling/documentation/fibonacci_w_profiling.md"><span><span><span><span><span><span><span><span>optimizations</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><a href="https://github.com/VictorRodriguez/hobbies/blob/master/c_programing_exercises/profiling/documentation/fibonacci_w_profiling.md"> </a>that we didnt request.</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>When we compile with the new GCC 10 option </span></span></span></span></span></span><em><span><span><span><span><span><span>-fprofile-partial-training</span></span></span></span></span></span></em><span><span><span><span><span><span>, were asking the compiler to ignore all functions not executed during the training run:</span></span></span></span></span></span></p>
<pre>
<code>$ gcc -fprofile-partial-training -fprofile-use=./data profile.c -o profile
</code></pre>
<p><span><span><span><span><span><span>Analyzing the </span></span></span></span></span></span><a href="https://github.com/VictorRodriguez/hobbies/blob/master/c_programing_exercises/profiling/documentation/fibonacci_wo_optimizations.md"><span><span><span><span><span><span><span><span>binary</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><a href="https://github.com/VictorRodriguez/hobbies/blob/master/c_programing_exercises/profiling/documentation/fibonacci_wo_optimizations.md"> </a>generated by the compiler, we see the expected results in the Fibonacci function.  While it may seem counterintuitive to create a function without any kind of optimizations, in reality by not having any optimization, the code becomes neutral. This produces better performance for all the paths, even when the training run is not representative and leads to significantly more code. Before  <em> </em></span></span></span></span></span></span><span><span><span><span><span><span><em>fprofile-partial-training</em>, </span></span></span></span></span></span><span><span><span><span><span><span>some optimizations could have a slight negative impact on non-profiled code paths. </span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>There are other profile options included on the GCC release 10.1, such as </span></span></span></span></span></span><em><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Instrumentation-Options.html#index-fprofile-reproducible"><span><span><span><span><span><span>-fprofile-reproducible</span></span></span></span></span></span></a></em><span><span><span><span><span><span> which controls the level of reproducibility of profiles gathered by </span></span></span></span></span></span><em><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Instrumentation-Options.html#index-fprofile-generate"><span><span><span><span><span><span>-fprofile-generate</span></span></span></span></span></span></a></em><span><span><span><span><span><span>. This is useful for distribution packages. For more information about profile-partial-training  please refer to the </span></span></span></span></span></span><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"><span><span><span><span><span><span>official GNU</span></span></span></span></span></span></a><span><span><span><span><span><span><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"> documentatio</a>n.</span></span></span></span></span></span></p>
<h2><span><span><span><span><span><span>Code health (-fno-common)</span></span></span></span></span></span></h2>
<p><span><span><span><span><span><span>One of the most </span></span></span></span></span></span><a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678"><span><span><span><span><span><span><span><span>controversial</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678"> </a>changes is that now GCC 10 defaults to <em>-fno-common</em>. As a result, GCC will reject multiple definitions of global variables, as shown here:</span></span></span></span></span></span></p>
<pre>
<code>$ cat a.c
int a = 10;
$ cat main.c
int a;
int main(){}
$ gcc a.c main.c -o main
/usr/bin/ld: /tmp/ccNzXJEe.o:(.bss+0x0): multiple definition of `a'; /tmp/cc55Za4a.o:(.data+0x0): first defined here
collect2: error: ld returned 1 exit status
</code></pre>
<p><span><span><span><span><span><span>There are two ways to fix this problem: </span></span></span></span></span></span></p>
<ul><li><span><span><span><span><span><span>Explicitly mark declarations as such and avoid multiple definitions in order to fix the bug. In the C programming language, an external variable<br />
is a variable defined outside any function block</span></span></span></span></span></span>
<pre>
<code>extern int a = 10;</code></pre>
</li>
<li><span><span><span><span><span><span>As a workaround, legacy C code where all tentative definitions should be placed into a common block can be compiled with -fcommon</span></span></span></span></span></span>
<pre>
<code>gcc a.c main.c -o main -fcommon</code></pre>
</li>
</ul><p><span><span><span><span><span><span>The addition of <em>-fno-common </em>will force other maintainers to adapt their packages to accommodate it. Some distributions and upstream projects already have </span></span></span></span></span></span><a href="https://bugs.gentoo.org/705764"><span><span><span><span><span><span><span><span>patches</span></span></span></span></span></span></span></span></a><span><span><span><span><span><span><a> </a>to fix these problems. For more information about <em>-fanalyzer</em> please refer to the </span></span></span></span></span></span><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"><span><span><span><span><span><span>official GNU</span></span></span></span></span></span></a><span><span><span><span><span><span><a href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Static-Analyzer-Options.html"> documentation</a>.</span></span></span></span></span></span></p>
<h2><span><span><span><span><span><span>Conclusion</span></span></span></span></span></span></h2>
<p><span><span><span><span><span><span>With the early adoption of the latest GNU toolchain technologies, the Clear Linux Project sustains its leading-edge adoption of the latest open source technologies. GCC release 10.1 provides features to help developers detect security vulnerabilities and improve performance based on real use cases and new instructions for incoming hardware. In the Part 2 of this blog series, I will cover </span></span></span></span></span></span><span><span><span><span><span><span>changes to improve control flow enforcement technology (CET) support and the new instructions for the Cooper Lake processors, among others changes in GCC10.</span></span></span></span></span></span><span><span><span><span><span><span>There is always extra work on the enablement of new toolchains. However in the Clear Linux team, we believe that this effort is worth it, since these new capabilities inspire the imagination of developers across the world.</span></span></span></span></span></span></p>
<h2><span><span><span><span><span><span>Call to Action</span></span></span></span></span></span></h2>
<p><span><span><span><span><span><span>Want to get involved?</span></span></span></span></span></span></p>
<p><span><span><span><span><span><span>Join the GCC GNU mailing list:</span></span></span></span></span></span><a href="https://gcc.gnu.org/ml/gcc/"><span><span><span><span><span><span><span><span> https://gcc.gnu.org/ml/gcc/</span></span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span>Find out more about the Clear Linux Project: </span></span></span></span></span></span></p>
<ul><li><span><span><span><span><span><span>Site:</span></span></span></span></span></span><a href="https://clearlinux.org"><span><span><span><span><span><span><span><span>clearlinux.org</span></span></span></span></span></span></span></span></a></li>
<li><span><span><span><span><span><span>Twitter:</span></span></span></span></span></span><a href="https://twitter.com/clearlinux"><span><span><span><span><span><span><span><span> @clearlinux</span></span></span></span></span></span></span></span></a></li>
<li><span><span><span><span><span><span>Forum:</span></span></span></span></span></span><a href="https://community.clearlinux.org/"><span><span><span><span><span><span><span><span>community.clearlinux.org</span></span></span></span></span></span></span></span></a></li>
</ul><h2><span><span><span><span><span><span>References</span></span></span></span></span></span></h2>
<p><span><span><span><span><span><span>[1] </span></span></span></span></span></span><a href="https://owasp.org/www-community/vulnerabilities/Doubly_freeing_memory"><span><span><span><span><span><span><span><span>https://owasp.org/www-community/vulnerabilities/Doubly_freeing_memory</span></span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span>[2] </span></span></span></span></span></span><a href="https://www.gnu.org/software/libc/manual/html_node/Nonreentrancy.html"><span><span><span><span><span><span><span><span>https://www.gnu.org/software/libc/manual/html_node/Nonreentrancy.html</span></span></span></span></span></span></span></span></a></p>
<p><span><span><span><span><span><span>[3] Aho, A. V., Lam, M. S., Sethi, R., Ullman, J. D., &amp; Aho, A. V. (2007). Compilers: Principles, techniques, &amp; tools. Pp 10</span></span></span></span></span></span></p>
<p> </p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="major-improvements-gcc-101.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,831 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31385.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="Minimizing Clear Linux* OS container size via a multi-stage build By Jianjun Liu, Rusty Lynch, and Qi Zheng" />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/minimizing-clear-linux-os-container-sizes" />
<meta property="og:title" content="Minimizing Clear Linux* OS container sizes" />
<meta property="og:description" content="Minimizing Clear Linux* OS container size via a multi-stage build By Jianjun Liu, Rusty Lynch, and Qi Zheng" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31385.html" />
<link rel="shortlink" href="../node/31385.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Minimizing Clear Linux* OS container sizes | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/filter/filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/entity_embed/css/entity_embed.filter.caption.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-minimizing-clear-linux-os-container-sizes nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="minimizing-clear-linux-os-container-sizes.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31385.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31385--full.html.twig
* node--31385.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_5.html' title='Maintenance'>Maintenance</a>
, <a tabindex='3' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Minimizing Clear Linux* OS container sizes</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">30 Aug, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p class="text-align-center"><strong>Minimizing Clear Linux* OS container size via a multi-stage build</strong></p>
<p class="text-align-center"><em>By Jianjun Liu, Rusty Lynch, and Qi Zheng</em></p>
<hr /><h1> </h1>
<h1><span><span><span><span>Introduction</span></span></span></span></h1>
<p><span><span><span>This document describes how multi-stage build (a feature introduced in Docker* 17.05) helps to minimize the size of Clear Linux* OS containers, as well as minimizing the Clear Linux OS bundle size itself. We explain how we used multi-stage build to significantly reduce the size of the clearlinux/redis Dockerfile from 225MB to 55.9MB.</span></span></span></p>
<h1><span><span><span><span>Concepts</span></span></span></span></h1>
<p><span><span><span>A Docker <em>image </em>is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables, and configuration files. Its an immutable Docker container.A <em>Dockerfile</em> contains all the commands to build a Docker image.</span></span></span></p>
<p><span><span><span>A Docker <em>container </em>is a runtime instance of a Docker image—what the image becomes in memory when actually executed. It runs completely isolated from the host environment by default, only accessing host files and ports if configured to do so. </span></span></span></p>
<p><span><span><span>A Docker image is built up from a series of <em><span><a href="https://docs.docker.com/storage/storagedriver/"><span>layers</span></a></span></em>. Each layer represents an instruction in the images Dockerfile. Each layer except the very last one is read-only.</span></span></span></p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="21cb7a95-d042-4375-8df6-bfb3074b4c1d" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/min-cont-fig1.png" width="675" height="469" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p class="text-align-center"><a href="https://docs.docker.com/storage/storagedriver/">Image source</a></p>
<p><span><span><span>Reducing Docker image size is important for saving disk space, for quickly deploying images across a network, and for running on devices with limited storage size. </span></span></span></p>
<h2><span><span><span><span>Multi-stage build</span></span></span></span></h2>
<p><span><span><span>The multi-stage build feature allows you to create multiple intermediate images from the same Dockerfile. With multi-stage builds, you use multiple FROM statements in your Dockerfile. Each FROM instruction can use a different base, and each of them begins a new stage of the build. You can selectively copy artifacts from one stage to another, leaving behind everything you dont want in the final image. For example, multi-stage build can allow you to have a smaller final image by not including your application build dependencies.</span></span></span></p>
<p><span><span><span>You can read more about multi-stage builds <span><a href="https://docs.docker.com/develop/develop-images/multistage-build/"><span>here</span></a></span>.</span></span></span></p>
<h1><span><span><span><span>clearlinux/redis without a multi-stage build</span></span></span></span></h1>
<p><span><span><span>The original <span><a href="https://github.com/clearlinux/dockerfiles/tree/master/redis"><span>clearlinux/redis</span></a></span> Dockerfile was created based on a single-stage build, with <code>clearlinux:latest</code> as the base layer.</span></span></span></p>
<pre>
<code class="language-dockerfile">FROM clearlinux:latest
MAINTAINER
ARG swupd_args
RUN swupd update --no-boot-update $swupd_args
RUN swupd bundle-add redis-native $swupd_args \
        &amp;&amp; rm -rf /var/lib/swupd/* \
        &amp;&amp; mkdir /data &amp;&amp; chown redis:redis /data
VOLUME /data
WORKDIR /data
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 6379
CMD ["redis-server"]</code></pre>
<h2>Image size analysis</h2>
<p>The command docker history <span><span><span><code>&lt;image&gt;</code></span></span></span> shows the history of an image building process, including layer size information. This command was used to analyze the clearlinux/redis image and the diagram below shows the size information of the main layers.</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="e1f61792-b65d-4a81-8947-5f2d8355d299" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/min-cont-fig2.png" width="724" height="445" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<p>There are three parts that compose the clearlinux/redis image size:</p>
<ol><li>Base layer: contains content corresponding with the “<span><span><span><code>FROM clearlinux:latest</code></span></span></span>” line in the Dockerfile and a size of about 150MB.</li>
<li>Swupd update layer: contains content corresponding with the "<span><span><span><code>RUN swupd update....</code></span></span></span>" line in the Dockerfile. This layer contains newer versions of the same files as the base layer, so its size could change from tens to hundreds of MBs  depending on how many files changed in the updated Clear Linux OS release. </li>
<li>Application layers: contains the left contents corresponding with the RUN swupd bundle-add redis-native……, COPY docker-entrypoint.sh /usr/local/bin/, and RUN chmod +x /usr/local/bin/docker-entrypoint.sh in the Dockerfile. Its size was 5.32MB. </li>
</ol><p>The next step was to further analyze the layer contents, using the command swupd bundle-list to list all bundles installed, and find package lists in bundle files.</p>
<p>The base layer, "<span><span><span><code>FROM clearlinux:latest</code></span></span></span>", consists of two bundles, os-core and os-core-update, with packages listed as described below:</p>
<table class="Table"><tbody><tr><td>
<p><strong>Bundles<br />
in clearlinux:latest<br />
(version:28410)</strong></p>
</td>
<td><strong>Bundle Description</strong></td>
<td>
<p><strong>Package Name</strong></p>
</td>
</tr><tr><td>
<p class="text-align-left">os-core (72MB, 31 packages)</p>
</td>
<td>
<p class="text-align-left">Provides packages necessary for running a minimal Linux userspace.</p>
</td>
<td>
<p class="text-align-left">ca-certs-static, clr-power-tweaks, clr-systemd-config, cnf, coreutils-bin, dbus-autostart, dbus-bin, dist-pam-configs, e2fsprogs-bin, filesystem, gawk-bin, glibc-utils, grep-bin, hostname-bin, iproute2-bin, kmod-bin, nano-bin, nano-data, netbase, nettle-lib, nss-altfiles, procps-ng-bin, sed-bin, shadow, systemd-bootchart, systemd, systemd-lib, tzdata-minimal, util-linux-bin, systemd-networkd-autostart-extras, bash-bin</p>
</td>
</tr><tr><td>
<p class="text-align-left">os-core-update (78MB, 27 packages)</p>
</td>
<td>
<p class="text-align-left">Provides packages for running the Clear Linux OS updater, swupd.</p>
</td>
<td>
<p class="text-align-left">btrfs-progs, bzip2, clr-boot-manager-autostart, clr-boot-manager-bin, clr-boot-manager-services, clr-bundles, clr-find-bundle, clr-hardware-files, clr-one-shot-updates, clr-service-restart-bin, clr-update-triggers, efibootmgr-bin, findutils-bin, gzip-bin, pigz-bin, swupd-client, swupd-overdue, tar-bin, xz-bin, findutils, glib-lib, icu4c-lib, libstdc++, gcc-libs-math, glibc-lib-avx2, pacrunner, p11-kit     </p>
</td>
</tr></tbody></table><p>Since os-core already provided the necessary components to run a minimal Linux userspace, we created a new container called clearlinux/os-core that only contain the os-core bundle to serve as a base for other containers. </p>
<p>We decided to remove os-core-update completely from the new Dockerfile, because it contains software that is not relevant in a container context and a new container image for clearlinux/redis is published daily.</p>
<p>The swupd update layer runs the Clear Linux OS command, swupd update, to sync all package files to the latest version into the current layer. A Docker image is built up from a series of layers. Each layer represents an instruction in the images Dockerfile. Each layer except the very last one is read-only. So the older files in the above base layer are still there. This added bloat to the container that, by definition, cannot be used by the target application. If the base layer always has the updated version, this layer can be removed.</p>
<p>The application layer, RUN swupd bundle-add redis-native…, contains the necessary package to run the end user target application. There is only one package, redis-native, included. No further size minimization is needed on this layer for clearlinux/redis. </p>
<table class="Table"><tbody><tr><td>
<p><strong>Bundles<br />
in clearlinux:latest<br />
(28410)</strong></p>
</td>
<td>
<p><strong>Package Name</strong></p>
</td>
</tr><tr><td>
<p class="text-align-left">redis-native(5.32MB)</p>
</td>
<td>
<p class="text-align-left">redis-native</p>
</td>
</tr></tbody></table><h1>clearlinux/redis with multi-stage build</h1>
<p>Based on our analysis, we created a new clearlinux/redis Dockerfile with the updates described below:</p>
<pre>
<code class="language-dockerfile">FROM clearlinux:latest AS builder
# Move to latest Clear Linux release to ensure
# that the swupd command line arguments are
# correct
RUN swupd update --no-boot-update $swupd_args
# Grab os-release info from the minimal base image so
# that the new content matches the exact OS version
COPY --from=clearlinux/os-core:latest /usr/lib/os-release /
# Install additional content in a target directory
# using the os version from the minimal base
RUN source /os-release &amp;&amp; \
    mkdir /install_root \
    &amp;&amp; swupd os-install -V ${VERSION_ID} \
    --path /install_root --statedir /swupd-state \
    --bundles=redis-native,findutils --no-scripts
# For some Host OS configuration with redirect_dir on,
# extra data are saved on the upper layer when the same
# file exists on different layers. To minimize docker
# image size, remove the overlapped files before copy.
RUN mkdir /os_core_install
COPY --from=clearlinux/os-core:latest / /os_core_install/
RUN cd / &amp;&amp; \
    find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d || true
FROM clearlinux/os-core:latest
MAINTAINER
COPY --from=builder /install_root /
RUN mkdir /data &amp;&amp; chown redis:redis /data
VOLUME /data
WORKDIR /data
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 6379
CMD ["redis-server"]</code></pre>
<p>The base layer contains content corresponding with the “<span><span><span><code>FROM clearlinux/os-core:latest</code></span></span></span>” in the Dockerfile. The os-core bundle is included and the os-core-update bundle is not. Within the os-core bundle, certain packages, such as: “systemd-*”, “nano-*”, and “dbus-*”, have been removed as they are not necessary in a Docker environment.</p>
<table><tbody><tr><td>
<p><strong>Bundles<br />
in clearlinux/os-core:latest<br />
(30550)</strong></p>
</td>
<td>
<p><strong>Package Name</strong></p>
</td>
</tr><tr><td>
<p class="text-align-left">os-core(48.6MB, 16 packages)</p>
</td>
<td>
<p class="text-align-left">bash-bin, ca-certs-static, coreutils-bin, dist-pam-configs, e2fsprogs-bin, filesystem, gawk-bin, glibc-utils, grep-bin, hostname-bin, nettle-lib, sed-bin, shadow, tzdata-minimal, util-linux-bin</p>
<p class="text-align-left">+ glibc-lib-avx2</p>
<p class="text-align-left">- systemd-bootchart, systemd, systemd-lib, systemd-networkd-autostart-extras, clr-power-tweaks,  clr-systemd-config, cnf, dbus-autostart, dbus-bin, iproute2-bin, kmod-bin, nano-bin, nano-data, netbase, nss-altfiles, procps-ng-bin</p>
</td>
</tr></tbody></table><p>These modifications reduce the base layer size from the original 150MB down to 48.6MB. Because clearlinux/os-core is the base layer of most of clearlinux/* container images, its size reduction has a multiplicative effect on saving storage disk space because all container images will share the same base layer.</p>
<p>In the swupd update layer, all software package files are always the latest version because clearlinux/os-core is updated daily. No “swupd update” is needed to update package files. </p>
<p>In the application layer, a multi-stage build is implemented to install the redis application in the builder stage build by copying only the redis application to the target in the target stage build. This is done during the building process because os-core-update has been removed from base layer to save space.</p>
<ul><li>In the builder stage, run "<span><span><span><code>FROM clearlinux:latest</code></span></span></span>" with the updater function, "swupd", supported.
<pre>
<code class="language-dockerfile">FROM clearlinux:latest AS builder
RUN swupd update --no-boot-update $swupd_args</code></pre>
</li>
<li>Inherit the Clear Linux* version from its base layer (clearlinux/os-core for clearlinux/redis).
<pre>
<code class="language-dockerfile">COPY --from=clearlinux/os-core:latest /usr/lib/os-release /</code></pre>
</li>
<li>Install application, redis, onto /install_root. Because os-core will be installed by default, remove package files of os-core from /install_root. Then there are only package files of redis application left.
<pre>
<code class="language-dockerfile">RUN source /os-release &amp;&amp; \
    mkdir /install_root \
    &amp;&amp; swupd os-install -V ${VERSION_ID} \
    --path /install_root --statedir /swupd-state \
    --bundles=redis-native,findutils --no-scripts
                        RUN mkdir /os_core_install
COPY --from=clearlinux/os-core:latest / /os_core_install/
RUN cd / &amp;&amp; \
find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d || true</code></pre>
<p> </p>
</li>
<li>In the target stage, copy the application function (redis-native), onto the base layer (clearlinux/os-core):
<pre>
<code class="language-dockerfile">COPY --from=builder /install_root /</code></pre>
</li>
</ul><p>After implementing all of the techniques above, the total container image size was reduced from the original 225MB down to 55.9MB, as shown in the diagram below.</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'entity_embed_container' -->
<!-- BEGIN OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<div data-align="center" data-embed-button="media_browser" data-entity-embed-display="view_mode:media.embedded" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="6b156d0d-1907-4b4c-9928-3aaab523a045" data-langcode="en" class="embedded-entity">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'media' -->
<!-- FILE NAME SUGGESTIONS:
* media--source-image.html.twig
* media--image--embedded.html.twig
* media--image.html.twig
* media--embedded.html.twig
x media.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/media.html.twig' -->
<article><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS:
* field--media--image--image.html.twig
* field--media--image.html.twig
* field--media--image.html.twig
* field--image.html.twig
* field--image.html.twig
x field.html.twig
--><!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' --><div class="field field--name-image field--type-image field--label-hidden field__item">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image_formatter' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'image' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/image.html.twig' -->
<img loading="lazy" src="../sites/default/files/min-cont-fig3.png" width="1200" height="742" alt="" typeof="foaf:Image" /><!-- END OUTPUT from 'core/themes/stable/templates/field/image.html.twig' --><!-- END OUTPUT from 'core/themes/stable/templates/field/image-formatter.html.twig' --></div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</article><!-- END OUTPUT from 'core/themes/stable/templates/content/media.html.twig' --></div>
<!-- END OUTPUT from 'modules/contrib/entity_embed/templates/entity-embed-container.html.twig' -->
<h1>clearlinux/* with multi-stage build</h1>
<p>You can use the multi-stage build method described for clearlinux/redis to modify other <a href="https://github.com/clearlinux/dockerfiles">clearlinux/* Dockerfiles</a>.</p>
<p>Most Clear Linux applications use clearlinux/os-core as the base layer like clearlinux/redis does. However, there are still a few Clear Linux applications that are built based on a different Clear Linux application. One example is clearlinux/cgit, which is based on clearlinux/httpd.</p>
<p>In the clearlinux/cgit Dockerfile, clearlinux/httpd is the base layer, instead of clearlinux/os-core. The cgit application package files are generated in the builder stage, and copied to the target in the target stage.</p>
<p>Here is the clearlinux/cgit Dockerfile after it has been modified for multi-stage build:</p>
<pre>
<code class="language-dockerfile">FROM clearlinux:latest AS builder
# Move to latest Clear Linux release to ensure
# that the swupd command line arguments are
# correct
RUN swupd update --no-boot-update $swupd_args
# Grab os-release info from the minimal base image so
# that the new content matches the exact OS version
COPY --from=clearlinux/httpd:latest /usr/lib/os-release /
# Install additional content in a target directory
# using the os version from the minimal base
RUN source /os-release &amp;&amp; \
    mkdir /install_root \
    &amp;&amp; swupd os-install -V ${VERSION_ID} \
    --path /install_root --statedir /swupd-state \
    --bundles=sudo,curl,scm-server,httpd --no-boot-update
# For some Host OS configuration with redirect_dir on,
# extra data are saved on the upper layer when the same
# file exists on different layers. To minimize docker
# image size, remove the overlapped files before copy.
RUN mkdir /os_core_install
COPY --from=clearlinux/httpd:latest / /os_core_install/
RUN cd / &amp;&amp; \
    find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d &amp;&gt; /dev/null || true
FROM clearlinux/httpd:latest
COPY --from=builder /install_root /
COPY cgitrc /etc/cgitrc
COPY httpd-cgit.conf /etc/httpd/conf.d/httpd-cgit.conf</code></pre>
<h2><br />
Summary</h2>
<p>The Clear Linux OS team is constantly looking for ways to optimize system and application software to provide a performant and desirable experience. This includes our Docker images for cloud and developer use cases.</p>
<p>With the multi-stage build method described in this article, most of the <a href="https://github.com/clearlinux/dockerfiles">Clear Linux* Dockerfiles at github</a> have been updated for size optimization. We encourage you to check out our images on Dockerhub and customize the Dockerfiles for your needs. You can also use the same method to optimize your own Clear Linux* based Dockerfiles.</p>
<p>If you have questions and feedback, please submit them to <a href="https://github.com/clearlinux/dockerfiles/issues">https://github.com/clearlinux/dockerfiles/issues</a>. We are eager to hear any feedback from you.  </p>
<p><code> </code></p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="minimizing-clear-linux-os-container-sizes.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,803 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--3899.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Landing Page" />
<meta property="og:url" content="https://clearlinux.org/news-blogs" />
<meta property="og:title" content="Blogs" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="node/3899.html" />
<link rel="shortlink" href="node/3899.html" />
<script src="https://clearlinux.org/sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js?rl3r25" defer></script>
<title>Blogs | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/ajax-progress.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/align.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/autocomplete-loading.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/fieldgroup.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/container-inline.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/clearfix.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/details.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/hidden.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/item-list.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/js.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/nowrap.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/position-container.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/progress.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/reset-appearance.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/resize.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/sticky-header.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/system-status-counter.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/system-status-report-counters.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/system-status-report-general-info.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/tabledrag.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/tablesort.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/system/components/tree-child.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/core/themes/stable/css/views/views.module.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/modules/contrib/extlink/extlink.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/modules/contrib/better_exposed_filters/css/better_exposed_filters.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/libraries/codesnippet/lib/highlight/styles/monokai_sublime.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css?rl3r25" />
<link rel="stylesheet" media="all" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="https://clearlinux.org/core/assets/vendor/modernizr/modernizr.min.js?v=3.11.7"></script>
<script src="https://clearlinux.org/core/misc/modernizr-additional-tests.js?v=3.11.7"></script>
</head>
<body class="alias--news-blogs nodetype--landing_page logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="news-blogs_category_5&amp;sort_bef_combine=created_DESC&amp;sort_by=created&amp;sort_order=DESC&amp;page=3.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
x page--node--landing-page.html.twig
* page--node--3899.html.twig
* page--node--%.html.twig
* page--node.html.twig
* page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page--node--landing-page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="https://clearlinux.org/">
<img class="header__site_img_object" src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item active header__menu_list_parent">
<a tabindex='1' href="node/31099.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="node/31103.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="https://clearlinux.org/software">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="https://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu ">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'menu__main' -->
<!-- FILE NAME SUGGESTIONS:
x menu--main.html.twig
x menu--main.html.twig
* menu.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/navigation/menu--main.html.twig' -->
<ul class="Header__main">
<li>
<a href="node/31099.html" data-drupal-link-system-path="node/31099">The Project</a>
</li>
<li>
<a href="node/3899.html" data-drupal-link-system-path="node/3899">Blogs &amp; News</a>
</li>
<li>
<a href="node/1700.html" data-drupal-link-system-path="node/1700">Events</a>
</li>
<li>
<a href="node/1701.html" data-drupal-link-system-path="node/1701">Terms &amp; Policies</a>
</li>
</ul>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/navigation/menu--main.html.twig' -->
</div>
</div>
</div>
<!-- ______________________ MAIN _______________________ -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--3899--full.html.twig
* node--3899.html.twig
* node--landing-page--full.html.twig
* node--landing-page.html.twig
* node--full.html.twig
x node.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/content/node.html.twig' -->
<article role="article" about="/news-blogs" class="entity--type-node node node--type-landing-page node--view-mode-full">
<div class="content">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-dynamic-view--landing-page.html.twig
x field--node--field-dynamic-view.html.twig
* field--node--landing-page.html.twig
* field--field-dynamic-view.html.twig
* field--viewsreference.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--field-dynamic-view.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'container' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<div class="views-element-container">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_view' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/views/views-view.html.twig' -->
<div class="view view-latest-blog-posts view-id-latest_blog_posts view-display-id-block_landing_blogs js-view-dom-id-18061a66c2af0298c78dbdcddb0e0ef42e0c6c8cb4921f1ae443007387b06e03">
<div class="view-filters">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/form/form.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_exposed_form' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/views/views-exposed-form.html.twig' -->
<div class="form--inline clearfix">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<div class="js-form-item form-item js-form-type-select form-type-select js-form-item-category form-item-category">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element_label' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<label for="edit-category">Filter by</label>
<!-- END OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'select' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
<!-- END OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<div class="js-form-item form-item js-form-type-select form-type-select js-form-item-sort-bef-combine form-item-sort-bef-combine">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element_label' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<label for="edit-sort-bef-combine">Sort by</label>
<!-- END OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'select' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
<!-- END OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'container' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'input__submit' -->
<!-- FILE NAME SUGGESTIONS:
* input--submit.html.twig
x input.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/input.html.twig' -->
<!-- END OUTPUT from 'core/themes/stable/templates/form/input.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/views/views-exposed-form.html.twig' -->
</form>
<!-- END OUTPUT from 'themes/contrib/cog/templates/form/form.html.twig' -->
</div>
<div class="view-content">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'container' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<div data-drupal-views-infinite-scroll-content-wrapper class="views-infinite-scroll-content-wrapper clearfix">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_view_unformatted' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/views/views-view-unformatted.html.twig' -->
<div class="views-row">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--95--teaser.html.twig
* node--95.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/improve-awk-performance-automatic-feedback-direct-optimizer-autofdo" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="node/95.html">
<img src="https://clearlinux.org/sites/default/files/clear_linux_clearcontainers_1_0006_clearlinux_developers_0.jpg" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_5.html" title="Maintenance">Maintenance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="node/95.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Improve AWK performance with Automatic Feedback Direct Optimizer (AutoFDO)</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item">AWK has been implemented and improved for Clear Linux*</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">22 Apr, 2016</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<div class="views-row">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--80--teaser.html.twig
* node--80.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/clear-containers-docker-v190" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="node/80.html">
<img src="https://clearlinux.org/sites/default/files/docker.png" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_5.html" title="Maintenance">Maintenance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="node/80.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Containers for Docker* v1.9.0</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item">And update to the Clear Containers Engine</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">23 Nov, 2015</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<div class="views-row views-row-last">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--74--teaser.html.twig
* node--74.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/clear-containers-docker-engine" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="node/74.html">
<img src="https://clearlinux.org/sites/default/files/docker.png" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_5.html" title="Maintenance">Maintenance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="node/74.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Containers for Docker* Engine</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item">Clear Containers for multiple OS, plus additional updates</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">21 Sep, 2015</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/views/views-view-unformatted.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_infinite_scroll_pager' -->
<!-- FILE NAME SUGGESTIONS:
* views-infinite-scroll-pager-clearlinux.html.twig
x views-infinite-scroll-pager.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/pager/views-infinite-scroll-pager.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/pager/views-infinite-scroll-pager.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/views/views-view.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--field-dynamic-view.html.twig' -->
</div>
<!-- /content -->
<div class="links">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
</div>
<!-- /links -->
</article>
<!-- /article #node -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/content/node.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2023 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page--node--landing-page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="https://clearlinux.org/core/assets/vendor/jquery/jquery.min.js?v=3.6.0"></script>
<script src="https://clearlinux.org/core/misc/polyfills/element.matches.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/misc/polyfills/object.assign.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/misc/polyfills/nodelist.foreach.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/assets/vendor/css-escape/css.escape.js?v=1.5.1"></script>
<script src="https://clearlinux.org/core/assets/vendor/once/once.min.js?v=1.0.1"></script>
<script src="https://clearlinux.org/core/assets/vendor/jquery-once/jquery.once.min.js?v=2.2.3"></script>
<script src="https://clearlinux.org/core/assets/vendor/tabbable/index.umd.min.js?v=5.3.2"></script>
<script src="https://clearlinux.org/modules/contrib/extlink/extlink.js?v=9.4.8"></script>
<script src="https://clearlinux.org/modules/contrib/google_analytics/js/google_analytics.js?v=9.4.8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js?v=9.4.8"></script>
<script src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js?v=9.4.8"></script>
<script src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/assets/vendor/js-cookie/js.cookie.min.js?v=3.0.1"></script>
<script src="https://clearlinux.org/modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js?v=9.4.8" defer></script>
<script src="https://clearlinux.org/core/misc/jquery.once.bc.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/assets/vendor/jquery-form/jquery.form.min.js?v=4.3.0"></script>
<script src="https://clearlinux.org/core/misc/progress.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/misc/ajax.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/themes/stable/js/ajax.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/modules/views/js/base.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/modules/views/js/ajax_view.js?v=9.4.8"></script>
<script src="https://clearlinux.org/core/misc/debounce.js?v=9.4.8"></script>
<script src="https://clearlinux.org/modules/contrib/views_infinite_scroll/js/infinite-scroll.js?v=9.4.8"></script>
<script src="https://clearlinux.org/modules/contrib/better_exposed_filters/js/better_exposed_filters.js?v=4.x"></script>
<script src="https://clearlinux.org/modules/contrib/better_exposed_filters/js/auto_submit.js?v=4.x"></script>
<script src="https://clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js?rl3r25"></script>
<script src="https://clearlinux.org/libraries/codesnippet/lib/highlight/highlight.pack.js?v=9.4.8"></script>
<script src="https://clearlinux.org/modules/contrib/codesnippet/js/codesnippet.js?v=9.4.8"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,890 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--3899.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Landing Page" />
<meta property="og:url" content="https://clearlinux.org/news-blogs" />
<meta property="og:title" content="Blogs" />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="node/3899.html" />
<link rel="shortlink" href="node/3899.html" />
<script src="sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Blogs | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="core/themes/stable/css/views/views.module.css" />
<link rel="stylesheet" media="all" href="modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="modules/contrib/better_exposed_filters/css/better_exposed_filters.css" />
<link rel="stylesheet" media="all" href="libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--news-blogs nodetype--landing_page logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="news-blogs_category_All&amp;sort_bef_combine=created_DESC&amp;sort_by=created&amp;sort_order=DESC&amp;page=6.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
x page--node--landing-page.html.twig
* page--node--3899.html.twig
* page--node--%.html.twig
* page--node.html.twig
* page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page--node--landing-page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="index.html">
<img class="header__site_img_object" src="modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item active header__menu_list_parent">
<a tabindex='1' href="about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu ">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'menu__main' -->
<!-- FILE NAME SUGGESTIONS:
x menu--main.html.twig
x menu--main.html.twig
* menu.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/navigation/menu--main.html.twig' -->
<ul class="Header__main">
<li>
<a href="about.html" data-drupal-link-system-path="node/31099">The Project</a>
</li>
<li>
<a href="news-blogs.html" data-drupal-link-system-path="node/3899">Blogs &amp; News</a>
</li>
<li>
<a href="events.html" data-drupal-link-system-path="node/1700">Events</a>
</li>
<li>
<a href="terms-and-policies.html" data-drupal-link-system-path="node/1701">Terms &amp; Policies</a>
</li>
</ul>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/navigation/menu--main.html.twig' -->
</div>
</div>
</div>
<!-- ______________________ MAIN _______________________ -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--3899--full.html.twig
* node--3899.html.twig
* node--landing-page--full.html.twig
* node--landing-page.html.twig
* node--full.html.twig
x node.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/content/node.html.twig' -->
<article role="article" about="/news-blogs" class="entity--type-node node node--type-landing-page node--view-mode-full">
<div class="content">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-dynamic-view--landing-page.html.twig
x field--node--field-dynamic-view.html.twig
* field--node--landing-page.html.twig
* field--field-dynamic-view.html.twig
* field--viewsreference.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--field-dynamic-view.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'container' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<div class="views-element-container">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_view' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/views/views-view.html.twig' -->
<div class="view view-latest-blog-posts view-id-latest_blog_posts view-display-id-block_landing_blogs js-view-dom-id-8a1e7d807022c4b77071c820a5cb9a22099bb01f8703a3a488d08c3b24dda0f7">
<div class="view-filters">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/form/form.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_exposed_form' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/views/views-exposed-form.html.twig' -->
<div class="form--inline clearfix">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<div class="js-form-item form-item js-form-type-select form-type-select js-form-item-category form-item-category">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element_label' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<label for="edit-category">Filter by</label>
<!-- END OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'select' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
<!-- END OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<div class="js-form-item form-item js-form-type-select form-type-select js-form-item-sort-bef-combine form-item-sort-bef-combine">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'form_element_label' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<label for="edit-sort-bef-combine">Sort by</label>
<!-- END OUTPUT from 'core/themes/stable/templates/form/form-element-label.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'select' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
<!-- END OUTPUT from 'core/themes/stable/templates/form/select.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/form/form-element.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'container' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'input__submit' -->
<!-- FILE NAME SUGGESTIONS:
* input--submit.html.twig
x input.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/input.html.twig' -->
<!-- END OUTPUT from 'core/themes/stable/templates/form/input.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/views/views-exposed-form.html.twig' -->
</form>
<!-- END OUTPUT from 'themes/contrib/cog/templates/form/form.html.twig' -->
</div>
<div class="view-content">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'container' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<div data-drupal-views-infinite-scroll-content-wrapper class="views-infinite-scroll-content-wrapper clearfix">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_view_unformatted' -->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/views/views-view-unformatted.html.twig' -->
<div class="views-row">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--80--teaser.html.twig
* node--80.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/clear-containers-docker-v190" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="news-blogs/clear-containers-docker-v190.html">
<img src="sites/default/files/docker.png" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_5.html" title="Maintenance">Maintenance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="news-blogs/clear-containers-docker-v190.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Containers for Docker* v1.9.0</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item">And update to the Clear Containers Engine</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">23 Nov, 2015</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<div class="views-row">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--668--teaser.html.twig
* node--668.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/profile-guided-optimization-mariadb-benchmarks" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="news-blogs/profile-guided-optimization-mariadb-benchmarks.html">
<img src="sites/default/files/clear_linux_clearcontainers_1_0010_clearlinux_cloud_edge.jpg" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_2.html" title="Power and Performance">Power and Performance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="news-blogs/profile-guided-optimization-mariadb-benchmarks.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Profile-Guided Optimization with MariaDB Benchmarks</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item"> The goal of this newsletter is to highlight some of the improvements made by the Power and Performance (PnP) quad.</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">23 Nov, 2015</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<div class="views-row">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--666--teaser.html.twig
* node--666.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/announcing-clr-cloud-init" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="news-blogs/announcing-clr-cloud-init.html">
<img src="sites/default/files/clear_linux_clearcontainers_1_0001_clearlinux_differences.jpg" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_2.html" title="Power and Performance">Power and Performance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="news-blogs/announcing-clr-cloud-init.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Announcing clr-cloud-init</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item">We&#039;ve just released a new cloud-init implementation written specifically for Clear Linux* OS.</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">13 Nov, 2015</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<div class="views-row views-row-last">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--latest-blog-posts--block-landing-blogs.html.twig
* node--view--latest-blog-posts.html.twig
* node--74--teaser.html.twig
* node--74.html.twig
x node--blog--teaser.html.twig
* node--blog.html.twig
* node--teaser.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
<article role="article" about="/news-blogs/clear-containers-docker-engine" class="entity--type-node">
<div class="card_blog published">
<div class="card_blog__image">
<a href="news-blogs/clear-containers-docker-engine.html">
<img src="sites/default/files/docker.png" alt="Thumbnail">
</a>
</div>
<div class="card_blog__wrapper">
<span class="card_blog__wrapper--categories">
<a href="blogs_category_5.html" title="Maintenance">Maintenance</a>
</span>
<div class="card_blog__wrapper--title">
<a href="news-blogs/clear-containers-docker-engine.html">
<h2>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Clear Containers for Docker* Engine</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h2>
</a>
</div>
<div class="card_blog__wrapper--description">
<p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--field-subheader--blog.html.twig
* field--node--field-subheader.html.twig
* field--node--blog.html.twig
* field--field-subheader.html.twig
* field--string.html.twig
x field.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
<div class="field field--name-field-subheader field--type-string field--label-hidden field__item">Clear Containers for multiple OS, plus additional updates</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/field/field.html.twig' -->
</p>
</div>
<div class="card_blog__wrapper--footer">
<span class="card_blog__wrapper--footer-date">21 Sep, 2015</span>
</div>
</div>
</div></article>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--teaser.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/views/views-view-unformatted.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'views_infinite_scroll_pager' -->
<!-- FILE NAME SUGGESTIONS:
* views-infinite-scroll-pager-clearlinux.html.twig
x views-infinite-scroll-pager.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/pager/views-infinite-scroll-pager.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/pager/views-infinite-scroll-pager.html.twig' -->
</div>
<!-- END OUTPUT from 'themes/contrib/cog/templates/views/views-view.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/form/container.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--field-dynamic-view.html.twig' -->
</div>
<!-- /content -->
<div class="links">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
</div>
<!-- /links -->
</article>
<!-- /article #node -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/content/node.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page--node--landing-page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="core/assets/vendor/jquery/jquery.min.js"></script>
<script src="core/misc/polyfills/element.matches.js"></script>
<script src="core/misc/polyfills/object.assign.js"></script>
<script src="core/misc/polyfills/nodelist.foreach.js"></script>
<script src="core/assets/vendor/css-escape/css.escape.js%3Fv=1.5.1"></script>
<script src="core/assets/vendor/once/once.min.js"></script>
<script src="core/assets/vendor/jquery-once/jquery.once.min.js%3Fv=2.2.3"></script>
<script src="core/misc/drupalSettingsLoader.js"></script>
<script src="core/misc/drupal.js"></script>
<script src="core/misc/drupal.init.js"></script>
<script src="core/assets/vendor/tabbable/index.umd.min.js%3Fv=5.3.2"></script>
<script src="modules/contrib/extlink/extlink.js"></script>
<script src="modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="core/misc/jquery.once.bc.js"></script>
<script src="core/assets/vendor/jquery-form/jquery.form.min.js%3Fv=4.3.0"></script>
<script src="core/misc/progress.js"></script>
<script src="core/misc/ajax.js"></script>
<script src="core/themes/stable/js/ajax.js"></script>
<script src="core/modules/views/js/base.js"></script>
<script src="core/modules/views/js/ajax_view.js"></script>
<script src="core/misc/debounce.js"></script>
<script src="modules/contrib/views_infinite_scroll/js/infinite-scroll.js"></script>
<script src="modules/contrib/better_exposed_filters/js/better_exposed_filters.js%3Fv=4.x"></script>
<script src="modules/contrib/better_exposed_filters/js/auto_submit.js%3Fv=4.x"></script>
<script src="modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
@@ -0,0 +1,792 @@
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'html' -->
<!-- FILE NAME SUGGESTIONS:
* html--node--31461.html.twig
* html--node--%.html.twig
* html--node.html.twig
x html.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
<meta charset="utf-8" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61272224-1"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-61272224-1", {"groups":"default","linker":{"domains":["docs.01.org\/clearlinux"]},"anonymize_ip":true,"allow_ad_personalization_signals":false});</script>
<meta name="description" content="by Victor Rodriguez Bahena This blog describes the latest features of GNU* Compiler Collection (GCC) and GNU C Library (GLIBC)." />
<meta property="og:site_name" content="Clear Linux* Project" />
<meta property="og:type" content="Blog" />
<meta property="og:url" content="https://clearlinux.org/blogs-news/toolchains-fresh-wind-sails-new-tech-world" />
<meta property="og:title" content="Toolchains—a fresh wind in the sails of a new tech world" />
<meta property="og:description" content="by Victor Rodriguez Bahena This blog describes the latest features of GNU* Compiler Collection (GCC) and GNU C Library (GLIBC)." />
<meta name="Generator" content="Drupal 9 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {background: #0779BF} div#sliding-popup.eu-cookie-withdraw-wrapper { background: transparent; } #sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab { color: #ffffff;} .eu-cookie-withdraw-tab { border-color: #ffffff;}</style>
<link rel="icon" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="canonical" href="../node/31461.html" />
<link rel="shortlink" href="../node/31461.html" />
<script src="../sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js" defer></script>
<title>Toolchains—a fresh wind in the sails of a new tech world | Clear Linux* Project</title>
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/ajax-progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/align.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/autocomplete-loading.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/fieldgroup.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/container-inline.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/clearfix.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/details.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/hidden.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/item-list.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/js.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/nowrap.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/position-container.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/progress.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/reset-appearance.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/resize.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/sticky-header.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-counter.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-counters.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/system-status-report-general-info.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tabledrag.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tablesort.module.css" />
<link rel="stylesheet" media="all" href="../core/themes/stable/css/system/components/tree-child.module.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css" />
<link rel="stylesheet" media="all" href="../modules/contrib/extlink/extlink.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/all.css" />
<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.1.0/css/v4-shims.css" />
<link rel="stylesheet" media="all" href="../libraries/codesnippet/lib/highlight/styles/monokai_sublime.css" />
<link rel="stylesheet" media="all" href="../modules/custom/clearlinux_org/themes/clearlinux_theme/css/styles.css" />
<link rel="stylesheet" media="all" href="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" integrity="sha256-AWqwvQ3kg5aA5KcXpX25sYKowsX97sTCTbeo33Yfyk0=" crossorigin="anonymous" />
<script src="../core/assets/vendor/modernizr/modernizr.min.js"></script>
<script src="../core/misc/modernizr-additional-tests.js"></script>
</head>
<body class="alias--blogs-news-toolchains-fresh-wind-sails-new-tech-world nodetype--blog logged-out">
<div id="skip">
<a class="visually-hidden focusable skip-link" href="toolchains-fresh-wind-sails-new-tech-world.html#main-menu">
Skip to main navigation
</a>
</div>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'off_canvas_page_wrapper' -->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
* page--node--blog.html.twig
* page--node--31461.html.twig
* page--node--%.html.twig
* page--node.html.twig
x page.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
<!-- ______________________ HEADER _______________________ -->
<header id="header">
<div class="container padding-md--left-right">
<div class="header__menu_mobile">
<i class="fa fa-bars header__menu_mobile__control" aria-hidden="true"></i>
</div>
<div id="header__site_info">
<div class="header__site_img_wrapper">
<a href ="../index.html">
<img class="header__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="header__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/header/assets/clear-linux-text.svg" />
</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item ">
<a tabindex='1' href="../about.html">About</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../developer.html">Developer</a>
</li>
<li class="header__menu_list_item ">
<a tabindex='1' href="../software.html">Software</a>
</li>
</ul>
</nav>
<div class="header__search">
<div class="header__search_form__wrapper">
<form method="get" class=" header__search_form" action="http://clearlinux.org/search">
<i class="fa fa-search header__search_placeholder_icon" aria-hidden="true"></i>
<input type="text" name="search" class="header__search_form__input" placeholder="Search Clear Linux* Project" value="" />
<input type="submit" value="Submit">
</form>
<div class="header__search_cancel__wrapper">
<span class="header__search_cancel">Cancel</span>
</div>
</div>
</div>
</div>
</header>
<!-- /header -->
<div class="header__menu-submenu green">
<div class="toolbar__container">
<div class="container padding-md--left-right">
<ul class='Header__main'>
</ul>
</div>
</div>
</div>
<div class="wrapper banner blog" >
<div class="banner__gradient "></div>
<div class="container banner__container ">
<div class="banner__content">
<h1 class="banner__title">Blogs &amp; News</h1>
</div>
</div>
</div>
<!-- Page Header -->
<div class="page_header">
<div class="page_header__main">
<!-- tabs -->
</div>
</div>
<!-- End Page Header -->
<!-- ______________________ MAIN _______________________ -->
<main class="page-standard padding-md--top padding-lg--bottom padding-md--left-right container-xl">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
x region--content.html.twig
* region.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
* block--clearlinux-theme-messages.html.twig
x block--system-messages-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<div data-drupal-messages-fallback class="hidden"></div>
<!-- END OUTPUT from 'core/themes/stable/templates/block/block--system-messages-block.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--sharethis.html.twig
* block--sharethis-block.html.twig
x block--sharethis.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<div id="block-sharethis" data-block-plugin-id="sharethis_block" class="block block-sharethis block-sharethis-block social_share">
<div class="sharethis-wrapper">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&amp%3Bsrc=sdkpreparse" class="st_facebook_custom"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Clear%20Linux*%20Project&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux" class="st_twitter_custom"></a>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fclearlinux.org%2Fnews-blogs%2Fwhere-etcfstab-clear-linux&title=Clear%20Linux*%20Project" class="st_linkedin_custom"></a>
</div>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--sharethis.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'block' -->
<!-- FILE NAME SUGGESTIONS:
x block--clearlinux-theme-content.html.twig
* block--system-main-block.html.twig
* block--system.html.twig
* block.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--31461--full.html.twig
* node--31461.html.twig
x node--blog--full.html.twig
* node--blog.html.twig
* node--full.html.twig
* node.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<div class="blog_detail">
<div class="blog_detail__categories">
<a tabindex='2' href='../blogs_category_5.html' title='Maintenance'>Maintenance</a>
, <a tabindex='3' href='../blogs_category_2.html' title='Power and Performance'>Power and Performance</a>
</div>
<h1 class="blog_detail__title">
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--title--blog.html.twig
x field--node--title.html.twig
* field--node--blog.html.twig
* field--title.html.twig
* field--string.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
<span>Toolchains—a fresh wind in the sails of a new tech world</span>
<!-- END OUTPUT from 'core/themes/stable/templates/field/field--node--title.html.twig' -->
</h1>
<p class="blog_detail__date">06 Oct, 2019</p>
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'links__node' -->
<!-- FILE NAME SUGGESTIONS:
* links--node.html.twig
x links.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- END OUTPUT from 'themes/contrib/cog/templates/navigation/links.html.twig' -->
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'field' -->
<!-- FILE NAME SUGGESTIONS:
* field--node--body--blog.html.twig
x field--node--body.html.twig
* field--node--blog.html.twig
* field--body.html.twig
* field--text-with-summary.html.twig
* field.html.twig
-->
<!-- BEGIN OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
<div class="Text__description">
<p><em>by Victor Rodriguez Bahena</em></p>
<p>This blog describes the latest features of GNU* Compiler Collection (GCC) and GNU C Library (GLIBC).</p>
<h2><span><span><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span>Introduction</span></span></span></span></span></span></span></span></h2>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">The technology industry evolves rapidly. Every day, new mobile and cloud technologies are devised to solve challenging problems. All these software projects must be built in the first place and we must have </span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span>tools for that. Compilers, assemblers, linkers, and libraries are some elements of the tool box needed by developers. </span></span></span></span>The open source community behind the development of GNU toolchain projects uses the innovation to propel the core of the technology we use every day.  </span></span></span></p>
<p><span><span><span>A broad range of open source projects are built using the GNU toolchains. To give some examples, the operating system kernel, image processing libraries, and web server-side scripting languages are built with GNU toolchains. Every year, new functional features, performance improvements, and security protections are released on the latest toolchains key projects: GNU Compiler Collection (GCC) and GNU C Library (GLIBC).</span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">In the Clear Linux* Project, we decided to use and improve the latest GCC compiler technology to boost the performance and security of a Linux-based system for open source developers. We encourage users to employ the latest technologies that can improve applications for customers by boosting their performance and also providing a more robust layer of protection against security attacks.The following examples showcase some of these features.</span></span></span></span></p>
<h2><span><span><span><span><span>GLIBC</span></span></span></span></span></h2>
<h3><span><span><span><span><span>getcpu wrapper function</span></span></span></span></span></h3>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">One of the first features listed on the GNU C Library<a href="https://sourceware.org/ml/libc-announce/2019/msg00000.html"> </a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://sourceware.org/ml/libc-announce/2019/msg00000.html"><span>2.29 release notes</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"> is the getcpu() wrapper function. The getcpu() function identifies the processor and node on which the calling thread or process is currently running. This functionality is shown in the following example: </span></span></span></span></p>
<pre>
<code>#define _GNU_SOURCE
#include &lt;stdio.h&gt;
#include &lt;sched.h&gt;
int main(){
      unsigned int *cpu;
      unsigned int *node;
      int ret;
      ret = getcpu(cpu,node);
      printf("cpu : %d\n",(int *)cpu);
      printf("node : %d\n",(int *)node);
      return ret;
}</code></pre>
<p><span><span><span>This functionality has been<span><a href="https://sourceware.org/git/?p=glibc.git;a=commit;h=a092ca9453df677053787b376322362e3bbe91ca"><span> added</span></a></span> to the GNU C Library since version 2.29. It was added to provide a fast way to identify on which node the current process is running. With this new GLIBC feature, is possible to take advantage of this CPU information at the user space level, to work on code optimizations on a multi-node NUMA (Non-uniform Memory Architecture) system.</span></span></span></p>
<h3><span><span><span><span><span>Optimized mathematical functions</span></span></span></span></span></h3>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Another feature listed on the GNU C Library is a set of optimizations to the generic mathematical functions. One of these functions is sincosf(), which fulfills the need of several software applications that need sine and cosine of the same angle x. This function computes both at the same time, and stores the results in *sin and *cos pointers. An example of this is shown below:</span></span></span></span></p>
<pre>
<span><span><span><em><span lang="EN" xml:lang="EN" xml:lang="EN"> void sincosf(float x, float *sin, float *cos);</span></em></span></span></span></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">The core algorithm of this function is in s_sincosf.c file and syscall_polly.h where it uses the sincosf_poly function. This function computes the sine and cosine using the polynomial P algorithm [3]. There are some advantages to using the polynomial method. First, the memory requirements that are needed to implement such polynomials are quite small. Also, polynomials only require multiplication, addition, and subtraction of floating-point numbers that normally take very few CPU cycles for processors with floating point cores. The implementation of this algorithm for the function is part of the<a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86/fpu/sincosf_poly.h;h=938013d0a561be78618bc46583683f61b0a3082d;hb=HEAD#l52"> </a></span><a href="https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86/fpu/sincosf_poly.h;h=938013d0a561be78618bc46583683f61b0a3082d;hb=HEAD#l52"><span>sincosf_poly.h</span></a></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span><span>A series of patches were merged into the latest version of the GNU C Library. For x86_64 platforms, the patches prove the C Library was faster than s_sincosf-sse2.S, which was written in assembly</span></span></span></span></span><span lang="EN" xml:lang="EN" xml:lang="EN">. At the same time, a set of patches were integrated to update s_sincosf.h to use generic vector computations, and to use generic s_sincosf.c for s_sincosf-fma.c. An example of code using this function could be: </span></span></span></span></p>
<pre>
<code>#define _GNU_SOURCE
#include &lt;math.h&gt;
#include &lt;stdio.h&gt;
int main(int argc, const char * argv[]){
    float value = 0.5;
    float _cosine;
    float _sine;
      sincosf(value, &amp;_sine, &amp;_cosine);
    printf("The sine of %f is %f\n", value,_sine);
    printf("The cosine of %f is %f\n", value,_cosine);
    return 0;
}</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">During the latest GLIBC release, there were several optimizations on mathematical functions such as exp, exp2, log, log2, pow, sinf, cosf, and tanf. This blog just presents the background of one of those optimizations. More information about others is public on the GLIBC </span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://sourceware.org/git/?p=glibc.git"><span>repository</span></a></span>.</span></span></span></p>
<h3><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span>Optimize string manipulation functions Intel® AVX2 technology</span></span></span></span></span></span></h3>
<p><span><span><span>Applications often need to manipulate strings. To solve this, C/C++ supports a large number of string handling functions to reduce the complexity, error-prone and waste of time recreating popular functions. During the development of GLIBC 2.29 there were <span><a href="https://sourceware.org/git/?p=glibc.git;a=commit;h=1a153e47fcc9401d8ea424ad86569a57ed0f8c52"><span>optimizations</span></a></span> to x86-64 string functions such as strcat/strncat, strcpy/strncpy, and stpcpy/stpncpy by using Intel® Advanced Vector Extensions 2 (Intel® AVX2) technology. After this change, the functions use vector comparison as much as possible. In general, the larger the source string, the greater performance gain observed compared to SSE2 unaligned routines.</span></span></span></p>
<h2><span><span><span><span><span>GCC</span></span></span></span></span></h2>
<p><span><span><span>Every year, the Linux* community awaits the release of a new version of the GNU Compiler Collection (GCC). The GCC community works hard to provide usability improvements, bug fixes, new security features, and performance improvements. </span></span></span></p>
<p><span><span><span>The <span><a href="https://gcc.gnu.org/gcc-9/changes.html"><span>GCC 9  Release Series changes list</span></a></span> includes a full list of changes, new features, and fixes for this release. This blog provides some code examples to show how to use some of the new compiler features</span></span></span></p>
<h3><span><span><span><span><span>Improve diagnostics and debugging information</span></span></span></span></span></h3>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">One of the new features is the improvement in diagnostics and debugging information provided to developers. GCC's diagnostics now print source code with a left margin showing code line numbers. For example, in default GCC9 if you compile code that is missing a semicolon ( ; ):</span></span></span></span></p>
<pre>
<code> 1 #include &lt;stdio.h&gt;
 2
 3 int main(){
 4  int a = 0;
 5  printf("%d\n",a)
 6 }
</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">You get this output: </span></span></span></span></p>
<pre>
<code>diagnostic.c: In function main:
diagnostic.c:5:18: error: expected ; before } token
    5 | printf("%d\n",a)
      |         ^
      |         ;
    6 | }
      |</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">The above example shows the exact line number where the error exists. If you don't want this information, you can disable line numbers with the flag </span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fno-diagnostics-show-line-numbers"><span>-fno-d</span></a><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fno-diagnostics-show-line-numbers"><span>iagnostics-show-line-numbers</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN">:</span></span></span></span></p>
<pre>
<code> $ gcc diagnostic.c -o diagnostic -fno-diagnostics-show-line-numbers
diagnostic.c: In function main:
diagnostic.c:5:18: error: expected ; before } token
  printf("%d\n",a)
                  ^
                  ;
 }
 ~</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Another feature introduced for GCC 9 is the new option <a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format"><span><span><span>-fdiagnostics-format=json</span></span></span></a> for emitting diagnostics in a machine-readable format. If you have only a few warnings, it is possible to handle them by displaying them on the screen. However if you have many, you might need to post-process them with scripts. Because of this, GCC also enables the flag -fdiagnostics-format=<em>FORMAT, </em>where it is possible to select a different format for printing diagnostics. FORMAT is text or json. The next example prints the report in json format: </span></span></span></span></p>
<pre>
<code>#include &lt;stdio.h&gt;
void foo(int a){
      a +10;
}
void main(){
      char *a;
      foo(a);
}
</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Compiling the example source code above generates this warning:</span></span></span></span></p>
<pre>
<code>diagnostic.c: In function main:
diagnostic.c:8:6: warning: passing argument 1 of foo makes integer from pointer without a cast [-Wint-conversion]
    8 | foo(a);
      |   ^
      |   |
      |   char *
diagnostic.c:3:14: note: expected int but argument is of type char *
    3 | void foo(int a){
      |</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Using the flag <a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format"><span><span><span>-fdiagnostics-format=json</span></span></span></a> generates the next output:</span> </span></span></span></p>
<pre>
<code>gcc diagnostic.c -fdiagnostics-format=json
[{"kind": "warning", "option": "-Wint-conversion", "children": [{"kind": "note", "locations": [{"caret": {"line": 3, "file": "diagnostic.c", "column": 14}, "start": {"line": 3, "file": "diagnostic.c", "column": 10}}], "message": "expected int but argument is of type char *"}], "locations": [{"caret": {"line": 8, "file": "diagnostic.c", "column": 6}, "label": "char *"}], "message": "passing argument 1 of foo makes integer from pointer without a cast"}]</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Which after opening with a json editor, could be seen as:</span></span></span></span></p>
<pre>
<code>[ 
   { 
      "kind":"warning",
      "option":"-Wint-conversion",
      "children":[ 
         { 
            "kind":"note",
            "locations":[ 
               { 
                  "caret":{ 
                     "line":3,
                     "file":"diagnostic.c",
                     "column":14
                  },
                  "start":{ 
                     "line":3,
                     "file":"diagnostic.c",
                     "column":10
                  }
               }
            ],
            "message":"expected int but argument is of type char *"
         }
      ],
      "locations":[ 
         { 
            "caret":{ 
               "line":8,
               "file":"diagnostic.c",
               "column":6
            },
            "label":"char *"
         }
      ],
      "message":"passing argument 1 of foo makes integer from pointer without a cast"
   }
]
</code></pre>
<h3><span><span><span><span><span>Information on inlining decisions</span></span></span></span></span></h3>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">The new release of GCC also makes numerous improvements to the information provided by the<a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fopt-info"> </a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fopt-info"><span>-fopt-info</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"> flag. In the new log, messages are </span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span><span>prefaced</span></span></span></span></span><span lang="EN" xml:lang="EN" xml:lang="EN"> with <em>optimized</em>, <em>missed</em>, or <em>note</em> rather than the old behavior of all messages being prefixed with the same <em>note </em>label. </span></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">One example where the label optimization is being used to show information is <em>inlining decisions</em>. An inline decision is when the compiler decides to place a new copy of the function in each place it is called. By definition, Inline functions should be small so they can be substituted in the place of where its function call is made. </span></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Lets take the next simple code block as an example and see if the compiler made the inline optimization:</span></span></span></span></p>
<pre>
<code>#include &lt;stdio.h&gt;
void foo( int * x ){
    *x = *x + 10;
}
int main() {
      int var = 0;
      for(int cnt=0;cnt&lt;100;cnt++){
            foo(&amp;var);
      }
      printf("var is now %d\n",var);
      return 0;
}
$ gcc inline.c -O2 -fopt-info-inline-all
inline.c:14:3: note: Considering inline candidate foo/11.
inline.c:14:3: optimized: Inlining foo/11 into main/12.
inline.c:17:2: missed: not inlinable: main/12 -&gt; printf/13, function body not available
Unit growth for small function inlining: 16-&gt;16 (0%)
Inlined 1 calls, eliminated 0 functions</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">The compiler found the foo function was going to be called multiple times (in this case, 100 times) and decided to inline this function into the main. This is not the case for the printf that is marked as missed and cannot be inlined.</span></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Another example of when label optimization is displayed on the log is vectorization. The output from the vectorizer has been rationalized, so failed attempts to vectorize a loop are displayed in the form shown below:</span></span></span></span></p>
<pre>
<span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>[LOOP-LOCATION]: couldn't vectorize this loop</span></span></span></span></span>
<span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>[PROBLEM-LOCATION]: because of [REASON]</span></span></span></span></span></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">An example of this is shown in the simple code block below:</span></span></span></span></p>
<pre>
<code>cat vect.c
#define MAX 1000000
int a[256], b[256], c[256];
void foo()
{
    int i,x;
    for (x=0; x&lt;MAX; x++)
    {
        for (i=0; i&lt;256; i++)
        {
            a[i] = b[i] + c[i];
        }
     }
}
int main()
{
    foo();
    return 0;
}</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>When you compile with the <em>-O2 -ftree-vectorize -fopt-info-all-vec</em> flags, all the debug information is displayed:</span></span></span></span></span></p>
<pre>
<code>$ gcc -O2 -ftree-vectorize -fopt-info-all-vec vect.c
vect.c:8:5: missed: couldn't vectorize loop
vect.c:12:18: missed: not vectorized: complicated access pattern.
vect.c:10:9: optimized: loop vectorized using 16 byte vectors
vect.c:5:6: note: vectorized 1 loops in function.
vect.c:8:5: missed: couldn't vectorize loop
vect.c:12:18: missed: not vectorized: complicated access pattern.
vect.c:10:9: optimized: loop vectorized using 16 byte vectors
vect.c:17:5: note: vectorized 1 loops in function.</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">It is crucial for some applications to clearly see the internal steps the compiler takes for optimization. Because of this, a new option,<a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fsave-optimization-record"> </a></span><em><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fsave-optimization-record"><span>-</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fsave-optimization-record"><span>fsave</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fsave-optimization-record"><span>-optimization-record</span></a></span></em><span lang="EN" xml:lang="EN" xml:lang="EN"> was added, which writes </span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>a &lt;SRCFILE&gt;.opt-record.json.gz</span></span><span lang="EN" xml:lang="EN" xml:lang="EN"> file describing the optimization decisions made by GCC. This is similar to the output of <em>-fopt-info</em>, but with additional metadata, such as the inlining chain and profile information (if available). </span></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Using the previous example, the command is: </span></span></span></span></p>
<pre>
<span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>gcc -O2 -ftree-vectorize -fopt-info-all-vec vect.c -fsave-optimization-record</span></span></span></span></span></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">This generates the file: </span></span></span></span></p>
<pre>
<span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span>vect.c.opt-record.json.gz</span></span></span></span></span>
</pre>
<h4><span><span><span><span><span>Improvements on code generation</span></span></span></span></span></h4>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">GCC also has improvements related to code generation. One example is the improvement made to the switch statement conversion. In this new release of GCC, the switch statements can be translated to a linear function expression by the use of the </span><em><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-switch-conversion"><span>-ftree-switch-conversion</span></a></span></em><span lang="EN" xml:lang="EN" xml:lang="EN">. This means that the compiler tries to find any linear function a * x + y that can apply to the given values on the switch. Let's take one of the examples proposed in the<a href="https://github.com/gcc-mirror/gcc/commit/570c6c2ee57d1250468e5dde121d196f730732e1#diff-32e15f3f280035bc4b12b5980b580ca4"> </a></span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://github.com/gcc-mirror/gcc/commit/570c6c2ee57d1250468e5dde121d196f730732e1#diff-32e15f3f280035bc4b12b5980b580ca4"><span>patch</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN"> that introduced this change. </span></span></span></span></p>
<pre>
<code>int foo (int how) {
  switch (how) {
    case 2: how = 205; break;
    case 3: how = 305; break;
    case 4: how = 405; break;
    case 5: how = 505; break;
    case 6: how = 605; break;
  }
  return how;
}
void main(){
      int var = 3;
      foo(var);
}
</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">When we compile the code block below without the </span><em><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-switch-conversion"><span>-ftree-switch-conversion</span></a></span></em><span lang="EN" xml:lang="EN" xml:lang="EN"> flag, the foo function is generated as: </span></span></span></span></p>
<pre>
<code>0000000000001129 &lt;foo&gt;:
    1129:   83 ff 06          cmp  $0x6,%edi
    112c:   77 34             ja  1162 &lt;foo+0x39&gt;
    112e:   89 fa             mov  %edi,%edx
    1130:   48 8d 0d cd 0e 00 00    lea  0xecd(%rip),%rcx    # 2004 &lt;_IO_stdin_used+0x4&gt;
    1137:   48 63 04 91       movslq (%rcx,%rdx,4),%rax
    113b:   48 01 c8          add  %rcx,%rax
    113e:   ff e0             jmpq *%rax
    1140:   b8 cd 00 00 00   mov  $0xcd,%eax
    1145:   c3         retq
    1146:   b8 31 01 00 00   mov  $0x131,%eax
    114b:   eb f8             jmp  1145 &lt;foo+0x1c&gt;
    114d:   b8 95 01 00 00   mov  $0x195,%eax
    1152:   eb f1             jmp  1145 &lt;foo+0x1c&gt;
    1154:   b8 f9 01 00 00   mov  $0x1f9,%eax
    1159:   eb ea             jmp  1145 &lt;foo+0x1c&gt;
    115b:   b8 5d 02 00 00   mov  $0x25d,%eax
    1160:   eb e3             jmp  1145 &lt;foo+0x1c&gt;
    1162:   89 f8             mov  %edi,%eax
    1164:   eb df             jmp  1145 &lt;foo+0x1c&gt;</code></pre>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">However, when we compile with the flag (included in -O2 ) the objdump of the functions looks like:</span></span></span></span></p>
<pre>
<code>0000000000001129 &lt;foo&gt;:
    1129:   89 f8             mov  %edi,%eax
    112b:   8d 57 fe          lea  -0x2(%rdi),%edx
    112e:   83 fa 04          cmp  $0x4,%edx
    1131:   77 06             ja  1139 &lt;foo+0x10&gt;
    1133:   6b c7 64          imul $0x64,%edi,%eax
    1136:   83 c0 05          add  $0x5,%eax
    1139:   c3         retq
</code></pre>
<p><span><span><span>The compiler took the switch statement and transformed it into <span lang="EN" xml:lang="EN" xml:lang="EN">100 * how + 5</span> (for this example). This is the linear function expression for which the compiler was searching to optimize the generated code.</span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">More examples like this are described in the </span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/gcc-9/changes.html"><span>GCC 9  Release Series changes list</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN">, </span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/git/?p=gcc.git;a=summary"><span>git history logs</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN">, and </span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/ml/gcc/"><span>community mailing list</span></a></span><span lang="EN" xml:lang="EN" xml:lang="EN">. Things like</span><em><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-flive-patching"><span> -flive-patching</span></a></span></em><span lang="EN" xml:lang="EN" xml:lang="EN"> have been introduced in this release to provide a safe compilation for live-patching. The live-patching support gives developers control over the optimizations/behavior when compiling code for the context of applying it as a live patch.</span></span></span></span></p>
<h2><span><span><span><span>Conclusion</span></span></span></span></h2>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">With the early adoption of the latest GNU toolchain technologies, the Clear Linux Project sustains their leading-edge adoption of the latest open source technologies. Many of these new features allow developers to showcase the improved performance of their applications, especially for mathematical algorithms. At the same time, these new capabilities </span></span></span></span><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">boost the developer experience with a detailed summary of the decisions being made by the compiler. The scalability and application of these new features are limited only by the imagination of world-wide developers. </span></span></span></span></p>
<h2><span><span><span><span>Call to Action</span></span></span></span></h2>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Want to get involved? </span></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Join the GCC GNU mailing list: </span><span lang="EN" xml:lang="EN" xml:lang="EN"><a href="https://gcc.gnu.org/ml/gcc/"><span>https://gcc.gnu.org/ml/gcc/</span></a></span></span></span></span></p>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Find out more about the Clear Linux Project</span></span></span></span></p>
<ul><li><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Site: clearlinux.org</span></span></span></span></li>
<li><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Twitter: @clearlinux</span></span></span></span></li>
<li><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">Forum: community.clearlinux.org</span></span></span></span></li>
</ul><h2><span><span><span><span>References</span></span></span></span></h2>
<p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN">[1]<a href="https://sourceware.org/ml/libc-announce/2019/msg00000.html"> </a></span><a href="https://sourceware.org/ml/libc-announce/2019/msg00000.html"><span>https://sourceware.org/ml/libc-announce/2019/msg00000.html</span></a></span></span></span></p>
<p><span><span><span><span>[2]<a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Glibc-2.29-Released"> </a></span><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Glibc-2.29-Released"><span>https://www.phoronix.com/scan.php?page=news_item&amp;px=Glibc-2.29-Released</span></a></span></span></span></p>
<p><span><span><span><span>[3]<a href="http://www.krisgarrett.net/upload/481408/documents/9F5ADB2DA8146659.pdf"> </a></span><span><a href="http://www.krisgarrett.net/upload/481408/documents/9F5ADB2DA8146659.pdf"><span>http://www.krisgarrett.net/upload/481408/documents/9F5ADB2DA8146659.pdf</span></a></span></span></span></span></p>
<p> </p>
</div>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/field/field--node--body.html.twig' -->
</div>
<a class="back_to_top" href="toolchains-fresh-wind-sails-new-tech-world.html#">
<i class="fa fa-angle-up"> </i>
</a>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/content/node--blog--full.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/block/block--clearlinux-theme-content.html.twig' -->
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/region--content.html.twig' -->
</main>
<!-- /main -->
<footer class="footer">
<div class="container padding-md--top-bottom padding-md--left-right">
<div class="footer__logo">
<div class="footer__logo__wrapper">
<img class="footer__site_img_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/clear_linux_logo.svg" alt="Logo Clear Linux* Project"/>
<img class="footer__site_txt_object" src="../modules/custom/clearlinux_org/themes/clearlinux_theme/sass/components/layout/footer/assets/clear-linux-text-white.svg" />
</div>
</div>
<div class="footer__details">
<div class="footer__top">
<div class="footer__social_media">
<ul class="footer__social_media__list">
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://github.com/clearlinux" title="Github"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://www.youtube.com/channel/UChpmukwyvvdSmTA9gxKL_Fg" title="YouTube"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="http://twitter.com/clearlinux" title="Twitter"><i class="fa "></i></a>
</li>
<li class="footer__social_media__list_item">
<a target="_blank" tabindex='1' href="https://community.clearlinux.org/" title="Discourse"><i class="fa "></i></a>
</li>
</ul>
</div>
<hr>
<div class="footer__menu">
<ul class="footer__menu__list">
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/legal/trademarks.html">*Trademarks</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="http://www.intel.com/content/www/us/en/privacy/intel-cookie-notice.html">Cookies</a>
</li>
<li class="footer__menu__list_item">
<a tabindex='1' href="https://www.intel.com/content/www/us/en/privacy/intel-privacy-notice.html">Privacy terms</a>
</li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p class="footer__copyright">© 2022 Intel Corporation. All Rights Reserved.<br>*Other names and brands may be claimed as the property of others.</p>
</div>
</div>
</div>
<div class="footer_bottom">
<div class="container padding-md--left-right">
<div class="footer_bottom__copyright">
<i class="fa fa-copyright"></i> &nbsp; This project belongs to 01.org, Intel's opensource platform. </div>
</div>
</div>
</footer>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/page.html.twig' -->
</div>
<!-- END OUTPUT from 'core/themes/stable/templates/content/off-canvas-page-wrapper.html.twig' -->
<script src="../core/assets/vendor/jquery/jquery.min.js"></script>
<script src="../core/misc/polyfills/element.matches.js"></script>
<script src="../core/assets/vendor/once/once.min.js"></script>
<script src="../modules/contrib/extlink/extlink.js"></script>
<script src="../modules/contrib/google_analytics/js/google_analytics.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js" integrity="sha256-s5TTOyp+xlSmsDfr/aZhg0Gz+JejYr5iTJI8JxG1SkM=" crossorigin="anonymous"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/jquery.colorbox.min.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/src/clearlinux_theme.js"></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/bower_components/clipboard/dist/clipboard.min.js"></script>
<script src="../core/assets/vendor/js-cookie/js.cookie.min.js"></script>
<script src="../modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js" defer></script>
<script src="../modules/custom/clearlinux_org/themes/clearlinux_theme/js/dist/layout/header/header.js"></script>
<script src="../libraries/codesnippet/lib/highlight/highlight.pack.js"></script>
<script src="../modules/contrib/codesnippet/js/codesnippet.js"></script>
</body>
</html>
<!-- END OUTPUT from 'modules/custom/clearlinux_org/themes/clearlinux_theme/templates/layout/html.html.twig' -->