impulsar el acceso a la memoria caché spsc_queue sin bloqueo

Necesito estar extremadamente preocupado con la velocidad / latencia en mi proyecto actual de subprocesos múltiples.

El acceso a la caché es algo que estoy tratando de entender mejor. Y no tengo claro cómo las colas sin bloqueo (como el boost :: lockfree :: spsc_queue) acceden / usan la memoria en un nivel de caché.

He visto colas utilizadas donde el puntero de un objeto grande que necesita ser operado por el núcleo del consumidor es empujado a la cola.

Si el núcleo del consumidor saca un elemento de la cola, supongo que significa que el elemento (un puntero en este caso) ya está cargado en la caché L2 y L1 del núcleo del consumidor. Pero para acceder al elemento, ¿no necesita acceder al puntero en sí mismo al encontrar y cargar el elemento desde el caché L3 o a través de la interconexión (si el otro hilo está en un zócalo de CPU diferente)? Si es así, ¿sería mejor simplemente enviar una copia del objeto que el consumidor podría eliminar?

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta