Multithreading Optimization Basics
8/2/07 - 12:00 PST - Posted by Mike Acton, Engine Director
We're now knee deep in the world of multi-core processing. Virtually everything we do must consider synchronization and parallelism as part of the fundamental design - it's not ported to multi-core, it's designed multi-core. However, there's still legacy code as would be expected. Part of the plan to make sure that we continue forward with designing everything to be more and more parallel is making sure that everyone understands the basics. This was from one of our internal Tech Weekly Presentations I did on the basics of multithreading and one specific simple lock-free optimization. The key to good multi-processing, or multi-threading, is to not be in a position where you need to "optimize out" synchronization because you will always end up with implicit dependencies that are tough to get rid of. What you want to do is start from the position of synchronizing as little as possible and adding sync points in only as necessary, and as few as possible.
Download PDF File
[ 0 ]
|
|