Research Interests
Speculative parallelization of sequential algorithms
Speculative parallelization (SP) is a technique developed for shared-memory systems that allows to execute in parallel loops that can not be classified as "parallel" at compile time. The general idea is to optimistically execute the loop in parallel, hoping not to violate sequential semantics. At the same time, hardware or software mechanisms track the activity of each iteration executed in parallel, to detect any dependencies among iterations that may arise. If such a dependence is found, the involved iterations are stopped and re-executed in order, thus allowing the program to return to a correct result.
For more detailed information, please consult the project's page. If you feel you have an application where our technique may be useful, we will be happy to study the problem, so please contact us by e-mail.
tpcc-uva: A free, open-source implementation of the TPC-C benchmark
TPC-C is a standard benchmark to measure the performance of high-end servers. Although its specifications are public, until now there was a lack of open-source implementations. Our implementation, tpcc-uva, follows the TPC-C v5.0 specification of the benchmark. It can be freely downloaded from the project page.
Development of Linux embedded systems
The aim of this research line, in conjunction with Arturo González-Escribano, is to develop embedded Linux systems for equipment with constrained resources, such as low-end PCs with little RAM memory and/or storage space. So far, the applications developed are in the field of embedded devices for fleets of vehicles. This research line is being developed together with GMV Sistemas.