criu 工具让 Linux 进程休眠

休眠是操作系统常见的电源选项,可以保持应用程序的状态,并允许断掉电源再开机后恢复休眠前的状态。其原理是休眠时把计算机运行内存的数据全部转储到磁盘,唤醒时再读取磁盘中的内存镜像。

criu 工具可以让单个进程休眠,不依赖于操作系统的内核,完全在用户空间实现,它是 Checkpoint and Restore in Userspace 的缩写。它适用于以下场景:1)有些程序在运行过程中无法保存数据,必须一次性运行出最终结果,比如 lammps 和依赖它的 openfoam 求解器,为了防止计算过程意外终止,可以人为使用 criu 建立 checkpoint,已备不时之需;2)有些超算限制作业的最长运行时间,到达限制后必须终止,如有需要可以重新提交作业,这时可以使用 criu 建立 checkpoint,方便下次提交;3)云服务器的竞价实例,成本低廉,却有可能被随时终止,服务器收到终止指令后很快就会关机,留给用户处理的时间很短,这时也可以配置 criu 脚本,在计算资源被收回时保存计算状态,在计算资源恢复时,自动恢复计算。

criu 的简单用法如下。

继续阅读“criu 工具让 Linux 进程休眠”

PETSc 真的能让 OpenFOAM 如虎添翼吗?

PETSc 是美国阿贡国家实验室开发的轻便式可拓展科学计算工具箱(Portable Extensible Toolkit for Scientific computing),读作 pet-see。将 PETSc 植入 OpenFOAM 替换其原生线性求解器的研究早已有之,但实际效果比较有争议,有研究认为 PETSc 远胜于 OpenFOAM 的原生求解器,也有研究认为 PETSc 在很多情况下远逊于 OpenFOAM 的原生求解器,甚至会花费数倍时间。

这些争议引起了小编的关注,小编决定把玩一下这个大名鼎鼎的工具箱。OpenFOAM® v2006 将 PETSc 作为外部求解器整合进了 ThirdParty 包[1],写好了现成的编译脚本,还带有教程。

继续阅读“PETSc 真的能让 OpenFOAM 如虎添翼吗?”

在 IB 面前,万兆以太网就是渣渣

小编最近沉迷于 IDC 机房技术不能自拔,一边看着图吧垃圾佬搭建“家用”万兆以太网,一边畅想着某天能够有拥有自己的机房。正好在网上发现一份 HPC 咨询委员会的报告,这个报告测试了硬件和系统软件对 OpenFOAM 性能的影响,结果显示,10G 以太网根本不适合这种需要大量通信的应用,甚至 40G 都不够用,还是得上 IB。

Infini Band 是 OpenFOAM 的最佳伴侣
继续阅读“在 IB 面前,万兆以太网就是渣渣”

一主播上传 300 余个 OpenFOAM 视频,然而……

都说中国社会内卷,国外未必能好到哪里去。近日作者在某个不存在的视频网站采风,发现了惊人的一幕。

一个名叫 Theo Ong 的 up 主,过去一年就上传了 300 余个视频,内容硬核,随便一个视频就是在白纸上手推微分方程,比如这个,一定要点开看大图,小图完全无法传达出公式给人的恐惧感

继续阅读“一主播上传 300 余个 OpenFOAM 视频,然而……”

在超算机群上运行 OpenFOAM

有超算账号前,我觉得云计算简直就是 CFD 的未来,试用过超算后,发现这种需求10年前就被超算解决了。要论上手难度,各种平台的排序大概是:Windows 10 Subsystem for Linux > Linux物理机 > Windows+Linux 虚拟机 > 云计算服务器 > 超算。

举个例子好了,以下是 Compute Canada 官方支持的 OpenFOAM 版本,只需一条命令就可以配置好计算环境

继续阅读“在超算机群上运行 OpenFOAM”