首页> 外文会议> >Metrics and techniques for automatic partitioning and assignment of object-based concurrent programs
【24h】

Metrics and techniques for automatic partitioning and assignment of object-based concurrent programs

机译:基于对象的并发程序的自动分区和分配的度量和技术

获取原文

摘要

The software crises is defined as the inability to meet the demands for new software systems, due to the slow rate at which systems can be developed. To address the crisis, object-based design and implementation techniques and domain models have been developed. However, object-based techniques do not address an additional problem that plagues systems engineers-the effective utilization of distributed and parallel hardware platforms. This problem is partly addressed by program partitioning languages that allow engineers to specify how software components should be partitioned and assigned to the nodes of concurrent computers. However, very little has been done to automate the tasks of partitioning and assignment at the task and object level of granularity. Thus, this paper describes automated techniques for distributed/parallel configuration of object-based applications, and demonstrates the technique on Ada programs. The granularity of partitioning is at the level of the Ada program unit (a program unit is an object, a class, a task, a package (possibly a generic template) or a subprogram). The partitioning is performed by constructing a call-rendezvous graph (CRG) for an application program. The nodes of the graph represent the program units, and the edges denote call and task interaction/rendezvous relationships. The CRG is augmented with edge weights depicting inter-program-unit communication relationships and concurrency relationships, resulting in a weighted CRG (WCRC). The partitioning algorithm repeatedly "cuts" edges of the WCRG with the goal of producing a set of partitions among which (1) there is a small amount of communication and (2) there is a large degree of potential for concurrent execution. Following the partitioning of the WCRG into tightly coupled clusters, a random neural network is employed to assign clusters to physical processors.
机译:软件危机的定义是由于开发系统的速度较慢而无法满足对新软件系统的需求。为了解决危机,已经开发了基于对象的设计和实现技术以及领域模型。但是,基于对象的技术不能解决困扰系统工程师的其他问题-分布式和并行硬件平台的有效利用。程序分区语言部分解决了此问题,程序划分语言使工程师可以指定应如何划分软件组件并将其分配给并发计算机的节点。但是,在粒度和任务级别的对象上,几乎没有完成自动化分区和分配任务的工作。因此,本文描述了用于基于对象的应用程序的分布式/并行配置的自动化技术,并在Ada程序上演示了该技术。分区的粒度在Ada程序单元(程序单元是对象,类,任务,包(可能是通用模板)或子程序)的级别上。通过为应用程序构造调用会合图(CRG)来执行分区。图的节点表示程序单元,边缘表示调用和任务交互/交会关系。使用边缘权重来增强CRG,该权重描述了程序单元之间的通信关系和并发关系,从而产生了加权的CRG(WCRC)。分区算法反复“剪切” WCRG的边缘,目的是生成一组分区,其中(1)通信量少,(2)并发执行的可能性大。在将WCRG划分为紧密耦合的群集之后,使用随机神经网络将群集分配给物理处理器。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号