Unformatted text preview: t such tuning requires more synchronization constructs getting complicated, thus more error‐prone. Singlequeue abstraction vs. multiplequeue abstraction: Depending on the memory hierarchy of the underlying hardware and on the number of UEs, maintaining a single queue can cause excess contention and increase parallel overhead. Solutions may need to break with the single‐queue abstraction and use multiple or distributed queues. Solution Implementing efficient shared queues can be tricky. Appropriate synchronization must be utilized to avoid race conditions but at the same time careful consideration should be given to the way that synchronization is performed. Inefficient synchronization leads to unnecessarily blocking among UEs resulting in poor performance. If possible, consider using distributed queues to eliminate performance bottlenecks. If it is the case that one must implement a Shared Queue, it can be done as an instance of the Shared Data pattern: (1) Define the abstract data type (A...
View Full Document
- Fall '12