Fluid: a framework for approximate concurrency via controlled dependency relaxation
Pages 252 - 267
Abstract
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.
References
[1]
Sara Achour and Martin C Rinard. 2015. Approximate computation with outlier detection in topaz. Acm Sigplan Notices, 50, 10 (2015), 711–730. https://doi.org/10.1145/2814270.2814314
[2]
Gul Agha. 1986. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, USA. isbn:0-262-01092-5
[3]
Gul Agha. 1990. Concurrent Object-oriented Programming. Commun. ACM, 33, 9 (1990), Sept., 125–141. issn:0001-0782 https://doi.org/10.1145/83880.84528
[4]
Andrew W Appel. 2007. Compiling with continuations. Cambridge University Press.
[5]
W. C. Athas and N. J. Boden. 1988. Cantor: An Actor Programming System for Scientific Computing. In Proceedings of the 1988 ACM SIGPLAN Workshop on Object-based Concurrent Programming. https://doi.org/10.1145/1806596.1806620
[6]
David I. August, Daniel A. Connors, Scott A. Mahlke, John W. Sias, Kevin M. Crozier, Ben-Chung Cheng, Patrick R. Eaton, Qudus B. Olaniran, and Wen-mei W. Hwu. 1998. Integrated Predicated and Speculative Execution in the IMPACT EPIC Architecture. In ISCA. https://doi.org/10.1109/ISCA.1998.694777
[7]
D. P. Bertsekas and D.A Castañon. 1999. Rollout algorithms for stochastic scheduling problems. In Journal of Heuristics. https://doi.org/10.1023/A:1009634810396
[8]
Filipe Betzel, Karen Khatamifard, Harini Suresh, David J Lilja, John Sartori, and Ulya Karpuzcu. 2018. Approximate communication: Techniques for reducing communication bottlenecks in large-scale parallel systems. ACM Computing Surveys (CSUR), 51, 1 (2018), 1. https://doi.org/10.1145/3145812
[9]
Roberto Bisiani and Alessandro Forin. 1988. Multilanguage parallel programming of heterogeneous machines. IEEE Trans. Comput., 37, 8 (1988), 930–945. https://doi.org/10.1109/12.2245
[10]
L Susan Blackford, Antoine Petitet, Roldan Pozo, Karin Remington, R Clint Whaley, James Demmel, Jack Dongarra, Iain Duff, Sven Hammarling, and Greg Henry. 2002. An updated set of basic linear algebra subprograms (BLAS). ACM Trans. Math. Software, 135–151. https://doi.org/10.1145/567806.567807
[11]
Robert D Blumofe, Christopher F Joerg, Bradley C Kuszmaul, Charles E Leiserson, Keith H Randall, and Yuli Zhou. 1996. Cilk: An efficient multithreaded runtime system. Journal of parallel and distributed computing, 37, 1 (1996), 55–69. https://doi.org/10.1145/209937.209958
[12]
James Bornholt, Todd Mytkowicz, and Kathryn S. McKinley. 2014. Uncertain<T>: A First-Order Type for Uncertain Data. In ASPLOS. https://doi.org/10.1145/2541940.2541958
[13]
L. Bottou. 2010. Large-scale machine learning with stochastic gradient descent. In Proc. 19th Int. Conf. Comput. Statist. https://doi.org/10.1007/978-3-7908-2604-3_16
[14]
Simone Campanoni, Glenn Holloway, Gu-Yeon Wei, and David Brooks. 2015. HELIX-UP: Relaxing program semantics to unleash parallelization. In CGO. https://doi.org/10.1109/CGO.2015.7054203
[15]
Michael Carbin, Deokhwan Kim, Sasa Misailovic, and Martin C Rinard. 2012. Proving acceptability properties of relaxed nondeterministic approximate programs. ACM SIGPLAN Notices, 47, 6 (2012), 169–180. https://doi.org/10.1145/2345156.2254086
[16]
Michael Carbin, Sasa Misailovic, and Martin C Rinard. 2013. Verifying quantitative reliability for programs that execute on unreliable hardware. ACM SIGPLAN Notices, 48, 10 (2013), 33–52. https://doi.org/10.1145/2544173.2509546
[17]
Vincent Cavé, Jisheng Zhao, Jun Shirako, and Vivek Sarkar. 2011. Habanero-Java: the new adventures of old X10. In Proceedings of the 9th International Conference on Principles and Practice of Programming in Java. 51–61. https://doi.org/10.1145/2093157.2093165
[18]
Rohit Chandra, Anoop Gupta, and John L Hennessy. 1994. COOL: An object-based language for parallel programming. Computer, 27, 8 (1994), 13–26. https://doi.org/10.1109/2.303616
[19]
Dominik Charousset, Raphael Hiesgen, and Thomas C. Schmidt. 2016. Revisiting Actor Programming in C++. Comput. Lang. Syst. Struct., 45, C (2016), April, 105–131. issn:1477-8424 https://doi.org/10.1016/j.cl.2016.01.002
[20]
Dominik Charousset, Thomas C. Schmidt, Raphael Hiesgen, and Matthias Wählisch. 2013. Native Actors: A Scalable Software Platform for Distributed, Heterogeneous Environments. In Proceedings of the 2013 Workshop on Programming Based on Actors, Agents, and Decentralized Control. https://doi.org/10.1145/2541329.2541336
[21]
George Z. Chrysos and Joel S. Emer. 1998. Memory dependence prediction using store sets. In ISCA. https://doi.org/10.1145/279361.279378
[22]
Sylvan Clebsch, Sophia Drossopoulou, Sebastian Blessing, and Andy McNeil. 2015. Deny Capabilities for Safe, Fast Actors. In 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control. https://doi.org/10.1145/2824815.2824816
[23]
Rogério De Lemos, David Garlan, Carlo Ghezzi, Holger Giese, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Danny Weyns, Luciano Baresi, and Nelly Bencomo. 2017. Software engineering for self-adaptive systems: Research challenges in the provision of assurances. In Software Engineering for Self-Adaptive Systems III. Assurances. Springer, 3–30. https://doi.org/10.1007/978-3-319-74183-3_1
[24]
Enrico A Deiana, Vincent St-Amour, Peter A Dinda, Nikos Hardavellas, and Simone Campanoni. 2018. Unconventional parallelization of nondeterministic applications. In ASPLOS. 432–447. https://doi.org/10.1145/3173162.3173181
[25]
Ankush Desai, Vivek Gupta, Ethan Jackson, Shaz Qadeer, Sriram Rajamani, and Damien Zufferey. 2013. P: Safe Asynchronous Event-driven Programming. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation. https://doi.org/10.1145/2499370.2462184
[26]
Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012. Neural acceleration for general-purpose approximate programs. In MICRO. 449–460. https://doi.org/10.1109/MICRO.2012.48
[27]
Duan Fanding. 1994. A Faster Algorithm for Shortest-Path - SPFA. Journal of Southwest Jiaotong University, 2 (1994).
[28]
Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2015. Automated multi-objective control for self-adaptive software design. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 13–24. https://doi.org/10.1145/2786805.2786833
[29]
K. Ganesan, J. San Miguel, and N. Enright Jerger. 2019. The What’s Next Intermittent Computing Architecture. In HPCA. 211–223. https://doi.org/10.1109/HPCA.2019.00039
[30]
Sashikumaar Ganesan, Volker John, Gunar Matthies, Raviteja Meesala, Shamim Abdus, and Ulrich Wilbrandt. 2016. An object oriented parallel finite element scheme for computations of PDEs: Design and implementation. CoRR, abs/1609.04809 (2016), https://doi.org/10.1109/HiPCW.2016.023
[31]
Timon Gehr, Sasa Misailovic, Petar Tsankov, Laurent Vanbever, Pascal Wiesmann, and Martin Vechev. 2018. Bayonet: Probabilistic Inference for Networks. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation. https://doi.org/10.1145/3296979.3192400
[32]
Inigo Goiri, Ricardo Bianchini, Santosh Nagarakatte, and Thu D. Nguyen. 2015. ApproxHadoop: Bringing Approximations to MapReduce Frameworks. In ASPLOS. https://doi.org/10.1145/2694344.2694351
[33]
Gagan Gupta, Srinath Sridharan, and Gurindar S. Sohi. 2014. Globally Precise-restartable Execution of Parallel Programs. In Proceedings of the 35th Conf. on Programming Language Design and Implementation. https://doi.org/10.1145/2594291.2594306
[34]
J. Han and M. Orshansky. 2013. Approximate Computing: An Emerging Paradigm For Energy-Efficient Design. In IEEE ETS. https://doi.org/10.1109/ETS.2013.6569370
[35]
Phillip W Hutto and Mustaque Ahamad. 1990. Slow memory: Weakening consistency to enhance concurrency in distributed shared memories. In Proceedings., 10th International Conference on Distributed Computing Systems. 302–303. https://doi.org/10.1109/ICDCS.1990.89297
[36]
Forrest N Iandola, Song Han, Matthew W Moskewicz, Khalid Ashraf, William J Dally, and Kurt Keutzer. 2016. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size. arXiv preprint arXiv:1602.07360.
[37]
Intel. 2020. Intel oneAPI Toolkits (Beta). https://software. intel.com/content/www/us/en/developtools/oneapi.html.
[38]
Bashima Islam, Faysal Hossain Shezan, and Rifat Shahriyar. 2016. High Performance Approximate Computing by Adaptive Relaxed Synchronization. In HPCC/SmartCity/DSS 2016. 1204–1210. https://doi.org/10.1109/HPCC-SmartCity-DSS.2016.0168
[39]
Huaipan Jiang, Mengran Fan, Jian Wang, Anup Sarma, Shruti Mohanty, Nikolay V Dokholyan, Mehrdad Mahdavi, and Mahmut T Kandemir. 2020. Guiding Conventional Protein–Ligand Docking Software with Convolutional Neural Networks. Journal of Chemical Information and Modeling, 60, 10 (2020), 4594–4602. https://doi.org/10.1021/acs.jcim.0c00542
[40]
Daniel A. Jiménez and Calvin Lin. 2002. Dynamic Branch Prediction with Perceptrons. In HPCA. https://doi.org/10.1109/HPCA.2001.903263
[41]
Guoliang Jin, Linhai Song, Wei Zhang, Shan Lu, and Ben Liblit. 2011. Automated atomicity-violation fixing. In Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation. https://doi.org/10.1145/1993498.1993544
[42]
Keyur Joshi, Vimuth Fernando, and Sasa Misailovic. 2020. Aloe: verifying reliability of approximate programs in the presence of recovery mechanisms. In CGO. 56–67. https://doi.org/10.1145/3368826.3377924
[43]
Alexei Katranov and Alexey Kukanov. 2016. Intel® threading building block (Intel® TBB) flow graph as a software infrastructure layer for OpenCL™-based computations. In Proceedings of the 4th International Workshop on OpenCL. 1–3. https://doi.org/10.1145/2909437.2909446
[44]
S Karen Khatamifard, Ismail Akturk, and Ulya R Karpuzcu. 2017. On Approximate Speculative Lock Elision. IEEE Transactions on Multi-Scale Computing Systems, 4, 2 (2017), 141–151. https://doi.org/10.1109/TMSCS.2017.2773488
[45]
Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao, and Fei-Fei Li. 2011. Novel dataset for fine-grained image categorization: Stanford dogs. In Proc. CVPR Workshop on Fine-Grained Visual Categorization (FGVC). 2.
[46]
Orhan Kislal, Piotr Berman, and Mahmut Kandemir. 2012. Improving the performance of k-means clustering through computation skipping and data locality optimizations. In Proceedings of the 9th conference on Computing Frontiers. https://doi.org/10.1145/2212908.2212951
[47]
Artur Klauser, Abhijit Paithankar, and Dirk Grunwald. 1998. Selective eager execution on the PolyPath architecture. In ISCA. https://doi.org/10.1109/ISCA.1998.694785
[48]
Jeff Kramer and Jeff Magee. 2007. Self-managed systems: an architectural challenge. In Future of Software Engineering. 259–268. https://doi.org/10.1109/FOSE.2007.19
[49]
Alexey Kukanov and Michael J Voss. 2007. The Foundations for Scalable Multi-core Software in Intel Threading Building Blocks. Intel Technology Journal, 11, 4 (2007), https://doi.org/10.1535/itj.1104.05
[50]
Parag Kulkarni, Puneet Gupta, and Milos Ercegovac. 2011. Trading Accuracy for Power with an Underdesigned Multiplier Architecture. In Proc. of International Conference on VLSI Design. https://doi.org/10.1109/VLSID.2011.51
[51]
Michael A. Laurenzano, Parker Hill, Mehrzad Samadi, Scott Mahlke, Jason Mars, and Lingjia Tang. 2016. Input Responsiveness: Using Canary Inputs to Dynamically Steer Approximation. In Proceedings of the 37th Conf. on Programming Language Design and Implementation. https://doi.org/10.1145/2908080.2908087
[52]
Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner. 1998. Gradient-based learning applied to document recognition. Proc. IEEE, 86, 11 (1998), 2278–2324. https://doi.org/10.1109/5.726791
[53]
J. K. Lee and D. Gannon. 1991. Object Oriented Parallel Programming: Experiments and Results. In Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing ’91). ACM, New York, NY, USA. 273–282. isbn:0-89791-459-7 https://doi.org/10.1145/125826.105186
[54]
Ching Lih Lim, Alistair Moffat, and Anthony Wirth. 2014. Lazy and Eager Approaches for the Set Cover Problem. In Proceedings of the Thirty-Seventh Australasian Computer Science Conference.
[55]
Tsung-Han Lin, Stephen J Tarsa, and HT Kung. 2013. Parallelization primitives for dynamic sparse computations. In 5th $USENIX$ Workshop on Hot Topics in Parallelism (HotPar 13).
[56]
Martin Maška, Vladimír Ulman, David Svoboda, Pavel Matula, Petr Matula, Cristina Ederra, Ainhoa Urbiola, Tomás España, Subramanian Venkatesan, and Deepak M.W. Balak. 2014. A benchmark for comparison of cell tracking algorithms. Bioinformatics, 30, 11 (2014), 1609–1617. https://doi.org/10.1093/bioinformatics/btu080
[57]
Joshua San Miguel, Jorge Albericio, Natalie Enright Jerger, and Aamer Jaleel. 2016. The Bunker Cache for Spatio-value Approximation. In MICRO (MICRO-49). IEEE Press, Article 43, 12 pages. https://doi.org/10.1109/MICRO.2016.7783746
[58]
Joshua San Miguel, Mario Badr, and Natalie Enright Jerger. 2014. Load Value Approximation. In MICRO. https://doi.org/10.1109/MICRO.2014.22
[59]
Ronald G Minnich and David J Farber. 1993. Reducing host load, network load and latency in a distributed shared memory. Technical Reports (CIS), 459.
[60]
Sasa Misailovic, Michael Carbin, Sara Achour, Zichao Qi, and Martin C Rinard. 2014. Chisel: Reliability-and accuracy-aware optimization of approximate computational kernels. ACM Sigplan Notices, 49, 10 (2014), 309–328. https://doi.org/10.1145/2714064.2660231
[61]
Sasa Misailovic, Deokhwan Kim, and Martin Rinard. 2010. Automatic parallelization with statistical accuracy bounds. MIT CSAIL/EECS.
[62]
Sasa Misailovic, Stelios Sidiroglou, and Martin C Rinard. 2012. Dancing with uncertainty. In Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability. https://doi.org/10.1145/2414729.2414738
[63]
Subrata Mitra, Manish K Gupta, Sasa Misailovic, and Saurabh Bagchi. 2017. Phase-aware optimization in approximate computing. In CGO. 185–196. https://doi.org/10.1109/CGO.2017.7863739
[64]
Andreas Moshovos and Gurindar S. Sohi. 1999. Read-After-Read Memory Dependence Prediction. In MICRO. https://doi.org/10.1109/MICRO.1999.809455
[65]
Shien-Tai Pan, Kimming So, and Joseph T. Rahmeh. 1992. Improving the accuracy of dynamic branch prediction using branch correlation. In ASPLOS. https://doi.org/10.1145/143365.143490
[66]
Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. 2017. Automatic differentiation in PyTorch. NIPS 2017 Autodiff Workshop.
[67]
Do Le Quoc, Ruichuan Chen, Pramod Bhatotia, Christof Fetzer, Volker Hilt, and Thorsten Strufe. 2017. StreamApprox: approximate computing for stream analytics. In 18th ACM/IFIP/USENIX Middleware Conference. 185–197. https://doi.org/10.1145/3135974.3135989
[68]
Umakishore Ramachandran and M Yousef A Khalidi. 1991. An implementation of distributed shared memory. Software: Practice and Experience, 21, 5 (1991), 443–464. https://doi.org/10.1002/spe.4380210503
[69]
Lakshminarayanan Renganarayana, Vijayalakshmi Srinivasan, Ravi Nair, and Daniel Prener. 2012. Programming with relaxed synchronization. In Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability. 41–50. https://doi.org/10.1145/2414729.2414737
[70]
Haris Ribic and Yu David Liu. 2014. Energy-efficient work-stealing Language Runtimes. In ASPLOS. https://doi.org/10.1145/2654822.2541971
[71]
Martin C Rinard. 2007. Using early phase termination to eliminate load imbalances at barrier synchronization points. In 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications. 369–386. https://doi.org/10.1145/1297027.1297055
[72]
Jia Ru and Jacky Keung. 2013. An empirical investigation on the simulation of priority and shortest-job-first scheduling for cloud-based software systems. In 2013 22nd Australian Software Engineering Conference. 78–87. https://doi.org/10.1109/ASWEC.2013.19
[73]
Adrian Sampson, André Baixo, Benjamin Ransford, Thierry Moreau, Joshua Yip, Luis Ceze, and Mark Oskin. 2015. Accept: A programmer-guided compiler framework for practical approximate computing. University of Washington Technical Report UW-CSE-15-01, 1, 2 (2015).
[74]
Adrian Sampson, Pavel Panchekha, Todd Mytkowicz, Kathryn S. McKinley, Dan Grossman, and Luis Ceze. 2014. Expressing and Verifying Probabilistic Assertions. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. https://doi.org/10.1145/2594291.2594294
[75]
Daniel J Scales and Monica S Lam. 1994. An efficient shared memory layer for distributed memory machines. Computer Systems Laboratory, Stanford University.
[76]
Tao B Schardl, I-Ting Angelina Lee, and Charles E Leiserson. 2018. Brief announcement: Open cilk. In Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures. 351–353. https://doi.org/10.1145/3210377.3210658
[77]
Hashim Sharif, Prakalp Srivastava, Muhammad Huzaifa, Maria Kotsifakou, Keyur Joshi, Yasmin Sarita, Nathan Zhao, Vikram S Adve, Sasa Misailovic, and Sarita Adve. 2019. ApproxHPVM: a portable compiler IR for accuracy-aware optimizations. Proceedings of the ACM on Programming Languages, 3, OOPSLA (2019), 186. https://doi.org/10.1145/3360612
[78]
Alfonso Shimbel. 1954. Structure in communication nets. In Proceedings of the symposium on information networks. 119–203.
[79]
Karen Simonyan and Andrew Zisserman. 2014. Very deep convolutional networks for large-scale image recognition. arXiv.
[80]
Samantika Subramaniam and Gabriel H. Loh. 2006. Store Vectors for Scalable Memory Dependence Prediction and Scheduling. In HPCA. https://doi.org/10.1109/HPCA.2006.1598113
[81]
Mark Sutherland, Joshua San Miguel, and Natalie Enright Jerger. 2015. Texture cache approximation on GPUs. In Workshop on Approximate Computing Across the Stack.
[82]
X. Tang, A. Pattnaik, H. Jiang, O. Kayiran, A. Jog, S. Pai, M. Ibrahim, M. T. Kandemir, and C. R. Das. 2017. Controlled Kernel Launch for Dynamic Parallelism in GPUs. In HPCA. 649–660. issn:2378-203X https://doi.org/10.1109/HPCA.2017.14
[83]
Bradley Thwaites, Gennady Pekhimenko, Hadi Esmaeilzadeh, Amir Yazdanbakhsh, Jongse Park, Girish Mururu, Onur Mutlu, and Todd Mowry. 2014. Rollback-free value prediction with approximate loads. In 2014 23rd International Conference on Parallel Architecture and Compilation Techniques (PACT). 493–494. https://doi.org/10.1145/2628071.2628110
[84]
Abhishek Udupa, Kaushik Rajan, and William Thies. 2011. ALTER: exploiting breakable dependences for parallelization. In Proc. of the 32nd Conference on Programming language Design and Impl. https://doi.org/10.1145/1993498.1993555
[85]
Augustus K. Uht, Vijay Sindagi, and Kelley Hall. 1995. Disjoint eager execution: an optimal form of speculative execution. In MICRO. https://doi.org/10.1109/MICRO.1995.476841
[86]
Radha Venkatagiri, Abdulrahman Mahmoud, Siva Kumar Sastry Hari, and Sarita V Adve. 2016. Approxilyzer: Towards a systematic framework for instruction-level approximate computing and its application to hardware resiliency. In MICRO. 42. https://doi.org/10.1109/MICRO.2016.7783745
[87]
Swagath Venkataramani, Vinay K. Chippa, Srimat T. Chakradhar, Kaushik Roy, and Anand Raghunathan. 2013. Quality programmable vector processors for approximate computing. In MICRO. https://doi.org/10.1145/2540708.2540710
[88]
Swagath Venkataramani, Kaushik Roy, and Anand Raghunathan. 2013. Substitute-and-Simplify: A Unified Design Paradigm for Approximate and Quality Configurable Circuits. In DATE. https://doi.org/10.7873/DATE.2013.280
[89]
Renxiao Wang, Xueliang Fang, Yipin Lu, Chao-Yie Yang, and Shaomeng Wang. 2005. The PDBbind database: methodologies and updates. Journal of medicinal chemistry, 48, 12 (2005), 4111–4119. https://doi.org/10.1021/jm048957q
[90]
Amir Yazdanbakhsh, Divya Mahajan, Hadi Esmaeilzadeh, and Pejman Lotfi-Kamran. 2016. AxBench: A multiplatform benchmark suite for approximate computing. IEEE Design & Test, 34, 2 (2016), 60–68. https://doi.org/10.1109/MDAT.2016.2630270
[91]
Amir Yazdanbakhsh, Gennady Pekhimenko, Bradley Thwaites, Hadi Esmaeilzadeh, Onur Mutlu, and Todd C Mowry. 2016. RFVP: Rollback-free value prediction with safe-to-approximate loads. ACM Transactions on Architecture and Code Optimization, 12, 4 (2016), 1–26. https://doi.org/10.1145/2836168
[92]
Tse-Yu Yeh and Yale N Patt. 1992. Alternative implementations of two-level adaptive branch prediction. ACM SIGARCH Computer Architecture News, 20, 2 (1992), 124–134. https://doi.org/10.1145/146628.139709
[93]
Shuangye Yin, Lada Biedermannova, Jiri Vondrasek, and Nikolay V Dokholyan. 2008. MedusaScore: an accurate force field-based scoring function for virtual drug screening. Journal of chemical information and modeling, 48, 8 (2008), 1656–1662. https://doi.org/10.1021/ci8001167
[94]
Akinori Yonezawa, Jean-Pierre Briot, and Etsuya Shibayama. 1986. Object-oriented concurrent programming in ABCL/1. ACM SIGPLAN Notices, 21, 11 (1986), 258–268. https://doi.org/10.1145/960112.28722
[95]
Zeyuan Allen Zhu, Sasa Misailovic, Jonathan A Kelner, and Martin Rinard. 2012. Randomized accuracy-aware program transformations for efficient approximate computations. ACM SIGPLAN Notices, 47, 1 (2012), 441–454. https://doi.org/10.1145/2103621.2103710
Index Terms
- Fluid: a framework for approximate concurrency via controlled dependency relaxation
Recommendations
Relaxation of Energy and Approximate Riemann Solvers for General Pressure Laws in Fluid Dynamics
We consider the Euler equations for a compressible inviscid fluid with a general pressure law $p(\rho,\varepsilon)$, where $\rho$ represents the density of the fluid and $\varepsilon$ its specific internal energy. We show that it is possible to ...
Comments
Please enable JavaScript to view thecomments powered by Disqus.Information & Contributors
Information
Published In
June 2021
1341 pages
Copyright © 2021 ACM.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].
Sponsors
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 18 June 2021
Check for updates
Author Tags
Qualifiers
- Article
Funding Sources
- NSF
Conference
PLDI '21
Sponsor:
PLDI '21: 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation
June 20 - 25, 2021
Virtual, Canada
Acceptance Rates
Overall Acceptance Rate 406 of 2,067 submissions, 20%
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 392Total Downloads
- Downloads (Last 12 months)96
- Downloads (Last 6 weeks)15
Reflects downloads up to 01 Nov 2024
Other Metrics
Citations
View Options
Get Access
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in