7. GNU/Linux 编程系统

本节提供关于在 PC 上安装 Linux、Linux 入门以及更进一步优化的教程和文档链接,以提升 PC 的处理能力,使用多处理器(对称多处理 - SMP);构建廉价、可升级的超级计算 Linux 集群,并最终提供用于在 Linux 上进行并行编程的软件链接。

7.1. GNU/Linux 工作站

与大多数与 GNU/Linux 相关的文档一样,Linux 文档项目的主页是无价的资源。 您可能首先想阅读 Linux 安装 HOWTO。 对于那些想要将 Linux 与 Windows 一起安装的人,可能需要浏览 Linux + Windows HOWTO。 安装 Linux 时,请确保选择安装所有文档。 安装 Linux 后,Rute 用户教程和说明是开始使用 Linux 的良好而全面的文档,它是 Linux 和类 UNIX 系统的初学者指南。 我想提供一个不那么令人生畏(在大小方面)的小型初学者指南的链接,但是 U 在冒险之后会发现它很有用。 您可能还想阅读 Linux 系统管理员指南,并查看 Linux 管理简易指南 (LAME)。 它试图描述 Linux 系统管理员日常面临的日常管理和维护问题。

7.2. 并行处理和对称多处理:超级计算

无需花费数百万卢比购买超级计算机,就有可能获得大批量的数据处理能力。 您只需要将所需数量的 CPU(通过一些高速网络)连接在一起,并以 GNU/LINUX 作为底层操作系统。 添加一些免费的消息传递软件,即可制成有效的并行处理数据处理机器。 这样的集群被称为“Beowulf 集群”。 这种集群除了构建成本之外的另一个优势是,升级成本极低。 Linux 集群构建者的两个最佳资源是

这些站点会定期更新,为集群构建者提供有用的信息。

7.2.1. 并行计算文档链接

您可能还想阅读 Joe Greenseid 撰写的这篇关于 Linux 集群软件的优秀文章(以及它提供的大量链接)。 我希望浏览这些链接,并在后续的 HOWTO 中包含它们。

其他关于并行处理的免费文档链接包括

7.2.2. Linux 并行处理软件

现在,在阅读上述文档后,您对并行处理有了一个概念。 并行程序库是 Linux 集群上并行处理的核心。 有各种免费的并行处理库实现。 由于并行处理完全关乎性能,因此这些库具有一些非常好的功能工具来分析您的并行程序性能。 下面提供了一组指向这些并行程序库和工具的链接。

  • 消息传递接口:MPI 是消息传递库的标准规范。 上述文档提供了许多指向关于该标准的文档等的链接。 Linux 的 MPI 实现 mpich 也可在该站点获得。 有很多关于 学习使用 MPI 的文档。

  • 局域网多计算机 - LAM:LAM(局域网多计算机)是用于网络上异构计算机的 MPI 编程环境和开发系统。 使用 LAM,专用集群或现有网络计算基础设施可以充当一台并行计算机来解决一个问题。 LAM 在应用程序开发周期中具有广泛的调试支持,并为生产应用程序提供峰值性能。 LAM 具有 MPI 通信标准的完整实现。 您可以从此处下载源代码(tar-zipped,rpm)或二进制文件。 大量 MPI 教程链接以及“LAM 入门”教程可在此处获得

  • 并行虚拟机:正如 PVM 主页所描述的那样,它是一个软件包,允许将通过网络连接在一起的 Unix 和/或 NT 计算机的异构集合用作单个大型并行计算机。 因此,可以通过使用许多计算机的聚合能力和内存来更经济高效地解决大型计算问题。 该软件具有很强的可移植性。 该源代码可通过 netlib 免费获得,已在从笔记本电脑到 CRAY 的所有设备上编译。

  • Ganglia:Ganglia 是加州大学伯克利分校计算机科学系开发的开源集群监控和执行环境。 正如上面的链接所描述的那样,“Ganglia 在 16 节点集群上的安装和使用与在 512 节点集群上一样简单,这已通过其在多个 500+ 节点集群上的使用得到证实”。 它不仅可以链接集群中的节点,还可以将集群链接到其他集群。