Actividades

Acelerando la Computación Privada con FIDESlib: Una Biblioteca Eficiente de CKKS para sistemas GPU

Organizadores:

José Luis Abellán Miguel:

José L. Abellán obtuvo su doctorado en la Universidad de Murcia (UMU) en 2012. Entre 2012 y 2014, realizó una estancia postdoctoral en la Universidad de Boston. Posteriormente, entre 2014 y 2022, fue profesor en la Universidad Católica de Murcia (UCAM). Desde 2023, es Investigador Ramón y Cajal en la Universidad de Murcia, adscrito al Departamento de Ingeniería y Tecnología de Computadores y al grupo de investigación en Arquitectura de Computadores y Sistemas Paralelos (CAPS). Sus principales líneas de investigación incluyen el diseño de sistemas más eficientes basados en GPU y aceleradores de hardware, para dominios de aplicación diversos como el Machine Learning y Fully Homomorphic Encryption. Más información

Carlos Agulló Domingo:

Carlos Agulló Domingo obtuvo su título de Ingeniería Informática en la Universidad de Murcia mediante el Programa Conjunto de Estudios Oficiales de Matemáticas e Ingeniería informática en 2024, y actualmente estudia el Máster de Nuevas Tecnologías en informática en la Universidad de Murcia mientras trabaja como investigador. En su TFG, “FIDESlib: Librería de Criptografía Homomórfica para Sistemas GPU en Entornos Cloud” presentó una versión preliminar de FIDESlib, cuyo desarrollo continúa. Sus intereses de investigación son la microarquitectura hardware, la programación de algoritmos y sistemas de alto rendimiento, y el cifrado homomórfico.

Óscar Vera López:

Óscar Vera López se encuentra finalizando sus estudios de grado de Ingeniería Informática, cursando la intensificación de Ingeniería de Computadores. En su trabajo como investigador, apoya el desarrollo de la librería FIDESlib y, actualmente, se encuentra centrado en facilitar su funcionamiento en gráficas de NVIDIA y AMD mediante el uso de la librería Heterogeneous-Compute Interface for Portability (HIP) desarrollada por AMD. Sus intereses de investigación se centran en la computación de altas prestaciones, criptografía, arquitecturas y algoritmos paralelos y la micro-optimización de algoritmos y programas para una mejor utilización de recursos hardware.

Descripción:

El auge de Machine-Learning-as-a-Service (MLaaS) ha revolucionado el desarrollo y despliegue de modelos de aprendizaje automático (ML) en la nube. Sin embargo, este crecimiento viene acompañado de desafíos críticos de seguridad, como filtraciones de datos y la inminente amenaza de la computación cuántica, capaz de romper los esquemas criptográficos tradicionales.

Para abordar estos riesgos, el Cifrado Homomórfico Completo (Fully Homomorphic Encryption) basado en los fundamentos matemáticos de la criptografía post-cuántica ha emergido recientemente como una solución prometedora, permitiendo realizar cálculos directamente sobre datos cifrados de manera segura. En particular, el esquema Cheon, Kim, Kim, y Song (CKKS) se ha convertido en la opción preferida para computación aproximada con preservación de la privacidad en entornos MLaaS. No obstante, su alto costo computacional, con ralentizaciones de hasta cinco órdenes de magnitud con respecto a computar con datos sin cifrar, dificulta su adopción práctica.

Las bibliotecas actuales como OpenFHE ofrecen soporte para CKKS, pero su arquitectura flexible introduce capas de abstracción que penalizan el rendimiento. Aunque aceleradores especializados (FPGA/ASIC) podrían ser una solución, su integración en nfraestructuras MLaaS existentes resulta costosa y poco viable. En contraste, la creciente presencia de GPUs en Centros de Procesamiento de Datos (CPDs) las posiciona como la mejor alternativa para potenciar la computación privada en la nube.

Pese a que algunas bibliotecas GPU para CKKS han logrado avances significativos, muchas de ellas son propietarias, limitando la colaboración en la comunidad científica. Para superar esta barrera, presentamos FIDESlib, la primera biblioteca open-source que mplementa todas las funcionalidades de CKKS en GPU, incluyendo bootstrapping, y supera las limitaciones de alternativas previas. FIDESlib se apoya en OpenFHE para las operaciones cliente y ofrece validación rigurosa mediante GoogleTest y Google Benchmark, facilitando su optimización y adopción en entornos reales.

Con FIDESlib, buscamos democratizar la investigación en optimización de CKKS para GPUs y acelerar la computación privada en MLaaS, allanando el camino para un futuro donde la privacidad y el rendimiento puedan coexistir sin compromisos.

Objetivos:

Al finalizar el tutorial, los asistentes serán capaces de:

    1. Comprender los fundamentos de CKKS y FHE: Explorar los principios de FHE y el esquema CKKS, clave para la computación privada en la nube para servicios MLaaS.
    2. Comprender los desafíos computacionales de CKKS: Entender las limitaciones de rendimiento y los cuellos de botella en plataformas de hardware tradicionales basadas en CPU, para ejecutar servicios basados en MLaaS protegidos por CKKS.
    3. Explorar el papel de las GPUs en la aceleración de CKKS: Comprender la oportunidad que ofrecen los sistemas basados en GPU, ya disponibles en CPDs, para acelerar servicios basados en MLaaS protegidos por CKKS.
    4. Estudiar FIDESlib y su impacto en la computación privada: Conocer la primera biblioteca open-source completa optimizada para CKKS en GPU, su diseño, validación y contribución a la democratización de su adopción para garantizar su viabilidad práctica futura.
    5. Fomentar la participación en la investigación y desarrollo de FHE: Proporcionar herramientas y conocimientos para que más arquitectos de computadores e ingenieros de software de la comunidad científica contribuyan activamente a este campo en expansión.

Este tutorial permitirá a los asistentes no solo comprender los retos y oportunidades de la computación basada en FHE en general, y CKKS en particular, sino también posicionarse como actores clave en su desarrollo futuro.

Duración esperada: 3 horas

Agenda: Viernes 27 de junio a las 15:30h

15 minutos (José Luis):

    • Introducción a técnicas computacionales que preservan la privacidad: FHE

15 minutos (Carlos):

    • Conceptos básicos de la criptografía basada en retículos

30 minutos (Carlos):

    • El esquema CKKS para FHE

30 minutos (Carlos y Óscar)

    • La librería FIDESlib

90 minutos (Carlos, Óscar y José Luis)

    • Casos de uso prácticos con FIDESlib

Audiencia objetivo:

El público objetivo de este tutorial incluye estudiantes de posgrado, profesores y en general la comunidad investigadora que estén interesados en comprender la necesidad de esquemas criptográficos FHE que habiliten la computación privada, tales como el esquema CKKS, así como aprender a usar la librería FIDESlib. Será útil que los asistentes tengan conocimientos básicos de álgebra lineal y aritmética en cuerpos finitos, así como conocimientos en programación paralela usando sistemas GPU (lenguajes como CUDA, OpenCL o HIP).

Requisitos Mínimos de Software y Hardware:

En cuanto a requisitos hardware para poder seguir el tutorial, los asistentes tendrán que venir provistos con portátiles que tengan GPU de NVIDIA o AMD. Se facilitará una imagen Docker para poder instalar FIDESlib fácilmente, así como para poder realizar un seguimiento del material práctico que se explicará. En cuanto a requisitos software, sería conveniente tener instalado el sistema operativo Ubuntu con Docker ya instalado.