SARADL 2015/ASIA/12 (2015-2016) Sistema de Análisis de vídeo para Reconocimiento de Actividades basado en técnicas de aprendizaje automático Deep Learning Technical Report TR01-SARADL-System infraestructure Video Processing and Understanding Lab Escuela Politécnica Superior Universidad Autónoma de Madrid Supported by
CONTENTS: 1. INTRODUCCIÓN... 3 2. INFRAESTRUCTURA HARDWARE... 4 2.1. EQUIPAMIENTO ADQUIRIDO... 4 2.2. EQUIPAMIENTO PREVIO EN EL VPU LAB... 5 3. INFRAESTRUCTURA SOFTWARE... 7 3.1. LIBRERIAS UTILIZADAS... 7 3.2. SUBSISTEMAS SOFTWARE DE BASE PREEXISTENTES EN EL VPULAB... 7 TR01-SARADL-System infrastructure Pág i
1. Introducción En este documento se describe la infraestructura hardware y software que se ha generado para el proyecto SARADL 2015/ASIA/12. TR01-SARADL-System infrastructure
2. Infraestructura hardware 2.1. Equipamiento adquirido En el apartado de inventariable, se han adquirido los dos items inicialmente presupuestados: servidor de altas prestaciones multi-núcleo y tarjeta de procesamiento paralelo GPU. La adquisición se realizó al principio del proyecto tal y como se definió en el plan de trabajo. El servidor de altas prestaciones es una Workstation 7038A-I con las siguientes características: INTEL HASWELL 8C E5-2630V3 2.4G 20M 8GT/s QPI 2 (16 CORES) 64GB DDR4-2133 1Rx4 LP ECC REG GRABADORA DVD LG SATA NEGRA 1 2.5" SSD SAMSUNG 850 PRO 512GB 2 3.5" SATA 2TB HUS724020ALE640 6Gb/s 7.2K 64MB 512N Para más detalles, puede consultar a continuación la web https://www.supermicro.com/products/system/tower/7038/sys-7038a-i.cfm Respecto a la tarjeta gráfica necesaria para ejecutar algoritmos Deep learning, se adquirió una potente modelo NVIDIA: TR01-SARADL-System infrastructure Pág 4
VGA GEFORCE GTX TITAN X HYBRID 12GB EVGA 1 http://www.evga.com/articles/00935/evga-geforce-gtx-titan-x-hybrid/ Aunque diseñada para videojuegos, esta tarjeta posee unas altas capacidades de procesamiento entre las que se destacan: Integrado con la mejor interfaz de memoria de 384 bits y 12GB GDDR5 Frecuencia del Core Base / Boost clock:1000 / 1075 MHz Frecuencia de la Memoria 7010 MHz Memoria 12GB Nucleos CUDA 3072 2.2. Equipamiento previo en el VPU Lab Aparte de dispositivos de propósito general, el Grupo dispone de varios servidores exclusivamente dedicados a la ejecución de algoritmos de análisis de las secuencias de vídeo capturadas. Las características principales de estos equipos, montados en bastidores situados en salas refrigeradas (ver Fig. 11) son: DELL R415: Dual Octa Core @ 2.7GHz, 64 GB RAM, SAS RAID DELL R300: Dual Core @ 3GHz, 24 GB RAM DELL R300: Quad Core @ 2,83GHz, 24 GB RAM 2x IBM x346: 2x Xeon @ 3GHz, 4 GB RAM, U320 SCSI RAID TR01-SARADL-System infrastructure Pág 5
Figura 11. Detalle de equipos de proceso (izda.) y del punto de acceso y control de parte de las cñamaras (dcha.). TR01-SARADL-System infrastructure Pág 6
3. Infraestructura software En este capítulo se describe la infraestructura software utilizada en el proyecto. 3.1. Librerias utilizadas Como soporte básico se utilizó - CUDA versión 7 Soporte para arquitectura de cálculo paralelo de NVIDIA http://www.nvidia.es/object/cuda-parallel-computing-es.html Como software de propósito general se utilizaron: - MATLAB software matemático para cálculo matricial http://www.mathworks.com/ - Python - https://www.python.org/ Adicionalmente se utilizaron los siguientes softwares open-source - MatConvNet - MATLAB toolbox implementando Convolutional Neural Networks (CNNs) para computer vision. http://www.vlfeat.org/matconvnet/ - DeepLearnToolbox MATLAB toolbox para Deep Learning (de Rasmus Berg Palm) https://github.com/rasmusbergpalm/deeplearntoolbox - Caffe Toolbox en C++ para implementar redes convolucionales https://github.com/bvlc/caffe 3.2. Subsistemas software de base preexistentes en el VPULab El Grupo sostiene su infraestructura en un 100% sobre sistemas libres Debian GNU Linux en versión 6 (Squeeze), mediante los cuales se construye una red para trabajar en el procesamiento de vídeo e imágenes de forma segura y multiusuario. Dado que los equipos están distribuidos en la red de la UAM, es decir, a una red no privada e insegura, el acceso a la información de los dispositivos de captura se realiza a través de equipos terminadores de VPN "site to site" (OpenVPN) que conectan de forma directa con ellos y además nos proporcionan un entorno de trabajo, mediante consola o escritorio remoto, para un primer procesado previo o trabajo más fluido. Todas estas VPNs se establecen contra un servidor central en nuestro CPD principal. Este equipo proporciona también VPN de tipo "client to site" para facilitar el acceso de los usuarios en itinerancia o cualquier localización remota, controlado por clave y certificado. Adicionalmente actúa como directorio unificado de autenticación (OpenLDAP), que comparten todos los equipos y aplicaciones del entorno, y, entre otras variadas funciones, como DNS local y servidor web del grupo de trabajo. Una vez garantizada la conectividad y disponibilidad de los datos a procesar, la capacidad de proceso se ofrece a través de una serie de servidores de virtualización formados por varias máquinas corriendo Oracle VirtualBox. De esta forma es posible TR01-SARADL-System infrastructure Pág 7
realizar pruebas o procesamiento en cualquier sistema operativo, así como compatibilizar y monitorizar el consumo de recursos de las máquinas virtuales en ejecución. Los usuarios almacenan su código en un servidor de repositorios Subversión, en una máquina dedicada con almacenamiento redundado. Así mismo existen "Baúles" de espacio común para el intercambio de datos entre máquinas virtuales, distintos procesos que operan sobre una misma fuente. etc. El almacenamiento de datos se apoya en unidades de red sobre discos NAS de Lacie, modificados para trabajar con Linux en lugar de Windows, ser accesibles por CIFS, NFS y SFTP, y poder así utilizar el directorio común de usuarios y controlar las cuotas de disco de éstos. Por último, se intenta garantizar alta disponibilidad de todos los servicios monitorizandolos mediante Nagios y Cacti. TR01-SARADL-System infrastructure Pág 8