Vous êtes sur la page 1sur 24

REDES DISTRIBUIDAS

2018 Máster en Ingeniería de telecomunicación

Guía y orientaciones

Introducción

Esta asignatura está básicamente enfocada a conocer los principales conceptos, pautas de
diseño , modelos y métodos para desarrollar sistemas con una buena escalabilidad, y la
evaluación de sistemas a escala Internet.

El material de referencia son una serie de artículos científicos seleccionados para cubrir
todos los ámbitos de la asignatura.

Estos artículos han sido publicados por editoriales de prestigio en revistas o conferencias
internacionales.

Por cada artículo hemos preparado un conjunto de preguntas orientadas a los aspectos y
conceptos más importantes.

Los artículos están organizados en los siguientes bloques teóricos:

Bloque 1. Sistemas de Almacenamiento: visión de diversos sistemas distribuidos de


almacenamiento de datos a gran escala.

Bloque 2. Cloud Computing: fundamentos de este paradigma de computación.

Bloque 3. Sistemas P2P y volunteer computing: visión de los diferentes sistemas que
utilizan recursos no dedicados, aportados por los usuarios, como parte integral de su
arquitectura.

Bloque 4. Networking: aspectos de gran afectación a las redes de gran escala.

Bloque 5. Miscelánea: aspectos no contemplados en los bloques anteriores.

RD – Guía 1/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

Contenidos
Bloque 1. Sistemas de Almacenamiento...............................................................3

01 - The Google File System & GFS: Evolution on Fast-forward..................................4

02 - Bigtable A Distributed Storage System for Structured Data..................................5

03 - The Hadoop Distributed File System............................................................6

04 – Dynamo - Amazon's Highly Available Key-value Store........................................7

Bloque 2. Cloud Computing..............................................................................8

05 - The NIST Definition & A view of Cloud Computing............................................9

06 - Map/Reduce Simplified Data Processing on Large Clusters.................................10

07 – Eventual Consistency Today: Limitations, Extensions and Beyond........................11

Bloque 3. Sistemas P2P y Volunteer Computing....................................................12

08 - A survey and comparison of peer-to-peer overlay network schemes.....................13

09 - Folding@home: Lessons From Eight Years of Volunteer Distributed Computing.........14

10 - A Survey of BitTorrent Performance...........................................................15

11 - Spotify – Large Scale, Low Latency, P2P Music-on-Demand Streaming...................16

Bloque 4. Networking....................................................................................17

12 - Improving Performance on the Internet.......................................................18

13 - A Guided Tour of Data-Center Networking....................................................19

14 - A Survey on Network Coordinates Systems, Design, and Security.........................20

15 - Inside Dropbox: Understanding Personal Cloud Storage Services..........................21

Bloque 5. Miscelánea.....................................................................................22

16 - Large-Scale Complex IT Systems...............................................................23

17 - On Anonymity in an Electronic Society........................................................24

RD – Guía 2/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

Bloque 1. Sistemas de Almacenamiento

En este primer bloque estudiaremos en más detalle algunos de los sistemas distribuidos de
almacenamiento de gran escala más relevantes. Estos sistemas están desarrollados por las
empresas más importantes del sector en la actualidad, como Google, Amazon, Yahoo, etc.
Distinguiremos dos tipos: los sistemas de archivos distribuidos [01,03] y las bases de datos NoSQL
[02,04].

[01a] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. 2003. The Google file system.
SIGOPS Oper. Syst. Rev. 37, 5 (October 2003), 29-43.

[01b] Marshall Kirk McKusick and Sean Quinlan. 2009. GFS: Evolution on Fast-forward. Queue 7, 7,
Pages 10 (August 2009), 11 pages.

[02] Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike
Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. 2008. Bigtable: A Distributed
Storage System for Structured Data. ACM Trans. Comput. Syst. 26, 2, Article 4 (June 2008), 26
pages.

[03] Konstantin Shvachko, Hairong Kuang, Sanjay Radia, and Robert Chansler. 2010. The Hadoop
Distributed File System. In Proceedings of the 2010 IEEE 26th Symposium on Mass Storage Systems
and Technologies (MSST) (MSST '10). IEEE Computer Society, Washington, DC, USA, 1-10.

[04] Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash
Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007.
Dynamo: amazon's highly available key-value store. In Proceedings of twenty-first ACM SIGOPS
symposium on Operating systems principles (SOSP '07). ACM, New York, NY, USA, 205-220.

RD – Guía 3/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

01 - The Google File System & GFS: Evolution on Fast-forward

1. ¿Qué tipos de metadatos almacena el máster de GFS?

2. ¿Cómo recupera GFS el espacio físico inmediatamente después de eliminar un archivo?

3. En relación a las asunciones de diseño, de qué manera mutan la mayoría de los archivos?

4. El clúster de GFS se divide en dos clases de nodos, comenta cuáles son y explica
brevemente su función.

5. Sabiendo que los archivos se dividen en paquetes de tamaño fijo, di cómo se llaman, qué
tamaño tienen y cómo se identifican estos ficheros.

6. Describe brevemente que es y que funciones tiene el “Operation Log”.

7. ¿Por qué no se mantiene información persistente sobre la localización de los fragmentos


del máster?

8. ¿Cuáles son las tres ventajas principales de utilizar fragmentos grandes de archivos?

9. En cuyo caso puede suceder que las réplicas de un mismo fragmento contenga datos
diferentes?

10. ¿Cuántas veces son replicadas los datos en diferentes nodos?

11. ¿Qué es y para qué sirve el “Replica Placement”?

12. ¿Cuáles son las limitaciones de la arquitectura con un solo máster de GFS? De qué
maneras se han superado estas limitaciones?

13. ¿Qué diferencias hay entre el propósito inicial de GFS y los casos de uso en que se ha
acabado utilizando el sistema? ¿Qué soluciones se han encontrado para los problemas
surgidos a raíz de la diferencia entre su propósito original y su uso real?

RD – Guía 4/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

02 - Bigtable A Distributed Storage System for Structured Data


- Opcional : Presentación http://video.google.com/videoplay?docid=7278544055668715642

1. ¿Qué es la BigTable?

2. ¿Cuál es su rol dentro de Google?

3. Explica brevemente en que consiste el modelo de datos de BigTable.

4. Describe de forma concisa la jerarquía de tres niveles de la ubicación de la “tablet”.

5. ¿Qué entidades encontramos en la implementación de BigTable? Descríbelas brevemente.

6. Explica de forma concisa el mecanismo de asignación de “tablets”.

7. ¿Qué es la “memtable”? ¿Para que se utiliza?

8. Destaca tres refinamientos en la implementación y el motivo de tu elección. Descríbelos


brevemente.

9. Pon dos ejemplos de aplicaciones reales y cómo se benefician cada una de la BigTable.
Destaca el papel del MapReduce.

10. ¿Qué problemas de tolerancia a fallos han resuelto en este sistema de gran escala?

11. Qué diferencias hay respecto a los sistemas P2P estructurados como Chord o Pastry?

12. ¿Qué diferencias hay respecto a los sistema de almacenamiento clave-valor?

RD – Guía 5/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

03 - The Hadoop Distributed File System


- Opcional : HADOOP: THE DEFINITIVE GUIDE, 3RD EDITION

1. ¿De qué necesidad surgió la implementación de HDFS?

2. ¿Por qué tipo de información se almacena en HDFS?

3. ¿Como almacena la información HDFS?

4. ¿Por qué razón MapReduce es tan importante en HDFS?

5. ¿Qué elementos forman la arquitectura de HDFS?

6. ¿Qué otros componentes complementan la arquitectura?

7. ¿Cuáles son las políticas de replicación de HDFS?

8. Como se da cuenta el sistema HDFS que ha habido un fallo en alguno de los equipos?

9. ¿Por qué motivo se explica en el documento el caso de “Yahoo!”?

10. ¿Cuál es la probabilidad de perder información con HDFS según la experiencia de


“Yahoo!”?

RD – Guía 6/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

04 – Dynamo - Amazon's Highly Available Key-value Store

1. Explica brevemente la arquitectura de la plataforma de Amazon y ejemplifícalo con el


carrito de la compra.

2. Qué rol lleva a cabo Dynamo dentro de la plataforma y qué clase de servicio mujer a las
aplicaciones?

3. Qué requerimientos tiene una plataforma de comercio electrónico como Amazon con
millones de clientes? Destaca dos y razónalos.

4. ¿Qué servicios utilizan mayoritariamente almacenamiento de clave primaria?

5. ¿Qué diferencia hay entre utilizar Dynamo o las BD tradicionales?

6. ¿Qué requerimientos tienen los servicios que son más adecuados para utilizar Dynamo?
Descríbelos brevemente.

7. Evalúa qué grado de escalabilidad permite y por qué motivo.

8. ¿Qué es un “SLA”? ¿Qué papel juega dentro de la plataforma de Amazon?

9. ¿A qué nivel se sitúa Dynamo dentro de la arquitectura de Amazon y cómo afronta las SLAs?

10. ¿Qué tipo de replicación utiliza Dynamo? Qué consideraciones hay que tener en cuenta de
cara a la resolución de conflictos?

11. Enumera las técnicas y ventajas de Dynamo.

12. ¿Cuál es la principal diferencia entre un RDB replicada y Dynamo?

13. ¿Cómo consigue una distribución uniforme de claves-valor?

14. Describe y compara brevemente las tres estrategias de balanceo de carga. ¿Cuál demuestra
ser más eficiente?

15. ¿Qué beneficios han demostrado tener las aplicaciones y servicios que utilizan Dynamo?

RD – Guía 7/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

Bloque 2. Cloud Computing

En este bloque estudiaremos en más detalle el paradigma de la computación en la nube. Los


artículos seleccionados presentan las principales características de este paradigma [05a][05b], que
ha “democratizado” a nivel planetario el desarrollo y uso de aplicaciones distribuidas de gran
escala. También se describen dos técnicas que facilitan el desarrollo de este tipo aplicaciones
sobre este nuevo entorno [06][07].

[05a] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy
Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia. 2010. A view
of cloud computing. Communications. ACM 53, 4 (April 2010), 50-58.

[05b] Peter Mell, Tim Grance. The NIST Definition of Cloud Computing. July 2009.

[06] Jeffrey Dean and Sanjay Ghemawat. 2008. MapReduce: simplified data processing on large
clusters. Commun. ACM 51, 1 (January 2008), 107-113.

[07] Peter Bailis and Ali Ghodsi. 2008. Eventual Consistency Today: Limitations, Extensions, and
Beyond. Queue 11, 3, pages 20 (March 2013), 13 pages.

RD – Guía 8/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

05 - The NIST Definition & A view of Cloud Computing


- Comentario : Trabajaremos en dos artículos complementarios. El artículo del NIST explica en
detalle conceptos fundamentales sobre el paradigma de cloud computing y debería ser leído en
primer lugar.

1. ¿Qué es el “cloud computing”?

2. Describe brevemente las características esenciales de un “cloud”.

3. Describe los tres modelos diferentes de servicio del “cloud computing”.

4. Busca un ejemplo conocido de sistema por cada tipo de servicio.

5. ¿Qué tipos de desplegado de “clouds” existe?

6. ¿Cuál es el principal beneficio para los desarrolladores que utilizan este paradigma?

7. ¿Qué nuevos aspectos aporta el “cloud” a los proveedores de hardware?

8. ¿Se puede considerar que los “data centers” convencionales aportan todos los beneficios de
un “cloud” público? Compáralos.

9. ¿Qué es lo que necesita cualquier aplicación para ser distribuida y que el “cloud” le
proporciona?

10. ¿Qué técnica utiliza el “cloud” para proporcionar un nivel de elasticidad de servicios sin
límites aparentes?

11. ¿Cuáles son los obstáculos principales que afectan al crecimiento de un “cloud”?

12. ¿Qué nivel de disponibilidad se espera de un “cloud”? ¿Es fácil de conseguir? Razona tu
respuesta.

13. Crees que el “cloud” tendría que mejorar el rendimiento de cada nodo individualmente o
es preferible buscar una escalabilidad horizontal? Razona la respuesta.

RD – Guía 9/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

06 - Map/Reduce Simplified Data Processing on Large Clusters


- Opcional : Ejemplo real http://kore-nordmann.de/talks/10_03_barcamp_map_reduce.pdf

1. ¿Qué es el MapReduce?

2. ¿Qué problemas te como objetivo resolver esta abstracción?

3. ¿Es escalable esta abstracción? En qué sentido y en qué magnitud?

4. ¿Qué hace una función Map? Pone un ejemplo.

5. ¿Qué hace la función Reduce? Continúa con el ejemplo del Map.

6. ¿Esta abstracción se puede aplicar exclusivamente a entornos de gran escala?

7. Clasifica el tipo de fallos en función de la entidad afectada.

8. ¿Qué beneficios aporta el uso del MapReduce?

RD – Guía 10/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

07 – Eventual Consistency Today: Limitations, Extensions and Beyond

1. ¿Qué establece la conjetura de Brewer (posteriormente desarrollada como teorema CAP ) ?


¿Qué relación tiene con el surgimiento del concepto de “consistencia eventual” ?

2 . ¿Qué garantiza la “consistencia eventual” ?

3 . ¿Por qué un sistema distribuido no puede sacrificar la tolerancia a particiones?

4 . ¿Cómo se garantiza la convergencia en un sistema que implementa “consistencia


eventual”? ¿Qué ventajas tienen estos métodos?

5 . ¿Cuál es el significado de las propiedades algorítmica conocidas como “safety” y


“liveness”? En qué grado las ofrecen los sistemas con “consistencia eventual”?

6 . ¿Qué métricas se pueden utilizar para medir la consistencia dada por un sistema con
“consistencia eventual” ?

7 . ¿Cómo se comportan los sistemas que proporcionan “consistencia eventual” en el mundo


real? ¿La consistencia que ofrecen es comparable a la de los sistemas con modelos de
“consistencia fuerte”?

8 . ¿Qué dice el teorema CALM ? ¿Cuáles son sus implicaciones a la hora de construir sistemas
con “consistencia eventual” ?

9 . ¿Qué son los CRDTS y qué utilidad tienen a la hora de construir sistemas distribuidos? Pon
un ejemplo.

10 . ¿Qué alternativas a la “consistencia eventual” existen para proveer consistencia dentro


de los límites marcados por el teorema CAP ?

RD – Guía 11/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

Bloque 3. Sistemas P2P y Volunteer Computing

En este tercer bloque estudiaremos dos paradigmas de sistemas distribuidos de gran escala que
tienen un importante denominador común: la presencia de dispositivos de usuario domésticos
como parte integral de su arquitectura.

Los artículos incluidos en este bloque se pueden dividir en dos clases:

1) Los artículos que discuten los fundamentos teóricos de los paradigmas P2P y volunteer
computing [08][09].
2) Los artículos que describen sistemas reales basados en estos paradigmas [10][11].

[08] Eng Keong Lua; Crowcroft, J.; Pias, M.; Sharma, R.; Lim, S. A survey and comparison of
peer-to-peer overlay network schemes. Communications Surveys & Tutorials, IEEE , vol.7, no.2,
pp.72,93, Second Quarter 2005.

[09] Beberg, A.L.; Ensign, D.L.; Jayachandran, G.; Khaliq, S.; Pande, V.S. Folding@home: Lessons
from eight years of volunteer distributed computing. Parallel & Distributed Processing, 2009.
IPDPS 2009. IEEE International Symposium on , vol., no., pp.1,8, 23-29 May 2009

[10] Xia, R.L.; Muppala, J.K. A Survey of BitTorrent Performance. Communications Surveys &
Tutorials, IEEE , vol.12, no.2, pp.140,158, Second Quarter 2010.

[11] Kreitz, G.; Niemela, F. Spotify - Large Scale, Low Latency, P2P Music-on-Demand
Streaming. Peer-to-Peer Computing (P2P), 2010 IEEE Tenth International Conference on , vol., no.,
pp.1,10, 25-27 Aug. 2010.

RD – Guía 12/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

08 - A survey and comparison of peer-to-peer overlay network schemes


- Opcional : Towards a Common API for Structured Peer-to -Peer Overlays
- Comentario : Para ayudar a aclarar algunos conceptos importantes (ej. DHT) es muy
recomendable consultar las dudas al artículo opcional.

1. Di la principal diferencia entre el modelo cliente-servidor y el modelo P2P.

2. ¿Cuál es el principal problema de un sistema desestructurado?

3. ¿Cuáles son los dos tipos principales de sistemas P2P? Destaca tres ejemplos de cada tipo.

4. ¿Cuáles son las principales diferencias entre los dos tipos?

5. Comenta un protocolo P2P concreto donde se utilice la entidad “super-peer”. Define su


concepto y explica su funcionamiento dentro de este protocolo.

6. ¿Qué diferencia hay entre un DHT y un KBR?

7. ¿Qué tabla de enrutamiento utiliza el protocolo Chord? Descríbela brevemente y pon un


ejemplo.

8. Explica brevemente en qué consiste el “consistente hashing” de Chord.

9. Indica un KBR y un DHT y explícalos brevemente.

10. ¿Qué es un servicio CAST? Relaciónalo con los conceptos de DHT y KBR. Pon un ejemplo.

11. ¿Cuál es el impacto de crear topologías virtuales (overlays) con un número elevado de
nodos y conexiones entre ellos sobre redes reales con enrutadores y conexiones y físicas.

12. Describe brevemente el concepto de “proximity” y di qué sistema lo aplica.

13. ¿Qué tipo de aplicaciones además del “file-sharing” se pueden desarrollar con la
tecnología P2P?

RD – Guía 13/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

09 - Folding@home: Lessons From Eight Years of Volunteer Distributed


Computing
- Opcional : Seti@home, BOINC
- Comentario : SETI fue el primer proyecto que trascendió y a partir de este nació BOINC, que
permite construir nuevos proyectos “volunteer computing”. Dentro de este paradigma Folding es el
proyecto que ha tenido más éxito. De cara a los artículos, un aspecto importante a tener en cuenta
es el hecho que el hardware ha cambiado mucho respecto al 2002 de SETI y en menor medida al
2007 de Folding.

1. ¿Cuáles son las principales ventajas e inconvenientes del “volunteer computing”?

2. ¿Cuáles son las principales características de este tipo de proyectos?

3. ¿Qué mecanismos son más necesarios para el “volunteer computing” de gran escala?

4. ¿Cuál es el mayor cambio en los más de treinta años de vida de este paradigma? ¿Qué
consecuencias implica este hecho?

5. Explica brevemente el funcionamiento de Folding@home y como encaja este dentro del


concepto del “volunteer computing”.

6. ¿Qué entidades implicadas hay dentro de su arquitectura? ¿Qué interacciones encontramos?


¿Se podría aplicar en otros proyectos?

7. Cuál es el problema que se encuentran los científicos cuando utilizan estos sistemas tan
heterogéneos con diferentes clientes y sistemas operativos?

8. Qué trato se merecen los voluntarios o clientes de estos sistemas?

9. En términos de sistemas distribuidos, cuáles son las tareas del “assigment server”?

10. Cuáles son las tareas de los “collection servers”?

11. ¿Qué problema se ha creado al existir tantos proyectos de este tipo?

12. ¿Qué problemas hay que resolver en este tipo de sistemas distribuidos?

RD – Guía 14/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

10 - A Survey of BitTorrent Performance


- Comentario : Artículo largo donde queremos fijarnos en los conceptos y funcionamiento de
BitTorrent y no tanto en su evaluación empírica.
- Secciones opcionales : II.C, III.C

1. ¿Cuáles son las principales diferencias entre BitTorrent y las aplicaciones “file-sharing” P2P
tradicionales?

2. ¿Qué es un “torrent”? ¿Qué efecto tiene un aumento de usuarios por el mismo “torrent”?

3. Destaca un inconveniente importante de este protocolo.

4. Explica los cinco pasos para descargar un fichero.

5. ¿Qué es un “tracker”? Qué problema puede presentar en cuestiones de fiabilidad y


rendimiento?

6. ¿Qué tipos de “peers” encontramos? Descríbelos brevemente.

7. Explica el proceso de compartir un fichero propio.

8. ¿Cómo se produce el efecto de “choking”?

9. ¿Cuáles son las dos estrategias que aplica este protocolo?

10. ¿Qué es un “free-rider”?

11. ¿Qué dos partes del protocolo son más susceptibles a mejora? Describe brevemente dos
mejoras por cada una de ellas.

12. ¿A qué otro tipo de aplicaciones han influenciado los mecanismos de BitTorrent?

RD – Guía 15/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

11 - Spotify – Large Scale, Low Latency, P2P Music-on-Demand Streaming


- Opcional : Sección IV.

1. Explica los puntos en común entre Spotify y BitTorrent.

2. Explica los puntos en común entre Spotify y Gnutella.

3. Cómo diferencia a Spotify su naturaleza P2P de las aplicaciones de audio por streaming
cliente servidor?

4. ¿Y cómo lo diferencia de las aplicaciones de vídeo por streaming P2P?

5. ¿Qué tipo de aproximaciones streaming P2P existen? ¿Cuál de estas es mejor para
aplicaciones bajo demanda?

6. ¿Por qué se utiliza el protocolo de transporte TCP en vez del UDP?

7. ¿Por qué es importando el mecanismo de “caching”?

8. ¿Qué razones exponen los autores para justificar el no uso de un DHT?

9. Explica, a grandes rasgos, como funciona el “tracker”.

10. ¿Cómo funciona el sistema de busca?

RD – Guía 16/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

Bloque 4. Networking

En este cuarto bloque trataremos diferentes temas relacionados directamente con las redes
distribuidas.

Específicamente, estudiaremos su rendimiento actual [13], como funcionan los centros de datos de
gran capacidad [14] y estudiaremos los sistemas de coordenadas [15].

[12] Tom Leighton. 2008. Improving Performance on the Internet. Queue 6, 6 (October 2008), 20-
29.

[13] Abts, D.; and Felderman, B. A guided tour of data-center networking. Commun. ACM 55, 6
(June 2012), 44-51.

[14] Donnet, B.; Gueye, B.; Kaafar, M.-A. A Survey on Network Coordinates Systems, Design, and
Security. Communications Surveys & Tutoriales, IEEE , vol.12, no.4, pp.488,503, Fourth Quarter
2010

[15] Drago, I.; Mellia, M.; Munafo, M.; Sperotto, A.; Sadre, R.; and Pras, A. Inside dropbox:
understanding personal cloud storage services. In Proceedings of the 2012 ACM conference on
Internet measurement conference (IMC '12). ACM, New York, NY, USA, pp. 481-494.

RD – Guía 17/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

12 - Improving Performance on the Internet

1. ¿Cuál es el actual cuello de botella de las conexiones de Internet?

2. ¿Qué problema existía antes con las conexiones de los usuarios?

3. ¿Cómo se gestiona este problema en su origen?

4. ¿Cuáles son las cuatro soluciones propuestas para conseguir escalabilidad?

5. ¿Qué problemas presenta la solución P2P?

6. ¿Para que sirve la elección de líder y qué beneficios reporta?

7. Escoge tres optimizaciones y justifica tu elección.

8. Destaca tres principios por un diseño escalable y razona tu elección.

9. ¿Qué dificultad encontramos al incrementar la redundancia? Pon un ejemplo.

10. ¿Qué beneficios se obtienen a partir de los principios expuestos?

RD – Guía 18/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

13 - A Guided Tour of Data-Center Networking

1. Explica la definición de un “data center”.

2. ¿Qué papel juega la red en un “data center”? ¿Qué analogía se propone?

3. ¿Cómo son los “clusters” de un “data center”?

4. ¿Cuando se utiliza la técnica de la virtualización en un “data center”?

5. ¿Cuál es el objetivo de las técnicas de QoS?

6. ¿Qué es un flujo de tipo "elefante"?

7. ¿Cómo se mide y caracteriza el tráfico de las redes de los “data centers”?

8. ¿Cómo es el tráfico de las redes de los “data centers”?

9. Explica brevemente como consigue escalabilidad la arquitectura de red de un “data


center”.

10. ¿En que consisten las tablas de “lookup”distribuidas?

11. ¿A qué niveles actúa el control de flujo? Cómo afecta a las aplicaciones?

12. ¿Cuál es la abstracción de comunicaciones más común? Cuál es su función?

13. ¿Cómo se despliega un “data center” de gran escala? ¿Cómo afecta a la experiencia de
usuario?

RD – Guía 19/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

14 - A Survey on Network Coordinates Systems, Design, and Security


- Opcional : Sección VI.

1. ¿Qué problema quieren resolver los sistemas NCS? Que permiten hacer?

2. ¿Qué implica el concepto de “proximity”?

3. ¿Cuál es el principal problema que hay al medir la “proximity”?

4. Indica varios tipos de aplicaciones que se pueden beneficiar de la “proximity” y cómo.

5. ¿Qué fue la primera aplicación/protocolo al hacer uso de un sistema de coordenadas? ¿Con


qué finalidad?

6. ¿Qué tipo de sistemas de localización existen? Describe brevemente las soluciones más
conocidas.

7. ¿Cuál es la principal diferencia entre un sistema NCS y uno de localización?

8. ¿Qué dos tipos de sistemas NCS existen?

9. ¿Qué ventajas aportan los sistemas NCS? Descríbelas brevemente.

10. ¿Qué beneficio aporta al P2P un sistema NCS distribuido?

11. ¿Cuál es principal inconveniente de los sistemas basados en “landmarks”?

12. ¿Qué técnicas mejoran los sistemas basados en coordenadas? ¿Cómo?

13. ¿Cuál es la ventaja principal de las propuestas distribuidas respecto a los sistemas basados
en “landmarks”? ¿Y el inconveniente principal?

RD – Guía 20/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

15 - Inside Dropbox: Understanding Personal Cloud Storage Services

1. En Dropbox, los ficheros se dividen en trozos. Cada trozo se identifica con el valor
resultante de aplicar la función de hash SHA256 sobre su contenido. Si un fichero de 400 MB se
divide en 100 trozos, qué volumen de metadatos en bits se genera para representar el fichero?
¿Es el volumen de metadatos óptimo en relación al tamaño del fichero?

2. El cliente de Dropbox envía el hash de cada trozo a los servidores de metadatos de Dropbox.
Si el hash no existe en los servidores, el cliente sube el correspondiente trozo a los servidores
de almacenamiento. Caso contrario, el trozo no se sube porque ya existe una copia en el
servidor. Esta técnica se conoce como deduplicación. ¿Qué tipo de deduplicación usa
Dropobox? La respuesta se encuentra en la sección “Data Deduplication Strategies” del
artículo titulado “Side Channels in Cloud Services: Deduplication in Cloud Storage” por D.
Harnik, B. Pinkas y A. Shulman-Peleg.

3. Comenta brevemente cómo Dropbox sincroniza un fichero.

4. ¿Qué tipo de notificación usa Dropbox para indicar a un usuario que tiene un fichero sin
sincronizar? ¿En qué sentido aumenta la escalabilidad del servicio?

5. ¿En qué localizaciones geográficas se encuentran los servidores de metadatos y de


almacenamiento de Dropbox? Qué efecto tiene sobre los usuarios ubicados en Europa?
¿Y sobre la red troncal de Internet?

6. ¿De qué tamaño son generalmente los flujos de almacenamiento de Dropox? ¿Esto significa
que Dropbox es eficiente en cuánto al ahorro de tráfico de red? Relaciona tu respuesta con la
técnica de deduplicación que emplea Dropbox.

7.Describe qué efecto tiene el algoritmo de comienzo lento (Slow-start) del protocolo TCP
sobre los flujos de almacenamiento con poco volumen de datos.

8. Explica qué patrón de conexión siguen los usuarios de Dropbox ¿Qué efecto puede tener
sobre los centros de datos que almacenan los datos de los usuarios?

9. ¿Los usuarios de Dropbox tienden a estar conectados o se desconectan rápidamente?

10. Explica cuál es el problema existente con los acknowledgments secuenciales.

11. Comenta las tres mejores propuesta por las autores del artículo para mejorar la calidad de
servicio de Dropbox.

12. Comenta por qué es ventajoso agrupar trozos en las operaciones de almacenamiento.

RD – Guía 21/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

Bloque 5. Miscelánea

En este último bloque estudiaremos los artículos que por su temática han quedado fuera de los
ámbitos tratados en los bloques teóricos anteriores.

Específicamente, estudiaremos sistemas distribuidos complejos, que se caracterizan por ser


sistemas empotrados dentro de otros sistemas de gran escala [16]. Finalmente, trataremos la
temática del anonimato en las redes distribuidas, trabajando los sistemas de anonimato tanto de
baja como alta latencia [17].

[16] Ian Sommerville, Dave Cliff, Radu Calinescu, Justin Keen, Tim Kelly, Marta Kwiatkowska, John
Mcdermid, and Richard Paige. 2012. Large-scale complex IT systems. Commun. ACM 55, 7 (July
2012), 71-77.

[17] Matthew Edman and Bülent Yener. 2009. On anonymity in an electronic society: A survey of
anonymous communication systems. ACM Comput. Surv. 42, 1, Artículo 5 (December 2009), 35
pages.

RD – Guía 22/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

16 - Large-Scale Complex IT Systems

1. ¿Que provocó el acontecimiento conocido como “Flash-Crash”?

2. ¿Cuál es el origen y cómo se puede hacer frente a este tipo de complejidad?

3. Explica la problemática de las coaliciones dinámicas en la ingeniería del software.

4. Explica el concepto del SoS (Systems of Systems).

5. ¿Qué es un sistema “socio-técnico”? ¿Qué ventaja aporta?

6. ¿Cómo diferenciamos un sistema complejo de los que no lo son?

7. ¿Cómo ha evolucionado la ingeniería del software? ¿Puede hacer frente al desarrollo de un


LSCITS?

8. ¿Cuál es la filosofía del “reduccionismo”?

9. ¿Cuáles somos las suposiciones del “reduccionismo”? Explícalas brevemente.

10. ¿Explica las diferencias clave entre PhD y un “doctorado de ingeniería (UK)”? Por qué
graduar unos cuántos doctorados no se suficiente ?

RD – Guía 23/24
REDES DISTRIBUIDAS (RD)
Guía y orientaciones

17 - On Anonymity in an Electronic Society


- Comentario : Tor es el sistema de baja latencia más utilizado. Hace falta que conozcáis los
detalles de funcionamiento del sistema. Podéis completar la explicación del artículo con la
información que encontraréis en la página web de Tor:
https://www.torproject.org/about/overview.html.en

- Opcional : Información sobre el sistema Nonesuch :


http://www.freehaven.net/anonbib/cache/wpes06:heydt-benjamin.pdf

1. ¿Por qué no se puede considerar anónima a la comunicación en Internet?

2. ¿Cómo se define el concepto de anonimato al artículo?

3. ¿Qué es no observabilidad (unobservability)?

4. Define sistemas de anonimato de alta latencia.

5. Define sistemas de anonimato de baja latencia.

6. ¿Cuáles son los dos tipos de adversarios que se tienen en cuenta a la hora de probar el grado
de anonimato que proporciona un sistema?

7. Explica muy brevemente los aspectos principales de cada uno de estos tipos.

8. Explica brevemente como funciona una red “Mix” en sistemas de anonimato de alta
latencia.

9. Explica como funciona y qué son las principales características que ofrece
“Anonymizer.cómo”.

10. Explica como funciona el sistema “onion routing”.

11. Explica como funciona “Tor”. ¿Cómo funciona los “hidden services”?

12.¿Cómo funciona el sistema “Nonesuch” que intenta proporcionar “no observabilidad”?

13. ¿En que consiste el ataque “fingerprinting” a un lugar web? ¿Cómo se puede debilitar?

14. ¿En que consiste el ataque llamado “timing”? ¿Cómo se puede debilitar?

RD – Guía 24/24

Vous aimerez peut-être aussi