技术文章

面向 NUMA 优化应用

优化面向 NUMA 的应用 (PDF 225KB)

摘要

NUMA (非一致性内存访问)是一种共享内存架构,描述如何在多处理器系统中放置与处理器相关的主要内存模块。 与其他大多数处理器架构特性一样,忽略 NUMA 可能会导致应用内存性能降低。 但幸运的是,我们可以采取一些步骤缓解基于 NUMA 的性能问题,也可使用 NUMA 架构充分利用并行应用。 其中需要考虑的因素包括处理器关联、基于隐式操作系统策略的内存分配,以及使用系统 API 以通过显式指令分配和迁移内存页。

本文是“英特尔® 多线程应用开发指南”系列的一部分,该系列介绍了针对英特尔® 平台开发高效多线程应用的指导原则。

  • NUMA
  • 优化
  • 并行计算
  • 避免并发现线程之间的假共享

    避免并发现线程之间的假共享 (PDF 218KB)

    摘要

    在对称多处理器 (SMP) 系统中,每个处理器均有一个本地高速缓存。 内存系统必须保证高速缓存的一致性。 当不同处理器上的线程修改驻留在同一高速缓存行中的变量时就会发生假共享, 结果导致高速缓存行无效,并强制执行更新,进而影响系统性能。 本文介绍了检测和更正假共享的方法。

    本文是“英特尔多线程应用开发指南”系列的一部分,该系列介绍了针对英特尔® 平台开发高效多线程应用的指导原则。

    背景

  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • 中级
  • 英特尔® Parallel Studio XE
  • 英特尔® VTune™ 放大器
  • Data Alignment
  • programming tools
  • cache coherence
  • profiler
  • 并行计算
  • 线程
  • 检测线程应用中的内存带宽饱和度

    检测线程应用中的内存带宽饱和度 (PDF 231KB)

    摘要

    内存子系统组件在很大程度上影响着应用的性能特征。 现在,随着越来越多的线程和进程共享有限的高速缓存容量和内存带宽等资源,线程化应用的可扩展性受到了极大限制。 内存密集型线程化应用在运行多个线程时可能会出现内存带宽饱和的问题。 在这种情况下,线程化应用将无法像预期一样扩展,性能也可能有所下降。 本文介绍了在线程化应用中检测内存带宽饱和度的技巧。

    本文是“英特尔多线程应用开发指南”系列的一部分,该系列介绍了针对英特尔® 平台开发高效多线程应用的指导原则。

  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • 服务器
  • 入门级
  • 英特尔® Parallel Studio XE
  • 英特尔® VTune™ 放大器
  • 英特尔® Inspector
  • Intel® Performance Tuning Utility
  • memory
  • scalability
  • 并行计算
  • 线程
  • 借助线程局部存储减少同步处理

    借助线程局部存储减少同步处理 (PDF 241KB)

    摘要

    同步化处理通常是一个昂贵的操作,它限制一个多线程程序的性能。 使用线程局部数据结构来代替由线程共享的数据结构可在某些情况下减少同步化处理,使一个程序运行得更快。

    本文是“英特尔多线程应用开发指南”系列的一部分,该系列介绍了针对英特尔® 平台开发高效多线程应用的指导原则。

    背景

    当数据结构由一组线程共享时,至少有一个线程写入其中,线程之间的同步化处理有时需要确保是否所有线程均会看到一致的共享数据。 这种情况下,线程的一个典型同步化访问制度是一个线程获取锁,读取或写入共享数据结构,然后释放锁。

  • 并行计算
  • 线程
  • 避免线程之间发生堆冲突

    避免线程之间发生堆冲突 (PDF 256KB)

    摘要

    由于系统运行时库使用锁定的方式同步对堆的访问,因此从系统堆分配内存的操作成本非常高。 对于锁的争用限制了多线程的性能优势。 要解决这个问题,可采用避免使用共享锁的分配战略,或使用第三方堆管理器。

    本文是“英特尔多线程应用开发指南”系列的一部分,该系列介绍了针对英特尔® 平台开发高效多线程应用的指导原则。

    背景

  • Microsoft Windows* 8.x
  • 服务器
  • 中级
  • 英特尔® Parallel Studio XE Composer Edition
  • 英特尔® VTune™ 放大器
  • synchronization
  • heap contention
  • dynamic memory allocation
  • lock contention
  • stack allocation
  • 并行计算
  • 线程
  • Образец кода Enhanced Photography для камеры Intel® RealSense™ R200

    This article and sample application show you how to use the Intel® RealSense™ camera (R200) and the Enhanced Photography functionality that is part of the Intel® RealSense™ SDK. The article separates the Intel RealSense SDK functionality from the GUI layer code to make it easier to focus on the R200 Enhanced Photography functionality.
  • Microsoft Windows* 10
  • Microsoft Windows* 8.x
  • 英特尔® 实感™ 技术
  • C#
  • 入门级
  • 英特尔® 实感™ SDK
  • 英特尔® 实感™ 技术
  • Приступая к работе с технологией Intel® Active Management (AMT)

    Looking to get started with Intel® Active Management Technology (Intel® AMT)? This article provides an overview of the features, as well as information on minimum system requirements, configuration of an Intel AMT client, and the developer tools available to help create applications for Intel AMT.
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 10
  • Microsoft Windows* 8.x
  • 企业客户端
  • 英特尔® 主动管理技术软件开发套件
  • AMT 11
  • 英特尔® 主动管理技术
  • 英特尔® 博锐™ 技术
  • Intel® Software Guard Extensions, серия учебных материалов: часть 1, Intel® SGX Foundation

    This first article in the Intel® Software Guard Extensions (Intel® SGX) tutorial series is a brief overview of the technology. Learn how Intel SGX can protect your application's private information, including passwords, account numbers, financial information, encryption keys, and health records.
  • 企业客户端
  • Windows*
  • Software Guard Extensions
  • Advanced Bitrate Control Methods in Intel® Media SDK

    In the world of media, there is a great demand to increase encoder quality but this comes with tradeoffs between quality and bandwidth consumption. This article addresses some of those concerns by discussing advanced bitrate control methods, which provide the ability to increase quality (relative to legacy rate controls) while maintaining the bitrate constant using Intel® Media SDK/ Intel® Media Server Studio tools.
  • 合作伙伴
  • 专业版
  • 教授
  • 学生
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 10
  • Microsoft Windows* 8.x
  • 服务器
  • Windows*
  • C/C++
  • 高级
  • 中级
  • 英特尔® Media Server Studio
  • Media SDK Windows* 版
  • 媒体处理
  • 订阅 技术文章