实现用于分布式计算的客户端服务器应用程序

时间:2019-02-25 21:40:56

标签: web-applications cloud client-server virtual-machine distributed-computing

我有一堆带有GPU的机器(我和我的朋友拥有它们),这些机器主要用于游戏和机器学习。与其独立使用每台机器,不如将它们用作分布式系统(例如进行机器学习模型的分布式训练)会更好,以减少训练时间。我没有开发应用程序(单独的云应用程序)的经验,但是我认为在以下位置创建客户端服务器应用程序会很有趣:

  • 在前端,客户端(例如,我和我的朋友)可以访问系统,并查看哪些机器可以工作。如果机器上有闲置的GPU,则它应该可以工作,否则(例如某人在工作或玩游戏)该机器不可用。客户端可以选择一堆可用的计算机,然后在其上启动虚拟机(带有要运行的代码和所有必要的数据)。

  • 在后端侧,选定的服务器接收虚拟机并以分布式方式在其中执行代码(例如Tensorflow允许分布式训练)。

我认为,出于隐私/安全原因,非常有必要使用虚拟机。我基本上是让我的朋友进入我的系统,他们也是。我想避免客户端弄乱服务器。除使用Windows的计算机外,所有计算机均具有Ubuntu。因此,我必须首先在Ubuntu中实现。

话虽如此,我不知道从哪里开始实现所有这一切。除了选择一种语言(我更偏向于Java或Python,但我会考虑其他选择)之外,我应该采取的主要步骤是什么?我知道这可能是一个常见的客户端-服务器应用程序,但是正如我所说,我没有应用程序开发经验。谢谢

1 个答案:

答案 0 :(得分:1)

基于我的理解。您想建立一个分布式计算系统用于机器学习和从BS模型访问吗?如果我是对的。也许您可以查看旨在解决此问题的tensorflow指南。下面是链接。

https://github.com/tensorflow/examples/blob/master/community/en/docs/deploy/distributed.md