Monday, November 27, 2017
University of Californa, Riverside
Automata-Centric Parallelization for Scalable and Parallel Data Processing
Automata are not only fundamental to theoretical computer science, but also practically used in many basic data processing routines, such as parsing, searching, data decoding, and querying. Since such routines commonly appear on the critical path to user's response, their performance critically affects the overall responsiveness of software systems.
On the other hand, the parallel computing hardware has become prevalent, from high-end rack servers to portable mobile devices such as smartphones and tablets. To efficiently harness the growing hardware parallelism, computations need to expose sufficient and effective software parallelism.
However, by nature, automata-based applications can only execute sequentially, conceptually from the left end of the input sequence to the right. The serial behavior prevents automata applications from taking advantages of the growing hardware parallelism. In this talk, I will introduce a set of parallelization techniques designated for automata applications and argue that such “inherently sequential” computations can actually run effectively in parallel. By centering around such basic computation models -- automata, we aim to make the parallelization solutions generally applicable to a wide range of serial applications.
Zhijia Zhao is an assistant professor in the Computer Science and Engineering Department at University of California, Riverside (UCR). He obtained his Ph.D. degree in Computer Science from The College of William and Mary in 2015, his master and bachelor degrees from Harbin Institute of Technology in China in 2007 and 2009, respectively. His general research interest is about programming system and parallel computing. Specifically, he is interested in program optimization, parallelization, and reliability analysis on multicore and heterogeneous computing platforms, especially for automata-based applications (e.g., searching, parsing, querying, and decoding) and applications with irregular or nested data structures (e.g., tree, graph, and semistructured data). In addition, he is also interested in mobile app analysis and optimizations on Android platform.