Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
temas-tesinas [2021/11/10 10:41] – juan_andres_fraire | temas-tesinas [2022/12/17 15:59] (actual) – juan_andres_fraire |
---|
| |
**Tema:** | **Tema:** |
Algoritmos de Clustering y Protocolos de Auto-Configuración para Redes Espaciales | 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:** |
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//, 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]]). | 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:** |
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). | 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:** |
Estrategias de Aprendizaje para la Predicción de Congestión en Redes Espaciales Tolerantes a Demoras | Estrategias de Aprendizaje Supervisado para la Predicción de Congestión en Redes Espaciales Tolerantes a Demoras |
| |
**Director:** | **Director:** |
| |
**Tema:** | **Tema:** |
Análisis de Grafos para Redes Tolerantes a Demoras | Algoritmos de Clustering No-Supervisados y Protocolos de Auto-Configuración para Redes Espaciales (**En desarrollo por Pedro Escalera**) |
| |
**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]]). | 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]]). |
| |
**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. | 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). |
| |
| |
| |
**Tema:** | **Tema:** |
Diseño de Topologías de Red y Protocolos de Comunicaciones a Escala Interestelar (**En desarrollo por Juan Costamagna**) | Análisis de Grafos para Redes Tolerantes a Demoras (**En desarrollo por Uziel Ludeña**) |
| |
**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]]). | 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]]). |
| |
**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. | 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. |
| |
**Contacto:** | **Contacto:** |
| |
---- | ---- |
| |
| |
**Tema:** | **Tema:** |
Algoritmos de Consenso para una Economía Interplanetaria. (**En desarrollo por Ezekiel Carranza**) | Diseño de Topologías de Red y Protocolos de Comunicaciones a Escala Interestelar (**En desarrollo por Juan Costamagna**) |
| |
**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. | 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]]). |
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. | 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. |
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:** | |
Implementación multiusuario online de la librería MIGSA (Massive and integrative gene set analysis). | |
| |
**Directores:** | |
Lic. Juan Cruz Rodriguez y Dr. Elmer Andrés Fernández | |
| |
**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. | |
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:** | |
Llevar a cabo el proceso necesario de Ingeniería del Software para dicha implementación. | |
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:** | |
jcrodriguez@bdmg.com.ar | |
| |
---- | |
| |
**Tema:** | **Tema:** |
Optimización del algoritmo mGSZ. | Algoritmos de Consenso para una Economía Interplanetaria. (**En desarrollo por Ezekiel Carranza**) |
| |
**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. | 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:** |
Mediante técnicas de performance detectar puntos críticos del algoritmo, tanto en memoria RAM como en tiempo de ejecución. | Elaborar un estudio del estado del arte de los algoritmos de consenso disponibles. |
Para las porciones de código críticas en tiempo de ejecución, implementarlas en lenguaje C eficiente. | Identificar algoritmos o adaptaciones específicas que satisfagan las condiciones de cómputo y conectividad de las redes espacio profundo. |
Para las porciones de código críticas en memoria, idear modificaciones algorítmicas que relajen este aspecto. | 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:** |
jcrodriguez@bdmg.com.ar | juanfraire@unc.edu.ar |
| |
---- | |
| |
**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 | |
| |
//Interés en presentar a beca// (http://www.msal.gov.ar/inc/destacados/becas-de-investigacion-en-cancer-2017/) | |
| |
**Directores:** | |
Dr. Elmer Andrés Fernández y M.V. Juan Carlos Vázquez | |
| |
**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. | |
| |
**Idea:** | |
Llevar a cabo el proceso necesario de Ingeniería del Software para dicha implementación. | |
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. | |
Evaluar estrategias de Big Data con spark en R (http://spark.rstudio.com/) | |
Proponer estrategias de visualización y representación de información basada en Big Data. | |
| |
**Contacto:** | |
efernandez@bdmg.com.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/]] |