Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jordi Tubella

dblp:10/1080 · also Jordi Tubella Murgadas · DBLP profile ↗
← Back
20ranked-venue papers
4as first author
1since 2021 · last 2024
—ORCID · unresolved

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 16 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 2 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorSecurity and privacy · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
5 papers
Processor architecture and microarchitecture · 74% GPUs and heterogeneous computing · 24% Parallel and multicore computing · 3%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 100%

Topics — the 16 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
GPUs and heterogeneous computing › GPU microarchitecture
GPU register file
0.812024
Memento: An Adaptive, Compiler-Assisted Register File Cache for GPUs · ISCA 2024
Processor architecture and microarchitecture › register file
register caching
0.812024
Memento: An Adaptive, Compiler-Assisted Register File Cache for GPUs · ISCA 2024
Processor architecture and microarchitecture › out-of-order execution
out-of-order processor
0.312018
A Novel Register Renaming Technique for Out-of-Order Processors · HPCA 2018
Processor architecture and microarchitecture › register file
physical register sharing
0.312018
A Novel Register Renaming Technique for Out-of-Order Processors · HPCA 2018
Processor architecture and microarchitecture
register file
0.312018
A Novel Register Renaming Technique for Out-of-Order Processors · HPCA 2018
Processor architecture and microarchitecture › out-of-order execution
register renaming
0.312018
A Novel Register Renaming Technique for Out-of-Order Processors · HPCA 2018
Processor architecture and microarchitecture › exception handling
precise interrupts
0.112018
A Novel Register Renaming Technique for Out-of-Order Processors · HPCA 2018
Processor architecture and microarchitecture
value prediction
0.122004
Thread Partitioning and Value Prediction for Exploiting Speculative Thread-Level Parallelism · IEEE Trans. Computers 2004
Value Prediction for Speculative Multithreaded Architectures · MICRO 1999
Parallel and multicore computing › speculative parallelization
thread-level speculation
0.012004
Thread Partitioning and Value Prediction for Exploiting Speculative Thread-Level Parallelism · IEEE Trans. Computers 2004
Processor architecture and microarchitecture
multithreading
0.021999
Value Prediction for Speculative Multithreaded Architectures · MICRO 1999
Control Speculation in Multithreaded Processors through Dynamic Loop Detection · HPCA 1998
Parallel and multicore computing
thread-level parallelism
0.032004
Control Speculation in Multithreaded Processors through Dynamic Loop Detection · HPCA 1998
Thread Partitioning and Value Prediction for Exploiting Speculative Thread-Level Parallelism · IEEE Trans. Computers 2004
Value Prediction for Speculative Multithreaded Architectures · MICRO 1999
Processor architecture and microarchitecture
speculative execution
0.011999
Value Prediction for Speculative Multithreaded Architectures · MICRO 1999
Processor architecture and microarchitecture › multithreading
speculative multithreading
0.011999
Value Prediction for Speculative Multithreaded Architectures · MICRO 1999
Processor architecture and microarchitecture › speculation
speculation control
0.011998
Control Speculation in Multithreaded Processors through Dynamic Loop Detection · HPCA 1998
Processor architecture and microarchitecture
instruction-level parallelism
0.011999
Value Prediction for Speculative Multithreaded Architectures · MICRO 1999
Compilers and program optimization › parallelization
coarse-grain parallelism extraction
0.011998
Control Speculation in Multithreaded Processors through Dynamic Loop Detection · HPCA 1998

Methods — techniques the papers use, named apart from their topics

reuse distance profiling · 1.5issue scheduling policy · 1.5register map table modification · 0.3issue queue modification · 0.3data speculation · 0.0control speculation · 0.0trace-driven simulation · 0.0dynamic loop detection · 0.0trace-oriented prediction · 0.0increment predictor · 0.0
YearPublicationVenuePosition
2024 Memento: An Adaptive, Compiler-Assisted Register File Cache for GPUs
abstract
Modern GPUs require an enormous register file (RF) to store the context of thousands of active threads. It consumes considerable energy and contains multiple large banks to provide enough throughput. Thus, a RF caching mechanism can significantly improve the performance and energy consumption of the GPUs by avoiding reads from the large banks that consume significant energy and may cause port conflicts. This paper introduces an energy-efficient RF caching mechanism called Memento that repurposes an existing component in GPUs’ RF to operate as a cache in addition to its original functionality. In this way, Memento minimizes the overhead of adding a RF cache to GPUs. Besides, Memento leverages an issue scheduling policy that utilizes the reuse distance of the values in the RF cache and is controlled by a dynamic algorithm. The goal is to adapt the issue policy to the runtime program characteristics to maximize the GPU’s performance and the hit ratio of the RF cache. The reuse distance is approximated by the compiler using profiling and is used at run time by the proposed caching scheme. We show that Memento reduces the number of reads to the $\mathbf{R F}$ banks by $46.4 \%$ and the dynamic energy of the RF by $28.3 \%$. Besides, it improves performance by $6.1 \%$ while adding only 2 KB of extra storage per core to the baseline RF of 256 KB, which represents a negligible overhead of $\mathbf{0. 7 8 \%}$.
Mojtaba Abaie Shoushtary, José-María Arnau, Jordi Tubella, Antonio González 0001
ISCA3
2018 A Novel Register Renaming Technique for Out-of-Order Processors
abstract
Modern superscalar processors support a large number of in-flight instructions, which requires sizeable register files. Conventional register renaming techniques allocate a new storage location, i.e. physical register, for every instruction whose destination is a logical register in order to remove false dependences. Physical registers are released in a conservative manner when the same logical register is redefined. For this reason, many cycles may happen between the last read and the release of a physical register, leading to suboptimal utilization of the register file. We have observed that for more than 50% of the instructions in SPECfp and more than 30% of the instructions in SPECint that have a destination register, the produced value has only a single consumer. In this case, the RAW dependence guarantees that the producer-consumer instructions pair will be executed in program order and, hence, the same physical register can be used to store the value produced by both instructions. In this paper, we propose a renaming technique that exploits this property to reduce the pressure on the register file. Our technique leverages physical register sharing by introducing minor changes in the register map table and the issue queue. We also describe how our renaming scheme supports precise exceptions. We evaluated our renaming technique on top of a modern out-of-order processor. Our experimental results show that it provides 6% speedup on average for the SPEC2006 benchmarks. Alternatively, our renaming scheme achieves the same performance while reducing the number of physical registers by 10.5%.
Hamid Tabani, José-María Arnau, Jordi Tubella, Antonio González 0001
HPCA3
2017 An Ultra Low-Power Hardware Accelerator for Acoustic Scoring in Speech Recognition
abstract
Accurate, real-time Automatic Speech Recognition (ASR) comes at a high energy cost, so accuracy has often to be sacrificed in order to fit the strict power constraints of mobile systems. However, accuracy is extremely important for the end-user, and today's systems are still unsatisfactory for many applications. The most critical component of an ASR system is the acoustic scoring, as it has a large impact on the accuracy of the system and takes up the bulk of execution time. The vast majority of ASR systems implement the acoustic scoring by means of Gaussian Mixture Models (GMMs), where the acoustic scores are obtained by evaluating multidimensional Gaussian distributions.In this paper, we propose a hardware accelerator for GMM evaluation that reduces the energy required for acoustic scoring by three orders of magnitude compared to solutions based on CPUs and GPUs. Our accelerator implements a lazy evaluation scheme where Gaussians are computed on demand, avoiding 50% of the computations. Furthermore, it employs a novel clustering scheme to reduce the size of the acoustic model, which results in 8x memory bandwidth savings with a negligible impact on accuracy. Finally, it includes a novel memoization scheme that avoids 74.88% of floating-point operations. The end design provides a 164x speedup and 3532x energy reduction when compared with a highly-tuned implementation running on a modern mobile CPU. Compared to a state-of-the-art mobile GPU, the GMM accelerator achieves 5.89x speedup over a highly optimized CUDA implementation, while reducing energy by 241x.
Hamid Tabani, José-María Arnau, Jordi Tubella, Antonio González 0001
PACT3
2017 Shared resource aware scheduling on power-constrained tiled many-core processors
Sudhanshu Shekhar Jha, Wim Heirman, Ayose Falcón, Jordi Tubella, Antonio González 0001, Lieven Eeckhout
J. Parallel Distributed Comput.4
2012 Exploiting temporal locality in network traffic using commodity multi-cores
abstract
Network traffic has traditionally exhibited temporal locality in the header field of packets. Such locality is intuitive and is very well studied over the years. In this work we study temporal locality in the packet payload. Temporal locality can also be viewed as redundancy and we observe significant redundancy in the packet payload. We investigate mechanisms to exploit temporal locality in a networking application and choose Intrusion Detection Systems (IDS) as a case study. An IDS like the popular Snort [4] operates by scanning packet payload for known attack strings. It first builds a Finite State Machine (FSM) from a database of attack strings, and traverses this FSM using bytes from the packet payload. So we propose a redundancy-aware FSM traversal that skips the processing of redundant bytes. We have deployed our redundancy-aware FSM traversal in Snort, and we observe important performance benefits.
Govind Sreekar Shenoy, Jordi Tubella, Antonio González 0001
ISPASS2
2012 Improving the Performance Efficiency of an IDS by Exploiting Temporal Locality in Network Traffic
abstract
Network traffic has traditionally exhibited temporal locality in the header field of packets. Such locality is intuitive and is a consequence of the semantics of network protocols. However, in contrast, the locality in the packet payload has not been studied in significant detail. In this work we study temporal locality in the packet payload. Temporal locality can also be viewed as redundancy, and we observe significant redundancy in the packet payload. We investigate mechanisms to exploit it in a networking application. We choose Intrusion Detection Systems (IDS) as a case study. An IDS like the popular Snort operates by scanning packet payload for known attack strings. It first builds a Finite State Machine (FSM) from a database of attack strings, and traverses this FSM using bytes from the packet payload. So temporal locality in network traffic provides us an opportunity to accelerate this FSM traversal. Our mechanism dynamically identifies redundant bytes in the packet and skips their redundant FSM traversal. We further parallelize our mechanism by performing the redundancy identification concurrently with stages of Snort packet processing. IDS are commonly deployed in commodity processors, and we evaluate our mechanism on an Intel Core i3. Our performance study indicates that the length of the redundant chunk is a key factor in performance. We also observe important performance benefits in deploying our redundancy-aware mechanism in the Snort IDS[32].
Govind Sreekar Shenoy, Jordi Tubella, Antonio González 0001
MASCOTS2
2012 Improving the Resilience of an IDS against Performance Throttling Attacks
Govind Sreekar Shenoy, Jordi Tubella, Antonio González 0001
SecureComm2
2011 A Performance and Area Efficient Architecture for Intrusion Detection Systems
abstract
Intrusion Detection Systems (IDS) have emerged as one of the most promising ways to secure systems in network. An IDS operates by scanning packet-data for known signatures and accordingly takes requisite action. However, scanning bytes in the packet payload and checking for more than 20,000 signatures becomes a computationally intensive task. Additionally, with signatures doubling almost every 30 months, this complexity will aggravate further. IDS commonly uses the Aho-Corasick state machine based search to scan packets for signatures. However, the huge size of the state machine negatively impacts the performance and area efficiency of the underlying hardware. In this work, we propose novel mechanisms to compactly store the state machine thereby improving the area efficiency. We observe over 2X reduction in area for storing the state machine in comparison to BS-FSM [19]. We investigate various approaches to improve the performance efficiency. We pipeline the processing of consecutive bytes accessing the upper-most level, the frequently accessed level, of the state machine. In order to further enhance the performance efficiency, we use a dedicated hardware unit specifically tuned for traversal using our proposed storage mechanism. We observe that our proposed architecture outperforms BS-FSM based approaches [13, 14, 19].
Govind Sreekar Shenoy, Jordi Tubella, Antonio González 0001
IPDPS2
2004 Thread Partitioning and Value Prediction for Exploiting Speculative Thread-Level Parallelism
abstract
Speculative thread-level parallelism has been recently proposed as a source of parallelism to improve the performance in applications where parallel threads are hard to find. However, the efficiency of this execution model strongly depends on the performance of the control and data speculation techniques. Several hardware-based schemes for partitioning the program into speculative threads are analyzed and evaluated. In general, we find that spawning threads associated to loop iterations is the most effective technique. We also show that value prediction is critical for the performance of all of the spawning policies. Thus, a new value predictor, the increment predictor, is proposed. This predictor is specially oriented for this kind of architecture and clearly outperforms the adapted versions of conventional value predictors such as the last value, the stride, and the context-based, especially for small-sized history tables.
Pedro Marcuello, Antonio González 0001, Jordi Tubella
IEEE Trans. Computers3
2003 Value Compression to Reduce Power in Data Caches
Carles Aliagas, Carlos Molina 0004, Montse García-Famoso, Antonio González 0001, Jordi Tubella
Euro-Par5
2003 Non redundant data cache
abstract
Current microprocessors spend a huge percentage of the die area to implement the memory hierarchy. Moreover, cache memory is responsible for a significant percentage of the total energy consumption. This paper presents a novel data cache design to reduce its die area, power dissipation and latency. The new scheme, called Non Redundant Cache (NRC), exploits the immense amount of value replication observed in traditional data caches. The NRC cache significantly reduces the storage requirements by avoiding the replication of values. Results show that the NRC cache reduces the die area in a 32%, the power dissipation by 14% and the latency by 25%, while maintaining the miss ratio of a conventional cache.
Carlos Molina 0004, Carles Aliagas, Montse García-Famoso, Antonio González 0001, Jordi Tubella
ISLPED5
2002 Trace-Level Speculative Multithreaded Architecture
abstract
This paper presents a novel microarchitecture to exploit trace-level speculation by means of two threads working cooperatively in a speculative and non-speculative way respectively. The architecture presents two main benefits: (a) no significant penalties are introduced in the presence of a misspeculation and (b) any type of trace predictor can work together with this proposal. In this way, aggressive trace predictors can be incorporated since misspeculations do not introduce significant penalties. We describe in detail TSMA (trace-level speculative multithreaded architecture) and present initial results to show the benefits of this proposal. We show how simple trace predictors achieve significant speed-up in the majority of cases. Results of a simple trace speculation mechanism show an average speed-up of 16%.
Carlos Molina 0004, Antonio González 0001, Jordi Tubella
ICCD3
1999 Trace-Level Reuse
abstract
Trace-level reuse is based on the observation that some traces (dynamic sequences of instructions) are frequently repeated during the execution of a program, and in many cases, the instructions that make up such traces have the same source operand values. The execution of such traces will obviously produce the same outcome and thus, their execution can be skipped if the processor records the outcome of previous executions. This paper presents an analysis of the performance potential of trace-level reuse and discusses a preliminary realistic implementation. Like instruction-level reuse, trace-level reuse can improve performance by decreasing resource contention and the latency of some instructions. However, we show that trace-level reuse is more effective than instruction-level reuse because the former can avoid fetching the instructions of reused traces. This has two important benefits: it reduces the fetch bandwidth requirements, and it increases the effective instruction window size since these instructions do not occupy window entries. Moreover, trace-level reuse can compute all at once the result of a chain of dependent instructions, which may allow the processor to avoid the serialization caused by data dependences and thus, to potentially exceed the dataflow limit.
Antonio González 0001, Jordi Tubella, Carlos Molina 0004
ICPP2
1999 Dynamic removal of redundant computations
abstract
A mechanism for dynamic instruction-level reuse in superscalar microprocessors is presented, The underlying concept that the mechanism exploits is the run-time removal of redundant computations, and in particular the elimination of common subexpressions and invariants.Removing redundant computation is a target of optimizing compilers but sometimes they do not succeed due to their limited knowledge of the data.Moreover: the proposed mechanism can also remove quasi-redundant computations, such as subexpressions that often produce the same result but sometimes they diffeer: depending on the data values, and thus they cannot be eliminated by the compiler: Experimental results for the Spec9.5 show that on average the mechanism can avoid the execution of about 32% of the dynamic instructions and provides an 1.10 speedup in a superscalar microprocessor: An extensive evaluation of d@erent conjgurations and a comparison with previous schemes are presented, as well as the pe$ormance potential of a pet$ect reuse engine.
Carlos Molina 0004, Antonio González 0001, Jordi Tubella
International Conference on Supercomputing3
1999 Value Prediction for Speculative Multithreaded Architectures
abstract
The speculative multithreading paradigm (speculative thread-level parallelism) is based on the concurrent execution of control-speculative threads. The efficiency of microarchitectures that adopt this paradigm strongly depends on the performance of the control and data speculation techniques. While control speculation is used to predict the most effective points where a thread can be spawned, data speculation is required to eliminate the serialization imposed by inter-thread dependences. This work studies the performance of different value predictors for speculative multithreaded processors. We propose a value predictor, the increment predictor, and evaluate its performance for a particular microarchitecture that implements this execution paradigm (Clustered Speculative Multithreaded architecture). The proposed trace-oriented increment predictor clearly outperforms trace-adapted versions of the last value, stride and context-based predictors, specially for small-sized history tables. A 1-KB increment predictor achieves a 73% prediction accuracy and a performance that is just 13% lower than that of a perfect value predictor.
Pedro Marcuello, Jordi Tubella, Antonio González 0001
MICRO2
1998 Control Speculation in Multithreaded Processors through Dynamic Loop Detection
abstract
This paper presents a mechanism to dynamically detect the loops that are executed in a program. This technique detects the beginning and the termination of the iterations and executions of the loops without compiler/user intervention. We propose to apply this dynamic loop detection to the speculation of multiple threads of control dynamically obtained from a sequential program. Based an the highly predictable behavior of the loops, the history of the past executed loops is used to speculate the future instruction sequence. The overall objective is to dynamically obtain coarse grain parallelism (at the thread level) that can be exploited by a multithreaded architecture. We show that for a 4-context multithreaded processor the speculation mechanism provides around 2.6 concurrent threads in average.
Jordi Tubella, Antonio González 0001
HPCA1
1998 Speculative Multithreaded Processors
abstract
In this paper we present a novel processor microarchitecture that relieves four of the most important bottlenecks of superscalar processors to exploit instruction level parallelism: the serialization imposed by true dependences, the instruction window size, the complexity of a wide issue machine and the instruction fetch bandwidth requirements. The new microarchitecture executes simultaneously multiple threads of control obtained from a single program by means of control speculation techniques that do not require any compiler/user support. In this way, it works on a large instruction window composed of multiple nonadjacent small windows. Multiple simultaneous threads execute different iterations of the same loop, which requires the same fetch bandwidth as a single thread since they share the same code. Dependences among different threads as well as the values that flow through them are speculated by means of data prediction techniques. The novel processor organization does not require ...
Pedro Marcuello, Antonio González 0001, Jordi Tubella
International Conference on Supercomputing3
1996 The Multipath Architecture for Prolog Programs
abstract
This paper presents a novel architectural model that implements the Multipath execution model of Prolog programs. Multipath performs a partial breadth-first traversal of SLD trees, which is shown to be more efficient than the standard depth-first traversal for most of the benchmarks. Its advantages can be exploited in either a sequential or a parallel implementation. In a sequential execution, Multipath reduces the number of operations by traversing more than one search path in a single control flow. Moreover, in the context of a parallel environment, Multipath exploits path parallelism, a particular case of data parallelism when exploring search trees. We present performance figures of a sequential implementation and we measure the amount of parallelism exhibited by the execution model that could be exploited by a parallel implementation.
Jordi Tubella, Antonio González 0001, E. Elias
Comput. J.1
1994 A Partial Breadth-First Execution Model for Prolog
abstract
MEM (Multipath Execution Model) is a novel model for the execution of Prolog programs which combines a depth-first and breadth-first exploration of the search tree. The breadth-first search allows more than one path of the SLD-tree to be explored at the same time. In this way, the computational cost of traversing the whole search tree associated to a program can be decreased because the MEM model reduces the overhead due to the execution of control instructions and also diminishes the number of unifications to be performed. This paper focuses on the description of the MEM model and its sequential implementation. Moreover, the MEM execution model can be implemented in order to exploit a new kind of parallelism, called path parallelism, which allows the parallel execution of unify operations related to simultaneously traversed paths.>
Jordi Tubella, Antonio González 0001
ICTAI1
1993 MEM: A new execution model for Prolog
Jordi Tubella, Antonio González 0001
Microprocess. Microprogramming1