DI - ATC - Documentos de trabajo

Permanent URI for this collection

Browse

Recent Submissions

Now showing 1 - 2 of 2
  • Publication
    Data management in epiGraph COVID-19 epidemic simulator
    (2021-08-29) Guzmán Merino, Miguel; Duran Gonzalez, Christian; Marinescu, María Cristina; Delgado Sanz, Concepción; Gómez Barroso, Diana; Carretero Pérez, Jesús; Expósito Singh, David; European Commission;
    The transmission of COVID-19 through a population depends on many factors which model, incorporate, and integrate a large number of heterogeneous data sources. The work we describe in this paper focuses on the data management aspect of EpiGraph, a scalable agent-based virus-propagation simulator. We describe the data acquisition and pre-processing tasks that are necessary to map the data to the different models implemented in EpiGraph in a way that is efficient and comprehensible. We also report on post-processing, analysis, and visualization of the outputs, tasks that are fundamental to make the simulation results useful for the final users. Our simulator captures complex interactions between social processes, virus characteristics, travel patterns, climate, vaccination, and non-pharmaceutical interventions. We end by demonstrating the entire pipeline with one evaluation for Spain for the third COVID wave starting on December 27th of 2020.
  • Publication
    Improving performance and maintainability through refactoring in C++11
    (2015-08-27) García Sánchez, José Daniel; Stroustrup, Bjarne
    Abstraction based programming has been traditionally seen as an approach that improves software quality at the cost of losing performance. In this paper, we explore the cost of abstraction by transforming the PARSEC benchmark uidanimate application from low-level, hand-optimized C to a higher-level and more general C++ version that is a more direct representation of the algorithms. We eliminate global variables and constants, use vectors of a user-de ned particle type rather than vectors of built-in types, and separate the concurrency model from the application model. The result is a C++ program that is smaller, less complex, and measurably faster than the original. The benchmark was chosen to be representative of many applications and our transformations are systematic and based on principles. Consequently, our techniques can be used to improve the performance, exibility, and maintainability of a large class of programs. The handling of concurrency issues has been collected into a small new library, YAPL.