Développer le sens de la mesure
Pierre Boudes
Created: 2026-07-01 mer. 08:19
Développer le sens de la mesure
Un programme industriel mondialisé
- Gordon Moore (1965 co-fondateur d'Intel)
- 1ère loi de Moore doublement chaque
année 2 ans 18 mois
- des chaînes de production de plus en plus coûteuses
- demande tirée par l'informatique Wintel (et bientôt par NVIDIA-OpenAI ?)
- GPGPU (CUDA), ARM, RISC-V
Dans vos équipements…
- Combien y a t'il de cœurs (hors hyperthreading) dans vos équipement ?
- À quelles fréquences tournent-ils ?
- Comment circulent les données ?
Réponse
- CPU ordinateur : 2-24
- CPU serveur : 2-192 par processeur
- Mobile : 2-12
- GPU : 100-16384
- Les meilleurs super-calculateurs : 10 000 000 cœurs
Production mondiale de calculateurs
- computer = calculateur
- mesure en FLOPS : floating point operation per second
- production 2024 de puces : \(10^{24}\) FLOPS
- il semble possible d'atteindre \(10^{32}\)
- Meilleure carte GPU : \(10^{14}\) FLOPS
- Arm-Cortex M0+, 0,10 €, 24 MHz, \(10^7\) FLOPS ?
- AMD Ryzen 5 5500 : 36,816 MOps/Sec 4,345 \(10^{11}\) FLOPS, 75 $, 5,8 GFLOPS/$
Question
- Si l'ensemble de l'humanité simulait un calculateur combien aurait-il de FLOPS ?
- estimer le temps de multiplication de deux nombres flottants de 32 bits
- et le temps de multiplication de deux nombres flottants de 64 bits
Réponse
- humanité estimée à \(10^{10}\) personnes (10 milliards)
- un nombre flottant de 32 bits a une mantisse de \(2^{24}\)) soit 7 décimales
- \(7\) multiplications d'un nombre à 7 chiffres par un chiffres
- au moins 49 opérations entre deux chiffres et autant d'additions donc \(10^2\) opérations
- hypothèse : une opération élémentaire par seconde
- soit \(10^{-2}\) FLOPS par humain
- l'humanité formerait un calculateur d'environ \(10^8\) FLOPS
Rejouons la scène au ralenti !
- imaginons que nous ralentissions le temps des machines (calculateur, réseau, stockage) d'un facteur un milliard.
- Autrement dit regardons le temps informatique à une échelle 10^9 comme on lit une carte
- carte 1/100 000 ième : 100 km de territoire sont représentés par 1m dans nos mains (distance)
- 1 nano-seconde est représentée par 1 seconde (durée)
Temps informatiques à l'échelle 10^9 : calcul…
| Opération |
temps |
_ x 10^9 |
| Effectuer une opération CPU |
1 ns |
1 s |
| Charger 8 octets de la mémoire L1 |
0.5 ns |
0.5 s |
| Récupérer sur une erreur de prédiction de saut |
5 ns |
5 s |
| Charger 8 octects de la mémoire L2 |
7 ns |
7 s |
| (Dé)verrouiller un Mutex |
25 ns |
25 s |
| Charger 8 octets de la DRAM |
100 ns |
1.6 min |
source : http://norvig.com/21-days.html#answers
Question
- quelle est la différence entre caches L1, L2, L3 et DRAM ?
Entrées/sorties
| Opération |
temps |
_ x 10^9 |
| Envoyer 2 ko sur un LAN 1Gbps |
0.02 ms |
5 heures |
| Lire seq 1 Mo DRAM (20 Gbp/s) |
0.25 ms |
3 jours |
| Lire seq 1 Mo SSD (500 Mo/s) |
2 ms |
23 jours |
| Lire seq 1 Mo HDD (150 Mo/s) |
15 ms |
6 mois |
| curl http://serveur.fr |
50 ms |
19 mois |
| curl http://server.us |
120 ms |
4 ans |
On irait plus vite à pied ;-)
Supports de masse
| Opération |
temps |
x 10^9 |
| Latence SSD |
0.2 ms |
2.3 jours |
| Latence HDD |
8 ms |
3 mois |
| Latence DAS |
0.3 ms |
3 jours |
| Latence SAN |
6 ms |
2 mois |
| Latence HF trading |
0.1 ms |
1 jours |
| 1 I/O SSD (100 000 IOPS) |
0.01 ms |
3 heures |
| 1 I/O HDD (75 IOPS) |
13 ms |
5 mois |
| 1 I/O DAS (1 500 187 IOPS, 2 millions $) |
700 ns |
11 min |
Mémoire de masse SAN DAS NAS…
- DAS : blocs, SATA 3, PCI Express, directly attached storage
- NAS : fichiers, ethernet, network attached storage
- SAN : blocs, fibre channel, iSCSI, storage area network
- S3 : objets, HTTP Object storage, Simple Storage Service
- Ceph : distribué et autoréparant