Infrastructure
IRQ : Interrupt Request, signal par lequel un périphérique demande au processeur d'interrompre ce qu'il fait pour s'occuper de lui. « La demande d'interruption », par analogie avec la sonnette d'un comptoir d'accueil : bien plus efficace que d'aller voir toutes les minutes s'il y a quelqu'un, à condition que personne n'appuie dessus sans arrêt.
Les lignes du PC : Le PC AT disposait de deux contrôleurs d'interruptions 8259A en cascade, soit seize lignes numérotées de 0 à 15, dont la ligne 2 servait à relier le second contrôleur. Les cartes ISA (Industry Standard Architecture) se réglaient par cavaliers, et deux cartes sur la même ligne se neutralisaient : le diagnostic commençait par un tournevis.
Partage et messages : Le bus PCI (Peripheral Component Interconnect) a permis de partager une ligne entre plusieurs cartes, puis les MSI (Message Signaled Interrupts) ont remplacé les fils par des écritures en mémoire. Avec MSI-X, une carte réseau moderne dispose d'une interruption par file de réception, que l'on répartit entre les cœurs du processeur.
Sous Linux : Le fichier /proc/interrupts compte les interruptions par ligne et par cœur, et l'affinité de chacune se règle dans /proc/irq, à la main ou par le démon irqbalance. Une carte dont toutes les files aboutissent au même cœur sature celui-ci pendant que les autres se reposent.
Trop d'interruptions : À très haut débit, une interruption par paquet devient une tempête qui occupe le processeur sans rien produire d'utile. Les cartes regroupent donc leurs interruptions, Linux bascule en scrutation sous charge avec NAPI (New API), et DPDK (Data Plane Development Kit) renonce entièrement aux interruptions au profit d'une scrutation permanente.
Ce qui arrive si on s'en passe
Sans interruptions, le processeur devrait interroger sans cesse chaque périphérique pour savoir s'il a des données, en gaspillant son temps quand il ne se passe rien et en réagissant en retard quand il se passe quelque chose. Mal réparties, elles ont un effet plus discret : un serveur dont toutes les interruptions réseau tombent sur un seul cœur perd des paquets sous une charge qu'il absorberait largement, et une rafale de trafic, légitime ou non, suffit à le rendre indisponible. Le déni de service n'a alors besoin d'aucune faille, seulement d'un réglage par défaut.
Explication de la marmotte
Un ordinateur a beaucoup de choses à surveiller : le clavier, la souris, la carte réseau, le disque. Plutôt que de leur demander sans arrêt s'ils ont du nouveau, le processeur attend qu'ils sonnent. Cette sonnette, c'est l'IRQ : quand un message arrive par le réseau, la carte réseau sonne, le processeur s'interrompt un instant pour le récupérer, puis reprend son travail. Sur les vieux ordinateurs, deux appareils réglés sur la même sonnette se gênaient et l'un des deux cessait de fonctionner.
Où ce terme est utilisé
- Interfaces, pilotes et démarrage par le réseau (3 occurrences)
