Parallelism is key for designing and implementing high-performance data analytics on modern processors. However, many data processing routines cannot be executed in parallel, due to the sequential nature of their underlying computation models. This dissertation focuses on an important class of sequential data processing routines that are driven by or can be modeled as finite-state machines (FSMs). It proposes a series of speculation-based parallelization and modeling techniques to improve the parallelism and scalability of FSM-based computations. Moreover, it successfully applies the FSM-based speculative parallelization to non-FSM computations, significantly expanding the applicability of the proposed techniques. More specifically, we firs...
Many problems in Artificial Intelligence involve traversing large search-spaces. Such problems typic...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
Parallelism is key for designing and implementing high-performance data analytics on modern processo...
Finite-State Machine (FSM) applications are important for many domains. But FSM computation is inher...
Finite-state machine (FSM) is a fundamental computation model used by many applications. However, FS...
Finite-state machine (FSM) is a fundamental computation model used by many applications. However, FS...
Finite State Machine (FSM) is the backbone of an important class of applications in many domains. It...
Finite State Machine (FSM) plays a critical role in many real-world applications, ranging from patte...
Effectively utilizing available parallelism is becoming harder and harder as systems evolve to many-...
The advent of multicores presents a promising opportunity for speeding up the execution of sequentia...
With speculative parallelization, code sections that cannot be fully analyzed by the compiler are ag...
The emerging hardware support for thread-level speculation opens new opportunities to parallelize se...
This paper focuses on the problem of how to find and effectively exploit speculative thread-level pa...
Developments in parallel architectures are an important branch in computer science. The success of s...
Many problems in Artificial Intelligence involve traversing large search-spaces. Such problems typic...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
Parallelism is key for designing and implementing high-performance data analytics on modern processo...
Finite-State Machine (FSM) applications are important for many domains. But FSM computation is inher...
Finite-state machine (FSM) is a fundamental computation model used by many applications. However, FS...
Finite-state machine (FSM) is a fundamental computation model used by many applications. However, FS...
Finite State Machine (FSM) is the backbone of an important class of applications in many domains. It...
Finite State Machine (FSM) plays a critical role in many real-world applications, ranging from patte...
Effectively utilizing available parallelism is becoming harder and harder as systems evolve to many-...
The advent of multicores presents a promising opportunity for speeding up the execution of sequentia...
With speculative parallelization, code sections that cannot be fully analyzed by the compiler are ag...
The emerging hardware support for thread-level speculation opens new opportunities to parallelize se...
This paper focuses on the problem of how to find and effectively exploit speculative thread-level pa...
Developments in parallel architectures are an important branch in computer science. The success of s...
Many problems in Artificial Intelligence involve traversing large search-spaces. Such problems typic...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...