AEMINIUM: A Permission-Based Concurrent-by-Default Programming Language Approach

被引:17
|
作者
Stork, Sven [1 ]
Naden, Karl [1 ]
Sunshine, Joshua [1 ]
Mohr, Manuel [2 ]
Fonseca, Alcides [3 ]
Marques, Paulo [3 ]
Aldrich, Jonathan [1 ]
机构
[1] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15213 USA
[2] Karlsruhe Inst Technol, D-76021 Karlsruhe, Germany
[3] Univ Coimbra, Coimbra, Portugal
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2014年 / 36卷 / 01期
基金
美国国家科学基金会;
关键词
Languages; Theory; Performance; Access permissions; permissions; data groups; concurrency; OWNERSHIP TYPES;
D O I
10.1145/2543920
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Writing concurrent applications is extremely challenging, not only in terms of producing bug-free and maintainable software, but also for enabling developer productivity. In this article we present the AEMINIUM concurrent-by-default programming language. Using AEMINIUM programmers express data dependencies rather than control flow between instructions. Dependencies are expressed using permissions, which are used by the type system to automatically parallelize the application. The AEMINIUM approach provides a modular and composable mechanism for writing concurrent applications, preventing data races in a provable way. This allows programmers to shift their attention from low-level, error-prone reasoning about thread interleaving and synchronization to focus on the core functionality of their applications. We study the semantics of AEMINIUM through mu AEMINIUM, a sound core calculus that leverages permission flow to enable concurrent-by-default execution. After discussing our prototype implementation we present several case studies of our system. Our case studies show up to 6.5X speedup on an eight-core machine when leveraging data group permissions to manage access to shared state, and more than 70% higher throughput in a Web server application.
引用
收藏
页数:42
相关论文
共 32 条
  • [21] An efficient modular method for the control of Concurrent Discrete Event Systems: A language-based approach
    Gaudin, Benoit
    Merchand, Herve
    DISCRETE EVENT DYNAMIC SYSTEMS-THEORY AND APPLICATIONS, 2007, 17 (02): : 179 - 209
  • [22] HOW TO INVENT DISTRIBUTED IMPLEMENTATION SCHEMES OF AN OBJECT-BASED CONCURRENT LANGUAGE - A TRANSFORMATIONAL APPROACH
    SHIBAYAMA, E
    SIGPLAN NOTICES, 1988, 23 (11): : 297 - 305
  • [23] ARCS approach to PTA-based programming language practice sessions: Factors influencing Programming Problem-Solving Skills
    Quadir, Benazir
    Mostafa, Kazi
    Yang, Jie Chi
    Shen, Juming
    Akter, Rokaya
    EDUCATION AND INFORMATION TECHNOLOGIES, 2023, 28 (10) : 13713 - 13735
  • [24] ARCS approach to PTA-based programming language practice sessions: Factors influencing Programming Problem-Solving Skills
    Benazir Quadir
    Kazi Mostafa
    Jie Chi Yang
    Juming Shen
    Rokaya Akter
    Education and Information Technologies, 2023, 28 : 13713 - 13735
  • [25] A Fuzzy-based Approach to Programming Language Independent Source-Code Plagiarism Detection
    Acampora, Giovanni
    Cosma, Georgina
    2015 IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS (FUZZ-IEEE 2015), 2015,
  • [26] Programming Teaching Research of C Language with DSP Based on the Peripheral Bit-Field Structure Approach
    Guan, Xiaochun
    Chen, Xiaojing
    Wu, Guichu
    2011 INTERNATIONAL CONFERENCE ON FUTURE COMPUTERS IN EDUCATION (ICFCE 2011), VOL III, 2011, : 301 - 304
  • [27] Implementation of mobile game-transformed lecture-based approach to promoting C programming language learning
    Daungcharone, Kannika
    Panjaburee, Patcharin
    Thongkoo, Krittawaya
    INTERNATIONAL JOURNAL OF MOBILE LEARNING AND ORGANISATION, 2020, 14 (02) : 236 - 254
  • [28] Effects of a Pair Programming Educational Robot-Based Approach on Students' Interdisciplinary Learning of Computational Thinking and Language Learning
    Hsu, Ting-Chia
    Chang, Ching
    Wu, Long-Kai
    Looi, Chee-Kit
    FRONTIERS IN PSYCHOLOGY, 2022, 13
  • [29] A group decision-making method based on intuitionistic fuzzy set in the three dimensional concurrent engineering environment: a multi-objective programming approach
    Shidpour, H.
    Bernard, A.
    Shahrokhi, M.
    FORTY SIXTH CIRP CONFERENCE ON MANUFACTURING SYSTEMS 2013, 2013, 7 : 533 - 538
  • [30] I CAN HAS SUPERCOMPUTER? A Novel Approach to Teaching Parallel and Distributed Computing Concepts Using a Meme-Based Programming Language
    Richie, David A.
    Ross, James A.
    2017 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2017, : 339 - 345