5.3 Resultados Experimentales
5.3.3 Discusión
Los experimentos con respecto a los modelos de procesamiento aplicados a los algoritmos basa- dos en caminos mostraron que DPM se comporta muy bien en términos de velocidad de re- comendación. Sin embargo, para algunos usuarios, especialmente los que exploró porciones muy pequeñas de la gráfica, DPM mostró resultados mixtos. En general, FJ fue el modelo más lento en términos de tiempo de recomendación, seguido de Pregel.
Location Round Robin Max. Memory Available Memory
Fork Join Pregel DPM
Location Round Robin Max. Memory Available Memory
En casi todos los experimentos, FJ fue el algoritmo más eficiente en términos de uso de la red. La razón detrás de la eficiencia de FJ es que éste envía sólo un único resultado a la tarea padre que resulta en una compresión de datos más eficiente (cuanto mayor sea la cantidad de datos, más eficaz es la compresión). Por el contrario, Pregel y DPM, distribuyen varios resultados intermedios con particiones a otros workers. Además, DPM exhibió un uso de la red superior a otros modelos, que pueden atribuirse a la adición de la lista de vértices activos distribuidos por el trabajo padre.
El algoritmo más eficiente en cuanto a uso de memoria fue FJ, en parte debido a la falta de estructuras adicionales para la gestión de los resultados. En este sentido, DPM presentó resultados diferentes dependiendo del algoritmo. Para Katz y FriendLink, DPM se comporta de manera similar a Pregel, con casi un 30% más de uso de memoria que FJ. Sin embargo, en TFR y LocalPath, proporcionó eficiencia de uso de memoria casi similar a FJ. Curiosamente, DPM heredó de FJ la cero sobrecarga de presentar los resultados al usuario, que puede verse como un uso de memoria casi al estilo FJ en algoritmos con pequeñas cantidades de pasos. Cuando el número de pasos se eleva, sin embargo, la distribución y el almacenamiento de resultados intermedios que DPM tomó prestado de Pregel se tradujo en un uso de memoria similar a Pregel. En la mayoría de los experimentos, Pregel se ubicó como el modelo más intensivo en uso de memoria.
En resumen, para esta parte de los experimentos, DPM apareció como el modelo más rápido. Es de notar que en entornos experimentales, por ejemplo, el diferencial en el tiempo de recomen- dación logrado por DPM para un solo usuario puede reducir significativamente el tiempo total requerido para el cálculo de recomendación para un lote de usuarios. No obstante, en escenarios limitados en términos de red y de memoria, o en situaciones en las que se facturan transferencias de red (como en entornos de nube), la alternativa FJ puede ser una mejor opción que Pregel o DPM.
La segunda parte de los experimentos implicó el uso de diferentes estrategias y modelos de mapeo para el cálculo de recomendaciones, utilizando TFR como caso de estudio, en escenar- ios de clúster de memoria baja. El primero de estos escenarios implicaba una reducción de la memoria de la mitad de los nodos a 2 GB de RAM, mientras que el resto de los nodos fueron asignados con 16 GB, incluyendo el nodo en el que se llevan a cabo fusiones de DPM y FJ. Este escenario fue muy importante para mostrar que la asignación equilibrada del trabajo no siempre es posible. En particular, las estrategias por ubicación y Round Robin sufrieron de errores de falta de memoria y no proporcionaron una recomendación. Sin embargo, los escenarios basados en memoria ayudaron a reasignar vértices que no se podían procesar debido a las limitaciones de memoria.
El segundo escenario redujo la cantidad de memoria del nodo de fusión a sólo 4 GB de RAM. Esta restricción perjudica a los modelos, como FJ, que requieren grandes cantidades de memoria RAM en un nodo central. En este escenario, todas las estrategias estáticas fallaron, incluyendo la
estrategia de Memoria Máxima, no pudieron proporcionar recomendaciones para el modelo FJ. Sin embargo, la naturaleza dinámica de la estrategia de Memoria Disponible ayudó a evitar los errores de memoria mediante la reasignación de los vértices que en otros casos fueron asignados al nodo de fusión.
5.4
Resumen
En este capítulo se analizó el soporte proporcionado por Graphly para el desarrollo y los algorit- mos basados caminos y en vecinos desde dos puntos de vista: las cuestiones de implementación de acuerdo con la adecuación de los algoritmos a los estilos de programación del modelo uti- lizado, y el rendimiento alcanzado en cada modelo en términos de tiempo de recomendación, uso de memoria y el uso de la red. Por lo tanto, el capítulo proporciona un análisis profundo sobre cómo funcionan los algoritmos con diferentes modelos de procesamiento. Por otra parte, los modelos de procesamiento fueron puestos a prueba bajo diferentes estrategias de mapeo, especialmente en escenarios de baja memoria.
6
para Algoritmos
Basados en Random Walks
A pesar de tener los mismos objetivos, la naturaleza recursiva de los algoritmos de Random Walks (RW) es muy diferente a la naturaleza de recorridos de algoritmos basados en caminos. Por lo general, las implementaciones RW aproximan el resultado utilizando el método de it- eración de potencia, aplicando cambios en el vector de resultado en cada paso hasta que éste converge, es decir, los resultados dejan de cambiar entre iteraciones.
Los mecanismos de soporte ofrecidos por Graphly para los algoritmos basados en RW se presentan y se evalúan en este capítulo. En estas pruebas, se seleccionaron los algoritmos HITS y SALSA por su aplicabilidad a la recomendación de usuarios, siendo SALSA la base del popular servicio de Twitter, Who To Follow (WTF) (Gupta et al., 2013). Por otra parte, estos algoritmos procesan un subgrafo que rodea al objetivo de la recomendación. Otros algoritmos, tales como PageRank, operan al nivel de todo el grafo, produciendo una métrica general para toda la red social.
Este capítulo está organizado de la siguiente forma. La Sección 6.1 detalla las implementa- ciones de HITS y SALSA y discute los problemas en el desarrollo de estos algoritmos en difer- entes modelos. La Sección 6.2 presenta los resultados de la ejecución de los algoritmos basados en RW bajo diferentes modelos de procesamiento. Además, al igual que en los algoritmos basa- dos en caminos, se analiza y discute el impacto de las estrategias de mapeo de este tipo de algoritmos. Finalmente, la sección 6.3 ofrece un breve resumen de las técnicas y mecanismos propuestos en el presente capítulo y un análisis de los resultados obtenidos.
6.1
Implementación de Algoritmos Basados en Random Walks
Esta sección presenta los detalles de la implementación de los algoritmos HITS y SALSA bajo los modelos FJ, Pregel y DPM.