Computación distribuida y de alto rendimiento para potenciar la educación online

Los entornos de aprendizaje online actuales o sistemas de gestión de aprendizaje (LMS, en sus siglas en inglés) evolucionan muy rápidamente, y con requisitos tanto pedagógicos como tecnológicos cada vez más exigentes. Ciertamente, estos entornos ya no dependen de los contenidos y recursos estáticos del pasado, con grupos de alumnos homogéneos y modelos de aprendizaje únicos, sino que cada vez es más necesaria una alta flexibilidad y personalización en todos los frentes. Actualmente, se desarrollan complejos recursos e innovadoras estrategias de aprendizaje, como los juegos serios, los laboratorios virtuales, las analíticas del aprendizaje y la gamificación, que potencian fuertemente la interacción, colaboración y personalización del aprendizaje y, en conjunto, redundan en incrementar la motivación e implicación de los alumnos en su proceso de aprendizaje.

Analíticas del aprendizaje (fuente: proyecto ICT-FLAG, Ref. TIN2013-45303-P)

Sin embargo, al escalar estos recursos y estrategias de aprendizaje desde pequeños tests controlados a su puesta en producción masiva en entornos reales, nos encontramos con importantes barreras computacionales que impiden su despliegue y ejecución efectiva, limitando a su vez los beneficios pedagógicos esperados. Además, las organizaciones educativas actuales necesitan dar soporte a la distribución de actividades de aprendizaje y funcionalidades de los LMS con independencia de la localización tanto de los alumnos y profesores como de los recursos, y así facilitar la experiencia de aprendizaje en entornos abiertos, dinámicos, heterogéneos y masivos.

Resumiendo, la mayoría de desarrollos tecnológicos en los LMS tienden a aproximarse a la parte visible (funcional) de estos sistemas, desmereciendo la parte invisible (no funcional), como el rendimiento, la escalabilidad, la interoperabilidad, etc, que finalmente son requisitos cruciales para el correcto funcionamiento del sistema. Esta decisión de no tratar adecuadamente los requisitos no funcionales muchas veces viene motivada por su alta complejidad y por la falta de presupuesto para adquirir la costosa infraestructura ad hoc necesaria para hacerle frente.

En este contexto, la computación distribuida y computación de alto rendimiento (HPC, en sus siglas en inglés) han sido estudiadas a nivel de investigación demostrando un gran potencial para los entornos educativos y permitiendo abordar específicamente sus exigentes requisitos no funcionales de forma relativamente fácil y asequible. A continuación, revisamos brevemente algunos de los esquemas de computación distribuida más populares aplicados a entornos de aprendizaje online:

  • Computación Grid y Cloud. Las tecnologías Grid y Cloud se refieren a la integración y compartición de recursos computacionales (ordenadores, redes, etc) que se encuentran ampliamente distribuidos geográficamente. Son usadas en áreas complejas con necesidades computacionalmente intensivas y con requisitos de fuerte escalabilidad, disponibilidad y transparencia de acceso a los recursos con ahorro de costes. Estas características forman un contexto ideal para dar respuesta a los requisitos no funcionales indicados de los sistemas LMS. Además, el Cloud permite proporcionar servicios bajo demanda a estudiantes y profesores para desplegar recursos computacionales (por ejemplo, para laboratorios virtuales y video-materiales). El objetivo es dar soporte a experiencias complejas de aprendizaje personalizadas que requieren acceso bajo demanda, transparente e ubicuo.
  • Tecnologías peer-to-peer (P2P, en sus siglas en inglés). Estas tecnologías permiten superar los inconvenientes de poca escalabilidad y tolerancia a fallos de los sistemas clásicos cliente-servidor en los que se basan la mayoría de sistemas LMS, donde casi todo ocurre en el lado del servidor de forma centralizada, y el cliente no es más que una simple interfaz de acceso al servidor. Los sistemas LMS basados en redes P2P revierten esta situación con un enfoque descentralizado, donde cada cliente actúa también como servidor proporcionando y gestionando los recursos. Esto conlleva interesantes beneficios tecnológicos y pedagógicos para el aprendizaje online, como disponer de escalabilidad natural mediante el uso de los propios ordenadores de los usuarios, y comunicación directa entre los alumnos, lo que incrementa la interacción y fomenta el aprendizaje informal.
  • Computación Cluster. Un Cluster es un sistema de ordenadores o nodos conectados dentro de una red de alta velocidad que se comporta como un único recurso computacional. En organizaciones en general, y educativas en particular, se usa esta tecnología para reducir el tiempo global de procesar grandes cantidades de datos, especialmente cuando se requieren resultados en tiempo real, lo que es inviable utilizando los recursos computacionales habituales. A continuación se describe un caso típico del uso del Cluster para procesar datos, que también nos sirve de ejemplo del aprovechamiento de tecnologías distribuidas y HPC en general para la mejora de la educación.

Los LMS y Campus online actuales recogen enormes cantidades de información sobre la interacción de sus usuarios con el sistema que se guardan en ficheros log. Estos ficheros llegan a ser del orden de 20GB diarios de datos en estado primitivo, necesitando un procesado de extracción, transformación y carga (ETL, en sus siglas en inglés) previo a su análisis. El objetivo es conseguir un análisis efectivo de esta información para descubrir conocimiento útil que permita entender, por ejemplo, los patrones de navegación de los usuarios en el sistema LMS (analíticas del aprendizaje) y así mejorar el diseño de esta navegación mediante su adaptación a los hábitos y preferencias de los alumnos, incrementando así la eficiencia y satisfacción con el aprendizaje.

Sin embargo, procesar tanta información, y más si necesitamos los resultados en tiempo real, requiere infraestructura computacional más allá de un único ordenador (nodo) que procesa los datos de forma puramente secuencial. Se hace necesario el uso de computación distribuida y HPC con varios nodos procesando datos al mismo tiempo en paralelo. En las siguientes infraestructuras Cluster hemos testeado el procesado de grandes ficheros log procedentes del Campus Virtual de la UOC con resultados muy satisfactorios:

  • RDLab (Universidad Politécnica de Cataluña): 160 nodos físicos, CPU con 1000 cores y 3 TBytes de memoria RAM, 130 TBytes de espacio en disco y red de alta velocidad de 10 Gbit.
  • Artemis (Universidad de Sidney): 136 nodos físicos, CPU con 4264 cores y 6 TBytes de memoria RAM, 200 TBytes de espacio en disco y red de alta velocidad de 56 Gbit.

Según este estudio, acelerar el procesado de datos en paralelo con una de estas infraestructuras Cluster de 10 nodos, y usando Hadoop como software distribuido, mejoró en un 76% el rendimiento respecto a una aproximación secuencial (1 nodo).

 

Santi Caballé es Ingeniero y Doctor en Informática por la Universitat Oberta de Catalunya y profesor de los Estudios de Informática, Multimedia y Telecomunicación de esta misma universidad. Sus líneas de investigación más activas son: e-Learning y tecnologías distribuidas.

Comentar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Leer entrada anterior
Portafolio y beneficios de TI

En una entrada anterior abogamos por la realización de beneficios de la inversión en TI como un esfuerzo compartido entre...

Cerrar