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
TR01-SARADL-System infrastructure Pág i
CONTENTS:
1. INTRODUCCIÓN ... 3
2. INFRAESTRUCTURA HARDWARE ... 4
2.1. EQUIPAMIENTO ADQUIRIDO ... 4
2.2. EQUIPAMIENTO PREVIO EN EL VPULAB ... 5
3. INFRAESTRUCTURA SOFTWARE ... 7
3.1. LIBRERIAS UTILIZADAS ... 7
TR01-SARADL-System infrastructure
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 Pág 4
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 5 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
TR01-SARADL-System infrastructure Pág 6
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 7
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 8 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.