分类:网格计算

办公室的网格计算,使用虚拟环境-第 4部分

Steven ,星期五2009年12月4日下午11:59

简介

我的工作在我们运行的批处理作业,每天处理的数据记录数百万,我最近一直在思考所有的机器,坐在周围的每个每天做几个小时没有一个公司 如果我们能够使用这些机器,以增强我们的系统的处理能力,岂不是好? 在这组文章中,我要去看看聘用一个办公室的潜在好处电网使用虚拟环境。

在第3部分中,我们创建了虚拟加工机,并成立Windows机器成为空闲时间的工人。

运行最新的代码

不可避免地创建您的工作人员的业务逻辑后,会发生变化,会发现错误,会产生更快,更高效的代码,从而留下你的工人坐在周围处理数据使用老臭的代码。 那么,我们如何确保我们总是使用最新和最伟大的处理脚本的版本?

有几个非常容易简单的方法,我们可以做到这一点,诀窍,然而,在实现这一目标,以减少处理能力和网络流量。 让最简单的解决方案,并开始慢慢改进的迭代的情侣。

第一种方法是简单地连接到我们的作业控制服务器(通过SAMBA,FTP,或类似的),并拉下最新版本的代码。 效率不是很高,但它会做的工作。 让改善,有点,如何创建一个rsync的脚本和使用,每次来代替呢? 或者把颠覆检查代码最初我们最新的处理脚本,然后就更新我们的代码在每次运行时(使用svn update)呢?

最后,我们最终可能会与一个bash脚本(称为由cron每10分钟),它看起来像这样简单的:

  #!/ bin / sh的
如果PS AX | grep的- V GREP | grep的PHP >的/ dev / null的
然后
    回声“的工作目前正在处理,退出”
其他
    回声“作业不运行,从现在开始”
     CD /路径/ / /复制工作
     svn update会
     PHP yourJobProcessingScript.php
科幻 

现在我们可以肯定的,每次运行时,我们肯定运行最新的代码。 我们确保我们的代码库更新我们每一次都执行一个运行,并减少网络流量,只在我们的网络传输文件的区别。

在我的示范设置,我没有完全按照以上。 Subversion是我的工作处理服务器上安装,我只是把最新的代码,从一个'工人'使用“SVN更新”的分支。 我还添加了一个版本号标记到我的处理脚本,这是返回结果的一部分返回到数据库。 这样我就可以看到我的代码被更新,每次我工人分局即复制到我的树干,我肯定是运行最新的处理脚本。

使用最新的数据

如果你的作业处理使用的数据源,然后在一些点,这些都将被更新。 除非你调用数据源的一个非常罕见的基础上,你将大量的交通网络,一旦你的工人开始运行陷入瘫痪带来的一切。 对于我的解决方案,我决定,我想我与我的虚拟机移动的数据源。

保持你马有!如果我的数据源是巨大的? 嗯,这真的是我们谈论了多少数据的情况下? 这可能是更具成本效益的一个额外的更大的硬盘驱动器安装到每一台机器,而不是购买一个额外的处理服务器。 这是一个预算的问题,并决定。 也许您的数据源是如此之大,它只是不可行保持在您的工作机器的数据量。 在这种情况下你会做什么? ,那么我们可以看看调用本地的数据服务器,但是这可能会导致网络问题。 在这种情况下,像这样的网格系统可能会变得不现实的,包括在您的办公环境。 这也可能是,你可以看看替代性的运行策略,例如,只调用你的员工之间的晚上八时及上午06时每天晚上和/或节流数据源的请求。

上移动100GB的数据,可以说我们的数据源量。 井是相当多的数据位左右移动网络上的更新。 我们如何确保我们在这种情况下,最新的数据复制? Rsync是一种可能性,但我个人认为,作业处理服务器上运行您最新的数据源,并设置作为复制主(有一个漂亮的长斌日志)可能要走的路:

复制 通过设置作为一个奴隶的每个工人的作业控制服务器更新您的数据源将涓滴,不需要在网络活动的大幅增加,您的工作人员(即除非您执行一个庞大的数据和更新您的所有工人踢一次)。 这已经超过rsync的优势,你不会得到一个长时间的停顿每个作业前,对数据库的更新, MySQL在守护您的工作将不断更新其数据,同时继续处理。

这是如何设置我的演示服务器。 设置复制,我跟MySQL的网站上的指南 (复制),并在20分钟内,我有我的头文字工作者,复制作业控制服务器的数据集。 复制设置和过程,对于每个额外的工作,每次工作时被复制的VM。

摘要

在本节的文章中,我们是让您的处理代码using rsync或subverion(SVN)做的工作,并减少网络流量,在相同的time.Â多么容易和无痛看着我们还讨论了如何允许它涓滴每个工人保持你的数据源的信息最新。 因此,我们面积,确保我们保持在我们的办公室电网系统的业务逻辑和信息。 显然是无数的替代品来执行这些任务,但这里是两个简单的例子来说明多么容易的解决方案来。

下一次

在这个系列中,恰当地命名为的第5部分的最后一部分,我们将讨论部署这一系统。 我会总结了什么教训和我设法创造。

办公室的网格计算,使用虚拟环境-第 1部分

Steven (星期五)2009年12月4下午11点23分

简介

我的工作在我们运行的批处理作业,每天处理的数据记录数百万,我最近一直在思考所有的机器,坐在周围的每个每天做几个小时没有一个公司 如果我们能够使用这些机器,以增强我们的系统的处理能力,岂不是好? 在这组文章中,我要去看看聘用一个办公室的潜在好处电网使用虚拟环境。

作为一个PHP开发人员,我要使用的工具,我每天使用 Linux上,MySQL,PHP,VirtualBox和Subversion( SVN)的的。 不过,我希望这本手册将适应其他语言和技术一样好。

所提供的解决方案,我将非常松散的基础上的处理,我们就需要实现,但通过整篇文章,这可能不是真的,我会改变简单的事情,或产生更有趣的用法场景类型。

这些虚拟环境的Windows机器上运行,因为这是大多数办事处运行。 处理,办公室机器与使用这些机器的工作人员不应该干涉,应该不需要在机器的维修,并很容易地部署到新机器,因为他们成为可用。 此外,新的虚拟机时,不应要求任何额外的配置,因为这大大降低了在电网系统的可扩展的可扩展性和易用性。

为什么要部署Office网格计算?

首先,你可能会想,为什么不只是使用云计算资源,如Amazon的EC2平台 的原因可能有几个,例如:

  • 你不会委托到云计算环境中的某些数据
  • 你不能把法律上的原因(如数据离开该国),潜在的法律上的原因,如NHS的记录,到云计算环境的某些数据。
  • 你要保持加工单位的密切,已超过硬件的完全控制
  • 您不必项目资金运行云实例
  • 你的办公室没有连接到互联网,因此它不可能使用云资源
  • 你不喜欢雨,云建议雨水,因此,你保持远离

我敢肯定列表可以继续,但我认为现在。

办公室网格计算的优点

那么,让我们做一些数学(和真正的物理风格,让一些笼统的假设)。 想象一下,你有大仡的处理服务器上运行的100%的日常工作​​。 在你的办公室有50台机器处于闲置状态,每天16小时,这些机器是10%,只要你结实的处理断绝强大。 (四舍五入到这里所有的结果是低估的性能提升)。

因此,1机* 10%的力量,在空闲时间* 2 / 3 = 0.067,即1台式机处理过程中每天 6充分就业。

如果你现在规模高达15个闲置的台式机,每天处理许多工作,作为您的主服务器进行处理。

所以,我们假装办公室50台机器,我们可以增加我们从1服务器处理能力4个全处理服务器,或者我们可以处理 400每天的工作,而不是100。

请注意,贵公司有没有新的硬件投资只是增加其批量处理能力的4倍! 潜在的,你是要增加用电量,但大多数的办公室,我一直在的机器环境一般一夜之间反正左,所以你可以看到一个绿色的倡议。

其他优点也意味着如果你的办公室机器已经足够,为您提高您的办公设备的电源你的办公室电网变得更加强大,自动处理服务器可以被推迟,在新的投资(或更新)。

技术

你需要什么? (或更正确的我用什么):

  • 空闲的办公室机器(一个备用的旧的Windows XP的笔记本电脑在我的情况)
  • VirtualBox的(或其他虚拟化客户端软件)
  • 一个虚拟机上运行PHP,MYSQL runningÂ削减下来操作系统,我打电话我这些LIMP服务器 :)
  • 工作运行
  • 作业服务器(也可以是另一个虚拟机某处)

典型职位

,这个系统是设计来运行的作业的类型如下:

  • 系统接收数据后,我们需要匹配并返回结果列表
  • 匹配涉及检查/搜索几个相当静态数据源
  • 从数据源的结果可能需要进一步验证,合并,其他数据源的检查结果
  • 返回匹配的记录数据,充分验证和处理
  • 工作中的每个记录是独立的休息

所以基本上我们期待在运行需要的数据库查询和一些数字运算,在企业环境中的一个相当典型的场景混合的作业。

电网解决方案来处理这种类型的工作不仅有利。 基本上,任何可以分裂成独立的单位的过程可以并行运行。 的例子和更多信息,请参阅本维基百科 :网格计算,但几个著名的例子是SETI @ HOME和BIONC。 有运行计算网格的框架,这些都是值得研究的。

我们会怎样实现?

这些文章的最后,我希望表明,部署Office电网不需要非常昂贵或费时。 我要讨论:

  • 设置作业控制系统,工作配置
  • 创建一个适当的处理虚拟机
  • 如何在Windows机器上的系统设置
  • 确保您使用的是最新的代码和数据
  • 部署和基准
  • 展望未来

我会建设(OK,然后我建立了写本)的示例应用程序来测试在本地机使用Windows XP和我“GridMachine的”虚拟机的概念。 我的作业控制服务器将是我的主要机器上运行Fedora 11中。

这绝不意味着,表现出强大的系统完全正常的,它意味着更多的示范和讨论表明,这些东西可以在一个相当短的时间空间,并以较小的代价取得。 请随时给我发送任何意见,更正,或改善,我会尽我所能,保持更新,以匹配这篇文章。

下一次

在第2部分 ,我会开始寻找作业控制系统,研究工作应该如何进行配置,以达到最大的处理量,同时确保每个作业是没有失败处理的。

办公室的网格计算,使用虚拟环境-第 2部分

Steven (星期五)2009年12月4下午11点23分

简介

我的工作在我们运行的批处理作业,每天处理的数据记录数百万,我最近一直在思考所有的机器,坐在周围的每个每天做几个小时没有一个公司 如果我们能够使用这些机器,以增强我们的系统的处理能力,岂不是好? 在这组文章中,我要去看看聘用一个办公室的潜在好处电网使用虚拟环境。

第1部分中,我给我将使用以及讨论一些潜在的原因,你为什么会要创建一个办公室电网系统和技术的概述。

作业控制

如果你将要运行的作业,那么你会需要一些方法来管理它们。 你的作业控制系统(你的工作服务器上)需要,真正做到深思熟虑之前,甚至试图运行办公室电网。 因此,首先,什么是作业控制系统的任务:

  • 从工人的要求不可收拾工作
  • 告诉工人要运行什么类型的职位
  • 跟踪作业
  • 确保工作只运行一次
  • 为工人提供就业数据,或至少告诉他们在哪里得到它

该系统还需要具有可扩展性,一个解决方案,现在可以在一个单一的情况下可以延长至运行几种类型的就业机会,为企业看到在网格解决方案的价值。 例如,作业可能会获得优先事项,可能存在多个作业类型(即几个代码基地),最终你甚至可以运行几个不同的工作,每个作业类型优化的机器(虽然不从“一般工人“的想法)。 总是尝试思考未来,在开发系统时,短期前景可能会导致较长期的挫折和更多的发展时间。

作业服务器

我们要去某个地方需要控制我们的工作,这应该只在您的网格系统,有一个固定的资源定位器,是一个IP地址,主机名,URL(使用内部DNS)等,这是因为工人需要知道在哪里找工作,工人需要找到作业控制系统(没有作业控制系统找到工人)。

作业服务器本身并没有真正有一个复杂的任务(无论如何)的一项基本制度,它需要存储作业列表,手出的工作,收到成效,并随后存储日后检索。 如何定义这些部件(如“失控就业”)可以是很基本的的。 后来,我们可以扩展系统,包括添加,编辑,删除,暂停作业,但是这超出了这个运动是一个管理界面。

没有任何理由任何,那么,你的作业服务器不能虚拟机运行在您的主服务器进行处理,只要它不消耗太多资源。 作业服务器,则需要高可用性,如果它出现故障在一个星期五的晚上,你将失去整个周末的处理,可能会让您值得一两个星期的处理时间(时相比,您的主服务器进行处理,单独) 。 您可能要考虑你的工作服务器高可用性负载平衡的环境。

基本设置

为我们的工作服务器的基本设置,包括我打电话我LIMP服务器( 李马钱ySql,P HP) 。 THEA工人上运行的代码将实际工作,什么工作,它可以运行作业控制系统数据库交互。 后来,我们可以创建Web服务,而不是让工人自己的辛勤工作了就业机会,实际上手,但现在我们将继续使用KISS原则 (保持简单,愚蠢!)。

所以,让我们创建三个 MySQL表来处理工作。 这将是`工作`,`jobRecords`,`jobResults`。

工作表 在这里,我使用SQL好友一个伟大的小替代phpMyAdmin的 ,只是因为它更容易安装在CentOS(别人看:10到phpMyAdmin的替代品)

此表由5个简单的领域,

  • ID:唯一标识工作
  • 名称:可能是一个客户参考,或任何其它标识符
  • 状态:你需要知道在哪里的工作,例如:
    • 0:未开始
    • 1:拿起
    • 2:完成
  • started_by:谁开始做这项工作吗? 这不完全是必需的,但是是一个不错的。 我建议他们的网络上的IP地址跟踪工人
  • started_at:工人什么时候开始工作? 通过跟踪,但没有在X的时间,我们知道我们需要拿起工作再次开始另一名工人加工完成的作业。 工人可以停止处理/任意数量的原因,停电,死机,网络损失等离线

这是很容易,本表可与一些额外的领域扩展,从而使统计跟踪,结束时间列,工作了多久,一个计数器,看看有多少工人拿起作业(显然,这需要趋向1),作业的优先级列表可以一直开下去。 在更复杂的工作场景,将有可能指定工人需要多少内存访问(因此,只有使用合适的工人),甚至是什么类型的工人需要。

让我们来添加几个例子作业:

例如就业机会

下表是很容易理解,这些都是我们的工作记录。 它们与主要工作表的列jobs_id`。 本表数据,您需要提供您的工作人员非常依赖,让一个很简单的例子,我们有四个列:

  • ID:记录ID
  • 名称:人的名字
  • 地址:人的地址
  • jobs_id:这条记录是与作业ID

第三个也是最后一个结果表表,它有很多相同的使我们的记录表,除了一些列可以记录表的一部分:

  • job_record_id:结果链接的工作表
  • 结果:结果数据

... ...,这一切您需要作业控制! (尽管在一个非常基本的的水平)在我的例子中,我指出另一种情况我处理的数据所在的表,但这很可能只是一个文件,运行模拟程序的参数,你的名字。

选择工作

如前所述,工人将现在为我们做我们的工作管理,都需要我们要真正做到的是找到一份工作,需要处理和获取信息。 我们将如何做到这一点? 好了接我们的工作的选择标准和寻找工作,在SQL中,我做了以下:

  1. 采取任何未标记完成,但我们的工人和复位(以一个标识符__ME__,最简单的IP地址)的工作:
      UPDATE`的工作`设置`地位`= 0`地位`= 1`started_by`= __ME__; 
  2. 使用我们的工作选择标准,选择工作,并告诉工人,这与它打交道的控制系统:
      UPDATE`的工作`SET`地位`= 1,`started_by`= __ME__,`started_at`= NOW()这里“状态”= 0或
     (`地位`= 1`started_at`> DATE_SUB(NOW(),间隔X小时))ORDER BY`ID`ASC; 

    通过抓取没有返回结果的工作在X的时间,我们必须确保所有的工作都运行在一个崩溃或擅离职守工人的事件。

  3. 下一步抢的工作记录本身的细节:
      SELECT *`工作``started_by`= __ME__ LIMIT 1;
     SELECT * FROM`job_records`WHERE`ID`= __JOBID__; 

我们插入我们的结果记录,并标记为完成的工作的工作完成后。 记住作为作业可以暂停/恢复在任何时候允许一些在你的脚本的健壮性。 这可能是通过更新作业控制系统挂起任务的一半,使检查工作中的记录数量和结果保存到作业控制系统的数量将是一个明智之举。

此外,虽然这表明如何选择工作可以从一个SQL查询帧,你确实应该管理的抽象作业控制,因此,如果您决定切换到使用一个Web服务, 文件系统 ,XML,或任何其他多项制度,它不会影响到它上面的代码。

作业配置

接下来的方面要考虑的是作业的大小和配置。 通过作业的配置玩,我们可以取得出色的速度,复制过程中,和可靠性之间的平衡。 以一对夫妇OFA方案:

  1. 乔布斯采取每1天运行 ,这意味着你的员工需要15天来处理每一个工作(记住10%的电力时间2/3rds )。 这显然​​不是一个明智的配置,你的工作是太大了! 初始工人擅离职守(时间拿起它没有返回结果加后处理时间),这将需要至少增加一倍的时间去处理工作。 在一个理想的,你有至少有一个完整工作容易被清除每个长的闲置期结束,你保持这样的工作,在最坏的情况下工作计时两天的过程,要先去失踪。
  2. 招聘1分钟运行 ,这意味着,你的工人约15分钟,运行每个作业。 虽然这最初看起来可能理想,您将获得额外的工作处理在午餐时间,茶点,会议等这种情况下使系统的其他领域的压力,并介绍自己的问题。 例如,首先你的设置/处理时间比要去下来,因此失去了系统的效率。 您的网络将是不断流作业的信息,以各种令人沮丧的工人的工作人员都是洞,他们的日常工作​​。 你也打算把更多的应变作业处理服务器,因为它已抛出很多很多小块的工作定期。 最后,在这种情况下,如果你的工作服务器宕机,你要去创造一个更大的工作未完成的,而工作的巨大回日志可以继续处理暗藏不知道,作业服务器遇到困难。

在现实中有没有一个理想的配置为您的网格设置,很大程度上取决于可用的资源,作业,作业的周转时间的要求,网络的能力,等等​​类型。 但一些指导原则将是:

  • 大小的工作,使每个工人可以通过至少3-4在15小时内的工作(可能闲置时间最长的一段时间)
  • 作业大小的播放,使安装时间变得相当的处理时间(铭记上述点)相比,微不足道。
  • 如果作业不完成一倍的时间量(或许更少),你期望它来完成,它承担了擅离职守,并开始与另一名工人来处理它。 这意味着您可能需要等待完成(如果后续工作失败可能更长)为它工作的正常长度的三倍。 您可能要缩短这个时间,但要小心,不要减少太多,因为你可能会开始定期重复处理任务。
  • 作业应独立于尽可能多的外部需求。 作业服务器,例如,只应在每一项工作的开始和结束联络。
  • 不要您的网络饱和,这将有两个负面影响,你白天的工作人员会发现,使用网络的挫折和问题都可以通过连接超时问题只会变得更糟,因为您扩展您的网格的经验。
  • 确保作业可以运行在您的工作人员。 如果作业太多内存密集型或磁盘空间密集的工作将开始中止,你会发现的唯一一个没有真正的原因与处理的作业数下降。

提交工作结果

提交工作结果时,重要的是要检查的结果没有被提交由另一名工人,特别是如果目前的工人已经蛰伏一段时间。

结果提交时确保结果的数量范围内的工作相匹配的记录数。

如前所述,并不能过分强调,建设成为工作的检索结果提交容错。 工人可以(和最有可能将的)进入挂起模式在最不方便的时候,这需要得到照顾。 也再次抽象离开你的结果提交,将有助于满足您的作业控制系统更容易处理未来的变化。

摘要

在此sectionÂ,我们看着作业控制服务器需要做什么和如何得到一个非常基本的的系统设置。 我们讨论了如何检索控制系统的工作,以及如何最好地配置工作,以得到最你的办公室电网系统的。 要完成,提出了一个段落,或提交结果返回到作业控制服务器。

  • 作业控制服务器管理工​​作和确保完成所有的工作单位
  • 通过提炼你的工作选择/结果提交我们可以改变,没有什么问题的技术控制服务器
  • 配置您的工作,以确保它们没有您的网络基础设施上投入太多的压力,快速,高效地运行,并没有重复处理定期的任务。
  • 确保您构建容错和你的程序错误checkingÂ,工人可以暂停和恢复和最不方便的时间。 记住要检查,如果结果已经由另一名工人提交。

下一次

第3部分 ,我们将创建我们的虚拟加工机,并成立了我们的Windows操作系统的计算机成为空闲时间工人。

办公室的网格计算,使用虚拟环境-第 5部分

Steven 日(星期五)4日下午11:03

简介

我的工作在我们运行的批处理作业,每天处理的数据记录数百万,我最近一直在思考所有的机器,坐在周围的每个每天做几个小时没有一个公司 如果我们能够使用这些机器,以增强我们的系统的处理能力,岂不是好? 在这组文章中,我要去看看聘用一个办公室的潜在好处电网使用虚拟环境。

第4部分中,我们看到在使用的工具,以确保我们正在运行最新版本的代码和数据源,使得到的结果总是与最新的商业信息和逻辑的最新。

部署前

部署您的电网系统,如果有一件事情之前,你做一件事单独的基准你当前的系统! 无论你告诉您的系统是多少额外的工作要做的同事,除非你有备份您保证数字的是什么。 因此,

  • 你可以处理多少条记录当前? 每日? 每小时?
  • 通常需要扭转工作多久?
  • 你有更多的容量多少?

还有其他问题:

  • 如果您的服务器进行处理(或处理服务器之一)出现故障,这将如何影响你的能力,你会被削弱?
  • 什么好处你希望/希望得到来自电网系统?
  • 办公室机器能够运行的工作吗?
  • 您的(或可以被转换成你的工作),工作在这种运行方式?

最后重要的一点是采取任何像这样的重大改变你的时间。 更新您的处理代码工作,再次使用新的方法,基准。 可能成立处理服务器运行虚拟机,您所有的服务器进行处理后,另一名工人(只是一个非常强大的的一个相对)。 允许新的进程来解决。

部署

我的建议是到办公室的一个周末弹出执行所有的安装和设置。 不要只是前两个星期的假期,离开使其他贫困章处理的后果... ...也许不是...

对于这样一个系统的部署需求是缓慢的。 尽管它是相对简单的,设立这个系统,会影响整个办公室的基础设施(数字)。 首先,推出在时间的情侣机,监控网络流量,每天天的基础上如何工作主机上执行。 您可能需要改变你的发现你的工作配置。

一旦系统有几台机器(可以说10%的所有办公室机器,即5)监控网络流量和主机performance.Â再下一步基准结算,你现在可以处理33%以上的就业机会比你的第一个基准。 检查是这样的话,或者说,你至少在这个球场。 如果不是这样,在移动之前的调查是怎么回事。 重复这个循环,直到你有愉快的所有办公室机器上运行,而不必杀死个别机器性能或磨您的网络处于停顿状态。

在任何时候都保持基准,即使在所有部署。 检查新的代码更新如何影响系统的速度,检查所有工人报告和处理工作。 慢(非常慢)递增你的工作配置,以获得最好的,从你的工人和网络。

住手!

如果你想从你的工人,在运行一段时间后停止? 他们都在那里运行,再生,并尽力处理像饥饿的昆虫数据。 答案似乎是显而易见的,但其价值增加以防万一,它忽略了。 简单编辑处理脚本退出(0)或死亡()或其他一些语句来杀死你的处理工作。 为什么我们总是尝试更新到最新的处理脚本之前运行的一个重要原因!

演示系统

为了写这篇简短的文章,我创建了一个非常小的网格,展示的技术和方法。 我读了很多文章,教程,并利用各种工具来设置和监控发生了什么事情。 我绝不出去饱和的交通整个办公室,我也访问了定期工作人员的电脑主机的性能如何影响。

我的演示系统确实是很不起眼的的。 我用我的作业控制服务器设置为普通的桌面。 在此,我已经安装了MySQL服务器安装设置作为主在复制 PHP,A和SVN 通过 Apache(通过工人VM访问)联系在一起。

然后,我在VirtualBox上创建一个CentOS worker机器上的一个6岁的Windows XP的笔记本电脑。 我安装后复制到本机的虚拟机指定的预定任务,并让他走。

虚拟机的成立,颠覆与PHP和MySQL。 我检查出一个分支命名为“工人”从我的作业控制服务器库,并确保它可以使用“SVN更新”进行更新。 下一步我安装MySQL作为一个奴隶,检查作业控制服务器上复制数据从MySQL工人VM。 这一切后,我设置的bash脚本和cron作业。

我的处理脚本,基本上沿此线(很简单的东西):

  • 阅读在名称字段
  • 算表中的类似名称在虚拟机上的数据源
  • 算作以上,但分裂的名称,用空格(即用的名字,中,姓氏)的名称
  • 重复这一过程中的1000倍

每个作业历时约20分钟运行。 在一个点上,我打开了工人VM的Windows笔记本电脑上的多个副本,并观看的工作进行检查每个工人的IP地址。 在这一点上,我也证实了自动重新启动的复制。

离开笔记本电脑闲置导致在一个工人开始作业控制服务器来处理工作。 恢复笔记本电脑使用时有一个约30-60秒的延迟,这是一个相当的时间和工作人员将需要知道他们的计算机可能会暂停一小会儿,当返回到机器。 较新的机器可能没有这个长暂停。 处理这些机器空闲期间执行金额的好处,超过工作人员不必等待上一个上午抵达他们的机器在短期内(例如1分钟)(我经常等待更长的时间,这为Windows Defender的更新发生)提供他们意识到了这一点“(有用的时间抢了一上午的咖啡!)。

总的来说,我觉得有信心,我已经证明的,可用于建立这样一个系统的技术。 我已经证明,这种制度不上一个(非常)小规模,多一些尝试可以扩大利用办公室的机器的资源的工作。 如果我不这样做的点,我会非常有兴趣知道/时看到别人。

结论/评估

下一个明显的步骤将是一个现实世界的例子,并开始部署如本系统内的办公环境,并看看会发生什么。 问一个企业没有一个线索炽烈公司提交证明的技术和效益可能会有点困难。 网格/分布式计算是非常受欢迎的某些圈子里,有一些大型应用程序(BIONC,SETI @ HOME,折叠@家等)。 ,但是,我没有发现在我的办公环境内可推出的搜索规模较小,像这样简单的系统。

我创建了一个基本上是免费的系统大多为开放源码软件和工具使用在几乎所有的办公。 技术基本上表现出并显示执行,并如预期。 希望我已经表明,没有太大的工作,并用一个非常简单的的设置,你可以部署Office网格计算系统,是功能强大,价格便宜,A和同时可扩展。

一旦系统启动和运行几乎没有定制和改进,可以使金额。 例如统计/基准可以很容易地呈现出这样一个系统的价值每天补充。 新机器可以迅速和容易地添加,当他们到达升级现有的硬件支撑你的处理能力。

我希望您喜欢阅读这一系列文章,给你办公网格系统上运行一个想到的食物。 这里提出的解决方案不一定在所有情况下,但应适应允许您使用自己的解决方案,得到您的数据处理。

请随时给我发送任何意见,更正,或改善,我会尽我所能,保持更新,以匹配这篇文章。













全景主题 Themocracy

3访客在线
2个客人,1机器人,0会员
最大游客今日:19日6点09上午UTC
本月19日上午在19-08-2011 06:09
今年:130于28-03-2011 10:40 PM UTC
所有时间:130于28-03-2011 10:40 PM UTC