Invasive Computing: An Overview

Invasive Computing: An Overview
复制标题

侵入式计算:概述

DOI:
10.1007/978-1-4419-6460-1_11
复制
发表时间:
2011
期刊:
Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware
影响因子:
--
通讯作者:
G. Snelting
G. Snelting
中科院分区:
--
文献类型:
--
作者:
J. Teich;J. Henkel;A. Herkersdorf;D. Schmitt;Wolfgang Schröder;G. Snelting

文献摘要

被引文献

相似文献

提出了一种设计和编程未来并行计算系统的新范式,称为入侵计算。入侵计算的主要思想和新奇是引入资源感知的编程支持,在这个意义上,一个给定的程序得到的能力,探索和动态传播其计算到相邻的处理器在一个阶段称为入侵,然后执行部分代码的高并行度并行的基础上,在一个给定的多处理器架构上的可用的入侵区域。之后,一旦程序终止或者如果并行度应该再次降低,则程序可以进入撤退阶段,重新分配资源并且再次恢复执行,例如,在单个处理器上顺序地执行。为了支持这种自适应和资源感知编程的思想,不仅需要新的编程概念、语言、编译器和操作系统,而且必须在多处理器片上系统的设计中提供革命性的架构变化,以便有效地支持涉及动态处理器、互连和存储器重新配置的概念的入侵、感染和撤退操作。这一贡献揭示了主要思想,潜在的好处和挑战,支持入侵计算在建筑,编程和编译器的水平在未来。它提供了所需的研究课题的概述,而不是能够提出成熟的解决方案。
A novel paradigm for designing and programming future parallel computing systems called invasive computing is proposed. The main idea and novelty of invasive computing is to introduce resource-aware programming support in the sense that a given program gets the ability to explore and dynamically spread its computations to neighbour processors in a phase called invasion, then to execute portions of code of high parallelism degree in parallel based on the available invasible region on a given multi-processor architecture. Afterwards, once the program terminates or if the degree of parallelism should be lower again, the program may enter a retreat phase, deallocate resources and resume execution again, for example, sequentially on a single processor. To support this idea of self-adaptive and resource-aware programming, not only new programming concepts, languages, compilers and operating systems are necessary but also revolutionary architectural changes in the design of Multi-Processor Systems-on-a-Chip must be provided so to efficiently support invasion, infection and retreat operations involving concepts for dynamic processor, interconnect and memory reconfiguration. This contribution reveals the main ideas, potential benefits and challenges for supporting invasive computing at the architectural, programming and compiler level in the future. It serves to give an overview of required research topics rather than being able to present mature solutions yet.