是否有任何框架/库或程序解决了创建类似云的环境的问题?想象一下,我们有m个计算服务器和n个用户。
用户以某种方式连接到管理器,选择问题参数,单击“计算”,管理器决定哪个服务器空闲,或创建队列,将参数发送到服务器,并从服务器获取结果并将其发送给用户。
我找到了TORQUE,PBS,Ganglia,Nagios,但乍一看他们只是按照某个时间表运行了一些任务,但这些都不是互动的。我错了。
P.S。 OpenStack,Apache CloudStack或OpenNebula是否按照我的描述进行操作?
答案 0 :(得分:1)
回答此问题的最佳方法是解释您使用的术语和提到的工具。一旦理解了这些,您将看到需要定义在输入参数并单击“计算”按钮时云将解决的计算问题。
OpenStack,Apache CloudStack和OpenNebula为IaaS提供管理人员。在IaaS中,分配的计算资源对应于您在数据中心中找到的硬件。因此,您可以请求虚拟机,存储卷和网络配置。见Wikipedia on IaaS
这些工具是CloudOS,因为它们提供了一个管理层,可将云计算特性带入数据中心。借助云,您可以获得快速弹性,按需自助服务,可测量的服务,资源池和广泛的网络访问(NIST Definition of Cloud Computing)。从本质上讲,像Apache CloudStack这样的管理者会占用数据中心(资源池),并允许用户请求资源(按需自助服务)。快速处理新版本或释放资源的请求(快速弹性),并且仅向用户收取使用中的资源(测量服务)的费用。最后,用户通过网络访问资源(广泛的网络访问)。
相比之下,TORQUE,PBS,Ganglia,Nagios库适合管理分配的计算资源。系统监视器Nagios和Ganglia提供有关使用情况的反馈。基于此,您可以增加或减少IaaS资源分配。 TORQUE和PBS允许在VM池中执行作业。因此,这些库解决了吞吐量问题,即如何确保最大化分配的资源。
现在让我们转向你的问题。您希望在类似云的环境中解决“问题”。这意味着您需要可以按需分配资源的云的灵活性。但是,您还没有解释要解决的问题。问题是将VM分配给用户,执行任意一段python,还是执行适合MapReduce之类的大型分布式计算?