Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Hardcore Project for Internships
·
Module 8
Concurrent Graph Operations
1
Race Conditions and Synchronization
Explain race conditions and the need for synchronization in a multi-threaded context.
Thread-Safe Task Queues with Mutexes and Condition Variables
Implement a thread-safe task queue for a thread pool using POSIX mutexes and condition variables.
3
Concurrent Graph Construction with Thread Pools
Implement a thread pool to parallelize graph construction by processing multiple vector insertions concurrently.
4
Implementing Reader-Writer Locks for Concurrent Graph Access
Use a `pthread_rwlock_t` (Read-Write Lock) to allow multiple concurrent searches while ensuring exclusive access for graph modifications.
5
Lock-Free Graph Refactoring with C11 Atomics
Refactor graph data structures to use C11 atomic types (`<stdatomic.h>`) for lock-free counters and flags where appropriate.
6
Deadlock Prevention in Concurrent Search & Insertion
Analyze and prevent potential deadlocks in concurrent search and insertion scenarios.
Previous module
HNSW: Insertion and Graph Construction
Next module
Durability and Serialization