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.