|
|
|
|
Lock Free Data Structures I got my hands on an ARM Cortex-A9 MPCore development box at work and have been experimenting with lock free data structures. I have permission from Management to put this on SourceForge as soon as Legal gets me the appropriate blurbage to put at the top of each file. The advantage of lock free structures is that you don't have to disable interrupts, lock the bus, or grab a mutex when you access shared structures. The disadvantage is that writing lock free algorithms, and getting them to work all the time, is REALLY tricky. The code I'm working on is intended mainly for real time bare metal apps or proprietary OS running on a multi-core ARMv7 system (ARM11 or Cortex), where Linux or vxWorks would be too slow. (Apparently) working so far:
I have been studying how to implement a lock free FIFO queue (linked list with head and tail pointers). This appears to be a more than usually difficult problem. People have been writing papers on this for the last 20 years but no one has a nice clean (and reliable) solution yet. It has been said that the solution to this problem is worth a PhD. |
|
Last modified: December 31, 2009 |