徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

任务并行

指数 任务并行

任務平行(Task parallelism),也稱為功能平行(function parallelism)或控制平行(control parallelism),是平行計算程序设计模型的一种。在这个模型中,每一个线程执行一个分配到的任务,而这些线程则被分配(通常是操作系统内核)到该并行计算体系的各个计算节点中去。.

15 关系: 同步并行计算互斥锁事务内存信号量内存屏障内存一致性模型管道线程監視器 (程序同步化)訊息資料平行臨界區段操作系统

同步

同步(synchronization),指在一個系統中所發生的事件(event)之間進行協調,在時間上出現一致性與統一化的現象。在系統中進行同步,也被稱為及時(in time)或同步化的(synchronous, in sync)。.

新!!: 任务并行和同步 · 查看更多 »

并行计算

并行计算(parallel computing)一般是指许多指令得以同时进行的计算模式。在同時進行的前提下,可以將計算的過程分解成小部份,之後以並行方式來加以解決。 電腦軟體可以被分成數個運算步驟來執行。為了解決某個特定問題,軟體採用某個演算法,以一連串指令執行來完成。傳統上,這些指令都被送至單一的中央处理器,以循序方式執行完成。在這種處理方式下,單一時間中,只有單一指令被執行(processor level: 比较微处理器,CISC, 和RISC,即流水线Pipeline的概念,以及后来在Pipeline基础上以提高指令处理效率为目的的硬件及软件发展,比如branch-prediction, 比如forwarding,比如在每个运算单元前的指令堆栈,汇编程序员对programm code的顺序改写)。平行運算採用了多個運算單元,同時執行,以解決問題。.

新!!: 任务并行和并行计算 · 查看更多 »

互斥锁

互斥锁(英语:Mutual exclusion,缩写 Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的临界区域(critical section)达成。临界区域指的是一块对公共资源进行存取的代码,并非一种机制或是算法。一个程序、进程、线程可以拥有多个临界区域,但是并不一定会应用互斥锁。 需要此机制的资源的例子有:旗标、队列、计数器、中断处理程序等用于在多条并行运行的代码间传递数据、同步状态等的资源。维护这些资源的同步、一致和完整是很困难的,因为一条线程可能在任何一个时刻被暂停(休眠)或者恢复(唤醒)。 例如:一段代码(甲)正在分步修改一块数据。这时,另一条线程(乙)由于一些原因被唤醒。如果乙此时去读取甲正在修改的数据,而甲碰巧还没有完成整个修改过程,这个时候这块数据的状态就处在极大的不确定状态中,读取到的数据当然也是有问题的。更严重的情况是乙也往这块地方写数据,这样的一来,后果将变得不可收拾。因此,多个线程间共享的数据必须被保护。达到这个目的的方法,就是确保同一时间只有一个临界区域处于运行状态,而其他的临界区域,无论是读是写,都必须被挂起并且不能获得运行机会。.

新!!: 任务并行和互斥锁 · 查看更多 »

事务内存

事务内存(Transactional memory)是一种并行程序设计的方式,其来自于数据库管理系统(DBMS)中的事务(Transaction)概念。事务内存目前有两种实现方式,基于软件的软件事务内存(STM)和基于硬件的HTM(Hardware Transactional Memory)。.

新!!: 任务并行和事务内存 · 查看更多 »

信号量

信号量(Semaphore)又稱為--,是一个同步对象,用于保持在0至指定最大值之间的一个计数值。当线程完成一次对该semaphore对象的等待(wait)时,该计数值减一;当线程完成一次对semaphore对象的释放(release)时,计数值加一。当计数值为0,则线程等待该semaphore对象不再能成功直至该semaphore对象变成signaled状态。semaphore对象的计数值大于0,为signaled状态;计数值等于0,为nonsignaled状态.

新!!: 任务并行和信号量 · 查看更多 »

内存屏障

内存屏障(Memory barrier),也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作。 大多数现代计算机为了提高性能而采取乱序执行,这使得内存屏障成为必须。 语义上,内存屏障之前的所有写操作都要写入内存;内存屏障之后的读操作都可以获得同步屏障之前的写操作的结果。因此,对于敏感的程序块,写操作之后、读操作之前可以插入内存屏障。.

新!!: 任务并行和内存屏障 · 查看更多 »

内存一致性模型

内存一致性模型描述的是程序在执行过程中内存操作正确性的问题。内存操作包括读操作和写操作,每一操作又可以用两个时间点界定:发出(Invoke)和响应(Response)。在假定没有流水线的情况下(即单个处理器内指令的执行是按顺序执行的),设系统内共有N个处理器,每个处理器可发出s_n(0个内存操作(读或写),那么总共有:\frac 种可能的执行顺序。内存一致性模型描述的就是这些操作可能的执行顺序中那些是正确的。.

新!!: 任务并行和内存一致性模型 · 查看更多 »

管道

管道可以指:.

新!!: 任务并行和管道 · 查看更多 »

线程

线程(thread)是操作系统能夠進行運算调度的最小單位。它被包含在进程之中,是进程中的實際運作單位。一条线程指的是进程中一个单一顺序的控制流,一個进程中可以並行多個线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。 线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。 同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。 一个进程可以有很多线程,每条线程并行执行不同的任务。 在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。.

新!!: 任务并行和线程 · 查看更多 »

監視器 (程序同步化)

-- (Monitors,也称为--) 是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享資源。這些共享資源一般是硬體裝置或一群變數。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。与那些通过修改数据结构实现互斥访问的并发程序设计相比,管程实现很大程度上简化了程序设计。 管程提供了一种机制,线程可以临时放弃互斥访问,等待某些条件得到满足后,重新获得执行权恢复它的互斥访问。 管程是东尼·霍尔 与泊·派克·漢森 提出的,并由泊·派克·漢森首次在并行Pascal中实现。东尼·霍尔证明了這與信号量是等價的。管程在当时也被用于單作業系統环境中的进程間通訊。 在程式語言Concurrent Pascal,Pascal-Plus,Modula-2,Modula-3,Mesa以及Java中都提供這個功能。.

新!!: 任务并行和監視器 (程序同步化) · 查看更多 »

訊息

訊息(英語:Message),是一段獨立的溝通內容,由傳送者傳達給一個或多個對象,並期望他們充分接收。訊息可以用不同的方式傳達,包括信差、電報及電子匯流排。一個訊息可以是一段廣播的內容。一連串訊息的互動交換,就形成會話。 訊息的一個常見例子是「公告」,那是由公家機關發佈的一份簡要的政策說明或報告。.

新!!: 任务并行和訊息 · 查看更多 »

資料平行

資料平行(Data parallelism,又譯為數據平行),是一種多處理器的平行運算模式,將資料分配到不同的平行運算節點中。資料平行把大的任务化解成若干个相同的子任务,处理起来比任务平行简单。.

新!!: 任务并行和資料平行 · 查看更多 »

锁是一种保安設施,是人類为了保护自己的财产而发明的一种用钥匙才能开启的装置。就现代而言,是一种以钥匙、密码、电路或者其他用具来开启的封缄装置,用以防止物品被打开、移走兼具防护、管理甚至是装饰的作用。《辞海》对锁的解释为:“必须用钥匙才能开启的封缄器。”《辞源》的解释为:“所以扃门户箱箧之具,使人不得开者,古人谓之键,今人谓之锁。”《说文解字》解释为:“锁,铁锁,门键也。” 锁在制作材质上主要有两种:木质锁、金属锁。.

新!!: 任务并行和锁 · 查看更多 »

臨界區段

在同步的程式設計中,臨界區段(Critical section)指的是一個存取共用資源(例如:共用裝置或是共用記憶體)的程式片段,而這些共用資源有無法同時被多個執行緒存取的特性。 當有執行緒進入臨界區段時,其他執行緒或是行程必須等待(例如:bounded waiting 等待法),有一些同步的機制必須在臨界區段的進入點與離開點實現,以確保這些共用資源是被互斥或的使用,例如:semaphore。 只能被單一執行緒存取的裝置,例如:印表機。 一個最簡單的實現方法就是當執行緒(Thread)進入臨界區段時,禁止改變處理器;在uni-processor系統上,可以用「禁止中斷(CLI)」來完成,避免发生系统调用(System Call)导致的上下文交換(Context switching);當離開臨界區段時,處理器回復原先的狀態。.

新!!: 任务并行和臨界區段 · 查看更多 »

操作系统

操作系统(operating system,縮寫作 OS)是管理计算机硬件與软件資源的计算机程序,同时也是计算机系统的核心与基石。操作系统需要处理如管理與配置内存、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作网络與管理文件系统等基本事務。操作系统也提供一個讓使用者與系統互動的操作界面。 操作系统的型態非常多樣,不同機器安裝的操作系统可從簡單到複雜,可從行動電話的嵌入式系统到超級電腦的大型作業系統。許多操作系统製造者對它涵盖范畴的定义也不尽一致,例如有些操作系统整合了图形用户界面,而有些僅使用命令行界面,而將图形用户界面視為一種非必要的應用程式。 操作系统理论在计算机科学中,為歷史悠久的分支;。.

新!!: 任务并行和操作系统 · 查看更多 »

传出传入
嘿!我们在Facebook上吧! »