[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1007/978-3-030-59635-4_6guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

NLC: An Efficient Caching Algorithm Based on Non-critical Path Least Counts for In-Memory Computing

Published: 18 September 2020 Publication History

Abstract

The explosion of applications in data-parallel systems and ever-growing high-efficiency needs for data analysis have made parallel systems under enormous memory pressure when dealing with large datasets. Out-of-memory errors and excessive garbage collection can seriously affect system performance. Generally, for those data-flow tasks with intensive in-memory computing requirements, how to achieve efficient memory caching algorithms is a primary measure to make a trade-off between performance and memory overhead. By taking advantage of the latest research findings on the DAG-based task scheduling, we design a new caching algorithm for in-memory computing by exploiting the critical path information of DAG, called Non-critical path least reference count (NLC). The strategy is distinct from the existing ones in that it applies the global information of the critical path to the caching replacements rather than the task scheduling as most existing works do. Through empirical studies, we demonstrated that NLC can not only effectively enhance the parallel execution efficiency, but also reduce the number of evictions, improve the hit ratio, and memory utilization rate as well. Our comprehensive evaluations based on the selected benchmark graphs indicate that our strategy can not only fulfill the parallel system requirements but also reduce the costs by as much as, compared with the most advanced LRC algorithm.

References

[1]
Abrishami S, Naghibzadeh M, and Epema D Cost-driven scheduling of grid workflows using partial critical paths IEEE Trans. Parallel Distrib. Syst. 2012 23 8 1400-1414
[2]
Adam TL, Chandy KM, and Dickson JR A comparison of list schedules for parallel processing systems Commun. ACM 1974 17 12 685-690
[3]
Ahmad, I., Kwok, Y.K.: On parallelizing the multiprocessor scheduling problem (1999)
[4]
Ahn J, Hong S, Yoo S, Mutlu O, and Choi K A scalable processing-in-memory accelerator for parallel graph processing ACM SIGARCH Comput. Arch. News 2015 43 3 105-117
[5]
Appel AW Garbage collection can be faster than stack allocation Inf. Process. Lett. 1987 25 4 275-279
[6]
Boehm HJ, Demers AJ, and Shenker S Mostly parallel garbage collection ACM SIGPLAN Not. 1999 26 6 157-164
[7]
Cao P, Felten EW, Karlin AR, and Li K Implementation and performance of integrated application-controlled caching, prefetching and disk scheduling ACM Trans. Comput. Syst 1996 14 4 311-343
[8]
Cao P, Felten EW, Karlin AR, and Li K Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling ACM Trans. Comput. Syst. (TOCS) 1996 14 4 311-343
[9]
Chen CLP and Zhang CY Data-intensive applications, challenges, techniques and technologies: a survey on big data Inf. Sci. 2014 275 11 314-347
[10]
Dong, Z., Liu, C., Gatherer, A., McFearin, L., Yan, P., Anderson, J.H.: Optimal dataflow scheduling on a heterogeneous multiprocessor with reduced response time bounds. In: Bertogna, M. (ed.) 29th Euromicro Conference on Real-Time Systems (ECRTS 2017). Leibniz International Proceedings in Informatics (LIPIcs), vol. 76, pp. 15:1–15:22. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl (2017). http://drops.dagstuhl.de/opus/volltexte/2017/7156
[11]
Ferguson, A.D., Bodik, P., Kandula, S., Boutin, E., Fonseca, R.: Jockey: guaranteed job latency in data parallel clusters. In: European Conference on Computer Systems (2012)
[12]
Ghose, S., Hsieh, K., Boroumand, A., Ausavarungnirun, R., Mutlu, O.: Enabling the adoption of processing-in-memory: challenges, mechanisms, future research directions. CoRR abs/1802.00320 (2018). http://arxiv.org/abs/1802.00320
[13]
Hao Z, Gang C, Ooi BC, Tan KL, and Zhang M In-memory big data management and processing: a survey IEEE Trans. Knowl. Data Eng. 2015 27 7 1920-1948
[14]
Horwitz S, Demers A, and Teitelbaum T An efficient general iterative algorithm for dataflow analysis Acta Informatica 1987 24 6 679-694
[15]
Kwok YK and Ahmad I Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors IEEE Trans. Parallel Distrib. Syst. 1996 7 5 506-521
[16]
Kwok YK and Ahmad I Static scheduling algorithms for allocating directed task graphs to multiprocessors ACM Comput. Surv. 1999 31 4 406-471
[17]
Le, K.H., Datta, S.K., Bonnet, C., Hamon, F., Boudonne, A.: A scalable IoT framework to design logical data flow using virtual sensor. In: IEEE International Conference on Wireless and Mobile Computing (2017)
[18]
Li, Z.S., Liu, D.W., Bi, H.J.: CRFP: a novel adaptive replacement policy combined the LRU and LFU policies. In: IEEE International Conference on Computer and Information Technology Workshops (2008)
[19]
Mao, H., Schwarzkopf, M., Venkatakrishnan, S.B., Meng, Z., Alizadeh, M.: Learning scheduling algorithms for data processing clusters (2019)
[20]
Murray, D.G., Schwarzkopf, M., Smowton, C., Smith, S., Hand, S.: CIEL: a universal execution engine for distributed data-flow computing. In: USENIX Conference on Networked Systems Design and Implementation (2011)
[21]
Patterson, R.H., Gibson, G.A., Ginting, E., Stodolsky, D., Zelenka, J.: Informed prefetching and caching. In: Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, pp. 79–95 (1995)
[22]
Saha, B., Shah, H., Seth, S., Vijayaraghavan, G., Murthy, A.C., Curino, C.: Apache Tez: a unifying framework for modeling and building data processing applications (2015)
[23]
Sampaio AM, Barbosa JG, and Prodan R PIASA: a power and interference aware resource management strategy for heterogeneous workloads in cloud data centers Simul. Model. Pract. Theory 2015 57 142-160
[24]
Shi X et al. Deca: a garbage collection optimizer for in-memory data processing ACM Trans. Comput. Syst. 2019 36 1 3:1-3:47
[25]
Song J, Li Q, and Ma S Toward bounds on parallel execution times of task graphs on multicores with memory constraints IEEE Access 2019 7 52778-52789
[26]
Wilmanns, P.S., Hausmans, J.P.H.M., Geuns, S.J., Bekooij, M.J.G.: Accuracy improvement of dataflow analysis for cyclic stream processing applications scheduled by static priority preemptive schedulers. In: Digital System Design (2014)
[27]
Wu M and Gajski D Hypertool: a programming aid for message-passing systems IEEE Trans. Parallel Distrib. Syst. 1990 1 3 330-343
[28]
Yu, Y., Wei, W., Zhang, J., Letaief, K.B.: LRC: dependency-aware cache management for data analytics clusters. In: IEEE INFOCOM-IEEE Conference on Computer Communications (2017)
[29]
Zaharia, M., et al.: Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing. In: USENIX Conference on Networked Systems Design and Implementation (2012)

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
Cloud Computing – CLOUD 2020: 13th International Conference, Held as Part of the Services Conference Federation, SCF 2020, Honolulu, HI, USA, September 18-20, 2020, Proceedings
Sep 2020
307 pages
ISBN:978-3-030-59634-7
DOI:10.1007/978-3-030-59635-4
  • Editors:
  • Qi Zhang,
  • Yingwei Wang,
  • Liang-Jie Zhang

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 18 September 2020

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media