Improving Data Organization in Managed Runtimes for Improved Performance

改进托管运行时中的数据组织以提高性能

基本信息

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

项目摘要

Many software applications today are specified in interpreted languages. Interpretation allows applications to more easily execute and migrate on various platforms through the use of managed runtime technologies. This abstraction from the physical host as led to automation of resource acquisition and management such as processor scaling and memory management (garbage collection). As heap sizes increase, so does the cost incurred by garbage collection (GC) in managed runtimes. While scaling of dynamic memory in the host continues, so too does the demand by applications for more memory to satisfy the ever-increasing data to be processed. This discovery grant application is focused on the organization of data stored in dynamic memory within managed runtimes to achieve two goals. First, to segregate data objects/structures into different classes reflecting their access frequency to permit better mapping to different memory levels within the managed runtime. Second, to organize data within the dynamic memory so as to reduce pause times for garbage collection. Java programmers expect the Java Virtual Machine (JVM) to deal with all aspects of resource management, including the object heap, in a transparent way; the definition of the language, which has a create construct but no corresponding delete for objects, is emblematic of this. However, this illusion of infinite free space is destroyed on large GC pauses. Because of this, different approaches to GC need to be explored in order to achieve low, consistent pause times while keeping applications running smoothly and with high performance. To achieve this, I propose to explore new escape analysis techniques, and to investigate a segregated heap system for locally v. globally allocated objects. Cache and Translation Lookaside Buffer (TLB) misses cause large performance issues in most large Java applications. One way to mitigate these issues is by improving object locality. Improving object locality has proven to reduce cache and TLB misses in Java applications using the openJ9 JVM via Hierarchical Copying GC in the generational collector. When an object reference is followed from a parent object to a child the memory for the child object will need to be loaded into cache memory. If these objects were located within the same cache line or on the same memory page we could possibly save the cache and TLB misses. There several interesting areas of research that could improve object locality.
如今,许多软件应用程序用解释的语言指定。解释使应用程序可以通过使用托管运行时技术更容易地在各种平台上执行和迁移。从物理主机中的抽象导致了资源获取和管理的自动化,例如处理器扩展和内存管理(垃圾收集)。随着堆积的增加,托管运行时垃圾收集(GC)产生的成本也随之增加。尽管主机中动态内存的缩放量仍在继续,但应用程序的需求量也是如此,以满足要处理的不断增加的数据。该发现赠款应用程序集中在托管运行时间内动态内存中存储的数据,以实现两个目标。首先,将数据对象/结构隔离到不同的类中,以反映其访问频率,以便在托管运行时更好地映射到不同的内存级别。其次,在动态内存中组织数据以减少垃圾收集的暂停时间。 Java程序员希望Java虚拟机(JVM)能够以透明的方式处理资源管理的各个方面,包括对象堆;语言的定义具有创建构造,但没有对象的相应删除,这是象征的。但是,这种无限自由空间的幻想在大型GC停顿上被破坏了。因此,需要探索不同的GC方法,以实现低,一致的停顿时间,同时保持应用程序顺利运行和高性能。为了实现这一目标,我建议探索新的逃生分析技术,并研究本地诉全球分配的对象的隔离堆系统。在大多数大型Java应用程序中,缓存和翻译LookAside Buffer(TLB)的遗漏引起了较大的性能问题。缓解这些问题的一种方法是改善对象局部性。事实证明,改进的对象局部性可以通过Generational Collector中的层次复制GC使用OpenJ9 JVM减少Java应用程序中的缓存和TLB错过。当对象引用从父对象到子对子对象时,需要将子对象的内存加载到缓存内存中。如果这些对象位于同一缓存线中或同一内存页面中,我们可能会保存缓存和TLB失误。有几个有趣的研究领域可以改善对象区域。

项目成果

期刊论文数量(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 }}

Kent, Kenneth其他文献

Kent, Kenneth的其他文献

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

{{ truncateString('Kent, Kenneth', 18)}}的其他基金

Load Stall Minimization
负载失速最小化
  • 批准号:
    536287-2018
  • 财政年份:
    2021
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Collaborative Research and Development Grants
Improving Data Organization in Managed Runtimes for Improved Performance
改进托管运行时中的数据组织以提高性能
  • 批准号:
    RGPIN-2019-04415
  • 财政年份:
    2021
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Load Stall Minimization
负载失速最小化
  • 批准号:
    536287-2018
  • 财政年份:
    2020
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Collaborative Research and Development Grants
Optimizating and integrating node.js on distributed and multicore clouds
在分布式多核云上优化和集成 Node.js
  • 批准号:
    501197-2016
  • 财政年份:
    2019
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Collaborative Research and Development Grants
Load Stall Minimization
负载失速最小化
  • 批准号:
    536287-2018
  • 财政年份:
    2019
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Collaborative Research and Development Grants
Improving Data Organization in Managed Runtimes for Improved Performance
改进托管运行时中的数据组织以提高性能
  • 批准号:
    RGPIN-2019-04415
  • 财政年份:
    2019
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Computer Aided Design Tools for FPGA Exploration
用于 FPGA 探索的计算机辅助设计工具
  • 批准号:
    262177-2012
  • 财政年份:
    2018
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual
Optimizating and integrating node.js on distributed and multicore clouds
在分布式多核云上优化和集成 Node.js
  • 批准号:
    501197-2016
  • 财政年份:
    2018
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Collaborative Research and Development Grants
Performance Optimization and Scaling for Simulations of Urban Planning**
城市规划模拟的性能优化和扩展**
  • 批准号:
    534091-2018
  • 财政年份:
    2018
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Engage Grants Program
Computer Aided Design Tools for FPGA Exploration
用于 FPGA 探索的计算机辅助设计工具
  • 批准号:
    262177-2012
  • 财政年份:
    2017
  • 资助金额:
    $ 2.48万
  • 项目类别:
    Discovery Grants Program - Individual

相似国自然基金

Ti-6Al-4V合金组织特征的描述符重构、分属性数据融合与断裂韧性的机器学习
  • 批准号:
    52371112
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目
面向大规模多样本空间转录组数据的高扩展性组织结构鉴定方法
  • 批准号:
    62303119
  • 批准年份:
    2023
  • 资助金额:
    30.00 万元
  • 项目类别:
    青年科学基金项目
基于ZNS SSD的多级存储系统数据组织与布局优化研究
  • 批准号:
    62362009
  • 批准年份:
    2023
  • 资助金额:
    32 万元
  • 项目类别:
    地区科学基金项目
数智危机情境下数据赋能组织韧性的机制研究
  • 批准号:
    72372153
  • 批准年份:
    2023
  • 资助金额:
    41 万元
  • 项目类别:
    面上项目
"知识-数据"双轮驱动的多模态电子病历数据组织模式与应用研究
  • 批准号:
    72374081
  • 批准年份:
    2023
  • 资助金额:
    41 万元
  • 项目类别:
    面上项目

相似海外基金

Improving Healthcare Quality and Equity For Older Adults with HIV Under Value-Based Care Models
在基于价值的护理模式下提高艾滋病毒感染者的医疗质量和公平性
  • 批准号:
    10762522
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
Organizational resilience: A novel strategy for improving ICU outcomes
组织弹性:改善 ICU 治疗结果的新策略
  • 批准号:
    10586383
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
Improving rapid phenotypic drug susceptibility testing for drug resistant tuberculosis in high-burden areas
完善高负担地区耐药结核病快速表型药敏检测
  • 批准号:
    10658013
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
Improving communication outcomes in children with cleft palate in rural India
改善印度农村地区腭裂儿童的沟通效果
  • 批准号:
    10741579
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
Improving Performance of a Pediatric TeleMedicine and Medication Delivery Service through mHealth Technology
通过移动医疗技术提高儿科远程医疗和药物输送服务的性能
  • 批准号:
    10741179
  • 财政年份:
    2023
  • 资助金额:
    $ 2.48万
  • 项目类别:
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了