gpt4 book ai didi

multithreading - 混合线程模型(M :N) Implementation

转载 作者:行者123 更新时间:2023-12-04 03:54:50 25 4
gpt4 key购买 nike

在操作系统内核通常完成的线程调度实现中使用了three线程模型。其中之一是混合(M:N)模型,其中一些N应用程序线程映射到M内核线程,以便它们最多可以使用M处理器。此模型有优点也有缺点。优点之一是,基于此模型的语言将引入语言级别的调度程序实现,该实现负责管理和调度应用程序级别的线程。

  • 我想知道是否有人知道做过什么工作或已经做过的工作,以便某种语言或图书馆可以利用它?
  • 例如,考虑到Kernel 2.6.23+使用称为CFS的算法进行调度的事实,您认为这种混合模型完全是明智的投资方法吗?
  • 最佳答案

    首先阅读:http://www.kegel.com/c10k.html#1:1

    Linux使用从内核2.6(NPTL Native Posix线程库)开始的1:1线程模型,如今几乎所有的操作系​​统都迁移到该模型:

  • FreeBSD从7.0开始,如果我没记错的话。
  • 从某些版本开始的Solaris也已更改为1:1-我不记得是哪个版本。

  • 一旦Linux具有M:N模型(这是2.4 NGPT中的模型),但是1:1通常更好。

    M:N模型的最大问题是:
  • 难以实现
  • 在使用阻塞系统调用时,您实际上需要以某种方式通知内核仅阻塞一个用户空间线程而不是内核一个
  • 在多核时代,您希望拥有尽可能多的内核线程。

  • One of them is the hybrid (M:N) model in which some N threads of an application are mapped to some M available processors.



    小修正-N个应用程序线程映射到M个内核线程,因此它们最多可以使用M个处理器。

    关于multithreading - 混合线程模型(M :N) Implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4249124/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com