4.8. Applications transactionnelles
Une entreprise est organisée en 10 départements.
Chaque département gère lui-même ses données
relatives aux bons de commandes, aux factures et aux paiements qui le
concernent. Pour pallier les problèmes des accès partagés,
la gestion informatique est basée sur le schéma de transaction
suivant.
réservation des données
traitement préliminaire 10 ms
lecture disque de la donnée concernée
traitement de la donnée 20 ms
écriture disque de la donnée concernée
fin de traitement 10 ms
libération des données
Les
temps indiqués sont les temps d’unité centrale. Le temps
moyen d’accès disque est de 30 ms.
A- Lors d’une transaction, la réservation
des données porte sur l’ensemble des données de
l’entreprise. Déterminer le nombre maximum de transactions par
seconde, en justifiant votre réponse.
B- Lors d’une transaction, la réservation
des données ne porte plus sur l’ensemble des données de
l’entreprise, mais seulement sur celles du département
concerné. Toutes les données sont sur un seul disque.
Déterminer le nombre maximum de transactions par seconde, en justifiant
votre réponse.
C- Lors d’une transaction, la réservation
des données porte toujours sur les données du département
concerné, mais cette fois l’ensemble des données sont
réparties sur deux disques. Déterminer le nombre maximum de
transactions par seconde, en justifiant votre
réponse.
Solution de l’exercice
4.8
4.8.1. Question A
Notons d’abord que les traitements font une lecture sur
disque suivie d’une écriture sur la même donnée qui
est donc une donnée partagée qui doit être en accès
exclusif durant la transaction.
Chaque transaction réserve les données pendant
la durée de son exécution (UC et attente disque), soit 10 + 30 +
20 + 30 + 10 = 100 ms. Il ne peut donc y avoir au plus que 10 transactions par
secondes.
4.8.2. Question B
Chaque transaction réserve les données du
département pendant 100 ms. Les données des autres
départements sont donc libres. Comme il y a 10 départements, il
peut y avoir 10 transactions en parallèles qui concourent aux autres
ressources : l’UC pour 40 ms et le disque pour 60 ms. La limitation
de l’UC est donc de 25 transactions par seconde, mais la limitation du
disque est à 17 par seconde. C’est donc le disque qui est la
ressource la plus demandée. Il ne peut y avoir au plus que 17
transactions par seconde.
4.8.3. Question C
Si les données sont réparties sur deux disques,
chaque disque peut satisfaire 17 transactions par seconde, et l’ensemble
des deux disques permettent d’avoir 34 transactions par seconde. Cette
fois, c’est l’UC qui est la ressource la plus demandée. Il ne
peut y avoir plus de 25 transactions par seconde.
Notons que ces résultats sont
“ théoriques ”. Ils garantissent que ces bornes ne
peuvent être dépassées, et non qu’elles sont
atteintes. En réalité, les conflits entre les demandes des
transactions, le temps processeur pour traiter ces conflits, et la dispersion
entre les mesures de temps indiquées comme moyennes entraînent que
ces maxima ne seront pas atteint. En fait ces bornes correspondent à la
saturation du système, et il faut toujours prendre une marge de
sécurité sans espérer des miracles.