Définition
Une condition où un processus ou thread se voit perpétuellement refuser les ressources ou le temps d'ordonnancement nécessaires pour progresser, le maintenant bloqué tandis que d'autres tâches avancent.
Principe
Principe
La 'famine' naît de l'injustice dans l'allocation des ressources ou les politiques d'ordonnancement : priorités, verrous sans équité ou clients monopolistiques peuvent systématiquement exclure un participant de la prestation de service nécessaire.
Démonstration
Démonstration
Un thread de basse priorité est systématiquement préempté par des tâches de haute priorité qui ne cèdent jamais, si bien que le thread de basse priorité ne progresse pas alors que le système reste globalement actif.
Mauvaise application
Mauvaise application
Employer 'starvation' pour toute ralentissement temporaire ou imputer la cause à la famine alors que le problème est un deadlock, un livelock ou une épuisement transitoire de ressources qui se résoudra.
Conséquence
Conséquence
Un diagnostic correct conduit à corriger l'équité : vieillissement des priorités, verrous/queues équitables, quotas de bande passante ou de ressources, ou modification des politiques ; ne pas y remédier entraîne des délais non bornés pour les tâches affectées et une QoS imprévisible.
Inversion
Inversion
L'inverse est le progrès garanti ou le service éventuel : politiques d'ordonnancement et d'allocation qui assurent que chaque tâche éligible finit par obtenir les ressources requises (garanties d'équité faibles ou fortes).
Limite
Limite
Couvre les contextes d'ordonnancement et d'allocation de ressources (CPU, verrous, E/S, bande passante réseau). Exclut la latence transitoire, les fuites de ressources permanentes et les cycles de deadlock ; la famine peut apparaître sur machine unique comme sur systèmes distribués.
Tension sémantique
Tension sémantique
Tension avec l'interblocage et le livelock : la famine n'a pas la dépendance cyclique mutuelle du deadlock ni l'activité continue du livelock, mais peut être causée indirectement par ces conditions ou par des politiques injustes.
Synthèse
Synthèse
La famine est le refus persistant de service à un participant dû à une allocation ou un ordonnancement injuste ; la corriger impose de réintroduire équité, quotas ou vieillissement pour que chaque participant obtienne finalement les ressources nécessaires.