Você está na página 1de 2

Computao Paralela e Distribuda, MEI, FCT/UNL Questes-tipo

Questo 1. Para a coordenao de processos concorrentes, bem conhecido o modelo Linda e em


particular as suas operaes principais in, rd, out. O modelo pode ser utilizado em sistemas de
memria partilhada ou de memria distribuda. No que se segue, admita que dispe das
operaes auxiliares necessrias para manipular as estruturas de dados que representam
os tuplos.

a) Defina a semntica das operaes realizadas pelas primitivas in, rd e out e explique o significado
dos seus parmetros.

b) Discuta uma possvel realizao deste modelo, admitindo um sistema de memria partilhada e uma
implementao baseada em semforos. Deve apresentar o pseudo-cdigo das aces para realizar as
operaes in, rd, e out e eventuais aces auxiliares que sejam necessrias para assegurar a correcta
sincronizao.

c) Discuta uma possvel realizao deste modelo, admitindo um sistema de memria partilhada e uma
implementao baseada em monitores. Deve apresentar o pseudo-cdigo das aces para realizar as
operaes in, rd, e out e eventuais aces auxiliares que sejam necessrias para assegurar a correcta
sincronizao.

d) Discuta uma possvel realizao deste modelo, admitindo um sistema de memria distribuda e uma
soluo baseada num servidor centralizado. Deve apresentar o pseudo-cdigo das aces para realizar
as operaes in, rd, e out e eventuais aces auxiliares que sejam necessrias para assegurar a
correcta sincronizao.

e) Discuta uma possvel realizao deste mecanismo, admitindo um sistema de memria distribuda e
admitindo uma soluo baseada na replicao das estruturas de dados que representam os tuplos.
Deve apresentar o pseudo-cdigo das aces para realizar as operaes in, rd, e out e eventuais
aces auxiliares que sejam necessrias para assegurar a correcta sincronizao.

Questo 2. Apresente o pseudo-cdigo das operaes Send e Receive, que do acesso a uma fila
global de mensagens, com uma disciplina de acesso FIFO, implementadas com base nas primitivas do
modelo Linda in, out e rd. As mensagem tm descritores com um formato pr-definido e a fila tem
capacidade limitada a um mximo de N mensagens. As duas operaes Send e Receive so atmicas:

Receive(Msg): bloqueia o processo invocador at poder devolver (em Msg) uma


mensagem, que ento removida da fila, segundo a ordem FIFO.

Send(Msg): insere uma nova mensagem descrita por Msg na fila, pela ordem FIFO,
bloqueando o invocador at poder completar-se.

Questo 3. Considere a execuo de processos num sistema de computao distribuda, dando


acesso a objectos, e tendo cada objecto uma rplica local a cada n do sistema. A execuo
controlada por um dos modelos de consistncia de dados a seguir indicados.

a) Apresente a definio do modelo de consistncia estrita, no contexto de um sistema de computao


distribuda com mltiplas rplicas de objectos. Discuta de que modo se pode realizar esse modelo num
sistema distribudo.

b) Discuta de que modo realizar o modelo da alnea a) numa arquitectura de um multiprocessador de


memria partilhada com um bus nico.

c) Apresente a definio (segundo Lamport) do modelo de consistncia sequencial, no contexto de um


sistema de computao distribuda com mltiplas rplicas de objectos. Discuta de que modo se pode
realizar esse modelo num sistema distribudo e d um exemplo do interesse da sua aplicao.
d) Apresente a definio do modelo de consistncia causal, no contexto de um sistema de computao
distribuda com mltiplas rplicas de objectos. Explique o que o distingue de um modelo de
consistncia sequencial e d um exemplo do interesse da sua aplicao.

e) Apresente a definio do modelo de consistncia FIFO, no contexto de um sistema de computao


distribuda com mltiplas rplicas de objectos. Explique o que o distingue dos modelos de consistncia
sequencial e causal e d um exemplo do interesse da sua aplicao.

f) Apresente a definio do modelo de consistncia na Entrada (Entry consistency). D um exemplo da


sua utilizao. Explique de que forma se pode realizar este modelo no contexto de uma linguagem de
programao orientada para objectos, suportando distribuio.

g) No contexto da problemtica dos modelos de consistncia dos dados, de que forma


classificaria/caracterizaria o modelo Linda? Justifique a resposta.

Questo 4. Considere as transaces seguintes, assumindo que cada objecto tem um exemplar nico
no sistema:

T1: r1(x), w1(x), r1(z), w1(z), w1(y), c/a

T2: r2(z), w2(z), w2(x), c/a

T3: w3(y), w3(z), r3(x), w3(x), c/a

sendo: r(xi) leitura do objecto xi; w(xi) escrita no objecto xi; c/a Commit ou Abort.

No que se segue, pretende-se que indique ordenamentos completos de execues concorrentes das
trs transaces indicadas. No se aceitam, como concorrentes, os ordenamentos nos quais os nicos
entrelaamentos concorrentes s envolvam as aces c/a.

a) D um exemplo de um ordenamento (concorrente) que no seja serializvel, envolvendo as trs


transaces. Justifique a resposta e construa o respectivo grafo de serializao. E explique qual o
problema, na prtica, de tais tipos de ordenamentos.

b) D um exemplo de um ordenamento (concorrente) que seja serializvel, envolvendo as trs


transaces. Justifique a resposta e construa o respectivo grafo de serializao. E explique qual o
problema, na prtica, de tais tipos de ordenamentos.

c) D o exemplo de um ordenamento (concorrente), que possa ser gerado por uma execuo das trs
transaces, sob o controlo do mtodo Two-Phase-Locking (2PL) bsico (caso (b+c) estudado nas
aulas tericas). Na descrio do ordenamento, deve indicar tambm as operaes correspondentes
aos pedidos e libertaes de locks. Justifique a resposta.

Você também pode gostar