25.07.2013 Views

Práctico 5 - Departamento de Ciencias e Ingeniería de la ...

Práctico 5 - Departamento de Ciencias e Ingeniería de la ...

Práctico 5 - Departamento de Ciencias e Ingeniería de la ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Departamento</strong> <strong>de</strong> <strong>Ciencias</strong> e <strong>Ingeniería</strong> en Sistemas<br />

<strong>Ingeniería</strong> <strong>de</strong> <strong>la</strong> Computación <strong>de</strong> Computación<br />

1. Problemas<br />

Sistemas Distribuidos<br />

Segundo Cuatrimestre <strong>de</strong> 2012<br />

Trabajo <strong>Práctico</strong> N ō 5<br />

1. La abstracción <strong>de</strong> memoria compartida distribuida (DSM) es implementada utilizando<br />

los servicios <strong>de</strong>l sistema <strong>de</strong> comunicación <strong>de</strong> pasaje <strong>de</strong> mensajes. En principio, <strong>la</strong> performance<br />

<strong>de</strong> <strong>la</strong>s aplicaciones que usan DSM es esperable que sea peor que <strong>la</strong> utilización<br />

<strong>de</strong> pasaje <strong>de</strong> mensaje directamente. A pesar <strong>de</strong> esto, ¿porqué diseñadores <strong>de</strong> sistemas<br />

operativos distribuidos soportan <strong>la</strong> abstracción <strong>de</strong> DSM en sus sistemas? ¿Hay aplicaciones<br />

que presentan mejor performance en un sistema con facilida<strong>de</strong>s DSM que en<br />

un sistema que tiene so<strong>la</strong>mente <strong>la</strong> facilidad <strong>de</strong> pasaje <strong>de</strong> mensajes? Si <strong>la</strong> respuesta es<br />

afirmativa, brin<strong>de</strong> el tipo <strong>de</strong> aplicaciones, sino justifique.<br />

2. Discuta si pasaje <strong>de</strong> mensajes o Memoria Compartida Distribuida es preferible para<br />

aplicaciones tolerantes a fal<strong>la</strong>.<br />

3. ¿Cómo resolvería el problema <strong>de</strong> diferentes representaciones <strong>de</strong> datos para una implementación<br />

DSM basada en middleware sobre computadoras heterogéneas? ¿Cómo se<br />

abordaría el problema en una implementación basada en páginas? ¿Su solución pue<strong>de</strong><br />

exten<strong>de</strong>rse a punteros?<br />

4. Explique cuáles son <strong>la</strong>s principales razones para consi<strong>de</strong>rar mo<strong>de</strong>lo <strong>de</strong> consistencias<br />

débiles.<br />

5. ¿Qué es consistencia causal? Brin<strong>de</strong> un ejemplo <strong>de</strong> una aplicación para el cual consistencia<br />

causal es <strong>la</strong> mejor elección.<br />

6. Consi<strong>de</strong>rando <strong>la</strong> figura ??, ¿es legal <strong>la</strong> salida 000000 para un sistema <strong>de</strong> memoria<br />

compartida distribuida que so<strong>la</strong>mente presenta consistencia FIFO (PRAM)? Explique<br />

su respuesta.<br />

Proceso P1 Proceso P2 Proceso P3<br />

x=1; y=1 z=1;<br />

print(y,z) print(x,z) print(x,y)<br />

Figura 1: Tres procesos ejecutando concurrentemente


Sistemas Distribuidos 2<br />

7. Tres computadores juntas proveen un servicio replicado. El fabricante estima que cada<br />

computadora tiene un tiempo medio <strong>de</strong> fal<strong>la</strong> <strong>de</strong> cinco días, una fal<strong>la</strong> típicamente toma<br />

solucionar<strong>la</strong> 4 horas. ¿Cuál es <strong>la</strong> disponibilidad <strong>de</strong>l servicio replicado?<br />

8. En un juego multi-usuario, los jugadores mueven <strong>la</strong>s figuras sobre una escena común.<br />

El estado <strong>de</strong>l juego se replica en <strong>la</strong>s estaciones <strong>de</strong> trabajo y en un servidor, que contiene<br />

servicios que contro<strong>la</strong>n el juego en su globalidad, tales como <strong>la</strong> <strong>de</strong>tección <strong>de</strong> colisiones.<br />

Las actualizaciones se multi transmiten a todas <strong>la</strong>s réplicas.<br />

a) Las figuras pue<strong>de</strong>n arrojarse proyectiles entre el<strong>la</strong>s, y cada impacto <strong>de</strong>bilita,<br />

por un tiempo limitado, al infortunado receptor. ¿Qué tipo <strong>de</strong> or<strong>de</strong>nación <strong>de</strong><br />

actualizaciones se requiere aquí? Piense en los eventos <strong>de</strong> arroja, colisiona, revive.<br />

b) El juego incorpora dispositivos mágicos que pue<strong>de</strong>n ser escogidos por un jugador<br />

para ayudarle. ¿Qué tipo <strong>de</strong> or<strong>de</strong>nación <strong>de</strong>bería aplicarse a <strong>la</strong> operación <strong>de</strong> toma<br />

<strong>de</strong>l dispositivo?<br />

9. Una operación X sobre un objeto o provoca que o invoque una operación sobre otro<br />

objeto o’. Se propone replicar a o pero no a o’. Explique <strong>la</strong> dificultad que surge<br />

asociada a <strong>la</strong>s invocaciones sobre o’, y proponga una solución.<br />

10. Consi<strong>de</strong>re un sistema distribuido basado en objetos que soporta replicación <strong>de</strong> objetos,<br />

en el cual todas <strong>la</strong>s invocaciones a métodos se realizan en completo or<strong>de</strong>n. También<br />

suponga que <strong>la</strong> invocación a un método es atómica (por ejemplo, porque cada objeto<br />

se bloquee automáticamente cuando es invocado). ¿Este tipo <strong>de</strong> sistema proporciona<br />

consistencia entry? ¿Y en cuánto a consistencia secuencial?<br />

11. En los servidores X, Y y Z, los cuales mantienen réplicas <strong>de</strong> los datos A y B, se usa<br />

<strong>la</strong> replicación con consenso con quórum <strong>de</strong> Gifford. Los valores iniciales <strong>de</strong> todas <strong>la</strong>s<br />

réplicas <strong>de</strong> A y B son 100, y los votos para A y B son 1 en cada servidor X, Y y Z.<br />

También se tiene L=E=2, tanto para A como para B. Un cliente lee el valor <strong>de</strong> A y<br />

entonces lo escribe en B.<br />

a) En el momento en el que el cliente realiza estas operaciones, una partición separa<br />

los servidores X e Y <strong>de</strong> Z. Descríbase los quórum obtenidos y <strong>la</strong>s operaciones que<br />

tienen lugar si el cliente pue<strong>de</strong> acce<strong>de</strong>r a los servidores X e Y.<br />

b) Descríbase los quórum obtenidos y <strong>la</strong>s operaciones que tienen lugar si el cliente<br />

pue<strong>de</strong> acce<strong>de</strong>r sólo al servidor Z.<br />

c) La partición se repara y a continuación se produce otra partición, <strong>de</strong> tal modo que<br />

X y Z son separadas <strong>de</strong> Y. Descríbanse los quórum obtenidos y <strong>la</strong>s operaciones<br />

que tienen lugar si el cliente pue<strong>de</strong> acce<strong>de</strong>r a los servidores X y Z.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!