在带有2TbDRAM的80核(160HT)nehalem架构上运行一些测试后,我遇到了一个小的HPC问题:当每个线程开始请求有关“错误”套接字上的对象的信息时,具有2个以上套接字的服务器开始停顿很多(延迟),即请求来自正在处理一个套接字上的某些对象的线程拉取实际上位于另一个插槽上的DRAM中的信息。尽管我知道它们正在等待远程套接字返回请求,但内核似乎已被100%使用。由于大部分代码都是异步运行的,因此重写代码要容易得多,因此我可以只解析从一个套接字上的线程到另一个套接字上的线程的消息(没有锁定等待)。此外,我想将每个线程锁定到内存池,这样我就可以更新对象,而不是在垃圾收集器上浪费时间(