Remi's RPM repository - Blog

  

Blog | Forum | Repository | Wizard

jeudi 16 novembre 2023

New Computer and x86_64 builder for 2024, 2025...

My new computer is operational :

  • Gigabyte B760 AORUS Elite AX
  • Intel(R) Core(TM) i9-13900K CPU
  • Memory: 2x32GiB DDR5
  • NVMe disk of 2TB

Retrieved from my previous computer:

  • Corsair Graphite series 760T box
  • WaterCooling
  • SSD disks, 180GB and 480GB
  • SATA disk of 4TB

This computer is now my main development workstation and also my x86_64 builder.

First test, boot time < 5", PHP 8.3 build takes 20" instead of 55". Nice.

CPU Benchmark shows tripling of results, see i9-9900K vs i9-13900K

Another comparison, building grpc extension RPM, with the old i9-9900K

  • 4'12" for a single build using -j16
  • 3'29" average for 2 builds using -j8
  • 3'25" average for 3 builds using -j5

With the new i9-13900K

  • 2'20" for a single build using -j32
  • 1'20" average for 2 builds using -j16
  • 1'05" average for 3 builds using -j10

I plan to extend it quickly:

  • +64GiB memory

Thanks to all who want to participate, see the Merci/Thanks page.

Of course, my previous machine, from 2019, will be re-used

vendredi 15 septembre 2023

New ARM builder for 2023, 2024... from ETES GmbH

Architecture

ARM 64-bit is a RISC family processor.

As an old Unix user (on 68000, PA-RISC, PowerPC...) I'm a big fan of these architectures and a bit sad by the CISC (Intel/AMD) domination.

But the wheel is turning. ARM can be fast, cheap, and use less energy. Remember they are used to power your smartphone.

Chicken or egg

Classic dilema.

For a few years, some users have started asking about aarch64 builds. But as there are few users, there are few available systems and few available software. Having more users, software or systems will allow others to grow (and price to decrease).

Raspberry Pi was a small, low-cost solution, but unsuitable for a serious builder.  Other professional solutions were too expensive for a free project.

Last year I set up an aarch64 VM (emulated on x86_64) and started producing packages.

Because this solution was terribly slow (by 50, so minutes became hours), I had to reduce the target. So only a minimal set of packages and only for EL-9, which is very frustrating for me and for the repository users.

Sponsoring

A few months ago, while I was thinking about a small fundraising for a builder, Robert Scheck contacted me on behalf of ETES GmbH to find a way to thank me, support my work, and increase my motivation. We agree on the goal of an ARM server to create a RPM builder.

And this is now a reality: I have an ARM builder, see ETES sponsert ARM-Buildsystem für Remi's RPM repository (in German with English translation).

Even if I'm used to receive Paypal donations from the repository user (for hosting budget and builder), lot of support by mirror providers, and some thanks messages such testimonial of faith is really very appreciated in a world where too many users confuse free and gratis.

The beast

  • 2.2 GHz 64-core Ampere Altra processor (based on Neoverse N1)
  • 64 GB DDR4 RAM
  • 512 GB NVMe M.2 SSD
  • two boards from ADLINK Technology

Benchmark

A simple CPU benchmark says it has the same note as my (now old) x86_64 builder.

After a quick (and very simple) installation of RHEL 9.2 for aarch64 (using a free developer subscription), and the setup of my build environment, I  was able to run some comparisons and optimizations of builds.

1. a QT application

I run a build of qelectrotech on both builder.

The build takes 4' on x86_64 and 6' on aarch64. Despite this being a quite big project, it doesn't have the benefit of multiple-core parallelism.

For memory, a RPM build has a lot of steps which are not parallelized (chroot installation, link, archive...)

So for other tests, I will build PHP extensions that I usually build various time for various targets (distributions, PHP versions)

2. A small PHP extension

I run a set of builds of the ZIP extension, a small project (2 C files) which is quite common.

On x86_64

  • 24" for a single build using -j16
  • 15" average for 2 builds using -j8
  • 12" average for 3 builds using -j5

On aarch64

  • 29" for a single build using -j64
  • 15" average for 2 builds using -j32
  • 12" average for 3 builds using -j22

As this is a very small project, again no benefit from the number of cores, but same time for both builders.

3. A big PHP extension in C

I run a set of builds of GRPC extension, among the biggest ones (~2800 source files)

On x86_64

  • 4'12" for a single build using -j16
  • 3'29" average for 2 builds using -j8
  • 3'25" average for 3 builds using -j5

On aarch64

  • 2'34" for a single build using -j64
  • 2'21" average for 2 builds using -j32
  • 2'10" average for 3 builds using -j22

Here the number of cores gives a real benefit, as the aarch64 is even faster than the x86_64 one.

4. Another big PHP extension in Rust

I run a set of builds of datadog_trace extension, a terrible project in Rust using 400MB of sources

On x86_64

  • 2'38" for a single build using -j16
  • 1'30" average for 2 builds using -j8
  • 1'12" average for 3 builds using -j5

On aarch64

  • 4'44" for a single build using -j64
  • 2'55" average for 2 builds using -j32
  • 1'38" average for 3 builds using -j22

Strangely, x86_64 is slightly faster, not real difference.

5. Conclusion

This set of tests confirms that whatever the number of available cores, it is better to run various builds simultaneously. 3 or 4 seems the good choice for me as more will require more memory (chroot are stored in a 40GB tmpfs).

This new aarch64 is really an awesome builder! It will give me much more resources to build more packages. For example, I was able to rebuild the full Software Collections of PHP 7.4 to 8.3 for EL-9 (~150 extensions, more than 1000 built RPMs) in about 10 hours.

New goals

So aarch64 is now considered a primary arch for my repository

  • x86_64 and aarch64 packages are built simultaneously
  • modules and SCLs are available
  • same set of packages
  • testing packages

For now only for Enterprise Linux 9, but other distributions soon (probably EL-8, perhaps Fedora 39)

Thanks

I want to heartily thank ETES GmbH for its public support of my work and Robert Scheck for his time on this project.

mardi 5 avril 2022

Fin des articles en français

Alors que lors de son ouverture il y a presque 17 ans, ce blog, associé à mon dépôt, était principalement en français, depuis de nombreuses années maintenant chaque article ou annonce était publié en français et en anglais.

Enfin de me libérer un peu de temps, les nouvelles annonces seront uniquement publiées en anglais.

J'essaierais de continuer à publier les articles de documentation en français.

vendredi 4 mars 2022

Please STOP war!

Lire la suite...

lundi 8 novembre 2021

Enterprise Linux 9 Repository

Red Hat Enterprise Linux 9 Beta is released and CentOS 9 Stream is available, so my repository is already open and (mostly) fully populated.

Lire la suite...

Dépôt pour Enterprise Linux 9

Red Hat Enterprise Linux 9 Beta est sortie et CentOS 9 Stream est aussi disponible, donc mon dépôt est déjà ouvert et (pratiquement) complet.

Lire la suite...

jeudi 20 mai 2021

#remirepo IRC channel on Libera network

I have recently registered the #remirepo IRC channel on the Libera.Chat servers.

You are welcome to discuss.

The channel on Freenode is still active, but may be closed in the near future.

Canal #remirepo sur le réseau IRC Libera

Je viens d'enregistrer le canal IRC #remirepo sur les serveurs de Libera.chat.

N'hésitez pas à passer pour discuter.

Le canal sur Freenode est toujours actif, mais pourrait être fermé prochainement.

mercredi 16 décembre 2020

New server for 2021 and later

I just moved all my web sites to a new server.

If you read this entry, this means DNS have done their work, and you are connected to this new server.

Lire la suite...

Nouveau serveur pour 2021 et plus

Je viens de basculer l'ensemble de mes sites sur une nouvelle machine.

Si vous voyez ce message c'est que les DNS ont fait leur travail et que vous êtes sur cette nouvelle machine.

Lire la suite...

vendredi 22 mai 2020

15 years

This repository is open for exactly 15 years today.

Here is some reference dates

Lire la suite...

15 ans

Cela fait exactement 15 ans aujourd'hui que ce dépôt est ouvert.

Quelques repères des années écoulées.

Lire la suite...

mercredi 22 janvier 2020

PHP version 7.2 required

See the PHP supported versions list.

So, now, some noarch packages in the remi repository require 7.2 as the minimal required version.

foo requires php(language) >= 7.2

Lire la suite...

PHP version 7.2 requise

Voir la liste des versions supportées de PHP.

C'est donc désormais la version 7.2 minimum qui est requise pour certains paquets (noarch) du dépôt remi.

toto requiert php(language) >= 7.2

Lire la suite...

mardi 24 septembre 2019

CentOS 8 repository

Shortly after RHEL-8, CentOS 8 is released and of course my repository is already open and fully populated.

Lire la suite...

Dépôt pour CentOS 8

Peu de temps après RHEL-8CentOS 8 est sortie et bien sur mon dépôt est déjà ouvert et complet.

Lire la suite...

samedi 7 septembre 2019

New Computer for 2020, 2021...

My new computer is operational :

  • Corsair Graphite series 760T box
  • Gigabyte Z370 AORUS Ultra Gaming motherboard
  • Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz processor
  • WaterCooling
  • Memory: 2x16GiB

Retrieved from my previous computer:

  • SSD disks, 180GB and 480GB
  • SATA disks 320GB, 500GB et 4000GB

First test, boot time < 5", PHP 7.4 build take 0'55" instead of 2'11". Nice.

I plan to extend it quickly:

  • 32GiB memory

Thanks to all who wants to participate, see the Merci/Thanks page.

Of course, my previous machine, from 2013, will be re-used

Nouvelle machine pour 2020, 2021...

Ma nouvelle machine est opérationnelle :

  • Boitier Corsair Graphite series 760T
  • Carte mère Gigabyte Z370 AORUS Ultra Gaming
  • Processeur Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
  • WaterCooling
  • Mémoire 2x16Gio

Récupérés sur mon ancienne machine :

  • Disques SSD 180Go et 480Go
  • Disques SATA 320Go, 500Go et 4000Go

Première mise à l'épreuve, temps de démarrage < 5" et la compilation de PHP 7.4 passe de 2'11" à 0'55". Cool.

Je prévois donc rapidement de l'étendre avec:

  • 32Gio de mémoire

Merci à tous ceux qui veulent participer, voir la page Merci/Thanks.

Mon ancienne machine de 2013 sera évidement ré-utilisée.

mardi 7 mai 2019

RHEL 8 repository

Red Hat Enterprise Linux 8 is released and of course my repository is already open and fully populated.

Lire la suite...

Dépôt pour RHEL 8

Red Hat Enterprise Linux 8 est sortie et bien sur mon dépôt est déjà ouvert et complet.

Lire la suite...

- page 1 de 15