Je dois configurer un RAMDisk Linux pour mettre en œuvre une file d'attente.
L'idée de base est qu'il y aura des processus écrivant sur le RAMDisk. En même temps, il y a des processus qui surveillent les nouveaux fichiers, les lisent et les suppriment au fur et à mesure qu'ils arrivent.
Dans le cas où l'écriture est plus rapide que la lecture et que le disque RAM se remplit, l'écriture doit se bloquer jusqu'à ce qu'il y ait assez d'espace dans le disque RAM pour stocker le nouveau fichier qui arrive.
Une option serait d'utiliser tmpfs, qui "déborde" sur le disque lorsque la mémoire vive assignée au système de fichiers est entièrement utilisée - cependant, le système entier ralentirait en raison de la lenteur des entrées-sorties du disque dur impliquées dans cette opération - et dans mon système à hautes performances, ce serait inacceptable.
Ce que je voudrais idéalement, c'est un système de fichiers qui bloque automatiquement les écritures lorsque le RAMDisk est plein jusqu'à ce qu'un espace suffisant soit disponible.
Notez que je n'ai pas le contrôle sur les processus d'écriture, donc ils n'auront pas la possibilité de demander de l'espace libre et d'attendre - ce sont juste des processus stupides qui écrivent tout le temps.
Une solution ?