<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 通過(guò)輕型線(xiàn)程提高多核設備中的Linux實(shí)時(shí)性能

通過(guò)輕型線(xiàn)程提高多核設備中的Linux實(shí)時(shí)性能

作者:MichaelChristofferson 時(shí)間:2012-07-13 來(lái)源:電子產(chǎn)品世界 收藏

  但請您稍稍考慮一下。采用上文提到的 實(shí)時(shí)擴展怎么樣?是的,PREEMPT_RT 可以解決 內核中存在的許多關(guān)于響應性的問(wèn)題,但不能真正解決多線(xiàn)程問(wèn)題。實(shí)施用戶(hù)空間 可解決設備驅動(dòng)器/中斷性能問(wèn)題,但并不能真正解決多線(xiàn)程問(wèn)題。Linux 實(shí)時(shí)容器可解決部分問(wèn)題,但實(shí)時(shí)容器只是一種基于標準 Linux 的用戶(hù)空間 Linux 可視化技術(shù),并不能真正解決根本的多線(xiàn)程問(wèn)題。

本文引用地址:http://dyxdggzs.com/article/134608.htm

  輕型線(xiàn)程 (LWT) – 復雜 Linux 應用的真正解決方案

  之前針對 Linux 提出了多種輕型線(xiàn)程模型的建議,但沒(méi)有一種模型能夠真正解決問(wèn)題。原因何在?因為大多數模型的功能都不是很強大。涉及復雜多線(xiàn)程應用的下一代 Linux 解決方案真正需要的是適用于用戶(hù)空間 Linux 應用的全新 Linux 模型。下文概括介紹了這種名為L(cháng)inux輕型線(xiàn)程 (LWT) 的解決方案。將高性能、低系統開(kāi)銷(xiāo)、多線(xiàn)程調度器植入 Linux 用戶(hù)空間,來(lái)代替單獨的 pthread。原因何在?

  • Pthread 系統開(kāi)銷(xiāo)
           ♦ 進(jìn)程和 是 Linux 了解的唯一調度實(shí)體。
           ♦ LWT pthread 只是一個(gè) Linux 編碼執行背景,可用于永久運行 pthread。由于用戶(hù)空間調度器始終保持控制,因此 pthread 絕不會(huì )被掛起 – 省電模式除外。這種情況不在本文的討論范圍。

      該用戶(hù)空間調度器的運行和操作方式與某些傳統 RTOS 高性能、低延遲實(shí)施完全相同,但不會(huì )涉及到 Linux 內核。

  實(shí)施過(guò)程利用新用戶(hù)空間 Linux 實(shí)施過(guò)程來(lái)直接訪(fǎng)問(wèn)硬件。同樣也不涉及 Linux 內核。

  上述 LWT 解決方案可在任何 Linux 實(shí)時(shí)應用中實(shí)現動(dòng)態(tài)性能的提升。Enea 已設計出上述 LWT 的一些原型,事實(shí)證明,與 Linux 在調度器系統開(kāi)銷(xiāo)、特別是上下文切換和線(xiàn)程間消息發(fā)送/通信延遲方面的性能相比,LWT 性能可提高 10 倍。

  但是除了調度性能和線(xiàn)程間通信功能之外,LWT 解決方案還應帶來(lái)什么?LWT 概念除了在性能方面勝過(guò) Linux 之外,還有更多優(yōu)勢。解決方案穩健性的概念如何?與歷史悠久的 RTOS 實(shí)時(shí)解決方案一樣,LWT 也需要具有以下額外 Linux 特性:

  • 決定性調度
  • 調度系統開(kāi)銷(xiāo)低 – 上下文切換成本低
  • 線(xiàn)程間信號系統開(kāi)銷(xiāo)低
  • 線(xiàn)程創(chuàng )建成本低

  多核設備中 Linux 輕型線(xiàn)程模型的結構圖

  LWT 實(shí)施方案的結構圖如下。涉及整個(gè)共享內存空間的 Linux 進(jìn)程可能跨多核設備的多個(gè)內核。為了達到最高效率,LWT 模型需要將 Linux 進(jìn)程中的單個(gè) pthread 鎖定至某一個(gè)內核,但并不特別要求這樣做。LWT 鎖定至 pthread 之后,便可遷移到 Linux SMP 需要的任何內核中?! ?/p>

 

  結論

  高效輕型線(xiàn)程 (LWT) 將成為下一個(gè) Linux 實(shí)時(shí)性能和行為問(wèn)題。需要強調的是,并非所有實(shí)時(shí)應用都需要使用功能強大的類(lèi)似 LWT 的解決方案。但是一些實(shí)時(shí)應用,尤其是電信/網(wǎng)絡(luò )中的應用以及無(wú)線(xiàn)接入網(wǎng)、移動(dòng)基礎設施核心/邊緣中的那些需要使用某些復雜網(wǎng)絡(luò )協(xié)議的應用、或任何具有類(lèi)似實(shí)時(shí)需求的其他系統均可受益于 Linux 輕型線(xiàn)程 – 下一代 Linux 實(shí)時(shí)擴展。同時(shí),實(shí)時(shí)嵌入式 Linux 的整個(gè)發(fā)展過(guò)程證明了 Linux 的運行效果與傳統 RTOS 解決方案一樣優(yōu)異。Linux 已取得了一些進(jìn)展,但是作者認為,最重要的電信/網(wǎng)絡(luò )應用中使用的 Linux 尚未達到預期的要求。但也許通過(guò) Linux 輕型線(xiàn)程,我們可以更接近這一目標??偟膩?lái)說(shuō),Linux 實(shí)時(shí)嵌入式行業(yè)的一個(gè)側重點(diǎn)是研發(fā)出可用于要求最高的實(shí)時(shí)應用的解決方案。下圖中描述了該目標:  

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Linux pthreads

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>