Lockless-datastructures banner

Lockless-datastructures

6 devlogs
16h 15m 4s

Lockless algorithms are said to be very tricky to implement correctly!
These algorithms are used in high speed networking (1 Tbps+ types),the linux kernel and real-time audio processing.
Its where important in things like the Mars Rover/satellites which has to meet certain time requirements from issue of command to its execution these algorithms allow it to uphold that guareentee.
The benchmark graphs show processing times dropping by 50% which is a lot when that code runs on every packet of a 1Tbps network.
I am trying to write a lockless stack,queue etc in rust and benchmark their performance!

This project uses AI

uh website and debugging rest was me handwriting code!

Demo Repository

Loading README...

AVD

Tagged your project as well cooked!

🔥 AVD marked your project as well cooked! As a prize for your nicely cooked project, look out for a bonus prize in the mail :)

vighneshsawant366

Shipped this project!

Hours: 6.0
Cookies: 🍪 79
Multiplier: 13.15 cookies/hr

I fixed a lot of undefined behaviour’s which I introduced by using unsafe rust!
This also includes me fixing stuff as told by my reviewer!
(Tldr: fixing bugs and making demo as per FT’s standards for shipping!)

vighneshsawant366

Write readme and some misc stuff!
My friends always hate my readme’s, hopefully this one is fine

Attachment
0
vighneshsawant366

Updated Readme, apparently some of my hour’s where logged in my parent directories name, I have added them!
This hours where mostly spent on me tinkering with miri and checking if my unsafe’s where really safe!
(Hint: they were not!)Fixed em!

Attachment
0
vighneshsawant366

Shipped this project!

Hours: 10.26
Cookies: 🍪 248
Multiplier: 24.16 cookies/hr

YOO this was fun, messing with the memory model of today’s cpu’s (quite complex)!

vighneshsawant366

Implemented atomic ring buffer both mpmc and spsc and compared performance with the standard mutex one,also swapped the mutex from std lib to parking lot which gave some perfomance gains in my naive benchmark!
Now comes the big boy a linkedlist mpmc ring buffer, implementing the linux kernel design, wish me luck!

Attachment
Attachment
0
vighneshsawant366

Managed to write a code which deadlocks!! Fixed it. Now on my way to learn ACQUIRE AND RELEASE SEMANTICS(ik them but making use of them is another beast)

Attachment
0