Conservation of Computational Scientific Execution Environments
Total Page:16
File Type:pdf, Size:1020Kb
Departamento de Inteligencia Artificial Escuela Técnica Superior de Ingenieros Informáticos PhD Thesis Conservation of Computational Scientific Execution Environments for Workflow-based Experiments Using Ontologies Author: Idafen Santana Pérez Supervisors: Prof. Dra. María Pérez Hernández Prof. Dr. Oscar Corcho January, 2016 ii Tribunal nombrado por el Sr. Rector Magfco. de la Universidad Politécnica de Madrid, el día 18 de Enero de 2016. Presidente: Dra. Asunción Gómez Pérez Vocal: Dr. Erick Antezana Vocal: Dr. Alexander García Vocal: Dr. Jesús Carretero Secretario: Dr. Rubén Montero Suplente: Dr. Mariano Fernández López Suplente: Dr. Alberto Sánchez Campos Realizado el acto de defensa y lectura de la Tesis el día 22 de Enero de 2016 en la Escuela Técnica Superior de Ingenieros Informáticos Calificación: EL PRESIDENTE VOCAL 1 VOCAL 2 VOCAL 3 EL SECRETARIO iii iv A Gina y Carlos. AIsa. v vi Agradecimientos And now, the end is near, and so I face this final curtain, I have to take a moment to thank all the people that I found along the way, that have helped me in this journey. From research colleagues, to friend and family, many people have contributed to this thesis, both at the professional and personal level. First of all, I would like to thank my advisors, María Pérez and Oscar Corcho, for guiding and supporting me all these years, allowing me to find my own path in my research career, and helping me whenever I needed it. As well I would like to thank Asunción Gómez Pérez, for the leading role she has played in our group during these years. Also, I am very grateful to the spanish ministry of education, for being granted with a FPU scholarship, which has funded this PhD and its associ- ated research stays. In this regard, I would also like to thank Ewa Deelman, for hosting my at the Information Sciences Institute, and to the rest of the Pegasus team, Karan, Gideon, Mats, and specially to Rafael Ferreira, who has helped me a lot, with highly valuable feedback and ideas for this thesis. As well, I would like to thank Rosa Filgueira and Amy Krause for their help with dispel4py, and to the Makeflow team. Specially, I would like to thank the OEG and all its members. I have had the pleasure to work with a terrific group of researchers that became friends throughout the years. Thanks to Dani, a good friend, great researcher and soccer mate. Thanks to Miguel Ángel, for being there in the lab and in the trips we made. Thanks to Esther, for your help on the early days, and for the silly jokes. To María, for being there when it was needed, for the many coffees, the cheesecake ice cream, and the movies. And to the rest of the group, Filip, Freddy, Alcazar, Pablo, Andrés, Olga, Raúl, Rafa, Nandana, Julia, Carlos, Alejandro and Víctor, for your support and help. We are all part of a really great team. Last, but not least, on the personal side, there are many people I would like to thank. And for that, I would switch to spanish. Quiero dar las gracias a Gina y Carlos, por haber sido fuente de apoyo, de cariño y de consejo durante estos años, los de la tesis y todos los anteriores. Por estar ahí en los momentos duros, salvando los 1700 km que nos han separado, por hacerme sentir en casa en la distancia. Y a mi hermano, Himar, por ser mi contrapunto natural y un modelo a seguir en tantas cosas que me completan. Y a toda mi familia, por estar siempre ahí para mí. Y a Isa, por aparecer en mi vida, por quedarse en ella, y por los años que nos quedan por vivir juntos. Gracias por aguantarme, por tu infinita paciencia y por no rendirte nunca. Sin tí hoy no sería ni la mitad de buena persona de lo que soy, ni creo que hubiese llegado hasta aquí. Me haría falta otra tesis entera para contarte lo feliz que me haces. Además, quiero dar las gracias a todas las personas que de una forma u otra me han ayudado con las pequeñas y grandes cosas de la vida de un canario en Madrid. Gracias a Rubén Quesada, amigo y compañero en toda mi carrera académica previa, por estar siempre en el sitio adecuado. A Elena García, por haber acudido en el peor momento, por transformarlo en no tan malo, por haber sido mi apoyo en el primer momento, cuando solo se quedan los mejores. Y a Alberto, por la amistad en la distancia, por los retos culinarios, y por saber que siempre puedo contar contigo. A Ángel, Abian y Sergio, por compartir el día a día conmigo durante años. A todos los miembros del Brasil del Gofio, una pequeña familia y grandísimo equipo. Al Cícero Canary, a Ricky y a Dafne, a Valle, a Concha, a mi familia política y a Madrid, por haberme pedido tanto, para luego darmelo todo. A todos, gracias. Abstract Reproducibility of scientific studies and results is a goal that every scientist must pursuit when announcing research outcomes. The rise of computa- tional science, as a way of conducting empirical studies by using mathemat- ical models and simulations, have opened a new range of challenges in this context. The adoption of workflows as a way of detailing the scientific pro- cedure of these experiments, along with the experimental data conservation initiatives that have been undertaken during last decades, have partially eased this problem. However, in order to fully address it, the conservation and reproducibility of the computational equipment related to them must be also considered. The wide range of software and hardware resources required to execute a scientific workflow implies that a comprehensive des- cription detailing what those resources are and how they are arranged is necessary. In this thesis we address the issue of reproducibility of execution environments for scientific workflows, by documenting them in a formalized way, which can be later used to obtain and equivalent one. In order to do so, we propose a set of semantic models for representing and relating the relevant information of those environments, as well as a set of tools that uses these models for generating a description of the infrastructure, and an algorithmic process that consumes these descriptions for deriving a new execution environment specification, which can be enacted into a new equi- valent one using virtualization solutions. We apply these three contributions to a set of representative scientific experiments, belonging to different scien- tific domains, and exposing different software and hardware requirements. The obtained results prove the feasibility of the proposed approach, by su- ccessfully reproducing the target experiments under different virtualization environments. ix x Resumen La reproducibilidad de estudios y resultados científicos es una meta a tener en cuenta por cualquier científico a la hora de publicar el producto de una investigación. El auge de la ciencia computacional, como una forma de llevar a cabo estudios empíricos haciendo uso de modelos matemáticos y simulaciones, ha derivado en una serie de nuevos retos con respecto a la re- producibilidad de dichos experimentos. La adopción de los flujos de trabajo como método para especificar el procedimiento científico de estos experi- mentos, así como las iniciativas orientadas a la conservación de los datos experimentales desarrolladas en las últimas décadas, han solucionado par- cialmente este problema. Sin embargo, para afrontarlo de forma completa, la conservación y reproducibilidad del equipamiento computacional asociado a los flujos de trabajo científicos deben ser tenidas en cuenta. La amplia gama de recursos hardware y software necesarios para ejecutar un flujo de trabajo científico hace que sea necesario aportar una descripción completa detallando que recursos son necesarios y como estos deben de ser configurados. En esta tesis abordamos la reproducibilidad de los entornos de ejecución para flujos de trabajo científicos, mediante su documentación usando un modelo formal que puede ser usado para obtener un entorno equivalente. Para ello, se ha propuesto un conjunto de modelos para representar y relacionar los concep- tos relevantes de dichos entornos, así como un conjunto de herramientas que hacen uso de dichos módulos para generar una descripción de la infraestruc- tura, y un algoritmo capaz de generar una nueva especificación de entorno de ejecución a partir de dicha descripción, la cual puede ser usada para recrearlo usando técnicas de virtualización. Estas contribuciones han sido aplicadas a un conjunto representativo de experimentos científicos pertenecientes a diferentes dominios de la ciencia, exponiendo cada uno de ellos diferentes requisitos hardware y software. Los resultados obtenidos muestran la via- bilidad de propuesta desarrollada, reproduciendo de forma satisfactoria los experimentos estudiados en diferentes entornos de virtualización. xi xii Contents 1Introduction 1 1.1 ComputationalScience............................ 3 1.1.1 Experimental Sciences Approaches . 4 1.1.2 ComputationalScientificExperiments . 7 1.2 Scientific Conservation and Reproducibility . 15 1.3 ThesisStructure ............................... 19 2StateoftheArt 21 2.1 Data Infrastructures for eScience . 21 2.2 Computational Infrastructures for eScience . 23 2.2.1 DistributedComputing . 24 2.2.2 WorkflowManagementSystems. 31 2.3 Reproducibility in Computational Science . 36 2.3.1 Scientific procedure conservation . 37 2.3.2 Dataconservation .......................... 40 2.3.3 Equipmentconservation . 41 2.4 Summary . 47 3 Work Objectives 49 3.1 Open Research Problems . 49 3.2 Hypothesis .................................. 50 3.3 Goals ..................................... 51 3.4 Restrictions .................................. 51 3.5 Assumptions . 52 3.6 Researchmethodology ............................ 53 xiii 4ExecutionEnvironmentRepresentation 57 4.1 An Ontology Network for the Representation of Execution Environments 58 4.1.1 Our Ontology Network Development Process . 58 4.1.2 TheWICUSOntologyNetwork . 64 5ExperimentReproduction 71 5.1 ParsingTools&SemanticAnnotations . 72 5.1.1 WorkflowSpecificationFile . 74 5.1.2 WorkflowParser&Annotator.