SHF:Small: Data Triggered Threads for Removing Redundant Execution and Increasing Parallelism

SHF:Small:数据触发线程,用于消除冗余执行并增加并行性

基本信息

  • 批准号:
    1219059
  • 负责人:
  • 金额:
    $ 50万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2012
  • 资助国家:
    美国
  • 起止时间:
    2012-06-01 至 2016-05-31
  • 项目状态:
    已结题

项目摘要

As high-performance general-purpose processors advance further into the chip multiprocessor era, with ever increasing core counts, the industry faces two huge challenges. The first is how to effectively use that hardware parallelism when much of the available software does not parallelize easily. The second challenge is managing the power and energy consumed by these processors. Given constrained power, we can only scale performance if we improve the performance delivered per Watt. Data-triggered threads (DTT) is a new programming and execution model designed to address both of these issues. Any conventional architecture that exploits parallelism does so by initiating new parallel computation based on control flow ? that is, execution (i.e., the core?s program counter) reaches a fork instruction or maybe a pthread create call. DTT instead spawns a new thread when data in memory is changed. The programmer specifies a function that is not attached to a set of call sites (a place in the program where the function is called), but rather is attached to a variable or even a field in a data structure type. When that variable is modified by the program, a thread in another core (or multithreading context) is automatically spawned to execute the data-triggered thread, containing code that depends on the changed data.Data-triggered threads provide two key advantages over traditional mechanisms for describing parallelism. The first is that the dependent computation becomes available immediately, as soon as the source data is modified. The second is that the dependent computation need only be executed if the triggering data is actually modified ? in many cases it is not. This work exploits a huge new opportunity to eliminate redundant computation. In the C SPEC benchmarks, 78% of loads are redundant (meaning the same load fetches the same value as the last time it went to the same address). The computation which operates on those values is often also redundant. Researchers in computer architecture and related areas have been working to reduce the power consumed by each instruction, and have made steady progress. It is far preferable, though, to just not execute those instructions ? no power or energy optimization will beat that.This research is exploring a number of opportunities to exploit this new execution model, including: (1) Data triggered threads via architectural support, (2) software-only data triggered threads, (3) data triggered threads to complement existing parallel applications, (4) automatic generation of data triggered threads in the compiler, and (5) programming experience with data triggered threads ? how does DTT code written from scratch differ from programs modified to use DTT, what kind of code will novice programmers produce, and how does that impact the architectural and software runtime implementations.Generation-to-generation performance scaling of processors is critically important to the national and world economy ? not just to hardware vendors, but also the software industries that sell products every time someone upgrades their system. The data triggered threads programming and execution model represents solutions to the two key barriers to performance scaling. It addresses the parallelism crisis by giving the programmer a new way to express parallelism. It addresses the power problem in the most effective way possible ? by not executing computation that does not need to be done.
随着高性能通用处理器进一步进入芯片多处理器时代,随着内核数量的不断增加,该行业面临着两个巨大的挑战。 第一个问题是,当许多可用软件不容易并行化时,如何有效地使用硬件并行性。 第二个挑战是管理这些处理器消耗的功率和能量。 在功率受限的情况下,只有提高每瓦性能,我们才能扩展性能。 数据触发线程(DTT)是一种新的编程和执行模型,旨在解决这两个问题。 任何利用并行性的传统架构都是通过基于控制流启动新的并行计算来实现的。即执行(即,核心?的程序计数器)到达fork指令或者可能是pthread创建调用。当内存中的数据发生更改时,DTT会生成一个新线程。 程序员指定一个函数,该函数不附加到一组调用位置(程序中调用该函数的位置),而是附加到一个变量,甚至是数据结构类型中的一个字段。 当该变量被程序修改时,另一个内核(或多线程上下文中)中的线程会自动生成以执行数据触发线程,其中包含依赖于更改的数据的代码。数据触发线程与传统的描述并行性的机制相比有两个关键优势。 第一个是,一旦源数据被修改,相关计算就立即可用。 第二个是,只有当触发数据实际上被修改时,才需要执行依赖计算。在许多情况下,情况并非如此。 这项工作利用了一个巨大的新机会来消除冗余计算。在C SPEC基准测试中,78%的加载是冗余的(这意味着相同的加载获取的值与上次到达相同地址时相同)。 对这些值进行运算的计算通常也是冗余的。计算机体系结构和相关领域的研究人员一直致力于降低每条指令的功耗,并取得了稳步进展。然而,最好是不执行这些指令。这项研究正在探索利用这种新的执行模式的许多机会,包括:(1)经由体系结构支持的数据触发线程,(2)仅软件数据触发线程,(3)补充现有并行应用的数据触发线程,(4)在编译器中自动生成数据触发线程,(5)有数据触发线程的编程经验?从头开始编写的DTT代码与修改后使用DTT的程序有何不同,新手程序员将生成什么样的代码,以及这对体系结构和软件运行时实现有何影响。处理器的逐代性能扩展对国家和世界经济至关重要?不仅仅是硬件供应商,还有每当有人升级他们的系统时就销售产品的软件行业。数据触发线程编程和执行模型代表了性能扩展的两个关键障碍的解决方案。它解决了并行性危机,为程序员提供了一种新的方式来表达并行性。它以最有效的方式解决了电力问题?通过不执行不需要完成的计算。

项目成果

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

Dean Tullsen其他文献

Temperature-Aware DRAM Cache Management—Relaxing Thermal Constraints in 3-D Systems
温度感知 DRAM 缓存管理 — 放宽 3D 系统中的热约束

Dean Tullsen的其他文献

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

{{ truncateString('Dean Tullsen', 18)}}的其他基金

FoMR: Heterogeneity Under-The-Hood: Leveraging the Decoder for Highly Specialized, Programmer Transparent Microarchitectures
FoMR:底层异构性:利用解码器实现高度专业化、程序员透明的微架构
  • 批准号:
    1823444
  • 财政年份:
    2018
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Context-Sensitive Decoding: Exploiting Translated ISAs for Security, Safety, Energy, and Performance
上下文相关解码:利用翻译后的 ISA 来实现安全、安全、能源和性能
  • 批准号:
    1652925
  • 财政年份:
    2016
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Medium: Bridging the Software/Hardware Gap Towards Efficient, Heterogeneous, and Predictable Datacenters
SHF:中:弥合软件/硬件差距,实现高效、异构和可预测的数据中心
  • 批准号:
    1302682
  • 财政年份:
    2013
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Architectural Support for New Parallel Execution Paradigms Via Agile Threads
SHF:小型:通过敏捷线程对新并行执行范式的架构支持
  • 批准号:
    1018356
  • 财政年份:
    2010
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Architectural Support for Parallelism on Multi-Core Architectures
多核架构上并行性的架构支持
  • 批准号:
    0702349
  • 财政年份:
    2007
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Concurrent Optimization for Multi-Core and Multithreaded Architectures
多核和多线程架构的并发优化
  • 批准号:
    0541434
  • 财政年份:
    2006
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
Compiler Optimizations to Exploit Simultaneous Multithreading
利用同步多线程的编译器优化
  • 批准号:
    0311683
  • 财政年份:
    2003
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
Critical Path Computing
关键路径计算
  • 批准号:
    0105743
  • 财政年份:
    2001
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Hardware Generation of Threads in a Multithreading Processor
多线程处理器中线程的硬件生成
  • 批准号:
    9808697
  • 财政年份:
    1998
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
CAREER: A Simultaneous Multithreading System Architecture
职业:同步多线程系统架构
  • 批准号:
    9701708
  • 财政年份:
    1997
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant

相似国自然基金

昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
  • 批准号:
  • 批准年份:
    2024
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
  • 批准号:
    n/a
  • 批准年份:
    2022
  • 资助金额:
    10.0 万元
  • 项目类别:
    省市级项目
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
  • 批准号:
    32000033
  • 批准年份:
    2020
  • 资助金额:
    24.0 万元
  • 项目类别:
    青年科学基金项目
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
  • 批准号:
    31972324
  • 批准年份:
    2019
  • 资助金额:
    58.0 万元
  • 项目类别:
    面上项目
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
  • 批准号:
    81900988
  • 批准年份:
    2019
  • 资助金额:
    21.0 万元
  • 项目类别:
    青年科学基金项目
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
  • 批准号:
    31870821
  • 批准年份:
    2018
  • 资助金额:
    56.0 万元
  • 项目类别:
    面上项目
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
  • 批准号:
    31802058
  • 批准年份:
    2018
  • 资助金额:
    26.0 万元
  • 项目类别:
    青年科学基金项目
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
  • 批准号:
    31772128
  • 批准年份:
    2017
  • 资助金额:
    60.0 万元
  • 项目类别:
    面上项目
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
  • 批准号:
    81704176
  • 批准年份:
    2017
  • 资助金额:
    20.0 万元
  • 项目类别:
    青年科学基金项目
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
  • 批准号:
    91640114
  • 批准年份:
    2016
  • 资助金额:
    85.0 万元
  • 项目类别:
    重大研究计划

相似海外基金

SHF: Small: Modular Automated Verification of Concurrent Data Structures
SHF:小型:并发数据结构的模块化自动验证
  • 批准号:
    2304758
  • 财政年份:
    2023
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Scalable and Extensible I/O Runtime and Tools for Next Generation Adaptive Data Layouts
协作研究:SHF:小型:可扩展和可扩展的 I/O 运行时以及下一代自适应数据布局的工具
  • 批准号:
    2401274
  • 财政年份:
    2023
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Data Movement Complexity: Theory and Optimization
SHF:小型:数据移动复杂性:理论与优化
  • 批准号:
    2217395
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: CT-DDS -- Scalable Concolic Testing of Parallel Applications With Shared Dynamic Data Structures
SHF:小型:CT-DDS——具有共享动态数据结构的并行应用程序的可扩展 Concolic 测试
  • 批准号:
    2226448
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Methods, Workflows, and Data Commons for Reducing Training Costs in Neural Architecture Search on High-Performance Computing Platforms
SHF:小型:降低高性能计算平台上神经架构搜索训练成本的方法、工作流程和数据共享
  • 批准号:
    2223704
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Scalable and Extensible I/O Runtime and Tools for Next Generation Adaptive Data Layouts
协作研究:SHF:小型:可扩展和可扩展的 I/O 运行时以及下一代自适应数据布局的工具
  • 批准号:
    2221811
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Data-Driven Lemma Synthesis for Interactive Proofs
协作研究:SHF:小型:交互式证明的数据驱动引理合成
  • 批准号:
    2220891
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Towards High Performance Serverless Edge Computing for Data-intensive Applications
SHF:小型:面向数据密集型应用程序的高性能无服务器边缘计算
  • 批准号:
    2230620
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Scalable and Extensible I/O Runtime and Tools for Next Generation Adaptive Data Layouts
协作研究:SHF:小型:可扩展和可扩展的 I/O 运行时以及下一代自适应数据布局的工具
  • 批准号:
    2221812
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Ubiquitous and Transparent Near-data Computing for General Purpose Processors
SHF:小型:通用处理器的无处不在且透明的近数据计算
  • 批准号:
    2200831
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了