算力分享中存在的问题

本文探讨了算力分享的概念,通过主机a和主机B的实例解释了如何实现程序的并发执行。主要步骤包括主机间的连接、信息传输及负载平衡。在过程中,强调了区分运算过程和执行结果的重要性,特别是在图形计算场景下,防止主机间出现错误的显示同步。文章提出了在短时间内高效完成这一过程的挑战,并暗示了内存管理和进程同步的复杂性。
摘要由CSDN通过智能技术生成

算力分享就是让两个或多个的主机同时运行一个程序,来加快这个程序的执行速度。
  这个概念可以类比并发,并发是让一个主机运行多个程序(准确说,并发是一个同时具有多个活动的系统),而算力分享是让一个程序被多个主机所运行。  现在我们有两个主机a和主机B,我们应该如何实现让它们同时运行一个程序。  首先主机a和主机B建立连接。  我们需要主机a和主机B同时运用一个链接程序,这个连接程序需要能够让两个主机可以相互互传信息。  第二步,当两个主机在执行这个链接程序的时候,如果发现自己的CPU时间使用已经超过了80%(我们假设是主机a),那么这一个链接程序,将会启动内存管理和进程管理,把主机a中内存中含有的程序复制一份,再把内存中原有的那份删除,之后发送给主机B,(主机a等待主机B回传结果),当主机B接到主机a传来的信息之后,将会把从主机a接收的程序复到给自己的内存中,然后开始执行,回传结果。  主机a等到结果,开始执行结果,指令计数器加一,最后重新执行链接程序。  这个过程描述起来是简单的,而执行起来是复杂的,其中最为复杂的就是分清楚运算过程与执行结果。  举一个图形计算的例子,假设主机a正在运行一款3a游戏,其中的图形计算导致主机a的CPU时间不足。  主机a开始执行链接程序,等待主机B回传结果,这就引来一个问题,我虽然把程序的传输描述成一个简单的粘贴复制,但它并不是一个简单的粘贴复制,一个图形计算最后的结果会被直接执行在这个主机上,主机B如果是原本的照抄,那么最后的结果就是主机B出现了主机A中应该出现的画面,而主机A并没有进行显示。  如果我们把这两个主机共同执行一个程序,比作两个人共同计算一道复杂的数学题的话,那么问题就是我们如何确保另外一个人拿的是题目而回传的就是结果,主机B上应该执行的是程序的运算过程而不是程序的结果。  说的更确切来讲,我们需要主机B回传的信息究竟是什么?它应该以怎样的形式或者格式回传这些信息?最关键的一个问题,我们怎么确保这一系列过程在一个非常短的时间内发生?这些问题我们需要接下来漫长的探索。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值