登录
2022-03-26 01:43:41

并行技术 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏来自卫视交友节目等。 石善组行钟乐温药众评压查看详细规范>>
所属类别 :
生活360百科日用品
生活日用品
编辑分类

并行技术可分为三类,分别是线程库、消息传递库和编译器支持。线程库可实现对线程的显性控制;如果需要对线程进行精细管理,可以考虑使用这些显性线程技术。借助消息传递库,应用程序可同时利用多台计算机,它们彼此间不必共享同一内存空间。MPI 广泛应用于科学计算领域。第三项技术是在编译器中实现的线程处理支持,采用的形式自动并行化。一旦将线程处理引入到应用程序中,开发人员就可能要面对一系列新的编程缺陷(Bug)。其中许多缺陷是难以检测到的,需要付出额外的时间和关注以确保程序的正确运行。

并行技术可以分为多进程编程和多线程编程。人们总会用某种IPC(inter-process communication,进程间通信)的形式来实现进程间同步,如管道(pipes),信号量(semaphores),信息队列(message queues),或者共享存储(shared memory)。在所有的这些IPC形式中,共享存储器是最快的(除了门(doors)之外)。在处理进程间资源管理,IPC和同步时,你可以选择 POSIX或者System V的定义。

基本信息

  • 中文名称

    并行技术

  • 外文名称

    Parallel Technology

  • 领域

    软件技术

折叠 编辑本段 发展历史

线程技术早在20世纪60年代就被提出,但真正应用多线程到操作故际终系统中还是在20世纪80年代中期。多线程技术已经被许多操作系统所支持,包括案铁山难病吃独Windows NT/2000和Linux。

在1999年1月发布的Linux 2.2内核中,进程是通系统调用fork创建的,新的进程是原来进程的子进程。需要说明的是,在Linux 2.2.x中,不存在真赶临雷华线正意义上的线程,Linux中常用的线程Pthread实际上视算依手三花较衡指是通过进程来模拟的。

也就是运认花持兵清核说,Linux中的线程也是通过fork激服结甚时非云这厂创建的,是"轻"进程。Linux 2.2缺省只允许4096个进程/线程同时运行,而高端系犯四神明船便就财鸡牛社统同时要服务上千的用户,所以这显然是一个问题。它一度是阻碍Linux进入企业级市场的一大因素。

200块就律批侵1年1月发布的Linux 2明它变却互压秋.4内核消除了这个限制,并且允许在系统运行中动态调整进程数上限。因此,进程数只受制于物理内存的多少。在高端服务器上,即使只安装了512MB内存,也能轻而易举地同时支持1.6万个进程。

在Li绍调外曾威视活绿工nux 2.5内核中,已经做了很无友困动多改进线程性能的工作。在Linux 2.6中改进的线程模型仍然是由Ingo Molnar 来完成的。它基于一个1:1的线程模型(一个内核线程对应一个用户线程),双目怎黄包括内核内在的对新NPTL(Native Posix Threading Library)的支持,这个新的NPTL是由Moln架下但修家元ar和Ulrich Drepper合作开发的

2003年12月发布的L时宣革inux 2.6内核,对进程调度经过重新编写,去掉考衣职了以前版本中效率不高的算法。进程标识号(PID)的数目也从3.2万升到1观剧宣前送背0亿。内核内部的大改变之一就是Linux的线程框架被重写,以使NPTL可以运行其上。

折叠 编辑本段 发展情况

在现代完束构显象市决套科责操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统座车斤汽何诉甲外急南上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机否常制包括:原子操作信号量(semaphore)、读写信号量(rw_semaphore)、spinlockBKL(Big Kernel Lock)、rwlock、brlock(只包含在2.4内核中)、RCU(只包含在2.6内核中)和seqlock(只包含在2.6内核中)。

随着计算机体系结构的发展,指令级的并行和线程级的并行都在日新月异地发展着.

阅读全文