| Link/Url | Tags |
|---|---|
| False Sharing [Knowledgebase] Challenge Identify and eliminate false sharing in a threaded application. For example, two threads could use unique data elements on the same cache line for read and write. When one of the thread ... Posted: 2009-03-02 16:14:30 by | Multi-thread apps for Multi-Core, How to thread?, Performance analysis, Glossary of Technical Terms, Parallel Programming & Multi-Core |
| Analysis Phase of Threaded Application Development Cycle [Knowledgebase] Challenge Develop a methodology for the analysis phase of the development cycle. Typically, the analysis stage for a threaded application involves profiling a serial application to determine regi ... Posted: 2009-03-01 22:07:31 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Apply Data Decomposition to Create Threaded Code [Knowledgebase] Challenge Implement data decomposition on a serial function in order to produce a threaded version. The threaded version creates threads, each performing individual pieces of a computationally in ... Posted: 2009-03-02 08:10:40 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Apply Functional Decomposition to Improve Efficiency of Input/Output Operations [Knowledgebase] 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 thread ... Posted: 2009-03-02 08:14:55 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Choose the Right Threading Model (Task-Parallel or Data-Parallel Threading) [Knowledgebase] Challenge Choose task-level or data-parallel threading for various parts of an application. Choosing the right threading method minimizes the amount of time spent modifying, debugging, and tuning ... Posted: 2009-01-27 09:49:32 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Debugging & Testing Phase of Threaded Application Development [Knowledgebase] Challenge Develop a methodology for the debugging & testing phase of the development cycle. In most situations, the debug and testing stages of threading go hand in hand. Solution Run t ... Posted: 2009-03-02 13:14:47 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Implement Threading in a Data-Decomposition Problem [Knowledgebase] Challenge Apply threading to data-decomposition problems in the Implementation Phase of application development. Data-decomposition problems are situations where multiple threads need to be assig ... Posted: 2009-03-05 08:50:28 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Structure the Design Phase of Threaded Application Development Cycle [Knowledgebase] Challenge Develop a methodology for the design phase of the development cycle. Regions identified by the analysis phase are examined during the design phase to determine changes that must be made ... Posted: 2009-03-10 17:39:09 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Structure the Implementation Phase of Threaded Application Development [Knowledgebase] Challenge Develop a methodology for the implementation phase of the development cycle. The implementation phase involves converting design issues to actual code by selecting an appropriate thread ... Posted: 2009-03-10 17:50:19 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Tuning Phase of Threaded Application Development [Knowledgebase] Challenge Develop a methodology for the tuning phase of the development cycle. The tuning phase increases performance incrementally where possible. Solution Identify potential performance p ... Posted: 2008-12-08 15:21:11 by | analysis, Multi-thread apps for Multi-Core, How to thread? |
| Implement Threading in a Functional-Decomposition Problem [Knowledgebase] Challenge Apply threading to functional-decomposition problems in the Implementation Phase of application development. Functional-decomposition problems are situations where the roles of differen ... Posted: 2009-03-05 09:05:20 by | Multi-thread apps for Multi-Core, How to thread?, Design |
| Performance Degradation Due to Spin-Wait Loops on Hyper-Threading Technology-Enabled Systems [Knowledgebase] Challenge Prevent negative performance impacts in application execution due to spin-wait loops on systems that support Hyper-Threading Technology.A spin-wait loop is a technique used in multithre ... Posted: 2009-03-09 16:10:42 by | Multi-thread apps for Multi-Core, How to thread?, Design |
| Resolve Memory Conflicts in Data-Decomposition Problems [Knowledgebase] Challenge Identify memory conflicts in a data-decomposition problem to identify data-restructuring requirements. This procedure is part of the design phase for threaded applications that is neces ... Posted: 2009-03-10 14:00:55 by | Multi-thread apps for Multi-Core, How to thread?, Design |
| Detect Stalls Due to Exceeding Write-Combining Store Buffers on Hyper-Threading Technology-Enabled Systems [Knowledgebase] Challenge Determine whether performance degradation (or lower-than-expected performance benefit) from Hyper-Threading Technology is due to exceeding the write-combining buffer capacity. A write-c ... Posted: 2009-03-02 14:09:00 by | Multi-thread apps for Multi-Core, How to thread?, Performance analysis |
| Isolate Application Performance Issues on Hyper-Threading Technology-Enabled Systems [Knowledgebase] Challenge Identify the source of performance degradations or low performance gains of applications running on systems that support Hyper-Threading Technology. Once applications have been tuned fo ... Posted: 2009-01-27 10:22:11 by | Multi-thread apps for Multi-Core, How to thread?, Performance analysis |
| Memory Conflicts in Functional-Decomposition Problems [Knowledgebase] Challenge Identify memory conflicts in a functional-decomposition problem to identify data-restructuring requirements. This procedure is part of the design phase for threaded applications that is ... Posted: 2009-03-09 11:07:22 by | Multi-thread apps for Multi-Core, How to thread?, Performance analysis |
| Processor Time Counter to Evaluate Threading Methodology [Knowledgebase] Challenge Evaluate the Processor Time counter of the performance object Thread to gauge the correctness of threading methodology. This indicator may help to point out where processor resources ar ... Posted: 2009-03-10 10:53:12 by | Multi-thread apps for Multi-Core, How to thread?, Performance analysis |
| Use Instructions Retired Events to Evaluate Threading Methodology [Knowledgebase] Challenge Evaluate instructions-retired data in conjunction with performance data to examine the correctness of threading methodology. The Instructions Retired processor event in the VTune™ Per ... Posted: 2009-03-11 17:08:04 by | Multi-thread apps for Multi-Core, How to thread?, Performance analysis |
| Express Data Parallelism (with OpenMP* and Intel® Compilers) without large scale modifications to serial code [Knowledgebase] Challenge Express data parallelism in a non-invasive manner and produce threaded executables without large-scale modifications to the serial code. Intel® Compilers can automatically parallelize ... Posted: 2009-03-02 16:03:43 by | Programming, Multi-thread apps for Multi-Core, How to thread? |
| Manage Complexity when Threading a .NET Web Service Client [Knowledgebase] Challenge Minimize the complexity inherent in multithreading a .NET* Web Service client. The number of ways in which different parts of a program can interact grows exponentially when we move fro ... Posted: 2008-12-02 08:13:14 by | Programming, Multi-thread apps for Multi-Core, How to thread? |
| Managed Runtime Threading - Best Practices [Knowledgebase] This series is designed for current .NET developers who have an interest in threading but have not had extensive experience in threading nor how threading enables improved performance on multi-core s ... Posted: 2009-03-06 09:22:31 by | Programming, Multi-thread apps for Multi-Core, How to thread? |
| Number of Logical Processors per Physical Processor [Knowledgebase] 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 ... Posted: 2009-03-09 14:12:26 by | Programming, Multi-thread apps for Multi-Core, How to thread? |
| Test DLLs for Thread Safety [Knowledgebase] Challenge Evaluate third-party DLLs for thread safety. While DLLs provided by third parties may provide useful functionality, they sometimes generate memory-conflict errors when implemented in th ... Posted: 2009-03-11 11:44:15 by | Programming, Multi-thread apps for Multi-Core, How to thread? |
| Transfer Control among Threads in a .NET Web Service Client [Knowledgebase] Challenge Pass messages between threads in a message-based idiom in a .NET-based Web service client. As discussed in a separate item, Manage Complexity when Threading a .NET Web Service Client, c ... Posted: 2009-03-11 12:16:45 by | Programming, Multi-thread apps for Multi-Core, How to thread? |
| Avoid Excessive Synchronization [Knowledgebase] Challenge Identify and eliminate excessive synchronization in a threaded application. The overhead associated with excessive synchronization can be a significant detriment to the scaling performa ... Posted: 2009-03-02 08:50:20 by | synchronization, Multi-thread apps for Multi-Core, How to thread? |
| Perform Synchronization Using Thread Locking [Knowledgebase] Challenge Perform synchronization when more than one atomic operation is required. In most implementations, a simple atomic operation is not sufficient to enforce synchronization and therefore to ... Posted: 2009-03-09 17:02:51 by | synchronization, Multi-thread apps for Multi-Core, How to thread? |
| Synchronization (Avoiding Race Conditions) without Blocking Threads [Knowledgebase] Challenge Perform explicit synchronization to avoid data loss due to race conditions, without the added complexity of blocking threads. Concurrent programs are subject to race conditions (e.g., m ... Posted: 2009-03-11 10:56:40 by | synchronization, Multi-thread apps for Multi-Core, How to thread? |
| Use Win32 Functions to Manage Event Objects [Knowledgebase] Challenge Apply Win32 Functions to create and use event objects.The event object is a kernel object that stays nonsignaled until a condition is met. The programmer has the control over setting th ... Posted: 2008-12-09 10:09:01 by | synchronization, Multi-thread apps for Multi-Core, How to thread? |
| Win32 Functions to Create, Suspend, and Terminate Threads [Knowledgebase] Challenge Apply procedures provided by the Microsoft Win32 API to create, suspend, resume, and terminate threads. Context switching in a multithreaded application is cheaper than context switchin ... Posted: 2008-12-09 10:50:30 by | synchronization, Multi-thread apps for Multi-Core, How to thread? |
| Win32 Functions to Manage Semaphores [Knowledgebase] Challenge Apply Win32 Functions to create a semaphore, to wait for objects, and to release a semaphore. A semaphore is a kernel object that has a numerical count associated with it to manage a fi ... Posted: 2008-12-09 11:03:45 by | synchronization, Multi-thread apps for Multi-Core, How to thread? |
| Two Brains Are Better Than One [Knowledgebase] How to thread game AI Artificial intelligence (AI) drives gameplay—whether you’re talking about a complex system of AI or a simple scripting engine. To really maximize your AI’s potential, it n ... Posted: 2009-06-20 00:45:23 by Orion Granatir (Intel) | Multi-thread apps for Multi-Core, Artificial intelligence, How to thread?, Smoke, Design, multi-core, physics, visual computing |