首页> 外文OA文献 >Investigating tools and techniques for improving software performance on multiprocessor computer systems
【2h】

Investigating tools and techniques for improving software performance on multiprocessor computer systems

机译:用于提高多处理器计算机系统上软件性能的调查工具和技术

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

The availability of modern commodity multicore processors and multiprocessor computer systems has resulted in the widespread adoption of parallel computers in a variety of environments, ranging from the home to workstation and server environments in particular. Unfortunately, parallel programming is harder and requires more expertise than the traditional sequential programming model. The variety of tools and parallel programming models available to the programmer further complicates the issue. The primary goal of this research was to identify and describe a selection of parallel programming tools and techniques to aid novice parallel programmers in the process of developing efficient parallel C/C++ programs for the Linux platform. This was achieved by highlighting and describing the key concepts and hardware factors that affect parallel programming, providing a brief survey of commonly available software development tools and parallel programming models and libraries, and presenting structured approaches to software performance tuning and parallel programming. Finally, the performance of several parallel programming models and libraries was investigated, along with the programming effort required to implement solutions using the respective models.A quantitative research methodology was applied to the investigation of the performance and programming effort associated with the selected parallel programming models and libraries, which included automatic parallelisation by the compiler, Boost Threads, Cilk Plus, OpenMP, POSIX threads (Pthreads), and Threading Building Blocks (TBB). Additionally, the performance of the GNU C/C++ and Intel C/C++ compilers was examined. The results revealed that the choice of parallel programming model or library is dependent on the type of problem being solved and that there is no overall best choice for all classes of problem. However, the results also indicate that parallel programming models with higher levels of abstraction require less programming effort and provide similar performance compared to explicit threading models.The principle conclusion was that the problem analysis and parallel design are an important factor in the selection of the parallel programming model and tools, but that models with higher levels of abstractions, such as OpenMP and Threading Building Blocks, are favoured.
机译:现代商品多核处理器和多处理器计算机系统的可用性导致并行计算机在各种环境中得到广泛采用,尤其是从家庭到工作站和服务器环境。不幸的是,与传统的顺序编程模型相比,并行编程更加困难并且需要更多的专业知识。程序员可用的各种工具和并行编程模型使问题进一步复杂化。这项研究的主要目的是识别和描述一系列并行编程工具和技术,以帮助新手并行程序员为Linux平台开发有效的并行C / C ++程序。通过突出并描述影响并行编程的关键概念和硬件因素,对常用软件开发工具以及并行编程模型和库进行简要调查,并提出用于软件性能调整和并行编程的结构化方法,可以实现这一目标。最后,研究了几种并行编程模型和库的性能以及使用相应模型实现解决方案所需的编程工作量。将定量研究方法应用于调查与所选并行编程模型相关的性能和编程工作量和库,其中包括编译器,Boost Threads,Cilk Plus,OpenMP,POSIX线程(Pthread)和线程构建块(TBB)自动并行化。此外,还检查了GNU C / C ++和Intel C / C ++编译器的性能。结果表明,并行编程模型或库的选择取决于要解决的问题的类型,并且对于所有类型的问题都没有整体最佳选择。但是,结果还表明,与显式线程模型相比,具有更高抽象级别的并行编程模型所需的编程工作更少,并且提供了相似的性能。原则结论是,问题分析和并行设计是选择并行模型的重要因素编程模型和工具,但是具有较高抽象级别的模型(例如OpenMP和线程构建模块)受到青睐。

著录项

  • 作者

    Tristram Waide Barrington;

  • 作者单位
  • 年度 2011
  • 总页数
  • 原文格式 PDF
  • 正文语种 {"code":"en","name":"English","id":9}
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号