Metodología CNCA de Servicios de Computación Científica de Alto Rendimiento

July 24, 2017 | Autor: R. Román-Brenes | Categoría: Methodology
Share Embed


Descripción

56

Metodología CNCA de Servicios de Computación Científica de Alto Rendimiento Alvaro de la Ossa O.1, Daniel Alvarado A.2, Renato Garita F.3, Ricardo Román B.4, Juan Carlos Saborío M.5, Andrés Segura C. 6 Colaboratorio Nacional de Computación Avanzada Centro Nacional de Alta Tecnología 1 delaossa / 2dalvarado / 4rroman / 5jcsaborio @cenat.ac.cr 3 [email protected], [email protected] RESUMEN

En este artículo se describe la metodología desarrollada por el Colaboratorio Nacional de Computación Avanzada (CNCA) para el desarrollo y la prestación de servicios de computación científica de alto rendimiento. La metodología se caracteriza por (a) una segmentación de la población de usuarios basada en sus conocimientos y en la disponibilidad de soluciones parciales a su problema, (b) una definición de los requisitos que deben cumplirse para poder construir una solución adecuada al problema, y (c) un plan de educación del usuario en los fundamentos de la computación de alto rendimiento. Palabras clave del autor

Computación científica, Computación de alto rendimiento, Servicios de computación avanzada, Metodología de desarrollo de servicios ANTECEDENTES

En el año 2006 el Consejo Nacional de Rectores (CONARE) encomendó al Centro Nacional de Alta Tecnología (CeNAT), a través del Director de la entonces llamada Área de Tecnologías de Información y Comunicación, ahora de Computación Avanzada, la creación de un laboratorio de investigación que se enfocara en el desarrollo de aplicaciones y servicios para investigadores de las universidades, y de sus socios de proyectos en otras universidades, instituciones, organizaciones y empresas. Entre el año 2007 y el 2010, gracias a fondos otorgados por el Consejo de Rectores y financiamiento externo dotados por el Ministerio de Ciencia y Tecnología (MICIT), el Consejo para Investigaciones Científicas y Tecnológicas (CONICYT) y la Fundación CRUSA, entre otros, se desarrolló un programa de promoción de la computación avanzada. El objetivo principal era y sigue siendo, el desarrollo de capacidades propias, dentro del Sistema Universitario Estatal costarricense, de desarrollo de aplicaciones de computación científica de alto rendimiento. Se autoriza hacer copias de este trabajo o partes de él para uso académico, siempre y cuando sea sin fines de lucro. La copia debe contener esta nota y la cita completa en la primera página. La copia bajo otras circunstancias y la distribución o publicación podría requerir permisos adicionales o pago de derechos. JoCICI 2015, Marzo 5-6, San José, Costa Rica. Copyright © 2015 CITIC-PCI

El proceso de formación del CNCA comenzó en 2007, pero fue creado formalmente en el año 2009 con la contratación de un grupo de investigadores y asistentes de investigación de planta, y con la adquisición y puesta en marcha de un clúster computacional de arquitectura híbrida para procesamiento paralelo usando procesadores CPU y GPU. Al clúster se le bautizó con el nombre Cadejos. A partir de ese año se dió a conocer el colaboratorio mediante visitas a laboratorios, centros e institutos de investigación y otras unidades académicas de las cuatro universidades estatales, así como realización de reuniones con investigadores en las instalaciones del CNCA, todo esto con el fin de identificar necesidades específicas de procesamiento de datos científicos. El equipo del CNCA ha desarrollado su propia metodología de trabajo en un proceso paulatino de interacción con investigadores con diversas necesidades, de realización de proyectos de investigación para diseñar y desarrollar soluciones a las necesidades de procesamiento de datos de esos investigadores, y de producción de documentación histórica de los proyectos, así como de materiales de capacitación para la inducción de investigadores en el área de la computación científica de alto desempeño. La metodología desarrollada responde a uno de los objetivos específicos definidos en el Plan Estratégico del CNCA 2011-2014 [1]. SEGMENTACIÓN DE LOS USUARIOS

La población de investigadores que solicitan los servicios del CNCA es diversa en disciplinas, los niveles de conocimiento y experiencia, los objetivos que buscan cumplir con el uso de nuestros servicios, y las soluciones parciales con las que cuentan antes de solicitarlos. Esta realidad nos ha llevado a perfilar los usuarios de los servicios del CNCA como sigue: Perfil 1: Usuario experto Conoce la terminología estándar de la computación, tiene conocimientos sobre arquitectura de computadoras y desarrollo de métodos computacionales, suficientes para sostener una discusión con los investigadores del CNCA y para negociar con ellos aspectos específicos de los servicios que desea obtener del colaboratorio.

Memorias de las II Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI 2015)

57

Perfil 2: Usuario inexperto pero conocedor Conoce la terminología estándar de la computación, pero sus conocimientos sobre arquitectura de computadoras y desarrollo de métodos computacionales son insuficientes para comprender el proceso que requiere el desarrollo y puesta a su disposición de servicios del colaboratorio. Perfil 3: Usuario no conocedor No conoce ni la terminología ni los conceptos fundamentales de la computación, pero tiene una idea clara de sus necesidades de procesamiento de datos. En [2] puede observarse una propuesta de segmentación similar a la utilizada por el CNCA en este caso. En esa propuesta el “mundo de la computación” es visto como un universo de proveedores y usuarios de servicios. La segmentación fundamental de los usuarios de los servicios se basa en atributos de estos que describen sus conocimientos, experticia y requerimientos, y la identificación de servicios se produce en un proceso de negociación similar al que se lleva a cabo en la etapa 1 de nuestra metodología (ver adelante). ANÁLISIS Y DESARROLLO DE SERVICIOS

El proceso de puesta en marcha de servicios de computación científica de alto rendimiento contempla cinco etapas: primer contacto con el usuario; análisis del problema y elaboración de una propuesta de solución; educación del usuario; desarrollo de la solución; y puesta en marcha de la solución. Etapa 1: Primer contacto con el usuario

El proceso de atención de usuarios comienza cuando un(a) investigador(a) establece contacto con el colaboratorio indicando su deseo de contar con ayuda para resolver un problema propio de procesamiento de datos científicos.

Figura 1. Toma de decisiones en la primera entrevista con el usuario  Objetivo general: se registra el objetivo general del proyecto del investigador usuario  Objetivos específicos: se registran los objetivos específicos del proyecto de prestación del servicio al investigador usuario  Justificación: descripción de las razones para solicitar el servicio del colaboratorio  Metodología: instancia específica de la metodología que se describe en este artículo, para el servicio particular  Cronograma  Resultados

El primer paso en la metodología consiste en realizar una reunión con los interesados para conocer el problema, indagar sobre el estado de avance en su solución, y acordar con el usuario los pasos a seguir. Abajo se muestra un flujograma que describe las decisiones que deben tomarse en este primer contacto con el usuario.

La información consignada en los ítemes “Estado”, “Metodología”, “Cronograma” y “Resultados” se añaden a las informaciones previas, es decir, se incluye nueva información sin borrar o modificar las entradas anteriores. De esta forma se garantiza que, de ser necesario, es posible regresar a un paso anterior para revisarlo.

Una vez realizada la primera entrevista, se le solicita al investigador completar un formulario o Ficha de Proyecto, documento vivo con en el que se pretende mantener una bitácora detallada del proyecto. En la Ficha de Proyecto se consigna la información siguiente:

Etapa 2: Análisis del problema

 Sobre el proyecto: Nombre del proyecto, Resumen, Disciplinas relacionadas, Palabras clave, Estado del servicio  Investigadores principales (típicamente el usuario y otros investigadores) y colaboradores (investigadores del CNCA que se involucran en el proyecto, y colaboradores de otras unidades académicas), Instituciones colaboradoras

El objetivo de la etapa de análisis es elaborar una propuesta de solución al problema del usuario. La propuesta considera los aspectos siguientes: datos, métodos, programas y la formas de prestación del servicio (p.ej., acceso del usuario al clúster, carga de datos, envío de solicitudes trabajo, respuesta, etc.). Datos

Se analiza la representación de los datos, para garantizar la eficiencia en el acceso, y la disponibilidad de datos de prueba, para asegurar que los investigadores del colaboratorio puedan realizar pruebas de la solución que se va a proponer.

Memorias de las II Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI 2015)

Métodos

Se analiza el rendimiento de la solución disponible, si esta existe, o se especifica el rendimiento deseado en la solución que se va a proponer, con el fin de garantizar la eficiencia del servicio. Programas

Se implementa un método eficiente apropiado a una de las arquitecturas de procesamiento disponibles en el clúster del colaboratorio. Se definen los procedimientos de acceso del usuario al recurso de procesamiento, la carga de los datos, el envío de solicitudes de trabajos, la descarga de los resultados, etc.

Formas de prestación del servicio

El producto final de la etapa de análisis es una propuesta de solución a las necesidades del investigador usuario. La etapa concluye cuando la propuesta es aprobada por el usuario. Etapa 3: Educación del usuario

En los casos en que el usuario corresponde al segundo o tercer perfil (usuario no experto o no conocedor), en la propuesta de servicios se incluye la realización de uno taller de inducción a la computación de alto rendimiento para el investigador y sus colaboradores. Esta práctica ha mostrado una y otra vez sus beneficios. En algunos casos los usuarios creen tener la mejor solución de procesamiento de sus datos, pero una vez que han pasado por el taller, pueden identificar debilidades de su solución y cambiar consecuentemente sus requerimientos para que estas sean tomas en cuenta en el desarrollo del servicio. A continuación se resume el contenido del taller introductorio desarrollado por los investigadores del CNCA. Taller de Computación Científica y de Alto Rendimiento para Investigadores

 Introducción a la computación científica: tareas, modelos, métodos y algoritmos principales.  Arquitecturas: revisión de arquitecturas de procesamiento secuencial y paralelo.  Computación paralela: revisión de los principios de la computación paralela y de las técnicas básicas de implementación de métodos paralelos.  Elementos de sistemas operativos: introducción a los SO y los servicios requeridos por el investigador.  Linux: descripción del sistema operativo Linux y revisión de los comandos básicos de administración, para capacitar al investigador en el uso de líneas de comando para el acceso al clúster del colaboratorio. Es pertinente comentar que el uso de este sistema operativo obedece a la política expresa del colaboratorio de desarrollar, en lo posible, soluciones computacionales de código libre y acceso abierto. Esto es congruente con la necesidad de reducir costos de las actividades de investigación.

58

 Métodos, algoritmos y aplicaciones: revisión de los métodos, algoritmos y aplicaciones consideradas por el investigador y otras que podrían servir para complementar el servicio del colaboratorio.  Proyectos: el taller culmina con la elaboración de una práctica con el investigador y los demás participantes en la que se realizan ejemplos del procesamiento de datos requerido por el usuario. Etapa 4: Desarrollo de la solución

La realización del taller de la etapa anterior puede tener como efecto una revisión, por parte del usuario, de la solución de la que dispone. En este caso se regresa a la estapa de análisis. En otro caso, se procede con el desarrollo del servicio solicitado por el investigador usuario. Dependiendo de la disponiblidad previa de una solución a las necesidades del usuario, las actividades de esta etapa son las siguientes:  El diseño de un método para el procesamiento de los datos del usuario y la construcción de un programa de computador para implementar ese método. Este es el caso en que el usuario no dispone previamente de una solución, o la solución parcial a la que tiene acceso no es aceptable de acuerdo con sus propios criterios.  La adaptación de un método ya existente. Este es el caso en que que el usuario ya posee un método o programa, que es el deseado, pero este debe ser adaptado a la arquitectura de procesamiento del colaboratorio, o su rendimiento es inaceptable y debe ser mejorado. Cualquiera que sea el caso, esta actividad presupone la duración más extensa del proyecto, al menos por dos razones. Primero, porque considera el proceso de diseño y programación de un método. Segundo, porque debe incluirse la validación del método y la puesta a prueba de su rendimiento y eficiencia una vez implementado. De esta tarea surgen precisamente los temas de investigación de mayor interés para el CNCA. La experiencia en esta parte de la etapa de desarrollo ha sido diversa. En algunos casos los resultados han sido mejor que los esperados. Típicamente en estos casos se procede de inmediato a la quinta y última etapa, de puesta en marcha del servicio. En otras ocasiones los resultados no han sido satisfactorios, y en estos casos ha sido necesario regresar a la segunda etapa de la metodología, para reconsiderar otros métodos posibles de procesamiento de sus datos. Etapa 5: Puesta en marcha del servicio

La última etapa de la metodología es la puesta en marcha del servicio de procesamiento. Se crea una cuenta de usuario del clúster para el investigador usuario, y se le da un instructivo de los procedimientos de acceso y utilización del recurso. Con el fin de que los servicios puedan ser reutilizados por otros investigadores, el servicio es instalado globalmente en

Memorias de las II Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI 2015)

el clúster. Para finalizar el proyecto, la Ficha de Proyecto es actualizada con los resultados obtenidos. Cabe mencionar que al usuario investigador se le solicita, como requisito para brindar el servicio, que este sea reconocido en cualquier publicación derivada de su investigación. ENFOQUES SIMILARES

En la literatura consultada la mayoría de enfoques son muy similares al del CNCA. En todos los casos, la metodología de servicios parte de una identificación de los conocimientos y destrezas de los usuarios, y continúa con etapas similares a las del CNCA, pero en escalas de organización y gestión mayores, en un entorno de prestación de servicios de mayor capacidad y complejidad, en el que se presupone la existencia de unidades o equipos de trabajo separados para cada una de las etapas del proyecto. Ejemplos de esto son el Centro de Supercomputación de Barcelona (BSC) y al Texas Advanced Computing Center (TACC). que han implementado estrategias similares a la expuesta en [3]. En nuestro caso, las actividades en todas las etapas son asumidas por el mismo equipo de investigadores. RESULTADOS Y CONCLUSIONES

La metodología desarrollada por los investigadores del CNCA ha sido desarrollada con base en la experiencia adquirida de un total de 23 proyectos de prestación de servicios de procesamiento de datos científicos. En esta muestra, los usuarios y sus disciplinas han sido muy diversos, lo que hace necesario que la metodología sea flexible y adaptable a cada caso. En los dos últimos años, los usuarios han provenido de las Ciencias (Física y Química), las Ingenierías (Eléctrica, Forestal, Química), las Ciencias de la Salud (Medicina, Microbiología), las disciplinas relacionadas con la Computación, y las Ciencias Sociales. Del total de 20 usuarios del clúster computacional del CeNAT en los dos últimos años, un 28% no tenía una solución computacional a su problema; esta debía ser desarrollada. Del 72% restante, aproximadamente la mitad tenía ya una solución completa y requería únicamente el uso del recurso del CNCA, y la otra mitad tenía una solución que debía ser mejorada. A la fecha hay 20 usuarios activos del clúster que expresan su satisfacción con el conjunto de servicios de asesoría, capacitación y procesamiento de datos. Por otro lado, la demanda de servicios ha aumentado considerablemente, y con frecuencia ha sido necesario administrar las colas de trabajos para hacer posible que todos procesen sus datos en un tiempo razonable.

59

Las áreas de investigación principales del CNCA han sido determinadas, en parte, por las necesidades de los usuarios, y en parte por lo intereses teóricos del equipo del colaboratorio. El área de investigación común a la mayoría de proyectos, y de mayor enfoque del colaboratorio en el desarrollo de servicios para investigadores, es la de técnicas para la aceleración de métodos, incluyendo técnicas de paralelización de procesos y distribución de datos. Entre los métodos analizados podemos mencionar métodos numéricos para la estimación de valores de los parámetros de un modelo, métodos estadísticos para el análisis de sensibilidad o la estimación de datos faltantes, métodos analíticos para la extracción de información característica de conjuntos de objetos de estudio, y criterios de análisis del rendimiento y escalabilidad de los métodos. Un ejemplo de esto puede verse en [4]. AGRADECIMIENTOS

Agradecemos a todos y todas los investigadores que han solicitado y utilizado los servicios del Colaboratorio por la confianza depositada en nuestro equipo. Agradecemos también al Consejo de Rectores por la asignación de recursos para la adquisición y puesta en operación del clúster Cadejos del CNCA. REFERENCIAS

1. de la Ossa, A.; Alvarado, A.; Garita, R.; Román, R.; Saborío, J.C.; Segura, A. Plan estratégico del CNCA 2011-2014. Reporte técnico CNCA. 2. Kling. R. y Gerson, E.M. Patterns of segmentation and intersection in the computing world. Symbolic Interaction, Vol. 1 No. 2 (1978), 25-28. 3. Papazoglou, M.P. Service-oriented computing: a research roadmap. En: International Journal of Cooperative Information Systems, 17(02), junio de 2008 4.

a orío, C iseño y desarrollo de algoritmos paralelos para recuperación en una memoria de casos distribuida. Tesis de Licenciatura en Computación e Informática, ECCI, UCR, 2012.

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.