HPC y el Posgrado de Ingeniería del Lenguaje y del Conocimiento (LKE) Dra. Josefina Guerrero García, Dra. Maya Carrillo Ruíz, Dra. Darnes Vilariño Ayala, Dra. Claudia Zepeda Cortés, Dr. José Luis Carballido Carranza, Dr. José Manuel González, Calleros, Dr. Iván Olmos Pineda, Dr. David Pinto Avendaño, Dr. Guillermo De Ita Luna, Dr. Arturo Olvera López, Dr. Manuel Martín Ortíz. Facultad de Ciencias de la Computación - BUAP [email protected] 1. INTRODUCCIÓN La Maestría y Doctorado en Ingeniería del Lenguaje y del Conocimiento (LKE) próximos a aperturarse en la Facultad de Ciencias de la Computación de la BUAP, dentro de sus líneas de formación e investigación requieren de servicios de Cómputo de Alto Rendimiento (HPC) para formar a los estudiantes incorporados a él, así como desarrollar trabajo de investigación y aplicar elementos teórico-prácticos para resolver problemas del entorno. En particular relativo a las temáticas de: Big Data, procesamiento y análisis de texto, procesamiento y análisis de imágenes digitales, bioinformática y Bases de Datos Geográficas, entre los más relevantes. El grupo cuenta con personal con experiencia en el uso de HPC y dentro de sus Planes de Estudio existen asignaturas orientadas al uso y explotación del HPC como herramienta para el análisis y extracción de conocimiento en grandes volúmenes de datos, procesamiento de datos, paralelización de métodos, algoritmos paralelos y minería de datos, entre otros. 2. METODOLOGÍA Y JUSTIFICACIÓN DE USO DE SUPERCÓMPUTO Para la solución de problemas que involucran gran cantidad de información, como es el caso del análisis del lenguaje escrito, las imágenes digitales de alta resolución, bancos de imágenes y video, secuencias de ADN, bases de datos geográficas de alta densidad y problemas de búsqueda no polinomiales, se requiere de sistemas de cómputo con una gran capacidad de almacenamiento, volúmenes de memoria RAM muy grandes y capacidad de procesamiento paralelo – tanto en procesadores típicos (a nivel de core) como en procesadores con estructura circulante (GPGPU) – para poder abordar ésta familia de problemas. Se ha venido trabajando con pequeños clusters con 30 procesadores dual core y enlace a 100 Mbps, así como con computadoras habilitadas con 400 GPGPU con 2 GB de RAM y velocidades de 1 GHz de reloj. El tipo de problemas que se han abordado se pueden considerar pequeños, para esto se han desarrollado algoritmos que han sido implementados sobre herramientas de desarrollo de software libre, obteniéndose buenos resultados, pero condicionados a la limitación de los recursos. Por estos motivos la posibilidad de poder acceder a equipos con mayor capacidad en general permitirá poder abordar problemas de mayor dimensión y poder resolverlos en menor tiempo. Por otro lado se propone involucrar a los profesores y alumnos del posgrado en la explotación de los recursos de HPC, lo cual los facultará para poder enfrentar problemas de las clases estudiadas y similares, así como plantear nuevos problemas a la luz de las experiencias obtenidas en la explotación del HPC. Como metodología se propone continuar con los talleres y seminarios internos de uso y explotación de plataformas masivamente paralelas a nivel core [1, 2] y GPGPU [3]. Estos talleres se han orientado a los fundamentos teórico-prácticos de la programación multicore, multihilo en cores y GPUGPU. Es claro que a bajo nivel dichos modelos son diferentes, pero existen paradigmas de alto nivel que permiten unificarlos como es el caso de OpenMP [4] y OpenCL [5]. Las herramientas de programación utilizadas han sido compiladores a los cuales se tiene acceso, bibliotecas para la simplificación y reducción de la puesta en marcha de los prototipos y productos finales. La capacidad adquirida por los alumnos por otro ayudará a que en los ambientes de investigación, transferencia tecnológica y desarrollo de soluciones se inserten con mayor facilidad en proyectos e iniciativas que requieran el uso de soluciones de programación o explotación de sistemas multiprocesador y multihilo de mediana y gran escala. A la luz de las iniciativas para el aprovechamiento de las nuevas plataformas que los fabricantes de computadoras [6, 7], los equipos modernos que desarrollan tareas de HPC se basan en estos paradigmas y plataformas. Razones por las cuales como posgrado en computación debemos acercarnos a la frontera en estas actividades der manera activa y proactiva; y convertirnos en un referente regional y nacional. 3. SOFTWARE REQUERIDO En primera instancia es de nuestro interés contar con compiladores que permitan el desarrollo de aplicaciones paralelas en modelos multicore y multiGPU (dependiendo de la plataforma a adquirirse) como son: [Plataforma Intel] - Intel® Parallel Studio XE Suites [8] - Privado - Threading Building Blocks [9] – Intel – Público - Parallel Computing Toolbox [10] – MathWorks - MATLAB Distributed Computing Server [11] – MathWorks – Privado - Aparapi. API for data parallel Java [12] – Google – Público - Java SDK, JHS y JRE [13] – Oracle - Público - Hadoop [14] – Apache – Público - MySQL Community Edition [15] – Oracle – Público - Postgress [16] – PostgreSQL - Público - PostGIS – [17] 4. PRODUCTOS ESPERADOS Como es natural en un Posgrado el tipo de productos esperados principales son los siguientes: - Tesis de posgrado - Tesis de Licenciatura - Memorias en Congresos - Artículos Arbitrados - Artículos indexados - Capítulos en Libros - Manuales de referencia - Aplicaciones a la medida - Convenios de colaboración con sectores público y privado 5. REFERENCIAS [1] Intel® Threading Building Blocks (Intel® TBB) https://software.intel.com/en-us/intel-tbb [2] Procesamiento Paralelo en CUDA http://www.nvidia.es/object/cuda-parallel-computing-es.html [3] OpenCL™ Parallel computing for CPUs and GPUs http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/ OpenCL_Parallel_Computing_for_CPUs_and_GPUs_201003.pdf [4] The OpenMP® API specification for parallel programming http://openmp.org/wp/ [5] The open standard for parallel programming in heterogeneous systems http://www.khronos.org/opencl/ [6] Intel Parallel Computing Centers https://software.intel.com/en-us/ipcc [7] Intel® Software Academic Program https://software.intel.com/en-us/academic/ [8] Intel® Parallel Studio XE Suites. C, C++ y Fortran. Math Kernel Library (MKL). Intel TBB, Intel Cilk Plus https://software.intel.com/en-us/intel-parallel-studio-xe [9] Threading Building Blocks https://www.threadingbuildingblocks.org/ [10] Parallel Computing Toolbox http://www.mathworks.com/products/parallel-computing/?s_cid= sol_compbio_sub2_relprod4_parallel_computing_toolbox [11] MATLAB Distributed Computing Server http://www.mathworks.com/products/distriben/ [12] Aparapi. API for data parallel Java. Allows suitable code to be executed on GPU via OpenCL. https://code.google.com/p/aparapi/ [13] Java by Oracle http://www.oracle.com/technetwork/java/javase/downloads/index.html ?ssSourceSiteId=otnjp [14] Haddop http://hadoop.apache.org/ [15] MySQL Community Edition by Oracle http://www.mysql.com [16] PostgreSQL http://www.postgresql.org/ [17] PostGIS http://postgis.net/
© Copyright 2024