简体   繁体   English

Java线程在双套接字处理器之间的迁移

[英]Java threads migration between dual socket processor

I am performing a study related to NUMA (non-uniform memory access) using an multi-threaded code using Java Threads (Java 8) running on a Dual processor : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz: 我正在使用在双处理器上运行的Java线程(Java 8)使用多线程代码进行与NUMA(非统一内存访问)相关的研究:Intel(R)Xeon(R)CPU E5-2650 v2 @ 2.60GHz :

http://ark.intel.com/products/75269/Intel-Xeon-Processor-E5-2650-v2-20M-Cache-2_60-GHz http://ark.intel.com/products/75269/Intel-Xeon-Processor-E5-2650-v2-20M-Cache-2_60-GHz

So in terms of computer architecture i have two of these processors configured as two NUMA Nodes. 因此,就计算机体系结构而言,我将其中两个处理器配置为两个NUMA节点。 It is been quite difficult to understand where the threads of my program are mapped to physical cores. 很难理解我的程序的线程在何处映射到物理内核。 In order to draw some conclusions i need a way to understand if the threads of my program suffers of migration phenomenon between cores or between sockets during the execution. 为了得出一些结论,我需要一种方法来理解我的程序的线程在执行过程中是否在内核之间或套接字之间遭受迁移现象。

Any suggestions? 有什么建议么? Thanks for you help. 感谢您的帮助。

Java Thread objects delegate to the OS's thread management system, so the exact behavior depends on the OS. Java Thread对象委托给OS的线程管理系统,因此确切的行为取决于OS。 Additionally, the OS does not typically "map" a thread to a core, which would make inefficient use of the processor. 另外,操作系统通常不会将线程“映射”到内核,这将导致处理器的低效使用。 I can't say what is happening in your case, but I expect that it is complex. 我无法说出您的情况,但我希望这很复杂。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM