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 ...
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.