Semântica atômica
Semântica atômica é um tipo de garantia fornecida por um registrador de dados compartilhado por vários processadores em uma máquina paralela ou em uma rede de computadores trabalhando juntos. A semântica atômica é muito forte. Um registro atômico fornece garantias fortes mesmo quando há simultaneidade e falhas.
Um registrador de leitura/gravação R armazena um valor e é acessado por duas operações básicas: read e write(v). Uma leitura retorna o valor armazenado em R e write(v) altera o valor armazenado em R para v. Um registrador é chamado de atômico se ele satisfaz as duas seguintes propriedades:
1) Cada operação de invocação de uma operação de leitura ou gravação:
•Deve aparecer como se tivesse sido executado em um único ponto τ(op) no tempo.
•τ (op) funciona da seguinte forma: τb(op) ≤ τ (op) ≤ τe(op): onde τb(op) e τe(op) indicam o tempo em que a operação op começa e termina.
•Se op1 ≠ op2, então τ (op1)≠τ (op2)
2) Cada operação de leitura retorna o valor escrito pela última operação de escrita antes da leitura, na sequência em que todas as operações são ordenadas por seus valores τ.
Registro atômico/linearizável:
Término: quando um nó está correto, mais cedo ou mais tarde cada operação de leitura e gravação será concluída.
Propriedade de segurança (pontos de linearização para leitura e gravação e operações com falha):
Operação de leitura:Parece que aconteceu em todos os nós em alguns momentos entre a invocação e o tempo de resposta.
Operação de gravação: semelhante à operação de leitura, parece que aconteceu em todos os nós em alguns momentos entre a invocação e o tempo de resposta.
Operação com falha (o termo atômico vem dessa noção): parece que foi concluída em todos os nós ou nunca aconteceu em nenhum nó.
Exemplo: sabemos que um registrador atômico é linearizável para um registrador sequencial seguro.
A figura a seguir mostra onde devemos colocar o ponto de linearização para cada operação:
Um registro atômico pode ser definido para uma variável com um único gravador, mas multileitores (SWMR), um único gravador/um único leitor (SWSR) ou vários gravadores/multileitores (MWMR). Aqui está um exemplo de um registrador atômico multi-leitor e multi-gravador que é acessado por três processos (P1, P2, P3). Observe que R. read() → v significa que a operação de leitura correspondente retorna v, que é o valor do registrador. Portanto, a seguinte execução do registrador R poderia satisfazer a definição dos registradores atômicos:
R.write(1), R.read()→1, R.write(3), R.write(2), R.read()→2, R.read()→2.
Contenido relacionado
Carro blindado (militar)
Televisão analógica
HTML dinâmico