TY - GEN
T1 - Fluid
T2 - 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2021
AU - Jiang, Huaipan
AU - Zhang, Haibo
AU - Tang, Xulong
AU - Govindaraj, Vineetha
AU - Sampson, Jack
AU - Kandemir, Mahmut Taylan
AU - Zhang, Danfeng
N1 - Funding Information:
Acknowledgments The authors sincerely thank Dr. Martin Rinard for shepherding the paper and the reviewers for their constructive feedback. This work is supported by NSF grants #1908793, #1629915, #1629129, #1763681, #2028929, #2008398, #1931531, and startup funding from the University of Pittsburgh. References
Publisher Copyright:
© 2021 ACM.
PY - 2021/6/18
Y1 - 2021/6/18
N2 - In this work, we introduce the Fluid framework, a set of language, compiler and runtime extensions that allow for the expression of regions within which dataflow dependencies can be approximated in a disciplined manner. Our framework allows the eager execution of dependent tasks before their inputs have finalized in order to capitalize on situations where an eagerly-consumed input has a high probability of sufficiently resembling the value or structure of the final value that would have been produced in a conservative/precise execution schedule. We introduce controlled access to the early consumption of intermediate values and provide hooks for user-specified quality assurance mechanisms that can automatically enforce re-execution of eagerly-executed tasks if their output values do not meet heuristic expectations. Our experimental analysis indicates that the fluidized versions of the applications bring 22.2% average execution time improvements, over their original counterparts, under the default values of our fluidization parameters. The Fluid approach is largely orthogonal to approaches that aim to reduce the task effort itself and we show that utilizing the Fluid framework can yield benefits for both originally precise and originally approximate versions of computation.
AB - In this work, we introduce the Fluid framework, a set of language, compiler and runtime extensions that allow for the expression of regions within which dataflow dependencies can be approximated in a disciplined manner. Our framework allows the eager execution of dependent tasks before their inputs have finalized in order to capitalize on situations where an eagerly-consumed input has a high probability of sufficiently resembling the value or structure of the final value that would have been produced in a conservative/precise execution schedule. We introduce controlled access to the early consumption of intermediate values and provide hooks for user-specified quality assurance mechanisms that can automatically enforce re-execution of eagerly-executed tasks if their output values do not meet heuristic expectations. Our experimental analysis indicates that the fluidized versions of the applications bring 22.2% average execution time improvements, over their original counterparts, under the default values of our fluidization parameters. The Fluid approach is largely orthogonal to approaches that aim to reduce the task effort itself and we show that utilizing the Fluid framework can yield benefits for both originally precise and originally approximate versions of computation.
UR - http://www.scopus.com/inward/record.url?scp=85108909673&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85108909673&partnerID=8YFLogxK
U2 - 10.1145/3453483.3454042
DO - 10.1145/3453483.3454042
M3 - Conference contribution
AN - SCOPUS:85108909673
T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
SP - 252
EP - 267
BT - PLDI 2021 - Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation
A2 - Freund, Stephen N.
A2 - Yahav, Eran
PB - Association for Computing Machinery
Y2 - 20 June 2021 through 25 June 2021
ER -