0


并发集合(CnC):并行编程的新方法

Concurrent Collections (CnC): A new approach to parallel programming
课程网址: http://videolectures.net/cerncompseminar_knobe_collections/  
主讲教师: Kathleen Knobe
开课单位: 英特尔公司
开课时间: 2011-10-12
课程语种: 英语
中文简介:
设计并行语言的一种常用方法是提供一些高级句柄来操纵并行平台的使用。这暴露了目标平台的某些方面,例如,共享内存和分布式内存。它可能会暴露一些但不是所有类型的并行性,例如数据并行性而不是任务并行性。这种方法必须在为域专家提供简单视图的愿望和提供足够的调优功能之间找到平衡。这对于任何给定的体系结构都很难,如果该语言适用于一系列体系结构则更难。无论是简单还是功耗都失败了。我们将语言设计问题视为为程序员提供高级句柄而不是查看语言设计问题,而是将问题视为设计界面之一。该界面的一方是程序员(领域专家),他知道应用程序但不需要了解平台的任何方面。接口的另一面是性能专家(程序员或程序),他们需要最大的灵活性来优化映射到各种目标平台(并行/串行,共享/分布,同构/异构等),但不需要领域知识。并发集合(CnC)基于这种关注点分离。谈话将介绍CnC及其好处。
课程简介: A common approach in designing parallel languages is to provide some high level handles to manipulate the use of the parallel platform. This exposes some aspects of the target platform, for example, shared vs. distributed memory. It may expose some but not all types of parallelism, for example, data parallelism but not task parallelism. This approach must find a balance between the desire to provide a simple view for the domain expert and provide sufficient power for tuning. This is hard for any given architecture and harder if the language is to apply to a range of architectures. Either simplicity or power is lost. Instead of viewing the language design problem as one of providing the programmer with high level handles, we view the problem as one of designing an interface. On one side of this interface is the programmer (domain expert) who knows the application but needs no knowledge of any aspects of the platform. On the other side of the interface is the performance expert (programmer or program) who demands maximal flexibility for optimizing the mapping to a wide range of target platforms (parallel / serial, shared / distributed, homogeneous / heterogeneous, etc.) but needs no knowledge of the domain. Concurrent Collections (CnC) is based on this separation of concerns. The talk will present CnC and its benefits.
关 键 词: 并行语言; 高级句柄; 共享内存; 分布式内存; 数据并行性; 任务并行性; 并发集合(CnC)
课程来源: 视频讲座网
最后编审: 2019-10-22:cwx
阅读次数: 33