本发明专利技术涉及用于将数据和指令载入计算机的方法及装置。计算机阵列(10)具有多个计算机(12)。计算机(12)彼此异步通信且本身内部以异步模式运行。当一计算机(12)尝试与另一计算机通信时,它进入睡眠直到另一计算机(12)准备好完成事务处理,从而节省功率并减少热量产生。睡眠计算机(12)等待数据或指令(12)。如为指令,睡眠计算机(12)等待贮存指令或立即执行指令。如为后者,当接收到指令时将其置于指令寄存器(30a)并从指令寄存器(30a)执行,而不必首先将其首先置于存储器。指令包括能沿预定路径(202)穿过若干处理器并在预选计算机中进行一系列操作的爬虫(201)。在一应用中,爬虫(201)在选中计算机(12d)中进行压力测试。
【技术实现步骤摘要】
本专利技术涉及计算机和计算机处理器领域。
技术介绍
在计算领域,处理速度是非常期望的品质,并且对创造更快速的计算机 和处理器的探索正在进行中。然而,行业中普遍认为,至少对于利用目前已 知的技术来提高微处理器的速度而言,微处理器速度的极限正在迅速地被接 近。因此,通过在处理器之间分担计算机任务来提高整体计算机速度的多处 理器的使用,越来越受到关注。多处理器的使用所关心的是创建在处理器之间进行通信的需要。实际 上,在处理器之间可能有大量的通信,因而大量的时间花费在处理器之间的 指令和数据传输上。在这种通信量相当大的情况下,为了完成该通信量而必须执行的每条额外指令都会在过程中放置一增量延迟,通过累加,过程中的 延迟可能相当大。用于从一个计算机向另 一个计算机传达指令或数据的传统 方法包括首先将数据或指令存储在接收计算机中,然后对该数据或指令进行 调用以执行(在为指令的情况下),或对其进行操作(在为数据的情况下)。减少在计算机之间以数据或指令形式传送、接收和然后使用信息所需的 步骤的数目,是有帮助的。然而,就本专利技术人所知,没有现有技术的系统以 有效的方式来简化上述过程。而且,在现有技术中所公知的是,需要时常"获得计算机的注意力"。 也就是说,有时尽管计算机可能正在忙于一项任务,但是可能发生另一项时 间敏感的任务,使该计算机必须暂时从第一项任务转向该任务。这样的例子 包括但不限于使用用户输入装置来向计算机提供输入的情况。在这种情况下,计算机可能需要根据该输入暂时确认该输入和/或作出反应。然后,计算机基于该输入,要么继续该输入之前进行的工作,要么改变其工作。尽管在这里使用外部输入作为例子,但是当ALU的注意力在计算机的内部方面之间存在潜在的冲突时,同样的情况也会发生。当从I/0端口接收数据,或改变1/0端口的状态时,现有技术中有两种 方法。 一种是"轮询"端口,该方法包括以固定间隔读耳又端口的状态,以判 断是否接收到任何数据,或是否发生了状态变化。然而,轮询端口消耗相当 多的时间和资源,这些时间和资源通常可以更好地用作其它事情。 一种更好 的替代方法通常是使用"中断"。当使用中断时,处理器可以着手进行分配 给它的任务,然后当如接收到字节或状态变化的事实所指示的那样,1/0端 口/装置需要注意时,1/0端口/装置向处理器发送中断请求(IRQ)。 一旦处 理器接收到中断请求,它就结束它的当前指令,将少许内容置入堆栈,并执 行适当的中断服务例程(ISR),该中断服务例程可以将字节从端口上移走, 并将该字节置入緩沖器。 一旦ISR结束,处理器就返回它停止的地方。使用 该方法,处理器不必要浪费时间来查看1/0装置是否需要被注意,该装置会 仅在其需要被注意时才为中断提供服务。然而,由于存在与使用中断相关联 的大量开销,所以在很多情况下,使用中断本身是远远谈不上被期望的。例 如,每当发生中断时,计算机都不得不将与其先前尝试完成的任务相关的特 定数据暂时贮存起来,然后载入关于中断的数据,而后一旦中断处理完毕, 就要将在前的任务所需的数据重新载入。中断干扰了时间敏感的处理。从本 质上来说,中断使时序不可预测。显然,期望的是减少或消除所有的这种时 间和资料消耗开销。然而,现有技术中没有开发出緩和中断需要的方法。传统的并行计算通常将若干计算机连接到串行通讯端口的数据路径或 总线上。在这种布置中,各独立的计算机都被分配以地址。举例来说,在贝 奥伍尔夫群集(beowolf cluster)中,独立的PC通过TCP/IP协议连"t妄到以 太网中,并被给定一地址或URL。当向一独立的计算机输送数据或指令时, 这些数据或指令被放置在写有该计算机地址的包中。有关的问题是在这种计算机中如何有效地向独立的计算机传输数据和 指令。由于这种类型的计算机的架构不包括单独的可寻址计算机,所以这个 问题更加困难。
技术实现思路
专利技术的一个方面提供一种计算机阵列,该计算机阵列中的各计算机通过 计算机的数据总线链接端口链接到相邻的邻居,该阵列具有向目的地提供信 息的工具,该目的地是该阵列中任意期望的一个计算机。该信息可以是数据 和/或指令,所述指令例如由期望的一个计算机来实现的程序。在实施例中, 向期望的一个计算机提供信息的工具是程序,在下文中称作爬虫,该爬虫携 带信息,还预定义了从起点(即可能位于阵列边缘的预定计算机)穿过阵列 到目的地的路线,该目的地是期望的一个计算机,并且沿着预定义的路线将 自身从一个计算机复制到另一计算机。在期望的目的地计算机处,信息被提 供给这个计算机。如果该信息是指令,则在这个计算机中实施该指令。爬虫也可以定义从目的地计算机到另一计算机的路线,另一计算机例如 是原来的起点或可以是不同的计算机。在一个实施例中,爬虫将指令的结果 运送到所述另一计算机。在一个实施例中,爬虫仅向计算机送递程序和/或数据,然后间断。在实施例中,在爬虫程序的有效载荷中,路线被静态地定义,换句话说, 有效载荷预定了路线(不像TCP/IP—样,路线是动态定义的)。在实施例中,在爬虫沿路线行进期间,路线信息在存储器之间复制。如 果爬虫中的数据/指令有效载荷包含关于其路线的信息,且该有效载荷并没 有被沿路线的计算机消耗,那么目的地计算机可以接收关于所采取的路线及 其原点的信息。本专利技术的一个实施例包括具有自身的存储器的计算机,使得该计算机能够独立地执行计算功能。在专利技术的一个实施例中,多个计算机以阵列方式进行排列。为了协同地完成任务,这些计算机必须将数据和/或指令从一个计算机传递到另一个计算机。由于所有的计算机同时工作通常会提供比大多数 任务所需要的计算功率更多的计算功率,并且由于无论使用哪种算法或方法在任意给定的时间,至少一些计算机,而且可能很多计算机不会积极地参与 到任务的完成中。所以,期望找到一种使未充分利用的计算机可用于通过"借 出"计算资源或存储器或两者来援助它们较忙的邻居的方法。为了使这种关 系有效且有用,还进一步期望邻居计算机之间的通信和交互尽可能地快速且有效。因此,本专利技术实施例提供一种由计算机执行从另一计算机直接提供的 指令和/或对从另一计算机直接提供的数据进行运作,而不是在这种运作之前必须接收并贮存数据和/或指令的工具和方法。应该注意专利技术的该实施例 对于充当媒介的指令来说也将有用,该媒介使计算机将指令或数据从一个其 它计算机"传递到"另一个计算机。在实施例中,为了防止不必要的功耗和不必要的热量的产生,当计算机 尝试与一个以上邻居进行通信时,该计算机将处于基本不消耗功率的休眠模 式,直到邻居或一个邻居为了完成通信而运作为止。然而,这不是本专利技术的 必要方面。此外,为了完成期望的功率节省并减少热量的产生,期望在发起 的计算机在等候通信完成的时候间断,或至少显著地减少自己的功耗。可以 想象,这可以由多种手段中的任意一种手段来实现。例如,如果该计算机是 由内部时钟或外部时钟定时的,则该时钟可以在该时间|更期间-故减'艮或停 止。在此所描述的本专利技术 一 个实施例中,无论指令和数据的源是计算机的内 部存储器,还是这类指令和数据是由诸如另一计算机、外部通信端口等的另 一个源接收的,这类指令和数据都会得到基本相同的对待。这是非常有意义 的,原因是诸如贮存数据或指令、本文档来自技高网...
【技术保护点】
一种计算机系统,包括: 具有端口的计算机处理器组,和 爬虫,用于通过一端口将从数据、位置和指令的组中选择的信息传送到第一处理器; 其中所述第一处理器被编程为录入计划供给所述第一处理器的信息,并将所述爬虫运送到第二处理器。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:查理斯H莫尔,迈克尔B蒙特维利什斯凯,杰佛瑞亚瑟福克斯,
申请(专利权)人:VNS组合有限责任公司,
类型:发明
国别省市:US[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。