Web applications 为分布式计算实现客户机-服务器应用程序

Web applications 为分布式计算实现客户机-服务器应用程序,web-applications,cloud,client-server,virtual-machine,distributed-computing,Web Applications,Cloud,Client Server,Virtual Machine,Distributed Computing,我有一堆带有GPU的机器,我和我的朋友拥有它们,它们主要用于游戏和机器学习。我认为与其单独使用每台机器,不如将它们作为分布式系统使用,例如,对机器学习模型进行分布式训练,以减少训练时间。我没有开发应用程序的经验,更不用说云应用程序了,但我认为创建一个客户机-服务器应用程序会很有趣,其中: 在前端,我和我的朋友等客户可以访问系统,查看哪些机器可以工作。如果一台机器有一个空闲的GPU,那么它应该可以工作,否则,例如,有人正在工作或玩这台机器就不应该工作。客户机可以选择一组可用的机器,然后启动一个虚拟

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

在前端,我和我的朋友等客户可以访问系统,查看哪些机器可以工作。如果一台机器有一个空闲的GPU,那么它应该可以工作,否则,例如,有人正在工作或玩这台机器就不应该工作。客户机可以选择一组可用的机器,然后启动一个虚拟机,其中包含要运行的代码和所有必要的数据

在后端,所选服务器接收虚拟机并以分布式方式执行其中的代码,例如Tensorflow允许分布式培训

在我看来,出于隐私/安全原因,使用虚拟机是非常必要的。我基本上是让我的朋友进入我的系统,他们也是。我希望避免客户端与服务器发生冲突。除了一台使用Windows的机器外,所有的机器都有Ubuntu。因此,我必须首先在Ubuntu中实现这一点


话虽如此,我不知道从哪里开始实施这一切。除了选择一种语言,我更倾向于java或Python,但我会考虑其他的选择,我应该采取哪些主要步骤?我知道这可能是一个常见的客户机-服务器应用程序,但正如我所说,我没有应用程序开发经验。基于我的理解,谢谢。你想建立一个分布式计算系统,用于机器学习和访问BS模型,对吗?如果我是对的。也许你可以看看tensorflow指南,它是为解决这个问题而设计的。下面是链接