UFMG - Pós-graduação em Ciência da Computação - Programação Paralela

A seguir: Escalonamento SJF de uma Acima: Exercícios: 1 Lista (postscript) Anterior: Comparação e Troca em


Transações

Considere o seguinte programa:


a = 1;  b = 1;
cobegin
T1:: a := a + 100;  b := b + 100;
$\parallel$ 
T2:: a := a * 2;  b := b * 2; 
coend

Na terminologia introduzida por [Eswaran et al., 1976], uma transação é uma unidade de consistência, isto é, um procedimento que, se executado isoladamente, preserva a consistência de um banco de dados. Supondo que a = b é a condição de consistência no programa acima, T1 e T2 seriam transações. O controle de concorrência de um banco de dados deve cuidar para que o efeito de transações executadas em paralelo seja equivalente à sua execução numa sequência qualquer. Acrescente ao programa acima comandos de sincronização que garantam a serializabilidade de sua execução. Procure maximizar o paralelismo, não utilizando uma única região crítica.



Osvaldo Carvalho