Groovy并行模式:一个面向过程的并行化库
Groovy Parallel Patterns: A Process oriented Parallelization Library
摘要:
提出了一种新的并行模式库,Groovy并行模式,从一开始,已被设计为利用更一般的过程并行比通常的数据和任务并行架构。该库在标准Java虚拟机上执行。该库提供了一个进程集合,这些进程可以插入到一起以形成各种并行架构,本质上是它自己的DSL。利用形式化方法证明了一个进程网络是无死锁、无活锁的,并能正确终止。错误捕获和基本的日志记录机制已被纳入。该库可以有效地细化过程网络之间的解决方案,也可以使用正式的方法进行检查。库用户只需要将所需的方法创建为顺序代码片段,通常取自现有的顺序解决方案,然后可以根据需要由进程调用。该库的效用是证明了几个例子,包括:蒙特卡罗方法,和谐,雅可比解决方案,N体问题和Mandelbrot,这是实现在一个多核处理器和工作站集群。的例子进行了分析的加速比和效率,表现出良好的和一致的性能改善可用的处理器内核和工作站的数量。
英文摘要:
A novel parallel patterns library, Groovy Parallel Patterns, is presented which, from the outset, has been designed to exploit more general process parallelism than the usual data and task parallel architectures. The library executes on a standard Java Virtual Machine. The library provides a collection of processes that can be plugged together to form a variety of parallel architectures and is intrinsically its own DSL. A network of processes is guaranteed to be deadlock and livelock free and terminate correctly and this is proved by the use of formal methods. Error capture and a basic logging mechanism have been incorporated. The library enables effective refinement of solutions between process networks which can be checked also using formal methods. A library user is only required to create the required methods as pieces of sequential code, typically taken from extant sequential solutions, which can then be invoked by the processes as required. The utility of the library is demonstrated by several examples including; Monte Carlo Methods, Concordance, Jacobi solutions, N-body problems and Mandelbrot, which is implemented on both a multicore processor and a workstation cluster. The examples are analysed for speedup and efficiency, which show good and consistent performance improvement up to the number of available processor cores and workstations.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。