[發明專利]使用C狀態和睿頻加速提高用戶空間的自旋鎖效率在審
| 申請號: | 201880058139.8 | 申請日: | 2018-09-06 |
| 公開(公告)號: | CN111052094A | 公開(公告)日: | 2020-04-21 |
| 發明(設計)人: | 蔣曉維 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F12/00 | 分類號: | G06F12/00 |
| 代理公司: | 北京清源匯知識產權代理事務所(特殊普通合伙) 11644 | 代理人: | 馮德魁;竇曉慧 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 使用 狀態 加速 提高 用戶 空間 自旋 效率 | ||
公開了用于通過使用內核結構的多個線程來有效保護同時訪問用戶空間共享數據的系統和方法。此外,還公開了一種在自旋鎖內允許減少與改進的自旋鎖相關的性能和功率干擾的機制。這使得可以通過提高運行線程的CPU核心的頻率和電壓來使臨界區中的線程更快地完成執行。改進的自旋鎖允許線程進入節能狀態,并允許臨界區指示PCU將專用的凈空功率預算分配給執行該指令的核心。改進的自旋鎖還可以提供CPU資源的時鐘門控期間動態功率節省,以及在CPU資源的功率門控期間動態和靜態功率節省。
技術領域
本應用程序涉及通過使用內核結構的多線程有效地保護同時訪問用戶空間共享數據的系統和方法。
背景技術
隨著當今芯片多處理器中的CPU核心數量在不斷增長,但應用程序正變得越來越多線程。盡管多線程應用程序中的線程旨在獨立處理其各自的任務,但它們仍然共享一定數量的數據。共享數據訪問需要使用同步原語進行保護;否則,如果同時寫入,這些數據可能會處于不一致的狀態。
自旋鎖是一種保護共享數據不被多線程同時訪問的內核結構原語。在操作中,線程檢查用于在共享數據上鎖定線程操作的臨界區(Critical Section)的鎖變量是否可用。當鎖變量被啟用,它保護共享數據不會被多個線程同時獲取以執行其任務。這是至關重要的,因為如果允許多個線程訪問同一共享數據,共享數據將變得不穩定。如果鎖變量是自由的,即,沒有被其它線程使用,則尋找鎖變量可用性的線程可以在進入臨界區之前獲取它。另一方面,如果鎖定變量不是自由的,例如,當鎖變量被另一個線程獲取時,尋找獲取鎖變量的線程在鎖上“自旋”直到它可用。例如,線程等待輪到它。
因為自旋鎖避免操作系統進程重新調度或上下文切換的開銷,如果線程僅在短時間內被阻塞,則自旋鎖是高效的。然而,如果自旋鎖保持更長的時間,就會變得浪費,因為它們可能會防止其它線程運行并需要重新調度。線程保持有鎖的時間越長,線程在保持有鎖的同時被操作系統調度器中斷的風險就越大。如果發生這種情況,其它線程將保持“自旋”(反復嘗試獲得鎖),而持有鎖的線程沒有在釋放它方面取得進展。結果是無限期推遲,直到持有鎖的線程可以完成并釋放它。這在單處理器系統中尤其如此,在該系統中,每個具有相同優先級的等待線程可能會浪費其時間量(線程可以運行的分配時間)自旋直到保持鎖的線程最終完成。
該問題在當前的多處理器中也能看到,在多處理器中,CPU核心數量不斷增長,應用程序變得越來越多線程。盡管多線程應用程序中的線程旨在獨立處理其各自的任務,但仍有一定數量的共享數據。共享數據訪問需要使用自旋鎖或類似的方式進行保護,否則如果同時被寫入,共享數據可能處于不一致的狀態。即使當前的應用程序是多線程的,從所有線程訪問臨界區仍然是序列化的工作,這已經放大了“繁忙等待”時間。
如上所示,傳統的自旋鎖可能不利于系統的吞吐量。如果系統運行多個任務,一個任務中的線程可能不必要地占用CPU,而沒有任何進展。例如,常規自旋鎖的替代方案是互斥鎖。不能獲取鎖的線程不會占用CPU繼續重試獲取鎖,而是將CPU交給其它任務。在消除沒有產生有用工作的周期的同時,互斥鎖對讓出CPU的線程有著顯著的性能開銷。這是因為讓出CPU以及重新安排重新獲得鎖,需要調用操作系統調度器來執行高代價的上下文切換。此外,互斥鎖是僅在操作系統內核中可用的同步原語。由于它需要對操作系統調度器進行主動調用,因此不能在用戶空間中使用互斥鎖。
發明內容
本公開的實施例提供一種處理系統和方法,所述系統和方法通過使用例如改進的用戶空間自旋鎖的內核結構的多線程有效地保護對用戶空間共享數據的同時訪問。
本公開的實施例還提供一種處理系統和方法,該系統和方法通過存儲器訪問用戶空間的共享數據給應用程序的多個線程,并由多個核心執行多個線程中的一個或更多個線程,其中,多個核心的其中一核心被配置為通過線程獲取指示共享數據的處理的鎖,并生成核心已獲取鎖的通知,其中,所述通知指示試圖訪問共享數據的一個或更多個其它線程進入節能狀態,其中所述節能狀態是選擇的C狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880058139.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:無線通信方法和無線通信設備
- 下一篇:具有線性致動器的膜切割裝置





