并发计算

✍ dations ◷ 2024-09-20 05:51:46 #操作系统技术,并发计算

并发计算(英语:Concurrent computing,或译为并发处理、共时计算),是一种程序计算的形式,在系统中,至少有两个以上的计算在同时运作,计算结果可能同时发生。用来实现并发系统(Concurrent system)的编程语言与各种算法,统称为并发计算。

并发程序通常被设计为交互式的运算过程,因为它的运算过程是不确定的,在设计上的难度较高。设计并发程序最大的挑战,在于确保不同运算运行步骤间的交互或是通信,能以正确的顺序进行,同时,也要确保在不同运行步骤间共享的资源,能够正确被访问。在这个领域的先驱人物有艾兹赫尔·戴克斯特拉、东尼·霍尔与泊·派克·汉森等人。

并发计算,简单来说,就是将一个计算任务,分割成几个小的部分,让它们同时被计算,之后再汇整计算结果,以完成任务。它跟并行计算(Parallel computing)与分布式计算,有重叠之处,在概念上不同,但常会让人混淆。

并发计算是一种程序运算的特性,可以被视为是并行运算的进一步抽象,它包涵了时间片这种可以被用来实现虚拟并行运算(pseudoparallelism)的技术,因此在实际的物理运作中,计算过程可能是并行,或非并行的。

并行计算是指,当并发计算的程序,在机器平台上同时被运行的状况,因此,并行计算是一种机器运算的形式之一。分布式计算(Distributed computing)则是并行计算的一个特例,它采用计算机网络来进行同步。

实现并发程序有许多方式,依编程语言与操作系统的支持,可以用行程,或是线程来实现。它可以运行在单一处理器上,将不同的运行步骤分散在不同时间片中运行,以非并行方式循序运算;它也可以用并行计算来实现,将每个行程指定给处理器组中的某个处理器,以单片机多处理器平台,或是透过网络链接的分散平台来实做。

依照硬件与操作系统的支持,并发计算可以在同一个行程中完成,在同一个行程中以多线程来完成,以多个行程来达成,甚至可以分成数个程序来运行。可以用单处理器的循序计算来实现,也可以采并行计算或分布式计算方式实做。

但以并行方式来运作并发程序,并不必然会增进运行效率。因为运行结果可能会因为平台特性而改变,也增加它在设计上的难度。

并发计算中,不同计算单元之间,需要进行通信以保持同步。这些通信方式,在某些并发编程语言中,是被隐藏起来的(例如,利用future方式)。以外显方式来进行通信,可分成两种主要方式:

并发性编程语言使用编程语言结构特性进行并发。这些结构涉及到多线程,分布式计算,消息传递,资源共享(包括内存共享)。有时候我们也称这些语言是面向并发的编程语言(COPL)。如今很多常用的语言都拥有并发的特性,例如:Java和C#。这两种语言底层都是通过内存共享以及锁监听机制的并发模型来实现(尽管消息传递模型如今也是基于内存共享模型实现的)。在消息传递的并发模型世界中,Erlang最具代表性并被广泛使用至今。

很多并发性编程语言更多的是被用作研究(例如:Pict)而非生产用途。尽管如此,在最近20年,还是有很多语言例如 Erlang,Limbo和Occam被用于生产工业。类似这些并发性编程语言还包括:

相关

  • 维生素A维生素A又称维他命A、抗干眼病维生素,是人类的必需营养素之一。维生素A的前体是存在于多种植物中的胡萝卜素。维生素A并非单一的一种化合物,而是有许多不同的型态。动物能将胡
  • 羽部,为汉字索引中的部首之一,康熙字典214个部首中的第一百二十四个(六划的则为第七个)。就繁体和简体中文中,羽部归于六划部首。羽部从上、下、左、右方均为部字。且无其他部首
  • 工业生态学工业生态学(Industrial ecology,简称IE)又称产业生态学,是对开放系统的运作规律通过人工过程进行干预和改变,在一般的开放系统中资源和资金经过一系列的运作最终结果是变成废物垃
  • 米德尔塞克斯县米德尔塞克斯县(英语:Middlesex County)是美国马萨诸塞州东北部的一个县,北邻新罕布什尔州。面积2,195平方公里。根据美国2000年人口普查,共有人口1,465,396人,为全州人口最多的县
  • 阿弥陀佛阿弥陀佛(梵语:अमिताभ,Amitābha),意为无量光佛,另名无量寿佛(梵语:अमितायूस्,Amitāyus),又称为无量清净佛、甘露王如来(梵语:Amṛta-rāja),在华人地区习惯作弥陀佛、弥陀
  • 八面体形分子构型化学中,八面体形分子构型指的是一个分子中,中心原子上连有六个基团或配体而形成八面体的分子构型。理想的正八面体形分子属于Oh点群,例如六氟化硫SF6、六羰基钼Mo(CO)6等。使用
  • 千总千总明代嘉靖京军三大营职官,其上有总兵、大将、副将、参将、游击、佐击、坐营、号头官、中军官等官职。于清朝武官名而言,可以是从五品的守御所千总、正六品的门千总或营千总
  • 台中林氏宗祠台中林氏宗庙(当地人俗称林祖厝)位于台中市南区,于民国七十四年(1985年)11月27日公告为三级古迹。原创建于清嘉庆年间,初名“林禄公祠”,建于内新庄(今台中市大里区内新里);台湾日治时
  • 罗伯特·恩克罗伯特·恩克(德语:Robert Enke,1977年8月24日-2009年11月10日),德国足球运动员,在去世前效力于德甲汉诺威,并且长期入选勒夫率领的德国国家队,曾在2008年欧洲足球锦标赛里担任了2号
  • 台铁CK80型蒸汽机车台铁CK80型蒸汽机车为台湾总督府铁道部引进的B6型(日语:国鉄2100形蒸気機関車)饱合式机车(即日本国铁2120型(日本或英国制)与2500型(美国制))。引进时编为80型,台铁接收后编为CK80型。