体系结构


体系结构

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

\ scalebox {1.0} {\ includegraphics(宽度= 6){图形/ csgraphics / csmanager_multiple}}

部署可以由五个不同的组件组成客户,集群管理器,数据库,计算服务器节点,分布式工作节点.其中一些是可选的,还有一些可以复制以获得高可用性。这提供了各种拓扑选项,我们将对此进行讨论不久.首先,让我们分别考虑各个组成部分。

集群管理器

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

  • 安全。集群管理器负责验证和授权对集群的所有访问。它通过管理用户帐户和API密钥,以及控制对所有远程服务节点(计算服务器或分布式工作者)的访问来实现这一点。

  • 集群监控。集群管理器可以查看集群上的所有操作:可用节点、许可证和作业。它还记录和保留作业历史记录,包括详细的元数据和引擎日志。

  • 批量管理。Cluster Manager控制批量创建过程以及输入模型和输出解决方案的存储。它还保存了批次的历史记录。在内部,它与节点通信以提交和监视批处理作业。

  • REST API。集群管理器提供的所有函数都在REST API中公开。所有内置的客户端都使用这个REST API:gurobi_clgrbtunegrbcluster,以及网络用户界面。用户程序也可以使用REST API。

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

集群管理器为可选配置。你可以构建一个自管理的远程服务集群但它将缺少许多功能。

介绍集群管理器的安装在这一节中

数据库

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

这个数据库需要多少空间?这主要取决于批量输入和输出数据的预期大小。Cluster Manager将在创建批处理时捕获并存储完整的模型,并且在解决模型后存储解决方案。这些文件将被保留,直到用户丢弃或过期(保留策略可以由Cluster Manager系统管理员在设置部分中配置)。数据被压缩了,但它仍然可以非常大。为了限制数据库的总大小,我们建议您在完成批处理后丢弃它们。注意,丢弃一个批处理并不丢弃关联的(小)元数据;它保存在集群历史记录中。

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

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

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

计算服务器节点

Compute Server节点是执行优化任务的节点。每个这样的节点都有一个作业限制,用于指示该节点上可以同时执行多少个作业。极限应反映机器的能力和典型的工作特性。Compute Server节点支持高级功能,比如作业队列和负载均衡。部署计算服务器需要Gurobi许可证。

介绍计算服务器节点的安装在这一节中

分布式工作节点

分布式工作者节点只能作为分布式算法中的工作者使用。在这样的节点上,一次只能运行一个作业,它不支持排队或负载均衡。这种类型的节点不需要Gurobi License。

介绍了分布式Worker安装在这一节中



部分