在具有本地暂存空间的 Linux 群集上运行

每个计算节点上具有本地暂存空间的群集可以同时处理多个节点的高性能输入/输出。要在此类群集上运行Design Manager,提交脚本必须满足一些要求。对于采用网格重用的设计研究,Design Manager必须将需要生成网格的设计拆分为两次运行,以便其他设计可以访问缓存的网格。

预分配提交脚本要求

要在具有本地暂存空间的群集上提交Design Manager项目,必须在提交脚本中使用以下命令启动资源管理器:

starlaunch --command <batch_command> --scratch_root <path> --slots 0 --batchsystem <system>

其中:

  • starlaunch 启动资源管理器。
  • --command <batch_command> 指定批量运行Design Manager项目的 starccm+ 命令。
  • --scratch_root <path> 调用本地暂存空间的使用,并指定本地磁盘上暂存根目录的路径。必须拥有此目录的写权限,并且所有群集节点上的目录路径必须相同。示例:--scratch_root "/local_storage/user1"
  • --slots 0 阻止资源管理器进程分配核心。
  • --batchsystem <system> 指定群集上的批处理管理系统。

有关详细信息,请参见资源管理器选项

此外,提交脚本必须执行以下步骤:

  1. 为暂存根目录下的Design Manager运行创建唯一的任务目录。
  2. Design Manager项目文件 (*.dmprj) 及其关联输入文件(如参考模拟文件 (*.sim) 和定制 Java 宏文件 (*.java) 从头节点上的共享文件系统复制到创建的任务目录。
  3. 使用以下方法之一从创建的任务目录运行 starlaunch
    • 将目录更改 (cd) 为创建的任务目录
    • 使用 starlaunch 选项 --cwd <创建的任务目录的路径>
  4. starlaunch 完成后,将文件从创建的任务目录复制回头节点的共享文件系统,在其中可以访问结果。
  5. 删除创建的任务目录,以确保清洁地退出。

示例:以下示例显示了:使用批处理管理系统 LSF 在具有本地暂存空间的群集上运行Design Manager项目的预分配提交脚本。此脚本是针对 bash (Bourne-again Shell) 编写的。对于其他 Unix Shell(如 tcsh),必须相应地修改脚本。

#! /bin/bash 
 
export DM_PROJECT=[Project].dmprj           #[PROJECT]: set name of your Design Manager project file.
export CASELOG=dm_output.log  
           
export STARCCMHOME=[STAR-CCM+_INSTALL_DIR]  #[STAR-CCM+_INSTALL_DIR]:set absolute path to the STAR-CCM+ installation directory on the cluster.
                                            # This path must be the same for all compute nodes.
                                            # Example: /shared_storage/apps/starccm+/latestRelease
 
export SCRATCH_ROOT=[SCRATCH_DIR]           # [SCRATCH_DIR]: set absolute path to local scratch storage. 
                                            # This path must be the same for all compute nodes.
                                            # Example: "/local_storage/user1"
 
# For convenience, use the LSF batch scheduler job ID in the task directory path
export SCRATCH_TASK_DIR="$SCRATCH_ROOT/$LSB_JOBID"
 
# Copy the shared job submission directory for this task to a scratch location and change directory there
export INITIAL_SUBMISSION_DIRECTORY="$PWD"
mkdir -p "$SCRATCH_TASK_DIR"
cp -r . "$SCRATCH_TASK_DIR"
cd "$SCRATCH_TASK_DIR"

# Launch Resource Manager
# ----------------------------------
$STARBIN/starlaunch --rsh /usr/bin/ssh \
    --command "$STARCCMHOME/star/bin/starccm+ -rsh /usr/bin/ssh -batch run $DM_PROJECT [-passtodesign <options>]" \
    --scratch_root $SCRATCH_ROOT  --slots 0 --batchsystem lsf \
    --outpath $CASELOG
# ----------------------------------
 
# Copy files from the task directory $SCRATCH_TASKDIR on the cluster node local scratch back
# to the shared job submission directory and remove the task directory
cp -r . "$INITIAL_SUBMISSION_DIRECTORY"
cd
rm -r "$SCRATCH_TASK_DIR"

-passtodesign <options> 用于将额外的 Simcenter STAR-CCM+ 模拟命令行选项(如许可证选项)传递给设计模拟。直接从命令行传递命令行选项非常适用于不想在Design Manager项目文件中保存的机器特定或用户特定选项(请参见在集群上使用预分配方法运行的步骤 2b)。但是,不支持需要使用双引号的命令行选项,必须在 STAR-CCM+ 执行命令属性中设置这些选项。有关更多信息,请参见设计管理器选项

采用网格重用的设计研究

要在Design Manager中优化设计探索过程(其中两个或更多个设计具有相同的网格参数),可计算网格一次、缓存,然后重新加载以用于所有类似设计。请参见设置模拟参数的模拟效果

为了在具有本地暂存空间的群集上通过网格重用运行设计研究,Design Manager会将需要生成网格的设计拆分为两次运行。第一次运行执行设计直到网格操作完成,然后缓存网格,最后关闭。第二次运行将重新加载缓存的网格并继续完成剩余的设计操作。无需生成网格但要重用缓存网格的设计不会拆分为两次运行。使用图形窗口中的输出表可以跟踪设计运行的状态,请参见监视设计研究

下图说明了对具有和没有地暂存空间的群集使用网格重用进行的设计运行:

没有本地暂存空间的群集


具有本地暂存空间的群集


局限

目前,以下限制适用于本地暂存空间的使用:

  • 在预分配模式下,Design Manager仅支持本地暂存空间。
  • 对于替换研究中的几何零部件,必须在共享文件系统上设置输入文件目录的绝对路径,以便可以从所有计算节点访问几何零部件。不支持本地暂存空间上的几何输入文件目录。
  • 对于Design Manager项目文件、输入文件和文件路径,以下限制适用:
    • Design Manager项目文件 (*.dmprj) 及其关联输入文件,如参考模拟文件 (*.sim) 和自定义 java 宏文件 (*.java),必须位于同一目录下。
    • 必须设置 *.dmprj 文件,以引用其相对路径中的关联输入文件。
    • 如果要从共享文件系统访问输入文件,必须将群集配置为有权访问所有计算节点上的这些共享文件。