请输入您要查询的百科知识:

 

词条 tuplespace
释义

并行机一般可分为基于共享存储器的多处理机和基于分布存储器的多处理机, 在共享存储多处理机上, 一般采用共享存储的编程方式, 它是对传统串行语言的扩充, 编程较为容易; 在分布存储多处理机上一般采用message-passing方式编写程序, 像上面介绍的几个程序设计环境均属于此类. Linda与前面介绍的编程环境不同, 虽然它也是运行在分布存储多处理机上, 但它引入了虚拟共享存储概念, 通过在各处理机上实现一个虚拟的共享存储器, 将分布存储多处理机模拟成为基于共享存储器的多处理机, 从而达到支持共享存储编程方式的目的。

Linda是美国Yale大学与科学计算协会共同研制的用于实现并行程序设计的, 与机器无关的程序环境. Linda通过增加一些函数对传统的程序设计语言进行扩充(如C, Fortran等), 使其能实现并行程序的设计. 将Linda映射到各计算语言中, 就形成了可进行并行计算的程序语言C-Linda, Fortran-Linda. Linda可以运行在共享存储多处理机, 分布存储多处理机以及工作站机群系统上.

Linda的虚拟共享存储器称为元组空间( Tuple Space), 元组空间由一组有序的元组(tuple)组成, 元组的每个域都包含有实际的数据. 元组空间是相联存储器, 元组的标识与选择是通过域值匹配, 而不是通常采用的地址选择方法。

Linda提供了以下4种对元组的基本操作:

. out: 将数据放入元组空间, 整个操作是顺序进行的;

. eval: 功能同out, 但它是并行执行的;

. in: 从元组空间中选择匹配的数据, 并将数据从元组空间中删除;

. rd: 功能同in, 但它不将数据从元组空间中删除.

当两个进程需要交换数据时, 它们并不是采用message-passing来直接通讯, 而是通过读写Tuple空间来完成(同共享存储多处理机的并行程序设计). 例如: 如果A进程需要向B进程传递数据, 则需要完成以下的操作:

1) A向Tuple空间写一个数据;

2) B在Tuple空间中读取需要的数据.

Linda在编译系统和运行系统上作了很多优化工作, 使用Linda编写的应用程序在效率上能够接近用传统message-passing编写的应用程序。

Linda系统从其特点与功能上看, 适合于处理一个结点上具有多个处理进程, 进程间具有不明确的数据通讯, 且进程间需要较强的同步机制以及全局通讯的实际应用问题。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/27 2:37:14