高性能虚拟CPU - 头脑风暴+反馈?

时间:2011-10-09 00:50:15

标签: multithreading performance processors

我正在考虑为Linux内核编写一个虚拟CPU,它基本上决定了在另一台机器上执行线程或进程的好主意。任何反馈或想法都非常受欢迎。

总体工作流程是这样的:

  • 启发式测试一个线程/进程。如果进程/线程非常轻量级(没有cpu繁重的任务),那么使用物理本地CPU +缓存结果,以加快下次对同一进程/线程的查找。
  • 如果进程/线程是重量级(cpu密集型),则将其发送到另一台设置在附近网络某处的PC中执行。
  • 根据网络延迟,决定进行调整。例如如果网络太慢,那么更多的任务将在本地执行。
换句话说,从高级视图来看,我们将在内核中拥有一个虚拟CPU,一个运行所有应用程序的CPU。 在内核中,虚拟CPU正在决定执行给定进程/线程的位置以最大化系统吞吐量。

如果应用程序/进程/线程是为此设计的(例如使用MPI),当然可以简化这样的任务, 但我的目标是为通用应用程序创建一些东西......例如Apache HTTP .. 例如,Apache HTTPD按请求执行进程。如果每个进程在理想的CPU中执行,让它是本地的还是远程的,以最大化吞吐量呢? 还有许多其他应用程序使用线程/进程分支,并且取决于虚拟CPU可能决定的野兽的性质。

任何提示?建议?问题? 必读的文件? 咆哮这不起作用?

我最讨厌的问候

0 个答案:

没有答案