标签:#并发计算

共 84 篇文章

通信顺序进程

在计算机科学中,通-{}-信顺序进程(,縮寫為CSP),又譯為交-{}-談循序程式、交換訊息的循序程式,是一種形式語言,用來描述並行性系統間進行互動的模式。它是叫做进程代数或进程演算的关于并发的数学理论家族的一员,基于了通过通道的消息传递。CSP高度影響了Occam的設計,也影響了程式語言如Limbo、、Go、 和Clojure的core.async等。 CSP最早出現於東尼·霍爾在1978年發表的論文,但在之後又經過一系列的改善。CS…

计算机集群

的技术人员在一个大型Linux集群上工作]] 计算机集群()是一组松散或紧密连接在一起工作的计算机。由于这些计算机协同工作,在许多方面它们可以被视为单个系统。与网格计算机不同,计算机集群将每个设置为执行相同的任务,由软件控制和调度。 集群的组件通常通过快速局域网相互连接,每个节点(用作服务器的计算机)运行自己的操作系统实例。在大多数情况下,所有节点使用相同的硬件和相同的操作系统,尽管在某些设置中(例如使用),可以在每台计算机或不同的硬件…

超執行緒

超執行緒(,縮寫HT)是英特爾專有的同時多執行緒技術,於2002年發布,用來改進x86微處理器執行平行計算(一次執行多個任務)的能力。超執行緒技術原先只應用於英特尔 Xeon 處理器中,當時稱為Super-Threading。之後陸續應用在Pentium 4 HT中,早期代號為Jackson。 通過此技術,英特爾實現在一個實體核心中,提供兩個逻辑線程。 軟件相容性 英特爾表示,超執行緒技術讓Pentium 4 HT處理器增加5%的裸晶面…

至强融核

至强融核(Xeon Phi)协处理器,是首款英特尔集成众核(Many Integrated Core,MIC)架构产品。用作高性能计算(HPC)的超级计算机或服务器的加速卡。最多72個处理器核心,每個核心擁有4個超線程,最多288個線程,超線程無法關閉。与之竞争的是GPGPU(通用图形处理器)在HPC領域应用的普及。英特尔至强融核协处理器提供了类似于英特尔至强处理器编程环境的通用编程环境。多个英特尔至强融核协处理器可安装在单个主机系统中…

Stackless Python

Stackless Python或称简称Stackless,是一个Python编程语言解释器,这么称呼的原因是它避免了依赖C调用栈为自己的堆栈。在实际中,Stackless Python使用了C堆栈,但是这个堆栈在函数调用之间是被清除的。Stackless Python的最突出特征是,它避免了与操作系统线程有关的大量开销。在Python特征之外,Stackless还增加了协程、通信通道和任务序列化。 设计 对于Stackless Pyt…

并发计算

{{Other uses |subject=concurrent computing(中國大陆译名:并-{}-发计算,台湾译名:並-{}-行計算) |other= parallel computing(中國大陆译名:并-{}-行计算,台湾译名:平-{}-行計算) |并行计算 }} 并发计算(,或譯為並行處理、共時計算),是一種程式計算的形式,在系統中,至少有兩個以上的計算在同時運作,計算結果可能同時發生。用來實作並行系統(Concurr…

深藍 (超級電腦)

深藍()是由IBM開發,專門用以分析国际象棋的超級電腦。1997年5月曾擊敗西洋棋世界冠軍卡斯帕羅夫。 歷史 深藍計劃源自許峰雄在美國卡内基·梅隆大學修讀博士學位時的研究,第一台電腦名為「晶体测试」,在州象棋比赛中获得了名次,后来该又研制了另一台電腦「沉思」(Deep Thought,該名源自于《銀河系漫游指南》中的一臺超級電腦),晶片工艺是3微米。許峰雄在1989年加入IBM研究部門,並繼續超級電腦的研究工作,當時他與Murray C…

阿姆达尔定律

阿姆達爾定律(,),一個計算機科學界的經驗法則,因吉恩·阿姆達爾而得名。它代表了處理器并行運算之後效率提升的能力。 基本描述 平行運算中的加速比是用并行前的执行速度和并行后的执行速度之比来表示的,它表示了在并行化之后的效率提升情况。 阿姆达尔定律是固定负载(计算总量不变时)时的量化标准。可用公式:\frac{W_s + W_p}{W_s + \frac{W_p}{p}}来表示。式中W_s, W_p分别表示问题规模的串行分量(问题中不能并…

任务并行

任務平行(),也稱為功能平行(function parallelism)或控制平行(control parallelism),是平行計算程序设计模型的一种。在这个模型中,每一个线程执行一个分配到的任务,而这些线程则被分配(通常是操作系统内核)到该并行计算体系的各个计算节点中去。 多处理器调度 一般任务在处理器上通过调度用户线程(User Thread,相对于内核线程Kernel Thread)实现的。操作系统也可提供一个用户模式下的调度…

数据传输对象

在计算机编程中,数据传输对象 (data transfer object,DTO)是在2个进程中携带数据的对象。因为进程间通信通常用于远程接口(如web服务)的昂贵操作。成本的主体是客户和服务器之间的来回通信时间。为降低这种调用次数,使用DTO聚合本来需要多次通信传输的数据。 DTO与业务对象或数据访问对象的区别是:DTO的数据的变异子与访问子(mutator和accessor)、语法分析(parser)、序列化(serializer)…

并发面向对象编程

并发面向对象编程是一种编程范式,它将面向对象编程(OOP)和并发性结合了起来。尽管很多编程语言,比如Java语言,将OOP结合于并发机制比如线程;而术语“并发面向对象编程”,主要指称的是其中对象自身是并发性的本原(primitive)的系统,比如将对象结合于演员模型的时候。 参见 外部链接 [https://web.archive.org/web/20131001200403/http://www.python.org/workshop…

反应器模式

反应器模式()是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式。当请求抵达后,服务处理程序使用解多路分配策略,然后同步地派发这些请求至相关的请求处理程序。 结构 Node.js Perl Object Environment Spring Framework(版本5之后) Twisted Vert.x。此外,因为请求处理器只会被同步调用,因此会限制反应器模式的最大并发数,特别是在对称多处理硬件。反应器模式的可扩展性,…

演员模型

在電腦科學中,演員模型()是一種並行運算上的模型。「演員」是一種程式上的抽象概念,被視為並行運算的基本單元:當一個演員接收到一則訊息,它可以做出一些決策、建立更多的演員、傳送更多的訊息、決定要如何回答接下來的訊息。演员可以修改它们自己的私有状态,但是只能通过消息间接的相互影响(避免了基于锁的同步)。 演員模型在1973年於、Peter Bishop及Richard Steiger的論文中提出。它已经被用作并发计算的框架和并发系统的基础。…

高性能計算集群

高性能計算集群(,HPCC),也被稱為數據分析超級計算機(,DAS),是一個由律商聯訊風險解決方案(LexisNexis Risk Solutions)發展的開放源代码數據密集型計算系統平台。 系統架構 軟體結構 高性能計算集群系統的軟體結構包括數據精煉(Data Refinery)計算集群Thor、數據輸送(Data Delivery)計算集群Roxie、常用中間件、外部通訊層、提供終端用戶服務和系統管理工具的客戶機接口以及支持系統監…

内存屏障

内存屏障(),也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,它使得 CPU 或编译器在对内存进行操作的时候, 严格按照一定的顺序来执行, 也就是说在内存屏障之前的指令和之后的指令不会由于系统优化等原因而导致乱序。 大多数现代计算机为了提高性能而采取乱序执行,这使得内存屏障成为必须。 语义上,内存屏障之前的所有写操作都要写入内存;内存屏障之后的读操作都可以获得同步屏障之前的写操作的结果。因此,对于敏感的程序块,写操作之后、读操作…

晶體電腦

晶體電腦(),一種微處理機架構,在1980年代開始被提出,具有整合記億體(integrated memory)和串行通信鏈路,可用於平行運算。它可能是下一代處理器的主要架構,對计算机系统结构提出了許多新的看法。它由一間位於英國布里斯托的晶片製造公司,Inmos,所發展。 發展背景

SSE

SSE()是英特尔在AMD的3D Now!发布一年之后,在其计算机芯片Pentium III中引入的指令集,是繼MMX的擴充指令集。SSE指令集提供了70條新指令。AMD后来在Athlon XP中加入了对这个新指令集的支持。 SSE的暫存器 SSE加入新的8個128位元暫存器(XMM0~XMM7)。而AMD發表的x86-64延伸架構(又稱AMD64)再加入額外8個暫存器。除此之外還有一個新的32位元的控制/狀態暫存器(MXCSR)。不過…

单指令流多数据流

单指令流多数据流(,縮寫:SIMD)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。 在微处理器中,单指令流多数据流技术则是一个控制器控制多个平行的处理微元,例如Intel的MMX或SSE,以及AMD的3D Now!指令集。 圖形處理器(GPU)擁有強大的並行處理能力和可程式流水線,面對单指令流多数据流時,運算能力遠超傳統CPU。OpenCL和CUDA分別…

共享内存

共享内存(shared memory)指在多处理器的计算机系统中,可以被不同中央处理器访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存。由于其他处理器可能也要存取,任一缓存数据更新后,共享内存就需要立即更新,否则不同处理器可能用到不同的数据(参见缓存一致和内存一致)。 共享内存的类似方案有分布内存、分布共享内存,用以解决同类问题。 软件术语 在软件中,共享内存指可被多个进程存取的内存,一个进程是一段程序的单个…

資料平行

資料平行(,又譯為數據平行),是一種多處理器的平行運算模式,將資料分配到不同的平行運算節點中。資料平行把大的任务化解成若干个相同的子任务,处理起来比任务平行简单。 概論 在一個多處理器系統中,執行相同的指令集(SIMD),當每個處理器都處理同一個行程中不同的資料時,就達成資料平行。