Synchronization Issues in Data-Parallel Languages

Synchronization Issues in Data-Parallel Languages
复制标题

数据并行语言中的同步问题

DOI:
--
复制
发表时间:
1993
期刊:
International Workshop on Languages and Compilers for Parallel Computing
影响因子:
--
通讯作者:
R. Bagrodia
R. Bagrodia
中科院分区:
--
文献类型:
--
作者:
S. Prakash;Maneesh Dhagat;R. Bagrodia

文献摘要

被引文献

相似文献

数据并行编程已经成为编程一大类科学应用程序的首选方式。在本文中,我们解决的问题,减少同步成本时,实现数据并行语言的异步架构。同步问题是从两个角度来解决的:首先,我们描述的语言结构,允许程序员指定的数据并行程序的不同部分在不同级别的粒度同步。其次,我们展示了如何使用现有的工具和算法的数据依赖分析的编译器,以减少障碍的数量,并取代全球的障碍,更便宜的集群同步。虽然在本文中提出的技术是通用的,我们描述他们的背景下,在加州大学洛杉矶分校开发的数据并行语言称为UC。通过减少同步时间和处理器停顿时间,减少屏障的数量可以改善程序执行时间。
Data-parallel programming has established itself as the preferred way of programming a large class of scientific applications. In this paper, we address the issue of reducing synchronization costs when implementing a data-parallel language on an asynchronous architecture. The synchronization issue is addressed from two perspectives: first, we describe language constructs that allow the programmer to specify that different parts of a data-parallel program be synchronized at different levels of granularity. Secondly, we show how existing tools and algorithms for data dependency analysis can be used by the compiler to both reduce the number of barriers and to replace global barriers by cheaper clustered synchronizations. Although the techniques presented in the paper are general purpose, we describe them in the context of a data-parallel language called UC developed at UCLA. Reducing the number of barriers improves program execution time by reducing synchronization time and also processor stall times.