[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2897336.2897347acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiflConference Proceedingsconference-collections
research-article

Dynamic adaptation of functional runtime systems through external control

Published: 14 September 2015 Publication History

Abstract

In this paper, we present a novel approach towards providing compiler generated runtime means for dynamic adaptation. The key novelty of the proposed solution is a complete separation between the runtime adaptation mechanism itself and the control mechanism of the adaptation. This strict separation has various benefits including experimentation with adaptation control mechanisms without modifying the runtime system itself, and opening up the possibility for control mechanisms that control several applications possibly even across different runtime systems.
The paper does not only present the basic principles of the approach taken, it also describes our prototypical implementation in the context of the functional array programming language SaC. The dynamic adaptation we are concerned with in the context of this paper is an adaptation in the number of computing cores utilised during parallel execution on multiple cores. We show how this adaptation mechanism can be leveraged to deal with changes in the background load generated from other applications running concurrently with the application whose parallelism we want to control.

References

[1]
M. Amoui, M. Derakhshanmanesh, J. Ebert, and L. Tahvildari. Achieving dynamic adaptation via management and interpretation of runtime models. Journal of Systems and Software, 85(12):2720--2737, 2012. Self-Adaptive Systems.
[2]
K.-E. Arzen, V. Romero Segovia, M. Kralmark, S. Schorr, A. Meher, and G. Fohler. Actors adaptive resource management demo. In 3rd Workshop on Adaptive and Reconfigurable Embedded Systems, 2011.
[3]
E. Gat. Three-layer architectures, artificial intelligence and mobile robots. MIT/AAAI Press, 1997.
[4]
C. Grelck. Shared memory multiprocessor support for functional array processing in sac. J. Funct. Program., 15(3):353--401, May 2005.
[5]
C. Grelck and S.-B. Scholz. SAC: A functional array language for efficient multithreaded execution. International Journal of Parallel Programming, 34(4):383--427, 2006.
[6]
J. Guo, J. Thiyagalingam, and S.-B. Scholz. Towards Compiling SaC to CUDA. In Z. Horváth and Viktória Zsók, editors, 10th Symposium on Trends in Functional Programming (TFP'09), pages 33--49. Intellect, 2009.
[7]
T. Harris and S. Kaestle. Callisto-rts: Fine-grain parallel loops. In 2015 USENIX Annual Technical Conference (USENIX ATC 15), pages 45--56, Santa Clara, CA, July 2015. USENIX Association.
[8]
T. Harris, M. Maas, and V. J. Marathe. Callisto: Co-scheduling parallel runtime systems. In Proceedings of the Ninth European Conference on Computer Systems, EuroSys '14, pages 24:1--24:14, New York, NY, USA, 2014. ACM.
[9]
C. Iancu, S. Hofmeyr, F. Blagojevic, and Y. Zheng. Oversubscription on multicore processors. In Parallel Distributed Processing (IPDPS), 2010 IEEE International Symposium on, pages 1--11, April 2010.
[10]
J. Kramer and J. Magee. Self-managed systems: an architectural challenge. In Future of Software Engineering, 2007. FOSE '07, pages 259--268, May 2007.
[11]
D. Kreye. A Compiler Backend for Generic Array Programming. PhD thesis, University of Kiel, 2003.
[12]
P. Oreizy, N. Medvidovic, and R. N. Taylor. Runtime software adaptation: Framework, approaches, and styles. In Companion of the 30th International Conference on Software Engineering, ICSE Companion '08, pages 899--910, New York, NY, USA, 2008. ACM.
[13]
H. Pan, B. Hindman, and K. Asanović. Composing parallel software efficiently with lithe. SIGPLAN Not., 45(6):376--387, June 2010.
[14]
X. Peng, B. Chen, Y. Yu, and W. Zhao. Self-tuning of software systems through dynamic quality tradeoff and value-based feedback control loop. Journal of Systems and Software, 85(12):2707--2719, 2012. Self-Adaptive Systems.
[15]
S.-B. Scholz. Single assignment c -- efficient support for high-level array operations in a functional setting. In Journal of Functional Programming, pages 1005--1059. Cambridge University Press, 2003.
[16]
V. R. Segovia. Adaptive CPU resource management for multicore platforms. PhD thesis, Department of Automatic Control, Lund University, 2011.
[17]
A. Thomasian. Analysis of fork/join and related queueing systems. ACM Comput. Surv., 47(2):17:1--17:71, Aug. 2014.
[18]
X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, P. Padala, and K. Shin. What does control theory bring to systems research? SIGOPS Oper. Syst. Rev., 43(1):62--69, jan 2009.

Cited By

View all
  • (2021)Array languages make neural networks fastProceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming10.1145/3460944.3464312(39-50)Online publication date: 17-Jun-2021
  • (2020)Resource-Aware Data Parallel Array ProcessingInternational Journal of Parallel Programming10.1007/s10766-020-00664-0Online publication date: 9-Jun-2020

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
IFL '15: Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages
September 2015
140 pages
ISBN:9781450342735
DOI:10.1145/2897336
  • Program Chair:
  • Ralf Lämmel
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 ACM 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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 September 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. SAC
  2. array programming
  3. compilers
  4. dynamic adaptation
  5. functional programming
  6. high performance computing
  7. high-level parallel programming
  8. over-subscription

Qualifiers

  • Research-article

Funding Sources

  • Engineering and Physical Sciences Research Council award number

Conference

IFL '15

Acceptance Rates

Overall Acceptance Rate 19 of 36 submissions, 53%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Array languages make neural networks fastProceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming10.1145/3460944.3464312(39-50)Online publication date: 17-Jun-2021
  • (2020)Resource-Aware Data Parallel Array ProcessingInternational Journal of Parallel Programming10.1007/s10766-020-00664-0Online publication date: 9-Jun-2020

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media