【问题标题】:Erlang virtual machine map to which kernel thread?Erlang 虚拟机映射到哪个内核线程?
【发布时间】:2012-06-01 18:54:07
【问题描述】:

在多核系统中,有多个调度器来调度 Erlang 进程。一个调度器映射到一个 CPU。我的疑问是:Erlang 虚拟机也是运行在某个内核线程上的进程。那么它映射到哪个 CPU 呢?或者它根据可用性共享所有 CPU。 (OS根据可用性提供CPU时间)?

【问题讨论】:

    标签: parallel-processing erlang


    【解决方案1】:

    Erlang 虚拟机作为单个操作系统进程运行。在该进程中,它运行多个线程,每个调度程序一个(可能还有用于异步 I/O 等的附加线程)。默认情况下,每个 CPU 内核都有一个调度程序线程。

    Erlang 进程(“绿色线程”)由调度线程执行,调度线程在它们之间进行负载平衡,因此可能有十万个 Erlang 进程被 4 个调度线程(在四核机器上)执行单一操作系统进程。通常,操作系统会将调度程序线程映射到物理内核,但另请参阅How, if at all, do Erlang Processes map to Kernel Threads?

    【讨论】:

      猜你喜欢
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      相关资源
      最近更新 更多