基于smp架构的pthread库多线程研究

基于smp架构的pthread库多线程研究

ID:11761413

大小:1.08 MB

页数:9页

时间:2018-07-13

基于smp架构的pthread库多线程研究_第1页
基于smp架构的pthread库多线程研究_第2页
基于smp架构的pthread库多线程研究_第3页
基于smp架构的pthread库多线程研究_第4页
基于smp架构的pthread库多线程研究_第5页
资源描述:

《基于smp架构的pthread库多线程研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《并行算法实践》要求学生在龙芯3A实验平台上设计并行算法并实现。实验平台由一块处理板、一块监控板和一块背板等组成。实验平台的逻辑结构如图1所示。处理板承载4个处理单元,每个处理单元包括一个龙芯3A四核CPU、2GBDDR2内存、RTL8110千兆以太网卡芯片、BIOSFlash、串口收发芯片以及电源变换电路等。四个龙芯3A处理器通过网络实现互连。监控电路检测4个处理单元的状态,并实现对其控制。图1实验平台逻辑结构实验平台的系统软件以开源软件为主(见图2),具有兼容性强、易维护、易升级、易使用等特点。处理单元操作系统为DebianGNU/Linux无盘系统,采用

2、稳定高效的2.6.27内核。图2软件系统结构基于SMP架构的Pthread库多线程研究1实验原理:基于Pthread线程库的PortableOperatingSystemInterface(POSIX)线程是构建可利用SMP的线程化应用程序的一种好方法。POSIX线程提供了线程化机制和共享内存。当调用程序创建若干线程时,每个线程得到自身的堆栈(本地变量和状态),但共享父线程的数据空间。创建的所有线程共享这个相同的数据空间。为支持多线程访问共享内存,需要具备协调机制。POSIX提供了互斥函数来控制线程间的通信,用于实施单线程对对象(一块内存)的独占访问。不这样做

3、可能导致内存破坏(由于多个线程执行了不同步的操作),SMP架构是对称多处理器共享内存结构,适合用Pthread多线程库来编写多线线程序来观察多个线程在SMP架构中的不同CPU上的执行情况以及共享变量与私有变量并可以进行性能分析。2SMP架构SMP(SymmetricMulti-Processor)所谓对称多处理器结构,是指服务器中多个CPU对称工作,无主次或从属关系。各CPU共享相同的物理内存,每个CPU访问内存中的任何地址所需时间是相同的,因此SMP也被称为一致存储器访问结构(UMA:UniformMemoryAccess)。对SMP服务器进行扩展的方式包括

4、增加内存、使用更快的CPU、增加CPU、扩充I/O(槽口数与总线数)以及添加更多的外部设备(通常是磁盘存储)。它是相对非对称多处理技术而言的、应用十分广泛的并行技术,一种4CPUSMP架构的结构如图示:图2.1一种4CPUSMP架构的结构SMP服务器的主要特征是共享,系统中所有资源(CPU、内存、I/O等)都是共享的。也正是由于这种特征,导致了SMP服务器的主要问题,那就是它的扩展能力非常有限。对于SMP服务器而言,每一个共享的环节都可能造成SMP服务器扩展时的瓶颈,而最受限制的则是内存。由于每个CPU必须通过相同的内存总线访问相同的内存资源,因此随着CPU数

5、量的增加,内存访问冲突将迅速增加,最终会造成CPU资源的浪费,使CPU性能的有效性大大降低。实验证明,SMP服务器CPU利用率最好的情况是2至4个CPU。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用

6、处理器之上。我们平时所说的双CPU系统,实际上是对称多处理系统中最常见的一种,通常称为"2路对称多处理",它在普通的商业、家庭应用之中并没有太多实际用途,但在专业制作,如3DMaxStudio、Photoshop等软件应用中获得了非常良好的性能表现,是组建廉价工作站的良好伙伴。随着用户应用水平的提高,只使用单个的处理器确实已经很难满足实际应用的需求,因而各服务器厂商纷纷通过采用对称多处理系统来解决这一矛盾。在国内市场上这类机型的处理器一般以4个或8个为主,有少数是16个处理器。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般

7、是8个到16个,不过这对于多数的用户来说已经够用了。这种机器的好处在于它的使用方式和微机或工作站的区别不大,编程的变化相对来说比较小,原来用微机工作站编写的程序如果要移植到SMP机器上使用,改动起来也相对比较容易。SMP结构的机型可用性比较差。因为4个或8个处理器共享一个操作系统和一个存储器,一旦操作系统出现了问题,整个机器就完全瘫痪掉了。而且由于这个机器的可扩展性较差,不容易保护用户的投资。但是这类机型技术比较成熟,相应的软件也比较多,因此现在国内市场上推出的并行机大量都是这一种。PC服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。目前U

8、NIX服务器可支持最多64个CPU的系

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。