High-Performance Dynamic Language Implementation

高性能动态语言实现

基本信息

  • 批准号:
    RGPIN-2022-04318
  • 负责人:
  • 金额:
    $ 2.11万
  • 依托单位:
  • 依托单位国家:
    加拿大
  • 项目类别:
    Discovery Grants Program - Individual
  • 财政年份:
    2022
  • 资助国家:
    加拿大
  • 起止时间:
    2022-01-01 至 2023-12-31
  • 项目状态:
    已结题

项目摘要

Dynamic programming languages are being used in all areas of the software industry from utilitarian scripts to web apps to embedded systems. Recent surveys show that dynamic languages like Python and JavaScript have surpassed static languages like C and Java in popularity for software development. This is unsurprising due to their ease of use and the large user communities that contribute to the vast collections of ready to use libraries. Current implementations of dynamic languages use highly complex multi-tier designs which nevertheless still lag in terms of execution speed when compared to static languages. The unfortunate consequence is that performance critical applications, such as those in the increasingly important domains of machine learning, data mining, and physical simulation, are usually programmed in static languages and can't benefit from the features of dynamic languages. The long term objectives of the proposed research program is to increase the performance of dynamic languages and to lower the development cost of VMs for these languages. The work outlined in this research proposal builds on our many years of experience developing high-performance implementations of dynamic languages. We plan to continue exploring the Basic Block Versioning (BBV) compilation approach which we have designed and is particularly well suited to lower the cost of dynamic constructs while at the same time being relatively easy to put in place in a Just In Time (JIT) compiler or VM. A promising part of our research is an Ahead Of Time (AOT) variant of BBV which can be applied when a JIT is not an option, or to lower the warmup time of the JIT. We will also explore the use of BBV to perform partial function inlining, an optimization well suited for dynamic languages whose builtin operations are complex but a hot path that is worth inlining often exists. We foresee that BBV can be used to optimize memory allocation, a frequent operation for dynamic languages, so this will be investigated. The knowledge learned from this research will help improve the performance of implementations of dynamic languages, and specifically Scheme and Python in the short-term through our work on the Gambit and Zipi compilers respectively. Moreover, we will work on a toolkit based on BBV that provides an intermediate language for easily building high-performance VMs for any dynamic language.
动态编程语言被用于软件行业的所有领域,从实用脚本到Web应用程序再到嵌入式系统。最近的调查显示,像Python和JavaScript这样的动态语言在软件开发中的流行程度已经超过了像C和Java这样的静态语言。由于它们的易用性和庞大的用户社区,这并不令人惊讶,因为它们为大量即用图书馆做出了贡献。动态语言的当前实现使用高度复杂的多层设计,然而与静态语言相比,其在执行速度方面仍然滞后。不幸的结果是,性能关键型应用程序,例如机器学习、数据挖掘和物理仿真等日益重要的领域,通常使用静态语言编程,无法从动态语言的特性中获益。建议的研究计划的长期目标是提高动态语言的性能,并降低这些语言的VM的开发成本。本研究提案中概述的工作建立在我们多年开发动态语言高性能实现的经验基础上。我们计划继续探索我们设计的基本块版本控制(BBV)编译方法,该方法特别适合于降低动态构造的成本,同时相对容易地放置在即时(JIT)编译器或VM中。我们研究的一个有前途的部分是BBV的提前时间(AOT)变体,它可以在JIT不是一个选项时应用,或者降低JIT的预热时间。我们还将探索使用BBV来执行部分函数内联,这是一种非常适合动态语言的优化,其内置操作很复杂,但通常存在值得内联的热路径。我们预见BBV可以用于优化内存分配,这是动态语言的一个常见操作,因此将对此进行研究。从这项研究中学到的知识将有助于提高动态语言实现的性能,特别是通过我们分别在Gambit和Zipi编译器上的工作,短期内提高Scheme和Python的性能。此外,我们将开发一个基于BBV的工具包,它提供了一种中间语言,可以轻松地为任何动态语言构建高性能VM。

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Feeley, Marc其他文献

Feeley, Marc的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Feeley, Marc', 18)}}的其他基金

Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    RGPIN-2016-05682
  • 财政年份:
    2021
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    RGPIN-2016-05682
  • 财政年份:
    2020
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    RGPIN-2016-05682
  • 财政年份:
    2019
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    RGPIN-2016-05682
  • 财政年份:
    2018
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    492964-2016
  • 财政年份:
    2018
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Accelerator Supplements
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    492964-2016
  • 财政年份:
    2017
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Accelerator Supplements
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    RGPIN-2016-05682
  • 财政年份:
    2017
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    492964-2016
  • 财政年份:
    2016
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Accelerator Supplements
Implementation of Dynamic Programming Languages
动态编程语言的实现
  • 批准号:
    RGPIN-2016-05682
  • 财政年份:
    2016
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual
Dynamic languages: design, implementation and evaluation
动态语言:设计、实现和评估
  • 批准号:
    107902-2010
  • 财政年份:
    2014
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Discovery Grants Program - Individual

相似国自然基金

Dynamic Credit Rating with Feedback Effects
  • 批准号:
  • 批准年份:
    2024
  • 资助金额:
    万元
  • 项目类别:
    外国学者研究基金项目

相似海外基金

Establishing a Dynamic Language Infrastructure Community of Science
建立动态语言基础设施科学共同体
  • 批准号:
    2301800
  • 财政年份:
    2023
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Standard Grant
The process of self-regulated learning in English language learning from the complex dynamic systems approach
从复杂动态系统方法看英语学习中的自我调节学习过程
  • 批准号:
    23K12243
  • 财政年份:
    2023
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Grant-in-Aid for Early-Career Scientists
Reliability and Validity of Dynamic and Processing-based Assessments for Language in Diverse Bilingual School-age Children
不同双语学龄儿童的动态和基于处理的语言评估的可靠性和有效性
  • 批准号:
    10583873
  • 财政年份:
    2023
  • 资助金额:
    $ 2.11万
  • 项目类别:
Language Beyond Boundaries: Framing for a Dynamic Linguistic Ecological Approach to indigenous knowledge among Manobo-Matigsalug in Mindanao, Philippi
语言超越界限:为菲律宾棉兰老岛 Manobo-Matigsalug 土著知识制定动态语言生态方法框架
  • 批准号:
    2738275
  • 财政年份:
    2022
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Studentship
Strengthening Capacity in Dynamic Language Infrastructure for Tribal Nations
加强部落民族动态语言基础设施的能力
  • 批准号:
    2216524
  • 财政年份:
    2022
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Standard Grant
The dynamic interactive neurocognitive systems underpinning language and semantic cognition, and their disorders.
支持语言和语义认知的动态交互式神经认知系统及其疾病。
  • 批准号:
    MC_UU_00030/9
  • 财政年份:
    2022
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Intramural
SHF: Small: Practical Dynamic Program Reasoning Across Language Boundaries
SHF:小:跨语言边界的实用动态程序推理
  • 批准号:
    2146233
  • 财政年份:
    2022
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Standard Grant
CAREER: Inferring Minimal but Sufficient Environment Models from Natural Language and Semantic Perception for Collaborative Robots in Dynamic Environments
职业:从动态环境中的协作机器人的自然语言和语义感知推断最小但足够的环境模型
  • 批准号:
    2144804
  • 财政年份:
    2022
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Continuing Grant
Strengthening Capacity in Dynamic Language Infrastructure for Tribal Nations
加强部落民族动态语言基础设施的能力
  • 批准号:
    2039991
  • 财政年份:
    2020
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Standard Grant
Using a story-based dynamic assessment to identify Developmental Language Disorder in children learning English as an additional language
使用基于故事的动态评估来识别学习英语作为附加语言的儿童的发展性语言障碍
  • 批准号:
    2235572
  • 财政年份:
    2019
  • 资助金额:
    $ 2.11万
  • 项目类别:
    Studentship
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了