- mutex
- locking mechanism
- only the owner can release the lock
- recursive mutex can be locked more than once (POSIX complaint systems)
- semaphore
- signaling mechansim
- multiple threads can acquire binary semaphore at a time concurrently
For arithmetic logic units (ALU):
ALU - Registers (7 kB, 1 cycle) - L1 cache (32 kB, > 5 cycles) - L2 cache (512 kB, > 10 cycles) - L3 cache (shared 2 ~ 32 MB, > 30 cycles)
https://en.wikipedia.org/wiki/Non-uniform_memory_access
Under NUMA, a processor can access its own local memory faster than non-local memory (memory local to another processor or memory shared between processors).
https://en.wikipedia.org/wiki/SIMD
It describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
https://en.wikipedia.org/wiki/AVX-512
https://en.wikipedia.org/wiki/Inter-process_communication
- file
- signal
- socket
- Unix domain socket
- message queue
- anonymous pipe
- named pipe
- shared memory
- memory-mapped file