ITR: A Language, Compilers and Tools for the Streaming Application Domain
ITR:流应用程序领域的语言、编译器和工具
基本信息
- 批准号:0325297
- 负责人:
- 金额:--
- 依托单位:
- 依托单位国家:美国
- 项目类别:Continuing Grant
- 财政年份:2003
- 资助国家:美国
- 起止时间:2003-10-01 至 2009-09-30
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Applications centered around streams of data are becoming increasingly important and widespread. In the distributed realm, there are sensor networks, location-aware devices, and intelligent appliances, which require decentralized processing and robust communication via streams. In the embedded domain, there are handheld computers and cell phones which process data streams under tight resource con-straints. There are also high-performance applications such as software routers, cell phone base stations, and radar image processing, in which the stream abstraction must be mapped efficiently to the latest supercomputers. In all, we believe that streams will be the cornerstone of next-generation software.The goal of the StreamIt project is to establish a high-level programming paradigm for the streaming domain. In all of the applications listed above, there are intense demands on the programmer. StreamIt provides a high-level stream language in which the inherent complexities of the domain are handled by a stream-aware compiler. A program is written as a set of autonomous filters, each of which contains its own memory and communicates with its neighbors through data channels. This exposes the parallelism and communication patterns, giving more power to the compiler. We believe that this will lead to a dramatic improvement in programmer productivity, program robustness, and portability in three distinct communities. The first target is heterogeneous distributed computing, in which unreliable devices are communicating in ad-hoc networks with applications spread across multiple nodes. To address the challenge of partitioning a program across multiple nodes, StreamIt provides a "single machine abstraction" to the programmer. Filters are specified at the granularity of the algorithm, and the compiler maps them to nodes according to run-time resource constraints. StreamIt will also provide high-level support for fault-tolerance. If an unreliable node fails, a lightweight runtime system can leverage static compiler analysis to recover crucial data from a backup node, automatically relocate the computation, and continue processing.The second focus area for StreamIt is domain-specific optimization for the embedded and DSP communities. To eradicate costly hand-written assembly code, StreamIt will include domain-specific code generation strategies such as cache-constrained scheduling, stream-aware storage management, and new calling conventions for stream programs. To lower the expertise needed for high-level algorithm design, StreamIt will also include novel algorithmic transformations such as detection of linear nodes and automated translation to the frequency domain.The third thrust of StreamIt is with regards to high-performance computer architecture. StreamIt aims to provide a common machine language (CML) for the emerging class of communication-exposed machines. Just as C was a CML for von-Neumann architectures, StreamIt will hide the variations from one machine from another while capturing the properties that are important for obtaining performance. This will provide the foundation for a portable programming model for communication-exposed machines.A final focus of StreamIt is one that interweaves through all of the preceding themes: a full characterization and understanding of the streaming application domain. The project will include the study and implementation of a wide range of state-of-the-art stream algorithms, thereby exposing their common properties and providing a framework for future research on stream languages and compilation.To show the feasibility of this project, we have created a prototype version of the StreamIt language, a large collection of streaming programs written in StreamIt, a compiler that maps StreamIt to uniprocessors, and an optimizing compiler that maps StreamIt onto the Raw communication-exposed architecture.
以数据流为中心的应用正变得越来越重要和广泛。 在分布式领域中,有传感器网络、位置感知设备和智能电器,它们需要通过流进行分散处理和鲁棒通信。在嵌入式领域,有手持计算机和手机,在严格的资源约束下处理数据流。还有一些高性能应用,如软件路由器、手机基站和雷达图像处理,其中流抽象必须有效地映射到最新的超级计算机。总之,我们相信流将是下一代软件的基石。StreamIt项目的目标是为流领域建立一个高级编程范例。在上面列出的所有应用程序中,对程序员的要求都很高。StreamIt提供了一种高级流语言,其中域的固有复杂性由流感知编译器处理。程序被编写为一组自治过滤器,每个过滤器都包含自己的内存,并通过数据通道与相邻的过滤器进行通信。这公开了并行性和通信模式,从而为编译器提供了更多的功能。我们相信,这将导致程序员的生产力,程序的健壮性和可移植性在三个不同的社区显着改善。 第一个目标是异构分布式计算,其中不可靠的设备在ad-hoc网络中与分布在多个节点上的应用程序进行通信。为了解决跨多个节点划分程序的挑战,StreamIt为程序员提供了一个“单机抽象”。过滤器是在算法的粒度上指定的,编译器根据运行时资源约束将它们映射到节点。StreamIt还将为容错提供高级支持。如果一个不可靠的节点发生故障,轻量级运行时系统可以利用静态编译器分析从备份节点恢复关键数据,自动重新定位计算,并继续处理。StreamIt的第二个重点领域是针对嵌入式和DSP社区的特定领域优化。为了消除昂贵的手写汇编代码,StreamIt将包括特定于域的代码生成策略,例如缓存约束调度,流感知存储管理和流程序的新调用约定。为了降低高级算法设计所需的专业知识,StreamIt还将包括新的算法转换,如线性节点检测和自动转换到频域。StreamIt的第三个推力是关于高性能计算机架构。StreamIt旨在为新兴的通信暴露机器提供一种公共机器语言(CML)。就像C语言是von-Neumann体系结构的CML一样,StreamIt将在一台机器上隐藏另一台机器的变化,同时捕获对获得性能很重要的属性。这将为面向通信的机器提供一个可移植编程模型的基础。Stream的最后一个重点是与前面所有主题交织在一起的一个重点:对流应用程序域的全面描述和理解。该项目将包括研究和实现各种最先进的流算法,从而揭示它们的共同属性,并为未来的流语言和编译研究提供一个框架。为了证明该项目的可行性,我们创建了StreamIt语言的原型版本,一个用StreamIt编写的流程序的大型集合,一个将StreamIt映射到单处理器的编译器,以及将StreamIt映射到Raw通信公开架构上的优化编译器。
项目成果
期刊论文数量(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 }}
Saman Amarasinghe其他文献
NetBlocks: Staging Layouts for High-Performance Custom Host Network Stacks
NetBlocks:高性能自定义主机网络堆栈的分段布局
- DOI:
- 发表时间:
2024 - 期刊:
- 影响因子:0
- 作者:
Ajay Brahmakshatriya;Chris Rinard;M. Ghobadi;Saman Amarasinghe - 通讯作者:
Saman Amarasinghe
The Continuous Tensor Abstraction: Where Indices are Real
连续张量抽象:索引为实数的地方
- DOI:
- 发表时间:
2024 - 期刊:
- 影响因子:0
- 作者:
Jaeyeon Won;Willow Ahrens;J. Emer;Saman Amarasinghe - 通讯作者:
Saman Amarasinghe
Mechanised Hypersafety Proofs about Structured Data: Extended Version
关于结构化数据的机械化超安全证明:扩展版本
- DOI:
10.1145/3656403 - 发表时间:
2024 - 期刊:
- 影响因子:0
- 作者:
Vladimir Gladshtein;Qiyuan Zhao;Willow Ahrens;Saman Amarasinghe;Ilya Sergey - 通讯作者:
Ilya Sergey
Saman Amarasinghe的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Saman Amarasinghe', 18)}}的其他基金
PPoSS: LARGE: Intel: Combining Learning and Formal Verification for Scalable Machine Programming (ScaMP)
PPoSS:大:英特尔:结合学习和形式验证实现可扩展机器编程 (ScaMP)
- 批准号:
2217064 - 财政年份:2022
- 资助金额:
-- - 项目类别:
Continuing Grant
PFI-TT: A tool to automatically generate and optimize programs to operate on complex big data
PFI-TT:自动生成和优化程序以处理复杂大数据的工具
- 批准号:
2044424 - 财政年份:2021
- 资助金额:
-- - 项目类别:
Standard Grant
XPS: FULL: DSD: Scalable High Performance with Halide and Simit Domain Specific Languages
XPS:完整:DSD:使用 Halide 和 Simit 领域特定语言的可扩展高性能
- 批准号:
1533753 - 财政年份:2015
- 资助金额:
-- - 项目类别:
Standard Grant
Collaborative Research: Programmable Microfluidics: A Universal Substrate for Biological Computing
合作研究:可编程微流体:生物计算的通用基础
- 批准号:
0541319 - 财政年份:2006
- 资助金额:
-- - 项目类别:
Continuing Grant
NGS: StreamIt: A Language and a Compiler for Streaming Applications
NGS:StreamIt:流应用程序的语言和编译器
- 批准号:
0305453 - 财政年份:2004
- 资助金额:
-- - 项目类别:
Continuing Grant
CISE Experimental Partnerships: MIT Raw Machine
CISE 实验合作伙伴:MIT Raw Machine
- 批准号:
0071841 - 财政年份:2000
- 资助金额:
-- - 项目类别:
Continuing Grant
相似海外基金
Doctoral Dissertation Research: Aspect and Event Cognition in the Acquisition and Processing of a Second Language
博士论文研究:第二语言习得和处理中的方面和事件认知
- 批准号:
2337763 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Standard Grant
Collaborative Research: Conference: Large Language Models for Biological Discoveries (LLMs4Bio)
合作研究:会议:生物发现的大型语言模型 (LLMs4Bio)
- 批准号:
2411529 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Standard Grant
Collaborative Research: Conference: Large Language Models for Biological Discoveries (LLMs4Bio)
合作研究:会议:生物发现的大型语言模型 (LLMs4Bio)
- 批准号:
2411530 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Standard Grant
REU Site: Recent Advances in Natural Language Processing
REU 网站:自然语言处理的最新进展
- 批准号:
2349452 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Standard Grant
EAGER: Accelerating decarbonization by representing catalysts with natural language
EAGER:通过用自然语言表示催化剂来加速脱碳
- 批准号:
2345734 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Standard Grant
SBIR Phase II: Intelligent Language Learning Environment
SBIR第二阶段:智能语言学习环境
- 批准号:
2335265 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Cooperative Agreement
Conference: Bridging Child Language Research to Practice for Language Revitalization
会议:将儿童语言研究与语言复兴实践联系起来
- 批准号:
2331639 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Standard Grant
Combining eye-tracking and comparative judgments to identify proficiency differences for more effective language learning
结合眼动追踪和比较判断来识别熟练程度差异,以实现更有效的语言学习
- 批准号:
24K16140 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Grant-in-Aid for Early-Career Scientists
Reel Voices: Empowering Language Learners Through Filmmaking
Reel Voices:通过电影制作赋予语言学习者权力
- 批准号:
24K04057 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Grant-in-Aid for Scientific Research (C)
Teacher and learner views on motivation in the language classroom
教师和学习者对语言课堂动机的看法
- 批准号:
24K04067 - 财政年份:2024
- 资助金额:
-- - 项目类别:
Grant-in-Aid for Scientific Research (C)