Multi-thread apps for Multi-Core

Apply Functional Decomposition to Improve Efficiency of Input/Output Operations


Challenge

Decrease the overhead in program execution that is associated with Input/Output (I/O) operations. The following diagram represents the setup, execution, and finish-up phases of a threaded video-processing application:


  • analysis
  • Multi-thread apps for Multi-Core
  • How to thread?
  • Informatique parallèle
  • Write-Combining Store Buffers on Hyper-Threading Technology-Enabled Systems

    Challenge

    Ensure that write-combining store buffers are optimally available for use by the execution engine on processors with Hyper-Threading Technology. To accelerate processor write performance, a write-combining (WC) store buffer accumulates multiple stores in the same cache line before eventually writing the combined data farther out into the memory hierarchy.
  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Informatique parallèle
  • Avoid Excessive Synchronization


    Challenge

    Identify and eliminate excessive synchronization in a threaded application. The overhead associated with excessive synchronization can be a significant detriment to the scaling performance of threaded applications. If global data accesses are found throughout the profile of a thread, each has to be protected by synchronization constructs.

  • synchronization
  • Multi-thread apps for Multi-Core
  • How to thread?
  • Informatique parallèle
  • Cache Effects on Applications Running on Hyper-Threading Technology-Enabled Processors


    Challenge

    Gauge whether the negative impact of sharing data-cache resources will outweigh the performance increases for a specific application. Depending on the application characteristics, Hyper-Threading Technology's shared caches have the potential to help or hinder performance.

  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Informatique parallèle
  • Cache Block Size on Processors without Hyper-Threading Technology


    Challenge

    Determine the optimum size for cache blocks in applications for systems that do not support Hyper-Threading Technology. For optimal performance, cache blocks should be sized such that each data element is reused within the data block.

    This issue is addressed for systems that support Hyper-Threading Technology in a separate item, How to Optimize Cache Block Size on Processors that Support Hyper-Threading Technology.

  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Informatique parallèle
  • Cache Block Size on Processors that Support Hyper-Threading Technology


    Challenge

    Determine the optimum size for cache blocks in applications for a Hyper-Threading Technology-enabled system that supports two logical processors. For optimal performance, cache blocks should be sized such that each data element is reused within the data block.

  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Informatique parallèle
  • Number of Logical Processors per Physical Processor


    Challenge

    Identify the number of Hyper-Threading Technology enabled logical processors supported by a physical processor. To maximize performance from Hyper-Threading Technology, applications may set processor affinity on a per-thread basis. With knowledge of application thread-resource requirements, you can effectively schedule threads on logical processors based on their association to the physical processors.

  • Multi-thread apps for Multi-Core
  • How to thread?
  • Informatique parallèle
  • Two Brains Are Better Than One

    Artificial intelligence (AI) drives gameplay. To maximize your AI’s potential and utilize the entire CPU, this means threading. This article examines how to thread a simple AI and some of the challenges in writing an AI that truly scales to multi-core.
  • Développeurs
  • Développement de jeu
  • Smoke – Démo de technologie de jeu
  • Multi-thread apps for Multi-Core
  • Artificial intelligence
  • How to thread
  • Design
  • multi-core
  • physics
  • visual computing
  • Développement de jeu
  • Graphiques
  • Informatique parallèle
  • Parallélisation
  • S’abonner à Multi-thread apps for Multi-Core