体系结构

现在让我们考虑不同的远程服务组件的角色。考虑一个远程服务部署:

\ scalebox {1.0} {\ includegraphics[高度= 5 \ textwidth]{图形/ csgraphics / csmanager_multiple}}
部署可能由五个不同的部分:客户,集群管理器,数据库,计算服务器节点,分布式工作节点。其中一些是可选的,和一些可以被复制的高可用性。这给了各种拓扑选项,我们将讨论不久。首先,让我们考虑单独的组件。

集群管理器

集群管理器体系结构的核心组件。它提供了以下功能:

  • 安全。集群管理器负责验证和授权访问集群。它通过管理用户帐户和API密钥,并通过控制访问远程服务所有节点(服务器或分布式计算工人)。

  • 集群监控。集群管理器使能见度在集群上所有操作:可用节点,许可证和工作。它也记录和保留工作经历,包括详细的元数据和发动机日志。

  • 批量管理。集群管理器控制批量创建过程和输入模型和输出的存储解决方案。它还使批次的历史。在内部,它与节点提交和监控批处理作业。

  • REST API。集群管理器提供的功能都暴露在一个REST API。使用REST API所有内置客户:gurobi_cl,grbtune,grbcluster和Web用户界面。REST API也可以由用户程序使用。

  • Web用户界面。集群管理器包括一个Web应用服务器,它提供了一个完整和安全的Web用户界面计算服务器集群。

集群管理器是可选的。你可以建立一个自我管理的远程服务集群,但它将会丢失很多特性。

集群管理器安装覆盖在这一节中

数据库

集群管理器的数据库支持。它存储的各种信息,包括数据和长寿命,如用户帐户,API键,历史信息工作和批次,与短寿命和数据,比如输入批处理优化模型及其解决方案。

这个数据库需要多少空间?这将主要取决于预期的大小批量的输入和输出数据。集群管理器将捕获和存储完整的模型创建一个批处理的时候,它会存储解决方案一旦模型已经得到解决。这些将被保留,直到他们被丢弃的用户,或者直到他们到期(保留政策可以配置集群管理器的系统管理员,在设置部分)。数据压缩,但它仍然可以相当大。限制数据库的总大小,我们建议您丢弃批次当你完成。注意,丢弃一批不丢弃相关的元数据(小);这是保存在集群的历史。

集群管理器可以连接到数据库服务器的两种类型:

  • MongoDB 4.0或更高版本,本地部署,在云上,或者由SaaS提供者。
  • 亚马逊网络服务(AWS) DocumentDB 4.0或更高版本,当部署到AWS。

集群管理器用户必须安装和配置他们自己的数据库计算服务器安装过程的一部分。它可以作为一个节点或部署高可用性的集群。

计算服务器节点

计算服务器节点,优化执行工作。每个节点有工作限制,表明有多少工作同时可以在该节点上执行。机器的限制应该反映能力和典型的工作特点。计算服务器节点支持高级功能,如工作排队和负载平衡。部署一个计算服务器需要一个Gurobi许可证。

计算服务器节点安装覆盖在这一节中

分布式工作节点

分布式工作节点只能作为一个工人在一个分布式的算法。只有一个工作可以一次这样一个节点上运行,它不支持排队或负载平衡。这种类型的节点不需要Gurobi许可证。

分布式工人安装覆盖在这一节中



部分