【转载】任务平行
来源:互联网 发布:ted李世默 知乎 编辑:程序博客网 时间:2024/04/30 14:29
任务平行(英语:Task parallelism),也称为功能平行(function parallelism)或控制平行(control parallelism),是平行计算程序设计模型的一种。在这个模型中,每一个线程执行一个分配到的任务,而这些线程则被分配(通常是操作系统内核)到该并行计算体系的各个计算节点中去。
多处理器调度
一般任务在处理器上的调度是通过用户线程(User Thread,相对于内核线程 - Kernel Thread 而言)实现的。操作系统内核通过操纵调度器(Scheduler)对线程进行调度从而将任务映射到各个处理器上。这种调度方式一般不能满足用户自由安排分配任务的要求:通常需要操作系统提供一个用户模式下的调度器来完成这个任务。调度器的任务就是尽可能合理的将任务分配和均衡到个处理器上。
任务并行涉及到的概念
同步是任务并行里涉及到最重要的任务之间通信的方法,分为进程同步(或者线程同步)和数据同步。进程同步主要研究如何确定数个进程之间的执行顺序和避免数据竞争(Data race condition)的问题。避免数据竞争的主要方法是在程序中设立临界区,即一次只允许一个线程执行的一段代码,通常用于保护重要的公共变量。然而也有理论研究一次允许数个线程执行临界区代码的一般情况,称为l-exclusion问题。
就编程方法来说,保持进程间同步的主要方法有内存屏障(Memory barrier),互斥锁(Mutex),信号量(Semaphore)和锁(Lock),管程(Monitor),消息(Message),管道(Pipe)。
数据同步则是研究如何保证在一个变量的多个副本之间保持一致性的问题。数据同步通常涉及到的话题有Cache一致性(Cache Coherence),数据复制(Data replication)等等。
数据同步和进程同步的目的是为了使程序在多处理器执行的条件下保持一定的内存模型。
- 【转载】任务平行
- window 定时任务(转载)
- 转载:oracle定时任务
- 平行时空
- 平行空间
- 平行處理概觀
- 堆栈平行
- 平行越权
- 【转载】Quartz动态管理任务
- 详解java定时任务(转载)
- uCOS-II任务管理之改变任务优先级 [转载]
- jBPM用户指南 第十一章 任务管理 (转载)
- 任务管理器被禁用的解决办法(转载)
- JAVA程序员 学习任务(转载)
- Spring定时任务的简单例子(转载)
- [转载]Gearman(分布式任务调度框架) 简介
- 内核中的同步与任务调度(转载)
- 【转载】Quartz —— 任务调度
- 我也爱国,爱的是生活在这里的人民
- 关于SQL Server2008中提供的9种常用的数据挖掘算法
- 越是好女人可能越缺人追
- 亲,开发一个ios应用没那么容易.!
- How to get details about patch applied in Oracle Applications by OAM & SQL?
- 【转载】任务平行
- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- printf in KEIL C51
- [Python]easy_install使用小技巧
- 对话卖猪肉北大学子:不卖猪肉,我房子都买不起
- HD214 Cake
- rex启动流程
- JPA的主键产生策略
- js操作select标签级联