Sangam: A Confluence of Knowledge Streams

Transforming and Optimizing Irregular Applications for Parallel Architectures

Show simple item record

dc.contributor Computer Science
dc.contributor Feng, Wu-Chun
dc.contributor Butt, Ali R.
dc.contributor Wang, Hao
dc.contributor Lin, Heshan
dc.contributor Zhang, Liqing
dc.creator Zhang, Jing
dc.date 2018-02-13T09:00:27Z
dc.date 2018-02-13T09:00:27Z
dc.date 2018-02-12
dc.date.accessioned 2023-03-01T08:08:25Z
dc.date.available 2023-03-01T08:08:25Z
dc.identifier vt_gsexam:13182
dc.identifier http://hdl.handle.net/10919/82069
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/276325
dc.description Parallel architectures, including multi-core processors, many-core processors, and multi-node systems, have become commonplace, as it is no longer feasible to improve single-core performance through increasing its operating clock frequency. Furthermore, to keep up with the exponentially growing desire for more and more computational power, the number of cores/nodes in parallel architectures has continued to dramatically increase. On the other hand, many applications in well-established and emerging fields, such as bioinformatics, social network analysis, and graph processing, exhibit increasing irregularities in memory access, control flow, and communication patterns. While multiple techniques have been introduced into modern parallel architectures to tolerate these irregularities, many irregular applications still execute poorly on current parallel architectures, as their irregularities exceed the capabilities of these techniques. Therefore, it is critical to resolve irregularities in applications for parallel architectures. However, this is a very challenging task, as the irregularities are dynamic, and hence, unknown until runtime. To optimize irregular applications, many approaches have been proposed to improve data locality and reduce irregularities through computational and data transformations. However, there are two major drawbacks in these existing approaches that prevent them from achieving optimal performance. First, these approaches use local optimizations that exploit data locality and regularity locally within a loop or kernel. However, in many applications, there is hidden locality across loops or kernels. Second, these approaches use "one-size-fits-all'' methods that treat all irregular patterns equally and resolve them with a single method. However, many irregular applications have complex irregularities, which are mixtures of different types of irregularities and need differentiated optimizations. To overcome these two drawbacks, we propose a general methodology that includes a taxonomy of irregularities to help us analyze the irregular patterns in an application, and a set of adaptive transformations to reorder data and computation based on the characteristics of the application and architecture. By extending our adaptive data-reordering transformation on a single node, we propose a data-partitioning framework to resolve the load imbalance problem of irregular applications on multi-node systems. Unlike existing frameworks, which use "one-size-fits-all" methods to partition the input data by a single property, our framework provides a set of operations to transform the input data by multiple properties and generates the desired data-partitioning codes by composing these operations into a workflow.
dc.description Ph. D.
dc.format ETD
dc.format application/pdf
dc.publisher Virginia Tech
dc.rights In Copyright
dc.rights http://rightsstatements.org/vocab/InC/1.0/
dc.subject Irregular Applications
dc.subject Parallel Architectures
dc.subject Multi-core
dc.subject Many-core
dc.subject Multi-node
dc.subject Bioinformatics
dc.title Transforming and Optimizing Irregular Applications for Parallel Architectures
dc.type Dissertation


Files in this item

Files Size Format View
Zhang_J_D_2018.pdf 6.028Mb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse