[CentOS-devel] Proposal: CentOS x86 SIG

Tue Feb 28 00:04:04 UTC 2023
Shaun McCance <shaunm at redhat.com>

On Mon, 2023-02-27 at 18:23 +0100, Florian Weimer wrote:
> # Goals
> 
> The purpose of this SIG is to quantify the potential benefits of
> applying existing compiler technology to distribution packages,
> targeting more recent CPUs, and evaluating different options for how
> these optimizations can be maintained in a scalable way, and
> delivered
> to end users.

Would this work fit under the charter of the existing (and largely
dormant) Alternative Architectures SIG?

> Today, there is a significant delay between the release of new x86-64
> ISAs and the adoption across the entire CentOS distribution. For
> example, CentOS 9 Stream released with the x86-64-v2 ISA baseline,
> nine
> to thirteen years after such CPUs became commercially available. The
> concern is that this discrepancy leaves more recent CPU features
> unused,
> and end users do not see the best possible performance for the CPUs
> they
> use.
> 
> Parts of the distribution are built with run-time selected
> optimizations, but this only applies to specialized functional areas,
> such as string manipulation, certain mathematical operations, and
> cryptography, but not (for example) to language interpreters that are
> part of CentOS.
> 
> # Status
> 
> Proposed: RFC and looking for a sponsoring Governing Board member
> 
> # What’s in scope
> 
> * Explore the immediate runtime performance impact of package-
> specific
>   ISA-related work on key workloads e.g. language interpreters.
>   
> * Evaluate the performance benefit at run-time of building CentOS
> with
>   auto-vectorization and the very-cheap cost model and different x86-
> 64
>   micro-architecture levels.
>   
> * Explore ways how these performance-enhancing builds can be
> maintained
>   at the distribution level and made available to end users for
>   installation.
>   
> * Assess the image/container size impact of those additional
> optimized
>   builds (this may not be applicable to some delivery mechanisms).
>   
> * Explore ways to alert users that they do not get optimal
> performance
>   because of misconfigured hypervisors.
>   
> * It is possible, but not likely, that work across the entire
>   distribution may be needed to enable shadow stacks. (Userspace
>   enablement happened as part of CentOS 8, but the kernel parts are
> not
>   upstream and have changed significantly, so there is some
>   uncertainty.) If large-scale work affecting many packages is
> needed,
>   the SIG would be a natural place to prototype changes before
>   integration into the distribution.
>   
> # What's not in scope
> 
> * Enablement for future x86 CPUs and chipsets, assemblers, linkers,
> and
>   compiler support for new ISAs including regular performance work on
>   individual packages (e.g., identified upstream backports). Hardware
>   enablement must follow existing processes.
>   
> * Any 32-bit work (such as 64-bit time_t, or a 32-bit kernel) is
>   explicitly excluded.
>   
> * The focus will be on userspace changes.
> 
> * Rebuilds for potential observability improvements are out of scope
>   (although shadow stacks are expected to help in this a
> 
> * Adding additional hosts to the CentOS infrastructure in support of
>   this SIG needs to be negotiated with the CentOS infrastructure
>   team. The CPU microarchitecture level of the existing
> infrastructure
>   is already sufficient.
>   
> # Roadmap
> 
> March 2023: Start the SIG and coordinate with partners
> April 2023: Adopt existing CentOS builder resources to deliver the
>             required builds.
> May 2023: Initial performance analysis results.
> 
> Rest TBD based on results of exploration.
> 
> Resources
> 
> They SIG could benefit from spare x86-64 Koji builder capacity.
> 
> _______________________________________________
> CentOS-devel mailing list
> CentOS-devel at centos.org
> https://lists.centos.org/mailman/listinfo/centos-devel