Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
temas-tesinas [2021/11/06 19:51] – juan_andres_fraire | temas-tesinas [2022/12/17 15:59] (actual) – juan_andres_fraire |
---|
| |
**Tema:** | **Tema:** |
Estructura de Datos para Grafos de Redes Tolerantes a Demoras | Banco de Pruebas y Evaluación Comparativa de Stacks de Protocolos para Comunicaciones Espaciales Tolerantes a Demoras (**En desarrollo por Leandro Acosta**) |
| |
**Director:** | **Director:** |
| |
**Resumen:** | **Resumen:** |
La Internet y sus protocolos asumen cierta estabilidad en los enlaces de comunicaciones, lo que permite el uso de estructuras de grafos estáticas para razonar sobre las topologías (i.e., enrutar, optimizar, etc.). Sin embargo, las redes tolerantes a demoras (//Delay Tolerant Networks// o DTN) -típicamente particionadas- (i.e., redes espaciales, vehiculares, y sub-acuaticas) requieren de estructuras de datos más generales. Una de ellas se conoce como grafos evolutivos en el tiempo (//time-evolving graphs//), en los que el tiempo se discretiza, para así aprovechar un grafo estático que describe la red en un intervalo de tiempo donde permanece estable. Debido a la escasa escalabilidad de este enfoque, una estructura de datos alternativa llamada grafos de contactos (//contact graphs//) ha tomado relevancia, y es hoy parte de los stacks de protocolos DTN más populares, aunque existen pocos análisis que justifiquen su elección ([[https://drive.google.com/open?id=1mwjBKJ5Oh1DbkmjR14lYsQAEkD6pQaZY|más detalle]]). | La familia d redes tolerantes a demoras (//Delay Tolerant Networks// o DTN) permiten el uso de enlaces con alta latencia y con disrupciones prolongadas. Una de los casos de usos más populares es el dominio espacial, tanto para redes de órbita cercana a la tierra como de espacio profundo. A pesar de tolerar demoras, hay un marcado interés en que los stacks de protocolos DTNs ([[https://datatracker.ietf.org/doc/rfc9171/|RFC 9171]]) a) puedan interoperar entre ellos para permitir cooperación entre agencias espaciales y b) entregar el máximo throughput posible para aprovechar las escasas oportunidades de contacto espacio-tierra. Por otro lado, existen esfuerzos de interfaces unificadas para que una misma aplicación pueda usar cualquier stack de protocolos DTN ([[https://youtu.be/AIDtlGxIVTo?t=3054|ver unified BP API]]). En este mismo sentido, ya existen aplicaciones de evaluación de red que trabajan independientemente del stack ([[https://www.spatiam.com/blogs/blog_011.html|ver post Spatiam]]). |
| |
**Idea:** | **Idea:** |
Durante este trabajo se hará una revisión exhaustiva de la literatura alrededor de protocolos y modelos DTNs, así como de las estructuras de datos mencionadas (//time-evolving graphs// y //contact graphs//). En base a esto se desarrollará una herramienta de simulación y análisis que permita ganar intuición sobre el rendimiento de algoritmos (i.e., Dijkstra, Shortest-Path Tree, etc.) sobre cada una de ellas ([[https://bitbucket.org/juanfraire/pycgr/src/master/|ver prototipo]]). Los resultados obtenidos se basarán en casos de uso concretos y serán utilizados para validar un análisis teórico/formal que compare ambas estructuras de datos en general. | Este trabajo final tiene como objetivo desarrollar un banco de pruebas basado en software (e.g., máquinas virtuales o contenedores Docker, posiblemente inspirado en [[https://youtu.be/7xwJEZyL_Ns|CORE]]) que contengan los stacks de código abierto DTN más populares: [[https://www.nasa.gov/directorates/heo/scan/engineering/technology/disruption_tolerant_networking_software_options_ion|ION]] (de NASA JPL), [[https://www1.grc.nasa.gov/space/scan/acs/tech-studies/dtn/|HDTN]] (de NASA Glenn), y [[https://d3tn.com/ud3tn.html|uD3TN]] (de D3TN). El banco de pruebas deberá implementar emuladores de enlace que imiten las demoras y disrupciones en los mismos. En base a este desarrollo, el trabajo conluirá con campañas de emulación que evalúen la compatibilidad bajo diferentes configuraciones y la performance de cada uno de estos stacks (e.g., realizar un benchmarking). Además, se presende hacer un profiling para detectar los cuellos de botellas (procesamiento y memoria) en cada implementación, y de ser posible, elaborar sugerencias para mejorar las implementaciones de cara a DTNs de alta capacidad en el futuro. |
| |
| |
| |
**Tema:** | **Tema:** |
Diseño de Topologías de Red y Protocolos de Comunicaciones a Escala Interestelar (**Tomado**) | Estrategias de Aprendizaje Supervisado para la Predicción de Congestión en Redes Espaciales Tolerantes a Demoras |
| |
**Director:** | **Director:** |
| |
**Resumen:** | **Resumen:** |
El reciente descubrimiento de planetas potencialmente habitables en estrellas remotas (i.e., TRAPPIST-1) ha renovado el interés en la exploración interestelar. A pesar de que el objeto más lejano creado por el humano (Voyager 1) podría tomar miles de años en llegar la estrella más cercana (Próxima Centauri), numerosos proyectos han propuesto ideas de propulsión (y sistemas de energía) para reducir esta duración en órdenes de magnitud. Lo que aún requiere de mayor discusión (y que motiva este trabajo) es el análisis de estrategias y arquitecturas de comunicaciones para dar soporte al transporte de datos en dichas misiones. En particular, resulta inevitable recurrir a estrategias de múltiples saltos, lo que demandaría un sistema en red tolerantes a demoras de escala y latencia sin precedentes ([[https://drive.google.com/file/d/1XmRLyf9OqhaM_-8GiRxmuQzCSgx8qDUH/view?usp=sharing|más detalle]]). | Las redes tolerantes a demoras (//Delay Tolerant Networks// o DTN) generalizan las redes tradicionales al permitir la operación en entornos con enlaces con alta latencia y disrupciones prolongadas (posiblemente de minutos u horas), como las evidenciadas por redes espaciales. Para este fin, los nodos DTN cuentan con almacenamiento temporario, mientras que los protocolos y aplicaciones de capa superior se diseñan para minimizar los intercambios de mensajes end-to-end. El principal problema de estas redes es que la carencia de feedback inmediato impide la implementación de mecanismos de mitigación de congestión //reactivos// como los que se usan en el protocolo TCP. En efecto, en redes DTN la única estrategia es //anticiparse// al problema, para lo cual los mecanismos de aprendizaje de máquinas tan en boga en la actualidad se presentan como una alternativa atractiva, aunque poco explorada ([[https://drive.google.com/drive/folders/1LVs2MHb2f_EuCitvNbFCB7fYZxLnMrX3?usp=sharing|más detalle]]). |
| |
**Idea:** | **Idea:** |
Realizar una revisión bibliográfica en profundidad del entorno interestelar cercano, así como de las tecnologías recientemente propuestas. En base a estas, identificar mecanismos de diseño de topologías en red (i.e., métodos MILP, algoritmos de spanning tree) que permitan dotar de conectividad a misiones interestelares con la mínima latencia y recursos. Finalmente, y aprovechando las topologías obtenidas, se evaluará por medio de simulaciones de eventos discreto posibles protocolos de transporte de datos. | Este trabajo final comenzará por realizar una revisión en profundidad de las redes DTN aplicadas al espacio, y en particular sobre los problemas de congestión que las afectan ([[https://drive.google.com/open?id=1UqiTdlBIHYct1w6tygLVU_jitUikm4XG|publicación de referencia]]). Luego, se retomará una serie de resultados preliminares de predicción de congestión utilizando un modelo Gradient Boosting Regressor (GBR) entrenado con data sets sintéticos generados por medio de simulaciones de evento discretos ([[https://github.com/lggaray/dtnsim/|link al repo]]). Durante este trabajo se pulirá el modelo y se lo estudiará en casos más generales para luego evaluar exhaustivamente su precisión. Finalmente, se estudiarán alternativas de implementación de mecanismos de red que permitan hacer uso práctico de las predicciones realizadas, y así, reducir los efectos de la congestión. |
| |
**Contacto:** | **Contacto:** |
| |
---- | ---- |
| |
| |
**Tema:** | **Tema:** |
Algoritmos de Consenso para una Economía Interplanetaria. (**Tomado**) | Algoritmos de Clustering No-Supervisados y Protocolos de Auto-Configuración para Redes Espaciales (**En desarrollo por Pedro Escalera**) |
| |
**Director:** | **Director:** |
| |
**Resumen:** | **Resumen:** |
La cantidad de objetos creados por el hombre en el espacio crece exponencialmente en el marco del //new space//. Ya son corrientes las misiones de espacio profundo basadas en nanosatélites, que habilitarán aplicaciones futuristas basadas en redes federadas y autónomas a escala interplanetaria. | Mientras que Internet asume rutas estables, las redes espaciales y satelitales deben implementar arquitecturas tolerante a demoras (//Delay Tolerant Networks// o DTN) para operar en contextos de alta disrupción y demora de propagación. Debido a la consideración del aspecto temporal, la escalabilidad de estas redes espaciales ha resultado limitada, especialmente en lo que respecta a la gestión y despliegue de nuevos nodos. Para superar este problema, es necesario automatizar la configuración de //regiones// (particiones) de la topología así como diseñar mecanismos de auto-configuración. El primer objetivo se conoce bajo el nombre de //Inter-Regional Forwarding// ([[https://drive.google.com/file/d/1hxlMOvALAvPKGyxm3d-QhZpnNfgOtrLs/view?usp=sharing|más detalle]], extendido en esta [[https://amslaurea.unibo.it/17468/1/tesi_alessi.pdf|tesis de maestría]]), mientras que el segundo supone lograr la asignación de URI a nuevos nodos en el sistema ([[https://drive.google.com/file/d/1OuEU-9YGClTsHXswGxgqzdy5Y4lURlfc/view?usp=sharing|más detalle]]). |
En este marco, este trabajo propone explorar mecanismos de transferencia de valor digital entre naves en el espacio exterior tal como lo hacen Bitcoin o Ethereum hoy en tierra. Sin embargo, los mecanismos de consenso //proof of work// o //proof of stake// son inviables para el entorno espacial, por lo que deberían ser reemplazados por alternativas basadas en //proof of authority// o //directed acyclic graphs// ([[https://drive.google.com/file/d/1owGinHagSIE2RJaANtgPT2Og9iR6zvpp/view?usp=sharing|más detalle]]). | |
| |
**Idea:** | **Idea:** |
Elaborar un estudio del estado del arte de los algoritmos de consenso disponibles. | Luego de realizar una adecuada revisión bibliográfica de la temática, el trabajo se enfocará en el estudio y comparación de estrategias clustering (aprendizaje de máquina no-supervisado) mediante el cual se puedan generar regiones en estructuras de datos conocidas como //contact plans// o planes de contactos. Luego, se explorarán estrategias de auto-configuración que permitan la incorporación de nuevos nodos a la topología, adaptando dinámicamente la definición de regiones. Finalmente, las soluciones se evaluarán en plataformas de simulación como DTNSim (ver [[https://youtu.be/_5HhfNULjtk|presentación]], y [[https://drive.google.com/open?id=1aug2lGv7viaZJbzFSZrhXuCNARt6XLB6|paper]] del simulador). |
Identificar algoritmos o adaptaciones específicas que satisfagan las condiciones de cómputo y conectividad de las redes espacio profundo. | |
Implementar un modelo analítico o de simulación (a definir en función de la alternativa identificada) que permita el estudio y validación del concepto ([[https://docs.google.com/document/d/1vHcuUxKpOBKNBUMsO7kJ7XRLqgCVTKSgxPjARkKSDZg/edit?usp=sharing|más detalle]]). | |
| |
**Contacto:** | **Contacto:** |
| |
**Tema:** | **Tema:** |
Implementación multiusuario online de la librería MIGSA (Massive and integrative gene set analysis). | Análisis de Grafos para Redes Tolerantes a Demoras (**En desarrollo por Uziel Ludeña**) |
| |
**Directores:** | **Director:** |
Lic. Juan Cruz Rodriguez y Dr. Elmer Andrés Fernández | Dr. Juan A. Fraire |
| |
**Resumen:** | **Resumen:** |
MIGSA (http://bioconductor.org/packages/MIGSA/) es una librería de data mining que permite indagar sobre grandes fuentes de datos biológicos. Esta librería se puede correr en cualquier computadora de escritorio, sin embargo, su principal fuerte es la comparación de resultados propios contra grandes bases de datos de resultados previamente procesados. | La Internet y sus protocolos asumen cierta estabilidad en los enlaces de comunicaciones, lo que permite el uso de estructuras de grafos estáticas para razonar sobre las topologías (i.e., enrutar, optimizar, etc.). Sin embargo, las redes tolerantes a demoras (//Delay Tolerant Networks// o DTN) -típicamente particionadas- (i.e., redes espaciales, vehiculares, y sub-acuaticas) requieren de estructuras de datos más generales. Una de ellas se conoce como grafos evolutivos en el tiempo (//time-evolving graphs//), en los que el tiempo se discretiza, para así aprovechar un grafo estático que describe la red en un intervalo de tiempo donde permanece estable ([[https://smartech.gatech.edu/bitstream/handle/1853/6492/GIT-CC-04-07.pdf?sequence=1|más detalle]]). Debido a la escasa escalabilidad de este enfoque, una estructura de datos alternativa llamada grafos de contactos (//contact graphs//) ha tomado relevancia, y es hoy parte de los stacks de protocolos DTN más populares, aunque existen pocos análisis que justifiquen su elección ([[https://drive.google.com/open?id=1mwjBKJ5Oh1DbkmjR14lYsQAEkD6pQaZY|más detalle]]). |
Para esto, en el presente proyecto de tesis se pretende extender MIGSA de manera que corra en un servidor. De esta manera permitir a diversos usuarios, de manera online, procesar sus datos y a su vez compararlos con los resultados de corridas previas. | |
Adicionalmente se desarrollaran nuevas técnicas de data visualization sobre estos datos, como ser grafos. | |
| |
**Idea:** | **Idea:** |
Llevar a cabo el proceso necesario de Ingeniería del Software para dicha implementación. | Durante este trabajo se hará una revisión exhaustiva de la literatura alrededor de protocolos y modelos DTNs, así como de las estructuras de datos mencionadas (//time-evolving graphs// y //contact graphs//). En base a esto se desarrollará una herramienta de simulación y análisis que permita ganar intuición sobre el rendimiento de algoritmos (i.e., Dijkstra, Shortest-Path Tree, etc.) sobre cada una de ellas ([[https://bitbucket.org/juanfraire/pycgr/src/master/|ver prototipo]]). Los resultados obtenidos se basarán en casos de uso concretos y serán utilizados para validar un análisis teórico/formal que compare ambas estructuras de datos en general. |
Mediante el framework Shiny (https://shiny.rstudio.com/) poner en funcionamiento online de MIGSA. Shiny permite crear aplicaciones web que corran código R como backend, sin conocimientos de R, HTML, JavaScript, ni CSS. | |
Mediante el paquete Graphviz y la librería Rgraphviz (http://bioconductor.org/packages/Rgraphviz/), mejorar la visualización existente de grafos de MIGSA. | |
| |
**Contacto:** | **Contacto:** |
jcrodriguez@bdmg.com.ar | juanfraire@unc.edu.ar |
| |
---- | ---- |
| |
**Tema:** | **Tema:** |
Optimización del algoritmo mGSZ. | Diseño de Topologías de Red y Protocolos de Comunicaciones a Escala Interestelar (**En desarrollo por Juan Costamagna**) |
| |
**Directores:** | **Director:** |
Lic. Juan Cruz Rodriguez y Dr. Elmer Andrés Fernández | Dr. Juan A. Fraire |
| |
**Resumen:** | **Resumen:** |
mGSZ (https://CRAN.R-project.org/package=mGSZ) es una librería del lenguaje de programación R, que mediante técnicas estadísticas no paramétricas obtiene, a partir, de matrices de genes * sujetos, conjuntos de genes que se encuentran actuando en común. Dicha librería no presenta ténicas optimizadas, por lo que la ejecución llega a demorar, en la práctica, alrededor de 14 horas. Los directores propuestos de este trabajo aplicaron diversas técnicas de optimización sobre mGSZ, llegando a un speed-up de 10X, sin embargo, existen infinidades de altertivas para optimizar aún más dicho algoritmo. | El reciente descubrimiento de planetas potencialmente habitables en estrellas remotas (i.e., TRAPPIST-1) ha renovado el interés en la exploración interestelar. A pesar de que el objeto más lejano creado por el humano (Voyager 1) podría tomar miles de años en llegar la estrella más cercana (Próxima Centauri), numerosos proyectos han propuesto ideas de propulsión (y sistemas de energía) para reducir esta duración en órdenes de magnitud. Lo que aún requiere de mayor discusión (y que motiva este trabajo) es el análisis de estrategias y arquitecturas de comunicaciones para dar soporte al transporte de datos en dichas misiones. En particular, resulta inevitable recurrir a estrategias de múltiples saltos, lo que demandaría un sistema en red tolerantes a demoras de escala y latencia sin precedentes ([[https://drive.google.com/file/d/1XmRLyf9OqhaM_-8GiRxmuQzCSgx8qDUH/view?usp=sharing|más detalle]]). |
| |
**Idea:** | **Idea:** |
Mediante técnicas de performance detectar puntos críticos del algoritmo, tanto en memoria RAM como en tiempo de ejecución. | Realizar una revisión bibliográfica en profundidad del entorno interestelar cercano, así como de las tecnologías recientemente propuestas. En base a estas, identificar mecanismos de diseño de topologías en red (i.e., métodos MILP, algoritmos de spanning tree) que permitan dotar de conectividad a misiones interestelares con la mínima latencia y recursos. Finalmente, y aprovechando las topologías obtenidas, se evaluará por medio de simulaciones de eventos discreto posibles protocolos de transporte de datos. |
Para las porciones de código críticas en tiempo de ejecución, implementarlas en lenguaje C eficiente. | |
Para las porciones de código críticas en memoria, idear modificaciones algorítmicas que relajen este aspecto. | |
| |
**Contacto:** | **Contacto:** |
jcrodriguez@bdmg.com.ar | juanfraire@unc.edu.ar |
| |
---- | ---- |
| |
| |
**Tema:** | **Tema:** |
Implementación de una suite de análisis de variantes sobre exomas completos para análisis de paneles y comparación de pacientes en medicina de presición | Algoritmos de Consenso para una Economía Interplanetaria. (**En desarrollo por Ezekiel Carranza**) |
| |
//Interés en presentar a beca// (http://www.msal.gov.ar/inc/destacados/becas-de-investigacion-en-cancer-2017/) | **Director:** |
| Dr. Juan A. Fraire |
**Directores:** | |
Dr. Elmer Andrés Fernández y M.V. Juan Carlos Vázquez | |
| |
**Resumen:** | **Resumen:** |
El análisis de variantes es una nueva metodología de explorar la aparición de variantes (mutaciones, deleciones o inserciones) en el ADN que estén asociadas a enfermedades complejas. En la actualidad existen diferentes herramientas pero tiene la limitación de que proporcionan funcionalidades limitadas no siempre apropiadas para una disciplina determinada de medicina de presición. En este proyecto se propone implementar una herramienta basada en lenguage R para la busqueda de variantes, comparación de las mismas en grupos de individuos (análisis de DUOS y TRIOS), identificación de variantes en genes específicos (paneles) y generación de una base de datos no relacional para búsqueda, y comparación eficiente de variantes supoblacionales. | La cantidad de objetos creados por el hombre en el espacio crece exponencialmente en el marco del //new space//. Ya son corrientes las misiones de espacio profundo basadas en nanosatélites, que habilitarán aplicaciones futuristas basadas en redes federadas y autónomas a escala interplanetaria. |
| En este marco, este trabajo propone explorar mecanismos de transferencia de valor digital entre naves en el espacio exterior tal como lo hacen Bitcoin o Ethereum hoy en tierra. Sin embargo, los mecanismos de consenso //proof of work// o //proof of stake// son inviables para el entorno espacial, por lo que deberían ser reemplazados por alternativas basadas en //proof of authority// o //directed acyclic graphs// ([[https://drive.google.com/file/d/1owGinHagSIE2RJaANtgPT2Og9iR6zvpp/view?usp=sharing|más detalle]]). |
| |
**Idea:** | **Idea:** |
Llevar a cabo el proceso necesario de Ingeniería del Software para dicha implementación. | Elaborar un estudio del estado del arte de los algoritmos de consenso disponibles. |
Mediante el framework Shiny (https://shiny.rstudio.com/) poner en funcionamiento la suite de análisis de variantes. Shiny permite crear aplicaciones web que corran código R como backend, sin conocimientos de R, HTML, JavaScript, ni CSS. | Identificar algoritmos o adaptaciones específicas que satisfagan las condiciones de cómputo y conectividad de las redes espacio profundo. |
Evaluar estrategias de Big Data con spark en R (http://spark.rstudio.com/) | Implementar un modelo analítico o de simulación (a definir en función de la alternativa identificada) que permita el estudio y validación del concepto ([[https://docs.google.com/document/d/1vHcuUxKpOBKNBUMsO7kJ7XRLqgCVTKSgxPjARkKSDZg/edit?usp=sharing|más detalle]]). |
Proponer estrategias de visualización y representación de información basada en Big Data. | |
| |
**Contacto:** | **Contacto:** |
efernandez@bdmg.com.ar | juanfraire@unc.edu.ar |
| |
---- | ---- |
**Referencias:** | **Referencias:** |
- [[https://www.lua.org/uses.html]] | - [[https://www.lua.org/uses.html]] |
- Soldevila M, Ziliani B, Silvestre B, Fridlender D, Mascarenhas F (2017) Decoding Lua: Formal semantics for the developer and the semanticist. In: Proceedings of the 13th ACM SIGPLAN Dynamic Languages Symposium, DLS 2017 | - Soldevila M, Silvestre B, Ziliani B (2022) From Specification to Testing: Semantics Engineering for Lua 5.2. In: Journal of Automated Reasoning ([[https://people.mpi-sws.org/~beta/papers/from_specification_to_testing.pdf|pdf]]). |
- [[https://en.wikipedia.org/wiki/Operational_semantics#Reduction_semantics]]. También [[https://mitpress.mit.edu/books/semantics-engineering-plt-redex]], libro en biblioteca. | - [[https://en.wikipedia.org/wiki/Operational_semantics#Reduction_semantics]]. También [[https://mitpress.mit.edu/books/semantics-engineering-plt-redex]], libro en biblioteca. |
- [[https://redex.racket-lang.org/]] | - [[https://redex.racket-lang.org/]] |