HPC Pack 2016 Update 3 中的新增功能

本文档列出了与 HPC Pack 2016 Update 2 相比,Microsoft HPC Pack 2016 Update 3 中可用的新功能和更改。 可以在本地计算机中下载并安装 HPC Pack 2016 Update 3,或使用 部署模板 在 Azure 上使用 HPC Pack 2016 Update 3 创建群集。

性能和可靠性提升

  • 提高计划程序任务调度速率。
  • 提高某些服务主机空闲超时时的 SOA 请求调度速率。
  • 在某些情况下,通过修复服务崩溃和泄漏问题来提高服务可靠性。

安装和部署

  • 支持不使用“-SkipComponent:rras,dhcp,wds”选项在头节点 slipstream 安装上安装 rras/dhcp/wds 组件。

  • 使用新的 VM 扩展 (而不是 HPC 计算节点映像) 使用以下操作系统部署 Azure IaaS Windows 节点:Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 SP1。

  • 现在可以将 Windows Server 2019 指定为 Azure PaaS 节点的操作系统。

  • 用户可以指定将安装在 Azure PaaS 节点中的以下 .Net Framework 版本之一:NDP461 (默认值) 、NDP462、NDP47、NDP471、NDP472、NDP48。 下面是使用 PowerShell 命令指定它的示例。

    Add-PSSnapin Microsoft.Hpc
    Set-HpcClusterRegistry Microsoft.Hpc.Azure.NetFxVersion NDP472
    

管理

  • 现在可以在 HPC 群集管理器的“添加用户”对话框中添加计算机帐户。

  • 在 HPC 群集管理器和 HPC 作业管理器中启用包含“=”的环境变量值。

  • 在 HPC 群集管理器和 HPC 作业管理器中,将任务命令行长度限制从 480 增加到 1024。

SOA 运行时

  • 支持 PowerShell Export-HPCSoaTrace cmdlet。

  • 支持按排队请求完成的估计时间自动增长 SOA 作业的节点。

    除了当前 SoaJobGrowThreshold/SoaRequestsPerCore 之外,还引入了名为 SoaJobTimeToComplete 的群集属性,) 几分钟内 (,以帮助做出 SOA 作业的增长决策。 增加的数字是以前按请求编号计算的最大值,以及按作业时间完成估计的新计算。 新逻辑使用简单公式来计算不断增长的计数:growingCount = CallDuration * OutstandingCalls / SoaJobTimeToComplete – RunningTasks。 请注意,此估计需要一些假设,例如,无预取、无并发、无故障、请求时间均匀分布和零增长时间。 实际上,此实现有望解决长时间运行的请求问题。 另请注意 ,SoaJobTimeToComplete 的默认值为 0,这意味着未启用按请求增长的剩余时间。

计划程序

  • 将 AAD (电子邮件格式) 转换为域格式用户名的方式。 (删除哈希并使用已完成的 AAD 名称作为 Linux 节点的用户名。在 Windows 节点) 的哈希中包含域名。

  • 自定义计划程序节点排序器。

    若要在计划作业时使用自定义节点排序器进行节点选择,请先实现 Microsoft.Hpc.Scheduler.dll 中定义的 Microsoft.Hpc.Scheduler.AddInFilter.HpcClient.INodeSorter 接口,如下所示, 然后将自定义排序器 dll 重命名为 0.dll~63.dll (最多 64 个自定义排序器) 并将其复制到头节点上的 %CCP_DATA%NodeSorters 文件夹下,最后在提交作业时使用 #0~#63 为作业的 orderby 属性。 例如,作业 submit /orderby:#0 主机名。

    namespace Microsoft.Hpc.Scheduler.AddInFilter.HpcClient
    {
        public interface INodeSorter
        {
            int Compare(string nodeX, string nodeY);
        }
    }
    
  • 支持 gMSA (组托管服务帐户) 。

    借助此支持,群集可能为群集用户或管理员设置了 gMSA 帐户。 若要设置 gMSA 帐户,请检查联机文档。基本上,它需要添加 KDS 根密钥并创建 ADServiceAccount,并在节点上安装 ADServiceAccount。 若要使用 gMSA 帐户提交作业,只需指定伪密码“GMSA”。 例如,作业提交 /user:hpc\hpcgmsa$ /password:GMSA 主机名。 请注意,提交作业的作业所有者必须使用相同的 gMSA 帐户。

  • Windows 上支持 docker 任务

  • 支持作业模板环境。

    用户现在可以在作业模板中设置环境。 作业模板环境的范围在群集环境和作业环境之间。 它们将替代群集环境,并被作业环境覆盖。

  • REST API 改进。

    1. REST API 可以完成作业/任务。
    2. REST API 可以通过设置 HTTP 标头“x-ms-as-user”来“以其他用户身份调用”。
    3. 服务器通过 SignalR 将作业/任务事件推送到 http 客户端
    4. REST API 终结点“/hpc/”现在支持 HTTP 基本身份验证。
    5. 添加筛选器“NodeGroup=<name>”以获取计划程序 REST & Web API 的作业。
  • 执行模拟时,请避免从 dll 文件检索客户端版本。

  • 允许作业管理员以客户端身份连接服务。

    以前,我们只允许群集管理员以客户端身份连接服务,现在也允许群集作业管理员执行此操作。

  • (Preview) HpcData 服务计划程序集成。

    用户可以在 Linux 和 Windows) (计算节点上设置和运行 HpcData 服务,并为任务指定 inputFiles 和 outputFiles 属性,以便从/向 Azure Blob、Azure 文件存储 或文件服务器上传输出文件。 有关更多详细信息,检查 README.txt %CCP_HOME%Core 下。 请注意,这是一项预览功能,将来可能会根据客户反馈进行更改。

  • Linux 节点管理器改进。

    1. 添加环境变量CCP_DISABLE_CGROUP,以允许在没有 cgroup 的情况下运行任务。
    2. 将默认工作目录更改为主页。
    3. 在任务运行时启用任务统计信息。
    4. 在节点注册信息中添加属性“CcpVersion”和“CustomProperties”。
    5. 支持监视 InfiniBand 网络使用情况。
    6. 支持监视网络使用情况的多个实例,该实例设置为默认实例,而不是监视总使用情况。