Luis Miguel Sanchez
Instituto de Salud Carlos III
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Luis Miguel Sanchez.
Simulation Modelling Practice and Theory | 2015
José Luis González; Jesús Carretero Pérez; Victor Sosa-Sosa; Luis Miguel Sanchez; Borja Bergua
Cloud-based storage is a popular outsourcing solution for organizations to deliver contents to end-users. However, there is a need for contingency plans to ensure service provision when the provider either suffers outages or is going out of business. This paper presents SkyCDS: a resilient content delivery service based on a publish/subscribe overlay over diversified cloud storage. SkyCDS splits the content delivery into metadata and content storage flow layers. The metadata flow layer is based on publish–subscribe patterns for insourcing the metadata control back to content owner. The storage layer is based on dispersal information over multiple cloud locations with which organizations outsource content storage in a controlled manner. In SkyCDS, the content dispersion is performed on the publisher side and the content retrieving process on the end-user side (the subscriber), which reduces the load on the organization side only to metadata management. SkyCDS also lowers the overhead of the content dispersion and retrieving processes by taking advantage of multi-core technology. A new allocation strategy based on cloud storage diversification and failure masking mechanisms minimize side effects of temporary, permanent cloud-based service outages and vendor lock-in. We developed a SkyCDS prototype that was evaluated by using synthetic workloads and a study case with real traces. Publish/subscribe queuing patterns were evaluated by using a simulation tool based on characterized metrics taken from experimental evaluation. The evaluation revealed the feasibility of SkyCDS in terms of performance, reliability and storage space profitability. It also shows a novel way to compare the storage/delivery options through risk assessment.
New Generation Computing | 2013
Luis Miguel Sanchez; Javier Fernández; Rafael Sotomayor; Soledad Escolar; J. Daniel Garcia
Nowadays, shared-memory parallel architectures have evolved and new programming frameworks have appeared that exploit these architectures: OpenMP, TBB, Cilk Plus, ArBB and OpenCL. This article focuses on the most extended of these frameworks in commercial and scientific areas. This paper shows a comparative study of these frameworks and an evaluation. The study covers several capacities, such as task deployment, scheduling techniques, or programming language abstractions. The evaluation measures three dimensions: code development complexity, performance and efficiency, measure as speedup per watt. For this evaluation, several parallel benchmarks have been implemented with each framework. These benchmarks are created to cover certain scenarios, like regular memory access or irregular computation. The conclusions show some highlights, like the fact that some frameworks (OpenMP, Cilk Plus) are better for transforming quickly a sequential code, others (TBB) have a small footprint which is ideal for small problems, and others (OpenCL) are suited for heterogeneous architectures but they require a very complex development process. The conclusions also show that the vectorization support is more critical than multitasking to achieve efficiency for those problems where this approach fits.
Expert Systems With Applications | 2010
Norberto Fernández; Damaris Fuentes; Luis Miguel Sanchez; Jesús Arias Fisteus
News agencies are one of the main actors in the news business. These agencies produce daily big amounts of digital contents, which need to be managed and distributed to their customers. The NEWS (News Engine Web Services) project, already completed, had as goal to develop tools that, using state of the art technologies, may help news agencies to improve their production and distribution processes. As a central piece in the NEWS system, an ontology for the news domain was implemented. In this paper, we describe the NEWS ontology, its intended uses in the context of the production and distribution processes of a news agency, and the NEWSPlugin, a Protege extension developed to partially automate its maintenance.
international symposium on computers and communications | 2005
Josée M. Pérez; Luis Miguel Sanchez; Félix García; Alejandro Calderón; Jesús Carretero
Currently there is a growing interest in using Java for high performance computing. Java has many advantages for high performance computing: it is based on a high-level and object-oriented programming model with support for multithreading and distributed computing. Furthermore, Java s virtual machine allows applications to run on multiple heterogeneous platforms. A major problem with the use of Java for high performance computing is the I/O. This problem has been solved traditionally in clusters using parallel file systems and parallel I/O libraries, however there is a lack of parallel file systems for Java applications. In this paper, we present a Java parallel I/O library called jExpand. It provides high performance I/O by using several NFS servers in parallel, as NFS can be found in multiple platforms (Linux, Solaris, Windows 2000, etc), we provide a universal parallel file system that can be used everywhere. jExpand requires no changes in the NFS server as it uses RPC operations to provide parallel access to the same file. The paper describes the design, implementation and evaluation of jExpand.
cluster computing and the grid | 2003
José María Pérez; Félix García; Jesús Carretero; Alejandro Calderón; Luis Miguel Sanchez
Distributed filesystems are a typical solution in networked environments as clusters and grids. Parallel filesystems are a typical solution in order to reach high performance I/O distributed environment, but those filesystems have some limitations in heterogeneous storage systems. Usually in distributed systems, load balancing is used as a solution to improve the performance, but typically the distribution is made between peer-to-peer computational resources and from the processor point of view. In heterogeneous systems, like heterogeneous clusters of workstations, the existing solutions do not work so well. However, the utilization of those systems is more extended every day, having an extreme example in the grid environment. In this paper we bring attention to those aspects of heterogeneous distributed data systems presenting a parallel file system that take into account heterogeneity of storage nodes, the dynamic addition of new storage nodes, and an algorithm to group requests in heterogeneous systems.
parallel, distributed and network-based processing | 2005
Alejandro Calderón; Félix García-Carballeira; Jesús Carretero; José María Pérez; Luis Miguel Sanchez
Parallelism in file systems is obtained by using several independent server nodes supporting one or more secondary storage devices. This approach increases the performance and scalability of the system, but a fault in one single node can stop the whole system. To avoid this problem, data must be stored using some kind of redundant technique, so any data stored in a faulty element can be recovered. Fault tolerance can be provided in I/O systems using replication or RAID based schemes. However, most of the current systems apply the same technique for all files in the system. This paper describes the fault tolerance support provided by Expand, a parallel file system based on standard servers. Expand allows to define different fault-tolerant mechanisms at file level. The evaluation compares the performance of Expand with different configurations with PVFS using the FLASH-I/O benchmark.
programming models and applications for multicores and manycores | 2016
David del Rio Astorga; Manuel F. Dolz; Luis Miguel Sanchez; J. Daniel Garcia
Since free performance lunch of processors is over, parallelism has become the new trend in hardware and architecture design. However, parallel resources deployed in data centers are underused in many cases, given that sequential programming is still deeply rooted in current software development. To face this problem, new methodologies and techniques for parallel programming have been progressively developed. For instance, parallel frameworks offer programming skeletons that allow expressing parallelism and concurrency in applications to better exploit concurrent hardware. Nevertheless, it remains a large portion of production software, coming from a broad range of scientific and industrial areas, that still execute sequential legacy codes. Taking into account that these software modules contain thousands, or even millions, of code lines, the effort needed to identify parallel regions is extremely high. To pave the way in this area, this paper presents Parallel Pattern Analyzer Tool (PPAT), a software component that aids discovering and annotating parallel patterns in source codes. Hence, facilitating the transformation of sequential code into parallel. We evaluate this tool for the special case of parallel pipelines using a series of well-known sequential benchmark suites.
parallel, distributed and network-based processing | 2016
Marco Danelutto; J. Daniel Garcia; Luis Miguel Sanchez; Rafael Sotomayor; Massimo Torquati
Patterns provide a mechanism to express parallelism at a high level of abstraction and to make easier the transformation of existing legacy applications to target parallel frameworks. That also opens a path for writing new parallel applications. In this paper we introduce the REPARA approach for expressing parallel patterns and transforming the source code to parallelism frameworks. We take advantage of C++11 attributes as a mechanism to introduce annotations and enrich semantic information on valid source code. We also present a methodology for performing transformation of source code that allows to target multiple parallel programming models. Another contribution is a rule based mechanism to transform annotated code to those specific programming models. The REPARA approach requires programmer intervention only to perform initial code annotation while providing speedups that are comparable to those obtained by manual parallelization.
international conference on algorithms and architectures for parallel processing | 2016
David del Rio Astorga; Manuel F. Dolz; Luis Miguel Sanchez; Javier Garcia Blas; J. Daniel Garcia
Current parallel programming frameworks aid to a great extent developers to implement applications in order to exploit parallel hardware resources. Nevertheless, developers require additional expertise to properly use and tune them to operate on specific parallel platforms. On the other hand, porting applications between different parallel programming models and platforms is not straightforward and requires, in most of the cases, considerable efforts. Apart from that, the lack of high-level parallel pattern abstractions in these frameworks increases even more the complexity for developing parallel applications. To pave the way in this direction, this paper proposes GrPPI, a generic and reusable high-level parallel pattern interface for stream-based C++ applications. Thanks to its high-level C++ API, this interface allows users to easily expose parallelism in sequential applications using already existing parallel frameworks, such as C++ threads, OpenMP and Intel TBB. We evaluate this approach using an image processing use case to demonstrate its benefits from the usability, flexibility, and performance points of view.
Expert Systems With Applications | 2013
Damaris Fuentes-Lorenzo; Norberto Fernández; Jesús Arias Fisteus; Luis Miguel Sanchez
Highlights? We present a ranking algorithm for large-scale web search engines. ? The algorithm is built upon disambiguation with Wikipedia and semantic annotations. ? We have not built a new search engine from scratch; ranking algorithm enhances existing search engines with a semantic layer. ? We focus on the suitability of the ranking for a large amount of data. Traditional search engines have become the most useful tools to search the World Wide Web. Even though they are good for certain search tasks, they may be less effective for others, such as satisfying ambiguous or synonym queries. In this paper, we propose an algorithm that, with the help of Wikipedia and collaborative semantic annotations, improves the quality of web search engines in the ranking of returned results. Our work is supported by (1) the logs generated after query searching, (2) semantic annotations of queries and (3) semantic annotations of web pages. The algorithm makes use of this information to elaborate an appropriate ranking. To validate our approach we have implemented a system that can apply the algorithm to a particular search engine. Evaluation results show that the number of relevant web resources obtained after executing a query with the algorithm is higher than the one obtained without it.