“并行软件”的含义是什么?以及“并行软件”之间的区别是什么?和“常规软件”?

它的优点和缺点是什么?

写“并行软件”吗?需要特定的硬件或编程语言吗?

其他提示

  

是“并行软件”吗?需要指定的硬件或编程语言吗?

是的,是的。

第一个很简单。大多数现代CPU(比m6800更新)都具有硬件功能,可以一次完成多项操作,但不一定是同时进行。例如,当定时器中断关闭时,CPU可以保存它正在做的事情,然后开始做其他事情。这些任务同时运行。

即使没有它,你也可以让两台机器彼此之间有某种连接(比如通过Null调制解调器适配器的简单串行连接),它们可以并行处理同一个任务。

大多数新的(不仅仅是现代的,但最近的)CPU都内置了并行计算资源。这些多核CPU实际上可以同时处理两个或更多任务,每个核心一个任务,并具有特殊功能这些任务合作更有效率。

第二个需要特殊软件工具(如并行启用语言),在某些方面是并行计算中最难的部分。如果你是厨房里唯一的人,那就很容易做饭,从开始到结束,一个接一个地跟着每个食谱,直到所有菜都煮熟。如果你想通过增加更多的厨师加快速度,你必须要小心谨慎,不要踩到彼此的脚趾。

处理这个问题最简单的方法是使用一个提供一些工具的线程库,这样多个任务可以安排不互相破坏。这并不像将程序标记为并行那样容易,系统负责其余部分,而是必须编写每个任务,以便在可能存在干扰的每个地方与其他任务进行通信。

并行软件可以在计算机上或有时在多台计算机上本地利用多个核心/ cpu。例子包括图形渲染软件和电路设计软件。

除了多处理器感知软件之外,其他缺点往往不太确定是CPU占用的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top