GGrantIndex
← Search

SHF: Small: Information-Flow-Based Profiling of Concurrent Applications

$515,586FY2020CSENSF

University Of California-Irvine, Irvine CA

Investigators

Abstract

With the multi-core revolution, scaling to multiple cores is critical for performance. Even small fractions of sequential code seriously limit performance gains from parallelism. Critical sections sequentialize the execution and thus increasingly limit performance as the number of cores increases. The classic approach to scaling software to many cores begins with making locks more fine-grained. This is often not sufficient to scale beyond a handful of cores; scaling further often requires data structure implementations to be replaced with new implementations. Existing profilers inform developers where time is spent, but it is hard for developers to judge the impact of poorly selected data structure designs. It is often not clear whether the synchronization overhead is fundamental to the computation or can be addressed by rewriting the implementation. This project develops a new approach to profiling concurrent code based on information flow. Information flow analysis enables this approach to differentiate between concurrency bottlenecks that are fundamental to the computation and bottlenecks that are merely artifacts of the particular implementation. This approach has the potential to not only suggest where synchronization can be optimized but can also identify opportunities to improve performance by rewriting to code to eliminate superfluous conflicts. Previous work focused mostly on detecting conflicting accesses to shared data and thus missed this optimization opportunity. The project will implement this new approach in the FlowProf tool which will be publicly available. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →