Mecanismos de soporte para procesamiento distribuido de algoritmos de recomendación en redes sociales

Autor: Corbellini, Alejandro
Přispěvatelé: Godoy, Daniela, Schiaffino, Silvia
Jazyk: Spanish; Castilian
Rok vydání: 2015
Předmět:
Zdroj: RIDAA (UNICEN)
Universidad Nacional del Centro de la Provincia de Buenos Aires
instacron:UNICEN
Popis: Los sistemas de recomendación (RSs, del inglés Recommender Systems) se han convertido en una herramienta vital para ayudar a los usuarios a hacer frente a la enorme cantidad de información disponible en la Web. Con la aparición de la Web Social y las Redes Sociales en Línea (OSN, del inglés Online Social Networks), los RSs han permitido a los usuarios gestionar la enorme cantidad de contenido generado en los medios sociales, tales como documentos, fotos y videos. En este contexto, los RSs basados en la Red Social exploran la información disponible en la red para inferir las preferencias de los usuarios y producir sugerencias sobre diferentes ítems. Entre los problemas más sobresalientes en OSNs, sobresale el problema de sugerir personas conocidas en aquellas redes sociales basadas en amistades. Los algoritmos de recomendación de amistades utilizan el grafo que subyace a la red social para sugerir amigos, mejorando la participación de los usuarios en la plataforma y contribuyendo al crecimiento de la red. La recomendación de usuarios en OSNs se traduce generalmente a un problema de predicción de enlaces, en el cual el objetivo es inferir cuáles relaciones entre los usuarios son más propensas a ocurrir en el futuro. Computar algoritmos de predicción de enlaces en redes sociales a gran escala presenta una serie de retos en relación con la escalabilidad de las implementaciones. Muchos algoritmos de predicción de enlaces se han diseñado para ser ejecutados en una sola computadora, lo que limita el método de escalado sólo a escalado vertical, es decir, mediante la adición de más recursos al equipo donde corre el algoritmo. Este tipo de implementaciones son fáciles de desarrollar, pero difíciles de escalar debido a los costos de hardware y sus limitaciones intrínsecas. Por otro lado, distribuir el algoritmo en un conjunto de máquinas ha demostrado ser una alternativa rentable a pesar del aumento de la complejidad del desarrollo. Implementaciones complicadas, ad-hoc de algoritmos de predicción de enlaces eran comunes hasta la aparición de las bases de datos de grafos distribuidas y frameworks de procesamiento. Las bases de datos de grafos proporcionan un soporte de almacenamiento de grafos y la capacidad de realizar consultas simples, pero carecen de características avanzadas de procesamiento. Los frameworks ocultan la mayor parte de las operaciones distribuidas al usuario detrás de un modelo de procesamiento y, al mismo tiempo, fomentan buenas prácticas de procesamiento en entornos conectados por redes de computadoras. Sin embargo, la mayoría de los frameworks no integran un soporte para persistir grafos y responden a un modelo de procesamiento único, no siempre ajustado a la exigencia de diferentes tipos de algoritmos de predicción de enlaces. La presente tesis ofrece un enfoque alternativo mediante la implementación de un conjunto de mecanismos en un framework para el procesamiento de grafos a gran escala que combina el la persistencia de las bases de datos de grafos y las capacidades de procesamiento de múltiples modelos de procesamiento distribuido. El framework propuesto, llamado Graphly, integra una almacén de grafos distribuidos que permite reducir la cantidad de memoria ocupada por la representación del grafo, maximizando la cantidad de espacio disponible para los datos resultantes del procesamiento. Graphly también implementa un conjunto de modelos de procesamiento que permite a los desarrolladores elegir el modelo más adecuado en función de los requisitos del algoritmo y permite la comparación de los modelos en cuanto a su desempeño y a su aptitud para representar el algoritmo. Entre los modelos provistos, se encuentran los ampliamente conocidos Fork-Join y Pregel. Por otra parte, se propone un novedoso modelo de procesamiento llamado DPM (del inglés, Distributed Partitioned Merge), basado en la sencillez del estilo de programación Fork-Join, con las ventajas de un modelo centrado en vértices, tal como Pregel. Graphly también aborda una problemática en gran parte ignorada por los modelos de procesamiento existentes: la personalización de la asignación de tareas. De hecho, Graphly implementa un mecanismo llamado Mapping Strategies que permite a los usuarios personalizar la forma en que las tareas se asignan a los nodos de cómputo de acuerdo a las características de cada nodo. Por defecto, Graphly utiliza una estrategia de asignación basada en la ubicación que asigna tareas de acuerdo a la disposición de los datos en el almacén de grafos. Sin embargo,el uso de estrategias dinámicas basadas en métricas de memoria (por ejemplo, la memoria disponible de los nodos) puede ser crítico en situaciones donde los recursos son escasos y muy heterogéneos de nodo a nodo. Uno de los principales aportes de esta tesis es una comparación de algoritmos de predicción de enlaces, incluyendo algoritmos basados en caminatas aleatorias y algoritmos basados en rutas, para los tres modelos de procesamiento diferentes. Esta comparación arrojó luz sobre qué tan bien se ajusta cada modelo a un tipo específico de algoritmo midiendo no sólo su velocidad de recomendación, sino también sus estadísticas de uso de red y uso de memoria. La comparación experimental de modelos de procesamiento también mostró que DPM superó a Pregel y Fork- Join en términos de velocidad recomendación para la mayoría de los algoritmos, manteniendo al mismo tiempo valores aceptables de uso de red y uso de memoria. Fil: Corbellini, Alejandro. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina Fil: Godoy, Daniela. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina Fil: Schiaffino, Silvia . Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina
Databáze: OpenAIRE