Orateur
Description
Les applications online qui gèrent l'acquisition et de contrôle-commande des expériences de physique peuvent être soumises à d'importants flux de données UDP en provenance des cartes d'acquisition électroniques. Ce qui met leurs threads réseau face à une triple contrainte de performance : il faut lire les données au débit où elles arrivent, traiter chaque paquet avec une latence suffisamment faible, et économiser des ressources CPU/RAM pour le reste des traitements.
Au fil des dernières décennies, les noyaux Linux et Windows se sont dotés de nombreuses fonctionnalités qui peuvent aider à atteindre ce triple objectif. Mais de trop nombreuses applications online les dédaignent, restant exclusivement basées sur les APIs réseau historiques de 4.2BSD (1983) et leur cousin Winsock 1.0 (1992) quand on gratte un peu le vernis des abstractions.
La bibliothèque udipe, en cours de développement, souhaite changer cela en facilitant l'accès aux APIs modernes de communication UDP de Linux et Windows. Son interface flexible s'adapte aux besoins de l'utilisateur : du plus simple pour les petits flux réseau peu exigeants, au plus souple pour les grands flux qui nécessitent un contrôle plus fin, les différents styles pouvant être combinés au sein d'une même application.
Une surcouche également en cours de développement ajoute le support du protocole de contrôle-commande IPBus avec une interface compatible avec celle d'udipe. Ce qui permettra à terme d'écrire les opérations d'acquisition et de contrôle commande dans un style homogène, de les synchroniser facilement et efficacement entre elles, et de prioriser les opération réseau de contrôle commande par rapport à celles d'acquisition.