TW201349166A - 匯流排帶寬調整方法及系統 - Google Patents
匯流排帶寬調整方法及系統 Download PDFInfo
- Publication number
- TW201349166A TW201349166A TW101118941A TW101118941A TW201349166A TW 201349166 A TW201349166 A TW 201349166A TW 101118941 A TW101118941 A TW 101118941A TW 101118941 A TW101118941 A TW 101118941A TW 201349166 A TW201349166 A TW 201349166A
- Authority
- TW
- Taiwan
- Prior art keywords
- gpu
- bus
- channel
- pci
- bandwidth
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
一種匯流排帶寬調整方法及系統,該方法包括:讀取步驟,讀取匯流排控制器獲取的連接各個GPU的PCI_E匯流排各通道流量和匯流排控制器計算得到的各通道流量和;判斷步驟,判斷是否存在帶寬飽和的GPU,存在帶寬飽和的GPU,進入定位步驟,否則返回讀取步驟;定位步驟,根據連接各GPU的PCI_E匯流排各通道流量從連接各GPU的通道中定位閒置通道;調整步驟,將閒置通道通過匯流排控制器開關調整至該帶寬飽和的GPU。
Description
本發明涉及一種匯流排帶寬調整方法及系統。
GPU(Graphic Processing Unit),中文翻譯為“圖形處理器”,是顯卡的“心臟”,其作用相當於CPU在電腦中的作用,它決定了顯卡的檔次和大部分性能,隨著GPU運算的興起以及多GPU設計的出現,已經有許多企業伺服器開始採用多GPU去做一些複雜度很高的運算,但是多GPU共用PCI_E(Peripheral Component Interconnect Express,是最新的匯流排和介面標準)匯流排在同一時間處理和傳遞資料需要很大的PCI_E匯流排帶寬,現在的PCI_E匯流排是無法同時滿足多個GPU並行運行的。如何去平衡每個GPU所佔用的帶寬,保持各GPU運算能順利工作,而不會發生阻塞的現象,成為一個技術難題。
本發明提供一種匯流排帶寬調整系統,該系統包括:讀取模組,用於從匯流排控制器存儲晶片中讀取由匯流排控制器獲取的連接各個GPU的PCI_E匯流排各通道流量和由匯流排控制器計算得到的各通道的流量和;判斷模組,用於根據所述各通道的流量和判斷是否存在帶寬已飽和的GPU,所述帶寬已飽和的GPU是指連接該GPU的各通道的流量和不小於連接該GPU的PCI_E匯流排帶寬,如果存在帶寬已飽和的GPU,進入定位步驟,否則,返回讀取步驟;定位模組,用於根據所述連接各個GPU的PCI_E匯流排各通道流量從連接各個GPU的通道中定位PCI_E匯流排閒置通道;調整模組,用於將所述閒置通道通過匯流排控制器的開關調整至該帶寬已飽和的GPU。
本發明還提供一種匯流排帶寬調整方法,包括:讀取步驟,從匯流排控制器存儲晶片中讀取由匯流排控制器獲取的連接各個GPU的PCI_E匯流排各通道流量和由匯流排控制器計算得到的各通道的流量和;判斷步驟,根據所述各通道的流量和判斷是否存在帶寬已飽和的GPU,所述帶寬已飽和的GPU是指連接該GPU的各通道的流量和不小於連接該GPU的PCI_E匯流排帶寬,如果存在帶寬已飽和的GPU,進入定位步驟,否則,返回讀取步驟;定位步驟,根據所述連接各個GPU的PCI_E匯流排各通道流量從連接各個GPU的通道中定位PCI_E匯流排閒置通道;調整步驟,將所述閒置通道通過匯流排控制器的開關調整至該帶寬已飽和的GPU。
本發明當連接其中一個GPU的PCI_E匯流排通道飽和時,將其他GPU的閒置PCI_E匯流排通道通過匯流排控制器的開關調整至該PCI_E匯流排通道已經飽和的GPU,實現了動態平衡PCI_E匯流排所連接的GPU的帶寬,使多個GPU並行運行。
如圖1所示,是本發明匯流排帶寬調整系統較佳實施例的運行環境示意圖。本實施方式以雙GPU為例進行說明。匯流排帶寬調整系統10運行在電腦1上,該電腦1包括匯流排控制器12、顯卡14、主板16、記憶體18、處理器20、開關22、GPU 24、GPU 26。
所述匯流排控制器12為一個晶片,可以通過擴充插槽(例如PCI_E插槽)連接在主板上,也可以將其集成在顯卡上,該匯流排控制器12通過自帶的開關22與GPU24、GPU 26連接。本實施方式中,所述多GPU環境下PCI_E匯流排帶寬調整系統10通過該匯流排控制器12實現PCI_E匯流排帶寬在多個GPU之間動態調整。
所述顯卡14,全稱顯示介面卡(Video card,Graphics card),又稱為顯示適配器(Video adapter),是個人電腦最基本的組成部分之一,其用途是將電腦系統所需要的顯示資訊進行轉換驅動,並向顯示器提供行掃描信號,控制顯示器的正確顯示,是連接顯示器和個人電腦主板的重要元件,是“人機對話”的重要設備之一。顯卡14可以分為集成顯卡和獨立顯卡,集成顯卡是將顯示晶片、顯存及其相關電路都做在主板16上,與主板16融為一體;獨立顯卡是指將顯示晶片、顯存及其相關電路單獨做在一塊電路板上,自成一體而作為一塊獨立的板卡存在,通過主板的擴展插槽(ISA、PCI、AGP或PCI-E)與主板16連接。
所述GPU(Graphic Processing Unit,圖形處理器)24與GPU 26是能夠從硬體上支援T&L(Transform and Lighting,多邊形轉換與光源處理)的顯示晶片,其安裝在顯卡14上,是顯卡14的核心元件。
所述主板16,又叫主機板(mainboard)、系統板(systemboard)或母板(motherboard);它安裝在機箱內,一般為矩形電路板,上面安裝了組成電腦的主要電路系統,一般有BIOS晶片、I/O控制晶片、鍵盤和麵板控制開關介面、指示燈插接件、擴充插槽(例如PCI_E插槽)。
PCI_E(Peripheral Component InterconnectExpress)是新一代的匯流排界面,提供給每一個設備(例如顯卡)專用的通信通道,每個設備(例如顯卡)通過與其對應的通道發送與接收資料,並以封包形式串列傳輸,多個通道可以組合在一起形成1X、4X、8X以及16X通道,從而提高了PCI_E插槽的帶寬。PCI_E匯流排提供的帶寬由其通道數量決定,電腦主板通過硬體電路的設計將PCI_E匯流排通道與主板上的PCI_E插槽固定連接,使PCI_E匯流排給各個PCI_E插槽提供固定的帶寬。其中通道16X通道是專為顯卡所設計的,本實施方式中,以雙GPU為例,主板通過匯流排控制器12連接GPU 24、GPU 26,此時,PCI_E匯流排16X通道通過匯流排控制器分為兩部分,每部分通道為8X。
所述記憶體18用於存儲匯流排帶寬調整系統10的程式碼等資料。
在本實施例中,所述匯流排帶寬調整系統10可以被分割成一個或多個模組,所述一個或多個模組被存儲在所述電腦1的記憶體中並被配置成由一個或多個處理器(本實施例為一個處理器20)執行,以完成本發明。例如,參閱圖2所示,所述匯流排帶寬調整系統10被分割成讀取模組100、判斷模組102、定位模組104、調整模組106。本發明所稱的模組是完成一特定功能的程式段,比程式更適合於描述軟體在電腦1中的執行過程,關於各模組的功能參閱圖3的描述。
如圖3所示,是本發明匯流排帶寬調整方法的較佳實施例的流程圖,為了便於澄清本發明技術方案,本實施方式以雙GPU環境為例進行說明。步驟S200,匯流排控制器12即時獲取連接GPU 24與GPU 26的PCI_E匯流排各通道的流量並存儲於所述匯流排控制器12的存儲晶片中。
步驟S202,匯流排控制器12根據所述各通道的流量,分別計算連接GPU 24與GPU 26的PCI_E匯流排各通道的流量和,將計算結果存儲於匯流排控制器12的存儲晶片中。
步驟S204,讀取模組100從匯流排控制器12的存儲晶片中讀取計算得到的連接GPU 24與GPU 26的PCI_E匯流排各通道的流量和。
步驟S206,判斷模組102根據所述計算得到的各流量和判斷是否存在帶寬已飽和的GPU,判斷方法如下:判斷連接GPU(在本較佳實施例中指GPU 24與GPU 26)的PCI_E匯流排各通道流量和是否不小於連接該GPU的PCI_E匯流排帶寬,如果連接GPU的各通道流量和不小於連接該GPU的PCI_I匯流排帶寬,則說明該GPU匯流排帶寬已飽和,將該GPU稱為帶寬已飽和的GPU,進入定位步驟S208;否則,返回步驟S200。例如,參考圖1所示,PCI_E匯流排通道為16X,平均分配給GPU 24與GPU26各8X,假設1X的帶寬為2G,那麼每個GPU分得的PCI_E匯流排通道帶寬就是16G,判斷連接GPU 24與GPU 26的PCI_E匯流排通道流量和是否達到16G,假設,連接GPU 26的PCI_E匯流排通道流量和達到16G,說明連接GPU 26的PCI_E匯流排已經飽和,此時,進入步驟S208,否則,返回步驟S200。
步驟S208,定位模組104根據連接GPU 24與GPU 26的PCI_E匯流排各個通道的流量從連接各個GPU的通道中定位PCI_E匯流排閒置通道。所述閒置通道指流量沒有達到帶寬的通道。
步驟S210,調整模組106將所述閒置通道通過匯流排控制器12的開關22調整至PCI_E匯流排帶寬已經飽和的GPU。如圖1所示,假設連接GPU 26的匯流排的各個通道帶寬達到飽和,根據所述連接GPU 24與GPU 26的PCI_E匯流排各個通道的當前流量定位出閒置通道,假如PCI_E匯流排閒置通道為通道C、D,那麼調整模組106就將GPU 24的閒置通道C、D調整至GPU 26。
最後應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和範圍。
1...電腦
10...匯流排帶寬調整系統
12...匯流排控制器
14...顯卡
16...主板
18...記憶體
20...處理器
22...開關
24,26...GPU
100...讀取模組
102...判斷模組
104...定位模組
106...調整模組
S200...匯流排控制器即時獲取連接各個GPU的PCI_E匯流排各通道的流量
S202...匯流排控制器計算連接各個GPU的PCI_E匯流排各通道的流量和
S204...讀取所述的連接各個GPU的PCI_E匯流排各通道的流量和
S206...判斷是否存在帶寬已飽和的GPU
S208...從連接各個GPU的通道中定位PCI_E匯流排閒置通道
S210...將所述閒置通道通過匯流排控制器的開關從PCI_E匯流排沒有飽和的GPU調整至PCI_E匯流排已經飽和的GPU
圖1是本發明匯流排帶寬調整系統的較佳實施方式的運行環境圖。
圖2是本發明匯流排帶寬調整系統的較佳實施方式的功能模組圖。
圖3是本發明匯流排帶寬調整方法的較佳實施方式的流程圖。
S200...匯流排控制器即時獲取連接各個GPU的PCI_E匯流排各通道的流量
S202...匯流排控制器計算連接各個GPU的PCI_E匯流排各通道的流量和
S204...讀取所述的連接各個GPU的PCI_E匯流排各通道的流量和
S206...判斷是否存在帶寬已飽和的GPU
S208...從連接各個GPU的通道中定位PCI_E匯流排閒置通道
S210...將所述閒置通道通過匯流排控制器的開關從PCI_E匯流排沒有飽和的GPU調整至PCI_E匯流排已經飽和的GPU
Claims (6)
- 一種匯流排帶寬調整方法,該方法應用在電腦上,該電腦包括匯流排控制器、GPU、主板,其中,該方法包括:
讀取步驟,從匯流排控制器存儲晶片中讀取由匯流排控制器獲取的連接各個GPU的PCI_E匯流排各通道流量和由匯流排控制器計算得到的各通道的流量和;
判斷步驟,根據所述各通道的流量和判斷是否存在帶寬已飽和的GPU,所述帶寬已飽和的GPU是指連接該GPU的各通道的流量和不小於連接該GPU的PCI_E匯流排帶寬,如果存在帶寬已飽和的GPU,進入定位步驟,否則,返回讀取步驟;
定位步驟,根據所述連接各個GPU的PCI_E匯流排各通道流量從連接各個GPU的通道中定位PCI_E匯流排閒置通道;
調整步驟,將所述閒置通道通過匯流排控制器的開關調整至該帶寬已飽和的GPU。 - 如申請專利範圍第1項所述之匯流排帶寬調整方法,其中,所述匯流排控制器通過PCI_E插槽連接在主板上。
- 如申請專利範圍第1項所述之匯流排帶寬調整方法,其中,所述GPU數量為兩個。
- 一種匯流排帶寬調整系統,該系統運行在電腦上,該電腦包括匯流排控制器、GPU、主板,其中,該系統包括:
讀取模組,用於從匯流排控制器存儲晶片中讀取由匯流排控制器獲取的連接各個GPU的PCI_E匯流排各通道流量和由匯流排控制器計算得到的各通道的流量和;
判斷模組,用於根據所述各通道的流量和判斷是否存在帶寬已飽和的GPU,所述帶寬已飽和的GPU是指連接該GPU的各通道的流量和不小於連接該GPU的PCI_E匯流排帶寬,如果存在帶寬已飽和的GPU,進入定位步驟,否則,返回讀取步驟;
定位模組,用於根據所述連接各個GPU的PCI_E匯流排各通道流量從連接各個GPU的通道中定位PCI_E匯流排閒置通道;
調整模組,用於將所述閒置通道通過匯流排控制器的開關調整至該帶寬已飽和的GPU。 - 如申請專利範圍第4項所述之匯流排帶寬調整系統,其中,所述匯流排控制器通過PCI_E插槽連接在主板上。
- 如申請專利範圍第4項所述之匯流排帶寬調整系統,其中,所述GPU數量為兩個。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101118941A TW201349166A (zh) | 2012-05-28 | 2012-05-28 | 匯流排帶寬調整方法及系統 |
US13/535,369 US20130318278A1 (en) | 2012-05-28 | 2012-06-28 | Computing device and method for adjusting bus bandwidth of computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101118941A TW201349166A (zh) | 2012-05-28 | 2012-05-28 | 匯流排帶寬調整方法及系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201349166A true TW201349166A (zh) | 2013-12-01 |
Family
ID=49622485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101118941A TW201349166A (zh) | 2012-05-28 | 2012-05-28 | 匯流排帶寬調整方法及系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130318278A1 (zh) |
TW (1) | TW201349166A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817043B2 (en) * | 2011-07-26 | 2020-10-27 | Nvidia Corporation | System and method for entering and exiting sleep mode in a graphics subsystem |
WO2015167490A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Storage system bandwidth adjustment |
US10254814B2 (en) | 2014-09-04 | 2019-04-09 | Hewlett Packard Enterprise Development Lp | Storage system bandwidth determination |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099969B2 (en) * | 2003-11-06 | 2006-08-29 | Dell Products L.P. | Dynamic reconfiguration of PCI Express links |
US7197591B2 (en) * | 2004-06-30 | 2007-03-27 | Intel Corporation | Dynamic lane, voltage and frequency adjustment for serial interconnect |
US7640383B2 (en) * | 2004-11-05 | 2009-12-29 | Via Technologies Inc. | Method and related apparatus for configuring lanes to access ports |
US7174411B1 (en) * | 2004-12-02 | 2007-02-06 | Pericom Semiconductor Corp. | Dynamic allocation of PCI express lanes using a differential mux to an additional lane to a host |
US20060168377A1 (en) * | 2005-01-21 | 2006-07-27 | Dell Products L.P. | Reallocation of PCI express links using hot plug event |
US7539801B2 (en) * | 2005-05-27 | 2009-05-26 | Ati Technologies Ulc | Computing device with flexibly configurable expansion slots, and method of operation |
US20070038794A1 (en) * | 2005-08-10 | 2007-02-15 | Purcell Brian T | Method and system for allocating a bus |
US7325086B2 (en) * | 2005-12-15 | 2008-01-29 | Via Technologies, Inc. | Method and system for multiple GPU support |
US7496742B2 (en) * | 2006-02-07 | 2009-02-24 | Dell Products L.P. | Method and system of supporting multi-plugging in X8 and X16 PCI express slots |
US7447825B2 (en) * | 2006-03-10 | 2008-11-04 | Inventec Corporation | PCI-E automatic allocation system |
JP4877482B2 (ja) * | 2006-04-11 | 2012-02-15 | 日本電気株式会社 | PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法 |
US7480757B2 (en) * | 2006-05-24 | 2009-01-20 | International Business Machines Corporation | Method for dynamically allocating lanes to a plurality of PCI Express connectors |
US7412554B2 (en) * | 2006-06-15 | 2008-08-12 | Nvidia Corporation | Bus interface controller for cost-effective high performance graphics system with two or more graphics processing units |
US7660925B2 (en) * | 2007-04-17 | 2010-02-09 | International Business Machines Corporation | Balancing PCI-express bandwidth |
US20090006708A1 (en) * | 2007-06-29 | 2009-01-01 | Henry Lee Teck Lim | Proportional control of pci express platforms |
US7934032B1 (en) * | 2007-09-28 | 2011-04-26 | Emc Corporation | Interface for establishing operability between a processor module and input/output (I/O) modules |
US7711886B2 (en) * | 2007-12-13 | 2010-05-04 | International Business Machines Corporation | Dynamically allocating communication lanes for a plurality of input/output (‘I/O’) adapter sockets in a point-to-point, serial I/O expansion subsystem of a computing system |
US20110302357A1 (en) * | 2010-06-07 | 2011-12-08 | Sullivan Jason A | Systems and methods for dynamic multi-link compilation partitioning |
US9292465B2 (en) * | 2011-12-21 | 2016-03-22 | Intel Corporation | Dynamic link width adjustment |
-
2012
- 2012-05-28 TW TW101118941A patent/TW201349166A/zh unknown
- 2012-06-28 US US13/535,369 patent/US20130318278A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130318278A1 (en) | 2013-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183683B (zh) | 一种多fpga芯片加速卡 | |
US20110078473A1 (en) | Latency based platform coordination | |
US7165133B2 (en) | Multiprocessor system having shared buses, prioritized arbitration, and clock synchronization circuitry | |
TWI564684B (zh) | 一般主機控制器延遲方法及設備 | |
US7353338B2 (en) | Credit mechanism for multiple banks of shared cache | |
TW201349166A (zh) | 匯流排帶寬調整方法及系統 | |
US9210068B2 (en) | Modifying system routing information in link based systems | |
US9342477B2 (en) | Multi-core processor, controlling method thereof and computer system with such processor | |
CN203133691U (zh) | 一种基于cpci架构的服务器计算节点 | |
US9047264B2 (en) | Low pin count controller | |
US7428607B2 (en) | Apparatus and method for arbitrating heterogeneous agents in on-chip busses | |
US9250683B2 (en) | System, method, and computer program product for allowing a head to enter a reduced power mode | |
CN209821699U (zh) | 基于边缘计算应用的算力板 | |
US9984015B2 (en) | Computing system control | |
TW201435562A (zh) | 伺服器系統及其電源管理方法 | |
US9690619B2 (en) | Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory | |
US20070106826A1 (en) | Method and computer system using PCI-Express | |
US9176554B2 (en) | Power management in a bridge based on a second derivative value derived from a mathematical derivative of plurality of values corresponding to the received packets | |
CN105068962A (zh) | I2c控制器访问方法及系统 | |
US10740254B2 (en) | System and method for frame buffer copy during partial power down of memory | |
CN109871112B (zh) | 一种Openpower系统性能功耗比优化显示系统 | |
KR20190115811A (ko) | 확장 메모리 카드를 포함하는 데이터 처리 시스템 | |
US11093432B1 (en) | Multi-channel DIMMs | |
US9557783B2 (en) | Configurable card slots | |
KR20130081425A (ko) | 멀티 코어 프로세서, 이를 포함하는 멀티 코어 시스템, 전자 장치 및 멀티 코어 프로세서의 캐시 공유 방법 |