族谱网 头条 人物百科

任务并行

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:459
转发:0
评论:0
多处理器调度一般任务在处理器上通过调度用户线程(UserThread,相对于内核线程KernelThread)实现的。操作系统也可提供一个用户模式下的调度器。调度器的任务就是尽可能合理的将任务分配和均衡到各个处理器上。相关概念同步是任务并行里涉及到最重要的任务之间通信的方法,分为进程同步(或者线程同步)和数据同步。数据同步和进程同步的目的是为了使程序在多处理器执行的条件下保持一定的内存模型。进程同步主要研究如何确定数个进程之间的执行顺序和避免数据竞争(Dataracecondition)的问题。避免数据竞争的常用方法是在程序中设立临界区,即一次只允许一个线程执行的一段代码,通常用于保护重要的公共变量。然而也有理论研究一次允许数个线程执行临界区代码的一般情况,称为l-exclusion(英语:l-exclusion)问题。数据同步则是研究如何保证在一个变量的多个副本之间保持一致性的问题。数据...

多处理器调度

一般任务在处理器上通过调度用户线程(User Thread,相对于内核线程Kernel Thread)实现的。操作系统也可提供一个用户模式下的调度器。调度器的任务就是尽可能合理的将任务分配和均衡到各个处理器上。

相关概念

同步 是任务并行里涉及到最重要的任务之间通信的方法,分为 进程同步 (或者 线程同步 )和 数据同步 。数据同步和进程同步的目的是为了使程序在多处理器执行的条件下保持一定的内存模型。

进程同步主要研究如何确定数个进程之间的执行顺序和避免 数据竞争 (Data race condition)的问题。避免数据竞争的常用方法是在程序中设立临界区,即一次只允许一个线程执行的一段代码,通常用于保护重要的公共变量。然而也有理论研究一次允许数个线程执行临界区代码的一般情况,称为 l-exclusion ( 英语 : l-exclusion ) 问题。

数据同步则是研究如何保证在一个变量的多个副本之间保持一致性的问题。数据同步通常涉及到的话题有Cache一致性(Cache Coherence),数据复制(Data replication)等等。

同步对象 是用于实现同步的数据结构对象。可分为内核同步对象与用户同步对象。用户同步对象更有效率;内核同步对象使得线程在用户态与内核态切换,花销巨大。用户态的同步对象有临界区与原子操作等;内核态的同步对象有内存屏障(Memory barrier)、互斥锁(Mutex)、信号量(Semaphore)和锁(Lock)、管程(Monitor)、消息(Message)、自动重置事件、人工重置事件、自动重置定时器、人工重置定时器、进城、线程、作业、文件、 控制台输入、文件修改通知、管道(Pipe)等。

内核同步对象通常有 signaled 与 nonsignaled 两种状态,可分别译作置位的(标志的、通知的)与未置位的(未标志的、未通知的)。当操作系统设置一个同步对象为signaled,任何等待该对象的线程被从该对象上释放,从等待状态变为可执行状态。同步对象通过等待句柄(waitable handle)访问。等待句柄处于signaled状态,则该等待句柄不被任何线程拥有。

Windows操作系统的API:WaitForSingleObject、WaitForMulitpleObjects、SignalObjectAndWait(通知一个内核对象并等待另一个内核对象的原子操作)、MsgWaitForMultipleObjects(等待多个内核对象阻塞时仍可以响应Windows消息的到来)、MsgWaitForMultipleObjectsEx用来等待同步对象从nonsignaled变为signaled状态。

参见

内存一致性模型(Memory consistency model)

数据并行

事务内存(Transactional memory)

并发系统(Concurrent system)


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 任务视图
类似的应用程序在其他操作系统中有类似的效果。MicrosoftWindows3.0在1990年首次引入了窗口切换器。使用Alt+Tab↹,用户可以查看所有已打开窗口的平面视图。自此之后,Windows的各个版本都提供这样的窗口切换功能。WindowVista和Window7提供了被称为WindowsFlip3D的额外特性,但本质目的基本一致。Flip3D允许用户用3D透视的效果查看所有已打开的窗口。此方法的缺点是前景窗口的大部分覆盖了其他窗口的显著内容,这不同于Exposé。另一方面,这允许用户看到前景窗口的大部分内容,而这很难在Exposé中做到,特别是如果用户打开了很多窗口。Vista的桌面窗口管理器提供了一个公用API,允许任何应用程序访问与Flip3D中使用的相同的缩略图,因此有大量第三方加载项能在Vista中提供类似Exposé的功能。只有很少的第三方软件,例如Emcee桌面管理...
· 并行计算
基本体系结构相对于串行计算,并行计算可以划分成时间并行和空间并行。时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行。数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。空间上的并行导致两类并行机的产生,按照麦克·弗莱因(MichaelFlynn)的说法分为单指令流多数据流(SIMD)和多指令流多数据流(MIMD),而常用的串行机也称为单指令流单数据流(SISD)。MIMD类的机器又可分为常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。访存模型并行计算机有以下五种访存模型:均匀访存模型(UMA)、非均匀访存模型(NUMA)、全高速缓存访存模型(COMA)、一致性高速缓存非均匀存...
· 前线任务系列
作品更多资料:前线任务系列作品列表电子游戏前线任务系列从1995年起,已经发行了11部电子游戏,七部为本传作品,另外四部为衍生作品。此外,系列还有几部电子游戏移植、重制与合辑。在2002年7月12日,《前线任务》的直接移植版发行于万代WonderSwanColor。一年后的2003年10月23日,游戏索尼PlayStation平台重制版《前线任务1st》发行。在发行后不久的2003年12月11日,合辑《前线任务历史》在日本发行。合计收录了《前线任务1st》重制版、修改版的《前线任务2》和《前线任务3》。《前线任务1st》的任天堂DS重制版于2007年5月22日发行。系列第二款重制游戏为《前线任务2089》的重制版《前线任务2089疯狂边界》。该重制版于2008年5月29日在日本发行。全部的前线任务游戏都在日本发行,但只有少量作品在日本外本地化。《前线任务3》是首部在北美和欧洲发行的游戏,发
· 西汉郡国并行制简介郡国并行制的影响
西汉郡国并行制弊端有很多,汉文帝继位后把齐国分成六个小王国,把淮南分为三个小王国,为的是削弱宗室诸侯的势力,从而壮大中央力量,达到国家长治久安。不过这项举措并没有实现长治久安,当时以吴王刘濞为首的七个诸侯王由于不满国家削减他们手中的权力,发兵反抗中央政府。景帝在位第三年七国之乱爆发。刘邦画像平定七国之乱后,为了消除地方势力对中央的威胁以及避免再次造成向七国叛乱,诸侯王国的权力逐渐被削,特权逐渐被夺回,地位下降为中央直接管理的一级地方行政单位,文景两代相继实施以亲制疏和重建诸侯这一策略,一方面设郡,另一方面则册封同性子弟为王。简单来说西汉郡国并行制就是一部分国土由皇帝直接管辖;而另一些地方则分给同姓皇族,这些地方分别实行分封制以及郡县制。这使王国越来越多,诸侯管辖的领域越来越小。而西汉时期王国最多的时期达到了王国二十五个,汉郡为四十三个,加强了中央的统治,基本解决了西汉郡国并行制的弊端。真正...
· 并行不悖
【成语】并行不悖【成语】并行不悖【读音】bìngxíngbùbèi【解释】指同时进行而互相不违背。【出处】《礼记·中庸》:“万物并育而不相害,道并行而不相悖。”【近义词】双管齐下、兼容并蓄【反义词】势不两立、水火不容

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信