我正在尝试进行一项实验,其中数据和工作在特定计算机上的CPU核心上进行分区。这是通过设置CPU亲和力并将一个线程固定到每个核心来完成的。线程存储的数据是在线程内生成的,试图使数据尽可能靠近线程(在核心缓存中)。数据具有不同的类型,每个线程存储不同类型的数据。现在主线程应该能够将数据放入并获取每个线程中的每个数据容器,但是在这里我不知道目标是什么。
实验在C。
中实施假设并发put和get请求到不同的线程,哪种线程间通信技术最适合?我的想法是,我希望核心之间的数据移动尽可能少,因此我试图避免使用共享通信缓冲区/互斥体。我最初的目标是在每个线程中使用套接字,但这有点太多工作,因为这不是实验的目的。现在我考虑使用某种类型的队列,我想我需要实现一些输入和输出队列,以处理put和gets。因此,我来到这里希望得到一些指示和提示。
提前致谢!