Archives

Posts from Dmitriy Vyukov RSS

Dmitriy Vyukov

Parallelization And Optimization of The Line Segment Intersection Problem

By Dmitriy Vyukov (7 posts) on August 12, 2009 at 8:19 am
Comments (0)

Write a threaded code to find pairs of input line segments that intersect within three-dimensional space. Line segments are defined by 6 integers representing the two (x,y,z) endpoints.

Continued ›

Category: Parallel Programming, Software Engineering, Threading Building Blocks

Multi-producer/multi-consumer SEH-based queue

By Dmitriy Vyukov (7 posts) on August 11, 2009 at 8:51 am
Comments (3)

Novel mostly lock-free algorithm for multi-producer/multi-consumer queue

Continued ›

Category: Parallel Programming, Software Engineering

Another Sorts of Sorts

By Dmitriy Vyukov (7 posts) on May 6, 2009 at 7:46 am
Comments (6)

Asaf Shelly posted interesting blog regarding first problem (radix sort) of the Intel Threading Contest 2009: All Sorts of Sorts There is also active discussion going in the comments. Since I had mentioned some aspects of my submission, I decided to post my write-up here (I've checked up with Contest Rules, luckily Intel leave me enough rights [...]

Continued ›

Category: Parallel Programming, Software Engineering

Don't rely on memory barriers for synchronization... Only if you don't aware of Relacy Race Detector!

By Dmitriy Vyukov (7 posts) on March 3, 2009 at 10:23 am
Comments (11)

Multithreading is hard. Implementation of synchronization primitives is even harder. And most advanced synchronization primitives which exploit relaxed memory models are brain damaging.  So don't rely on memory barriers for synchronization. Now you will think "Ah, you are one of those folks, who constantly saying to us - don't do this, don't do that, it's [...]

Continued ›

Category: Cool Software, Parallel Programming, Software Engineering

New interesting application of Transactional Memory for single-threading

By Dmitriy Vyukov (7 posts) on October 28, 2008 at 9:18 am
Comments (0)

While dealing with Transactional Memory I realize new interesting application of Transactional Memory for SINGLE threaded applications. Atomicity guarantees provided by TM can be useful not only for multi-threaded environment, but also for single-threaded environment. Well, it's actually not astonishing, nevertheless I didn't hear anything similar in all that hype around TM. Assume we have complicated [...]

Continued ›

Category: Parallel Programming, Software Engineering

Eliminate False Sharing? Wrong!

By Dmitriy Vyukov (7 posts) on October 9, 2008 at 5:29 pm
Comments (8)

Entry in Parallel Programming with .NET blog "Most Common Performance Issues in Parallel Programs" and recent article in MSDN ".NET Matters: False Sharing" have attracted my attention. Basically they both suggest to eliminate false sharing. Wrong! Wrong! Wrong! It's not the whole truth, so to say. So if authors were under oath in the virtual [...]

Continued ›

Category: Parallel Programming, Software Engineering

Hello, Intel Software Network!

By Dmitriy Vyukov (7 posts) on October 9, 2008 at 5:27 pm
Comments (1)

Hi, I'm Dmitriy V'jukov, and welcome to my blog. I'm going to devote this blog to multi-threading, multi-core, synchronization algorithms and all other concerned things. Development of lock-free, wait-free, obstruction-free, atomic-free synchronization algorithms is my hobby. Some of my designs you can see here. Also, I've developed a tool called Relacy Race Detector, which can be of [...]

Continued ›

Category: Parallel Programming, Software Engineering