HAMLET: Hardware Enabled Meta-Tracing (ext.)

HAMLET:硬件启用元跟踪(扩展)

基本信息

  • 批准号:
    EP/S020861/1
  • 负责人:
  • 金额:
    $ 117.61万
  • 依托单位:
  • 依托单位国家:
    英国
  • 项目类别:
    Fellowship
  • 财政年份:
    2019
  • 资助国家:
    英国
  • 起止时间:
    2019 至 无数据
  • 项目状态:
    已结题

项目摘要

As our software systems grow in size and complexity, increasingly diverse usershave different wants and needs from their languages: the right language for astatistician (e.g. R) is different from that of someone who formally verifiessafety properties (e.g. OCaml), which is different again from someone creatinguser-facing apps (e.g. Javascript). However, different languages inhabitdifferent silos and interactions between them are crude and slow. Languagecomposition has long been touted as the solution to this problem, allowinglanguages to be used together in a fine-grained way, but has traditionallystruggled to match this promise. In the Lecture Fellowship, my team and I showedthat large, messy, real-world languages can be composed together, even allowingdifferent languages to be intermingled within a single line of code. We wereable to make the performance of such multi-lingual programs close to theirmono-language constituents, showing that language composition's promise is real.However, in the course of this research, an unexpected problem became apparent:Virtual Machines (VMs), the systems used to make many languages run fast (andwhich are crucial to the good performance of language composition), do notperform as expected. In the largest VM experiment to date, we showedthat VMs perform incorrectly in around 60% of cases. Attempts to fix existingVMs have largely failed, because the problems are so deeply embedded that theycannot be teased out, even after careful examination. This is a significantproblem for language composition, for which VMs are a foundational pillar.This Fellowship Extension thus aims to show that VMs can have good, predictableperformance and that they are a suitable foundational pillar for languagecomposition. However, we cannot expect to create a traditional VM, which oftenconsume tens, hundreds, or thousands of person years of effort. Instead, my teamand I will create a new meta-tracing VM system, since history shows that thesecan be created in a small number of person years. Fortunately for us,meta-tracing has also been shown as the fastest way to run multi-lingualprograms, so it is a natural fit. We will rigorously benchmark the newmeta-tracing system we create from the beginning of, and throughout, itsdevelopment. This will enable us to observe performance regressions soon afterthey occur, allowing us to fix them quickly.We will also take the opportunity to address one of meta-tracing's biggestweaknesses: its slow warmup, that is the time between a program starting, andJIT compilation completing. Tracing currently involves a software interpreterinterpreting a software interpreter, with a 100-200x overhead when a loop istraced. We will use the Processor Trace (PT) feature found in recent x86 chipsto move the software part of meta-tracing into hardware, giving a roughly 100xspeed-up to this critical phase of the system. That will also allow us to bemore aggressive in optimising other parts of the tracer that currently causepoor warm-up.At the end of this Fellowship Extension, alongside traditional research papers,we will produce an open-source release of our new meta-tracing system. This willallow others to build on our work, be that for language composition, or simplyto make individual languages run fast.
随着我们的软件系统在规模和复杂性上的增长,越来越多的用户对他们的语言有着不同的需求:统计学家(例如R)的正确语言不同于正式验证安全属性的人(例如OCaml),这又不同于创建面向用户的应用程序的人(例如JavaScript)。然而,不同的语言居住在不同的筒仓和他们之间的互动是粗糙和缓慢的。组合语言长期以来一直被吹捧为这个问题的解决方案,允许语言以细粒度的方式一起使用,但传统上一直在努力实现这一承诺。在讲座奖学金中,我和我的团队展示了大型的,混乱的,现实世界的语言可以组合在一起,甚至允许不同的语言混合在一行代码中。我们能够使这种多语言程序的性能接近它们的单语言成分,这表明语言组合的前景是真实的。然而,在这项研究的过程中,一个意想不到的问题变得明显:虚拟机(VM),用于使许多语言快速运行的系统(这对语言组合的良好性能至关重要),并没有像预期的那样运行。在迄今为止最大的虚拟机实验中,我们发现虚拟机在大约60%的情况下执行不正确。修复现有虚拟机的尝试基本上都失败了,因为这些问题根深蒂固,即使经过仔细检查也无法梳理出来。这是语言组合的一个重要问题,VM是语言组合的基础支柱。因此,本奖学金扩展旨在表明VM可以具有良好的,可预测的性能,并且它们是语言组合的合适基础支柱。然而,我们不能期望创建传统的虚拟机,因为它通常需要花费数十、数百或数千人年的努力。相反,我和我的团队将创建一个新的元跟踪VM系统,因为历史表明,这些可以在少量的人年内创建。对我们来说幸运的是,元跟踪也被证明是运行多语言程序的最快方法,所以它是一个自然的适合。我们将严格的基准测试新的元跟踪系统,我们创建从一开始,并在整个发展。这将使我们能够在性能下降发生后不久就观察到它们,从而使我们能够快速修复它们。我们还将借此机会解决元跟踪的最大弱点之一:它的缓慢预热,即程序启动和JIT编译完成之间的时间。跟踪目前涉及到一个软件解释器解释一个软件解释器,当一个循环被跟踪时,开销是100- 200倍。我们将使用最近x86芯片中的处理器跟踪(PT)功能,将元跟踪的软件部分移动到硬件中,使系统的这个关键阶段的速度提高约100倍。这也将使我们能够更加积极地优化目前导致预热效果不佳的跟踪器的其他部分。在这次奖学金延期结束时,除了传统的研究论文,我们将发布一个开源的新元跟踪系统。这将允许其他人建立在我们的工作上,无论是语言组合,还是简单地使个别语言运行得更快。

项目成果

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

Laurence Tratt其他文献

Capable VMs Project Overview (Poster Abstract)
Capable VMs 项目概述(海报摘要)

Laurence Tratt的其他文献

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

{{ truncateString('Laurence Tratt', 18)}}的其他基金

Chrompartments: Hybrid Compartmentalisation for Web Browsers
Chrompartments:Web 浏览器的混合分区
  • 批准号:
    EP/X015963/1
  • 财政年份:
    2022
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Research Grant
CapableVMs
有能力的虚拟机
  • 批准号:
    EP/V000373/1
  • 财政年份:
    2020
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Research Grant
LECTURE: LanguagE ComposiTion UnifiEd
讲座:统一语言构成
  • 批准号:
    EP/L02344X/1
  • 财政年份:
    2014
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Fellowship
COOLER: COmpOsing LanguagE Runtimes
COOLER:编写语言运行时
  • 批准号:
    EP/K01790X/1
  • 财政年份:
    2013
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Research Grant

相似海外基金

CRII: SaTC: Reliable Hardware Architectures Against Side-Channel Attacks for Post-Quantum Cryptographic Algorithms
CRII:SaTC:针对后量子密码算法的侧通道攻击的可靠硬件架构
  • 批准号:
    2348261
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Standard Grant
Reversible Computing and Reservoir Computing with Magnetic Skyrmions for Energy-Efficient Boolean Logic and Artificial Intelligence Hardware
用于节能布尔逻辑和人工智能硬件的磁斯格明子可逆计算和储层计算
  • 批准号:
    2343607
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
  • 批准号:
    2403134
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Standard Grant
SWIFT-SAT: Unlimited Radio Interferometry: A Hardware-Algorithm Co-Design Approach to RAS-Satellite Coexistence
SWIFT-SAT:无限无线电干涉测量:RAS 卫星共存的硬件算法协同设计方法
  • 批准号:
    2332534
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Standard Grant
CAREER: Data-Driven Hardware and Software Techniques to Enable Sustainable Data Center Services
职业:数据驱动的硬件和软件技术,以实现可持续的数据中心服务
  • 批准号:
    2340042
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Continuing Grant
SaTC: CORE: Small: An evaluation framework and methodology to streamline Hardware Performance Counters as the next-generation malware detection system
SaTC:核心:小型:简化硬件性能计数器作为下一代恶意软件检测系统的评估框架和方法
  • 批准号:
    2327427
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Continuing Grant
Hardware Security Module for secure delegated Quantum Cloud Computing
用于安全委托量子云计算的硬件安全模块
  • 批准号:
    EP/Z000564/1
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Research Grant
Hardware-aware Network Architecture Search under ML Training workloads
ML 训练工作负载下的硬件感知网络架构搜索
  • 批准号:
    2904511
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Studentship
SHF: Small: Taming Huge Page Problems for Memory Bulk Operations Using a Hardware/Software Co-Design Approach
SHF:小:使用硬件/软件协同设计方法解决内存批量操作的大页面问题
  • 批准号:
    2400014
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Standard Grant
Collaborative Research: Reversible Computing and Reservoir Computing with Magnetic Skyrmions for Energy-Efficient Boolean Logic and Artificial Intelligence Hardware
合作研究:用于节能布尔逻辑和人工智能硬件的磁斯格明子可逆计算和储层计算
  • 批准号:
    2343606
  • 财政年份:
    2024
  • 资助金额:
    $ 117.61万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了