Results 1 -
2 of
2
Adapting Graph Application Performance Via Alternate Data Structure Representations
"... Graph processing is used extensively in areas from social networking mining to web indexing. We demonstrate that the performance and dependability of such applications crit-ically hinges on the graph data structure used, because a fixed, compile-time choice of data structure can lead to poor perform ..."
Abstract
- Add to MetaCart
Graph processing is used extensively in areas from social networking mining to web indexing. We demonstrate that the performance and dependability of such applications crit-ically hinges on the graph data structure used, because a fixed, compile-time choice of data structure can lead to poor performance or applications unable to complete. To ad-dress this problem, we introduce an approach that helps programmers transform regular, off-the-shelf graph appli-cations into adaptive, more dependable applications where adaptations are performed via runtime selection from alter-nate data structure representations. Using our approach, applications dynamically adapt to the input graph’s char-acteristics and changes in available memory so they con-tinue to run when faced with adverse conditions such as low memory. Experiments with graph algorithms on real-world (e.g., Wikipedia metadata, Gnutella topology) and synthetic graph datasets show that our adaptive applications run to completion with lower execution time and/or memory uti-lization in comparison to their non-adaptive versions.
RECOMMENDED FOR ACCEPTANCE
, 2013
"... Several emerging fields of science and engineering are increasingly characterized by com-putationally intensive programs. Without parallelization, such programs do not benefit from the increasing core counts available in todays chip multiprocessors. However, writ-ing correct and well-performing para ..."
Abstract
- Add to MetaCart
(Show Context)
Several emerging fields of science and engineering are increasingly characterized by com-putationally intensive programs. Without parallelization, such programs do not benefit from the increasing core counts available in todays chip multiprocessors. However, writ-ing correct and well-performing parallel programs is widely perceived to be an extremely hard problem. In order to understand the challenges faced by scientific programmers in effectively leveraging parallel computation, this dissertation first presents an in-depth field study of the practice of computational science. Based on the results of the field study, this dissertation proposes two new implicit par-allel programming (IPP) solutions. With IPP, artificial constraints imposed by sequential models for automatic parallelization are overcome by use of semantic programming exten-sions. These preserve the ease of sequential programming and enable multiple parallelism forms without additional parallelism constructs, achieving the best of both automatic and explicit parallelization. The first IPP solution, Commutative Set, generalizes existing notions of semantic com-