¿Cuáles son los mejores documentos / recursos en algoritmos distribuidos?

Prerrequisitos

Es necesaria una sólida formación en ciencias de la computación, particularmente familiaridad con el análisis de algoritmos y, por lo tanto, buenas habilidades básicas de matemáticas discretas.

Una gran cantidad de pruebas en algoritmos distribuidos proceden a través de la prueba por contradicción o por reducción . Asegúrese de estar muy cómodo con este tipo de argumentos. El conocimiento de algoritmos básicos en gráficos es muy útil, ya que las introducciones generalmente comienzan con el cálculo distribuido del árbol de expansión mínimo o similar.

Libros de texto introductorios

No te sugiero que comiences con papeles. A menos que su experiencia esté en el nivel de posgrado en algoritmos, un enfoque estructurado que ofrece un libro de texto lo ayudará a apreciar los resultados importantes en el campo en su contexto adecuado.

El mejor libro de texto (aunque casi sin oposición), en términos de rigor y autoridad, sigue siendo Algoritmos Distribuidos de Nancy Lynch [1]. Se asume una sólida formación en algoritmos, lo que suena apropiado para usted. Es una pena que el libro tenga unos 15 años y, por lo tanto, no cubra los últimos resultados, pero leerlo le dará un vocabulario y un marco de referencia para comprender principalmente todo lo que ha sucedido desde entonces.

Cursos

Un buen compañero para el estudio de un libro de texto podría ser mirar algunas notas de clase y diapositivas.

Nancy Lynch también tiene un curso sobre algoritmos distribuidos en el MIT [2]. Este sigue siendo un curso moderadamente conservador, pero las notas de clase son buenas y las lecturas son excelentes. Desde la memoria, el curso cubre algunos sincronizadores , memoria transaccional , refuerzo y paxos que no están cubiertos en el libro.

(Por otro lado, no sobreestimes la importancia de Paxos, aunque es extremadamente importante en la práctica y ciertamente fue un resultado significativo, no nos revela mucho sobre la naturaleza de los algoritmos distribuidos en un sentido teórico).

Papeles Clásicos

No para copiar deliberadamente todo del profesor Lynch, pero no pude seleccionar una lista mejor que la siguiente: http://courses.csail.mit.edu/6.8… (aunque podría argumentar que ella privilegia el trabajo de su propio grupo sobre dinámica algoritmos distribuidos un poco).

Sin embargo, cada uno de esos documentos podría, y quizás debería, exigir un estudio serio para apreciarlo plenamente; Hay mucho trabajo allí. Por lo tanto, sigo argumentando que es mejor trabajar a través de un libro de texto para obtener una visión general amplia, luego leer documentos clásicos en algunas áreas que le interesen.

Conferencias

La mejor y más prestigiosa conferencia sobre algoritmos distribuidos es Principios de computación distribuida [3]. Su objetivo, como resultado de su curso de estudio, debería ser poder leer los documentos de esta conferencia sin perderse irremediablemente. Leer los resúmenes de un PODC reciente debería darle una idea de lo que se está investigando actualmente (las tendencias modernas son redes dinámicas o ad-hoc , conocimiento local y redes poco confiables , solo de un vistazo al programa para PODC ’11).

Verá que hay investigaciones de larga data: problemas fundamentales como el acuerdo bizantino, el cálculo del árbol de expansión, la clasificación, la coloración de gráficos, la exclusión mutua distribuida, el poder algorítmico relativo de varias construcciones, etc. Gran parte de la investigación del campo implica mejoras incrementales en los límites inferiores, o el descubrimiento de nuevos algoritmos en diferentes configuraciones de red. Encuentre una línea de investigación que le guste y siga el rastro de papel a través de las bibliografías de los artículos actuales; en este punto, estará bien ubicado para evaluar la importancia del trabajo usted mismo.

¡Buena suerte! Es un área fascinante.

[1] http://www.amazon.com/Distribute…
[2] http://courses.csail.mit.edu/6.8…
[3] http://www.podc.org/

Sugeriría pasar por las notas disponibles aquí: Página en dcg.ethz.ch

El material es fácil de seguir, toca conceptos importantes y es bastante riguroso.

Busque los documentos sobre Raft, Chord, Dynamo, SWIM, paxos simplificados, grupos de procesos, sincronía virtual, bft práctico, cap theorum. El blog de Aphyrs también es un buen recurso

More Interesting

¿Qué experiencias de investigación de verano (REU) existen para la informática que se centran más en la teoría?

¿Cuáles son algunos buenos proyectos importantes de ML o AI?

¿Por qué la informática teórica se llama teórica?

¿Cuáles son las áreas de alcance para la investigación en inteligencia artificial (IA) para un estudiante de informática? ¿Qué hay realmente dentro de la IA?

¿Los programas de doctorado en informática valorarán las habilidades de investigación desarrolladas en un campo vecino, como la psicología?

¿En qué medida la reciente gran donación de Brendan Iribe, CEO de Oculus VR, al departamento de informática de la Universidad de Maryland (UMD) ayudará al departamento? Si se usa correctamente, ¿puede UMD convertirse en uno de los 5 mejores lugares para la informática?

¿Cuáles son los pasos para hacer captura de movimiento?

El aprendizaje profundo es muy importante en la visión por computadora. ¿Hay algún otro tema de investigación que valga la pena estudiar en visión artificial? ¿Qué son?

¿Cuáles son los documentos más influyentes en el mundo del big data? ¿Por qué?

¿Qué áreas de investigación en informática requieren experiencia en programación?

¿Cuáles son algunos temas candentes en la investigación en nanotecnología?

En la investigación de CS, ¿cuál es la relación de pensamiento a implementación?

¿Por qué es que cuando se requiere que los estudiantes universitarios (CS, IT o IS) realicen investigaciones / proyectos / tesis, siempre se trata del diseño y desarrollo de sistemas?

¿Qué campo de la informática se ocupa de los lenguajes humanos?

¿Qué herramientas basadas en IA están disponibles para la investigación científica y las revisiones de literatura?