2
A
回答
1
我看不出有这种情况。
请记住,任何启用了多处理器的操作系统都会自动分配处理器时间,因为它认为适合尝试平衡处理器负载。
这意味着,实际上,根据线程优先级,您正在运行的任何进程线程将不断中断,以便操作系统可以将处理器时间分配给其他进程。同一线程内的单个计算甚至可能不会在同一个处理器上执行。
如果您修复了只在一个指定处理器上运行的进程代码,那么这可能会妨碍其性能,因为它不允许操作系统平衡处理器负载。
我想你可以把它的大部分作为关键部分,但是这会阻碍你在其他领域的应用,特别是处理任何子线程。
0
至少在理论上,似乎有可能通过让线程在不同内核之间弹跳来降低系统性能。由于许多多核设计为每个内核都包含单独的L1高速缓存,因此,只要线程移动到新内核,线程之前访问的任何数据都不会再缓存到新内核中,而必须从更高级别的缓存中获取(或记忆)。保持线程运行在相同的内核上将增加L1缓存具有与线程正在做什么相关的数据的可能性。当然,这个影响有多大取决于其他因素,比如缓存的大小以及核心上“同时”调度了多少其他线程。
相关问题
- 1. 在特定线程上运行工作
- 2. 如何在特定内核上启动线程?
- 3. 使用OpenMP在两个内核上设置线程关联
- 4. 多线程内核如何工作?
- 5. 设置离线工作并上传到远程站点
- 6. 单核心设备上的工作线程
- 7. openMP:将特定线程分配给特定内核
- 8. 滚动不在特定DIV内的移动设备上工作
- 9. 在运行时找出特定线程的CPU内核
- 10. 如何在Perl程序的特定文件上设置断点?
- 11. 什么是[inittest]的优点在内核
- 12. 何时在Linux内核中使用内核线程与工作队列
- 13. 在Linux内核模块中设置线程关联
- 14. 在grails中设置作业的线程优先级
- 15. 有没有做一个特定的线程中的OpenCL内核
- 16. 如何在没有将处理器关联性设置为特定内核的情况下在另一个内核上启动线程?
- 17. 特斯拉M2050上CUDA内核的最大线程数
- 18. 如何使OpenMP线程或任务在特定内核上运行
- 19. Solr搜索多个内核不工作quering在特定领域
- 20. 验证控件 - 将焦点设置在特定的锚点上
- 21. 具有优先级设置的线程
- 22. 如何查看特定线程的内核堆栈函数?
- 23. 内核中线程特定的单调时钟源
- 24. 工作线程内的UpdateAllViews()?
- 25. MagicalRecord:在后台线程上设置核心数据堆栈
- 26. 如何配置iOS应用程序以在特定设备上工作?
- 27. 线程vs内核
- 28. 线程和内核
- 29. 在内核线程上映射时用户线程资源
- 30. ARM/DSP Linux工具链内核设置
除非实际上每个内核运行一个线程(这似乎不太可能),那么交换内核的效果将与在同一内核上切换上下文的效果非常相似。 – 2009-07-09 18:27:50