TWI484346B - 最適化網路連接器並減少中斷 - Google Patents

最適化網路連接器並減少中斷 Download PDF

Info

Publication number
TWI484346B
TWI484346B TW098140580A TW98140580A TWI484346B TW I484346 B TWI484346 B TW I484346B TW 098140580 A TW098140580 A TW 098140580A TW 98140580 A TW98140580 A TW 98140580A TW I484346 B TWI484346 B TW I484346B
Authority
TW
Taiwan
Prior art keywords
buffer
data
polling
osa
status
Prior art date
Application number
TW098140580A
Other languages
English (en)
Other versions
TW201033813A (en
Inventor
Isrel, Jr
Bruce H Ratcliff
Jerry W Stevens
Zebrowski, Jr
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201033813A publication Critical patent/TW201033813A/zh
Application granted granted Critical
Publication of TWI484346B publication Critical patent/TWI484346B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

最適化網路連接器並減少中斷
本發明關於網路連接器,更特定而言係關於藉由最適化中斷處理及降低中斷頻率來進行網路連接器(潛時)最適化。
國際商用機器公司(IBM,“International Business Machines”)系統Z型主機電腦平台可使用稱之為開放性系統連接器(OSA,“Open Systems Adaptor”)的特殊化網路連接器。OSA提供一種虛擬化及擷取實際的硬體網路介面卡(NIC,“Network Interface Card”)的細節之方式。該主機與OSA進行通訊,而OSA與NIC進行通訊。一單一OSA能夠同時地支援數百個作業系統影像,及數千個主機連接,而且甚至更多的傳輸控制協定/網際網路協定(TCP/IP,“Transmission control Protocol/Internet Protocol”)連接。OSA提供許多好處,主要是在共享與虛擬化的領域。但是,其缺點在於由此包含該OSA之額外層列或疊層所產生的潛時。此潛時由於大量的網路流量而惡化,並由於更高度的連接器共享而複雜化。
延遲的一主要來源為該等中斷,或對於硬體或軟體之通知,其同時為入站與出站資料流量所需要。由於對該等中斷之產生及反應(處理器利用率)所造成的潛時為主要的延遲。此延遲的部份實際上係在該主機本身或該主機匯流 排之內。關聯於管理有關於這麼多主機連接之非常高的資料速率(1Gbs或10Gbs鏈結)之中斷的頻率及管理負擔成為關於一種經由OSA之潛時的問題。
本發明已經被開發來提供最適化網路連接器並減少中斷。
本發明提出一種方法來產生一立即性I/O中斷通知,更新一入站緩衝器清單,並將該緩衝器狀態由一未佔用狀態設定至一主要狀態。
在一具體實施例中,該方法包括回應自一網路接收資料而產生一立即性I/O中斷通知給一主機裝置驅動器。該主機裝置驅動器排程(schedule)一主機通訊堆疊,並設定一緩衝器狀態成防止額外中斷之狀態。該主機通訊堆疊進入一輪詢狀態,其使得該主機通訊堆疊等待在一入站緩衝器佇列中可使用的資料。該方法亦可以包括基於在該入站緩衝器佇列中接收的資料來更新一入站緩衝器清單。再者,該方法亦可包括將該緩衝器狀態由一未佔用狀態設定成一主要狀態,以指明該接收的資料可用於處理。該主機通訊堆疊處理該可使用的資料。
在一具體實施例中,該主機通訊堆疊回應一輪詢逾時而終止輪詢。該主機通訊堆疊設定該緩衝器狀態來指明已經發生該輪詢逾時。在另一具體實施例中,該方法包括產 生一額外的I/O中斷通知,以警示該主機通訊堆疊該接收的資料可用於處理。該緩衝器狀態可以包括一佇列的直接輸入/輸出(QDIO,“Queued Direct I/O”)儲存清單狀態區塊(SLSB,“Storage-List-State-Block”)。再者,該入站緩衝器清單可包括一QDIO儲存緩衝器位址清單(SBAL,“Storage Buffer Address List”)。
在一具體實施例中,該SLSB緩衝器未佔用狀態包含一「輸入緩衝器未佔用(連接器擁有)」狀態,而該SLSB緩衝器主要狀態包含一「輸入緩衝器主要(程式擁有)」狀態。
本發明提供一種用於最適化網路連接器並減少中斷之系統。該系統可體現成一網路,其配置成在複數裝置、一開放性系統連接器(OSA)及一主機平台之間傳遞資料,該主機平台包括一主機裝置驅動器該主機堆疊。該OSA與主機平台可以包含模組,其配置成功能性執行如上述關於該方法之必要步驟。這些模組可以包括一產生模組、一更新模組、一主要狀態更新模組、一排程模組、一輪詢模組、一處理模組,而在一些具體實施例中包括一逾時模組及一次要更新模組。在一具體實施例中,該逾時模組設定該緩衝器狀態來指明已經發生該輪詢逾時。
本發明提出一種方法來基於輸出的資料建構一出站緩衝器清單,加入該輸出資料到一出站緩衝器佇列,並發送一通知信號給一網路連接器。
在一具體實施例中,該方法包括基於輸出的資料建構一出站緩衝器清單。該輸出資料包括要被傳送至一網路的資料。該方法亦可包括加入該輸出資料到一出站緩衝器佇列。再者,該方法可包括將該緩衝器狀態由一未佔用狀態設定成一主要狀態,以指明該輸出的資料係預備要傳送。此外,該方法可包括發送一通知信號至一網路連接器。該網路連接器處理該出站緩衝器佇列,並回應該通知信號而傳送該輸出資料至該網路。該網路連接器設定該緩衝器狀態成一輪詢狀態,以指明該網路連接器正在輪詢額外的輸出資料。該網路連接器以一預定的時間間隔輪詢額外的輸出資料。
在一具體實施例中,該方法包括釋放在該出站緩衝器佇列中該輸出資料,使得該出站緩衝器佇列可接受額外的輸出資料。在一些具體實施例中,該方法包括基於該輪詢狀態偵測該網路連接器輪詢,並防止發送一額外通知信號給該網路連接器。該網路連接器直接地處理該出站緩衝器佇列,並傳送該額外的輸出資料至該網路。
在某些具體實施例中,該緩衝器狀態包含一佇列的直接I/O(QDIO)儲存清單狀態區塊(SLSB)。此外,該出站緩衝器清單可為一佇列的直接I/O(QDIO)儲存緩衝器位址清單(SBAL)。在一具體實施例中,該網路連接器回應輪詢額外的資料超過該預定時間間隔而造成逾時。該網路連接器設定該緩衝器狀態來指明該出站緩衝器佇列為未佔用。
本發明提供一種用於最適化網路連接器並減少中斷之系統。該系統可體現成一主機平台,該主機平台包括一主機裝置驅動器,該主機通訊堆疊,一網路及一OSA。該OSA與主機平台可以包含模組,其配置成功能性執行如上述關於該方法之必要步驟。這些模組可以包括一建構模組、一佇列加入模組、一狀態更新模組、一信號模組、一接收模組、一傳輸模組、一輪詢更新模組、一OSA輪詢模組,且在一些具體實施例中,包括一釋放模組、一輪詢偵測模組及一輪詢逾時模組。
在整份說明書中參照的特徵、好處及類似語言並不代表利用本發明可實現的所有特徵及好處必須是在本發明之任何單一具體實施例中。而是,參照到該等特徵及好處之語言係理解為其代表與一具體實施例相關之所述的一特定特徵、好處或特性係包括在本發明之至少一具體實施例中。因此,在整份說明書中該等特徵及好處及類似語言的討論可以但非必要地參照到相同的具體實施例。
再者,所述之本發明的特徵、好處及特性可以在一或多個具體實施例中以任何適當的方法來結合。熟習相關技藝之人士將可瞭解到本發明可以不使用一特定具體實施例之一或多個特定特徵或好處的情況下來實施。在其它實例中,可在某些具體實施例中認定額外的特徵及好處,其並非存在於本發明的所有具體實施例中。
在本說明書中所描述的許多功能單元已經標示成模組,藉以更具體地強調它們的實施獨立性。例如,一模組可實施成一硬體電路,其中包含客製化超大型積體電路(VLSI,“Very-large-scale Integration”)電路或閘極陣列,現貨式半導體,例如邏輯晶片、電晶體或其它離散組件。一模組亦可實施成可程式化硬體裝置,例如場域可程式化閘極陣列、可程式化陣列邏輯、可程式化邏輯裝置或類似者。
模組亦可實作成由多種處理器執行的軟體。例如,一種可執行碼之辨識模組包含電腦指令的一或多個實體或邏輯區塊,其例如可組織成一物件、程序或函數。然而,一辨識模組的可執行碼不需要實體上放置在一起,但可包含儲存在不同位置上的不同指令,其在當邏輯上結合在一起時,其包含該模組,並可達到針對該模組之所述目的。
當然,一可執行碼的模組可為一單一指令,或許多指令,且甚至可分散在數個不同的碼段、在不同程式之間,並可橫跨數個記憶體裝置。類似地,操作性資料在此處係於模組內辨識及例示,而其可體現成任何適當的型式,並可組織在任何適當類型的資料結構當中。該操作性資料可被收集成一單一資料集,或可分散在包括不同的儲存裝置之不同位置處。
在整份說明書中的「一具體實施例」或類似用語代表與該具體實施例有關所描述的一特定特徵、結構或特性係包括在本發明的至少一具體實施例中。因此,在整份說明書中該等用語「在一具體實施例中」及類似語言之討論可以但非必要地意指相同的具體實施例。
熟習技藝之人士將可瞭解到,本發明可體現成一方法、系統或電腦程式產品。因此,本發明之型式可為一完全硬體具體實施例,一完全軟體具體實施例(包括韌體,常駐軟體、微型碼等),或一結合軟體與硬體態樣之具體實施例,其皆可概略在此處稱之為「電路」、「模組」或「系統」。再者,本發明之型式可為在一電腦可使用儲存媒體上的一電腦程式產品,其具有體現在該媒體中的電腦可使用程式碼。
可利用任何適當的電腦可使用或電腦可讀取媒體。該電腦可使用或電腦可讀取媒體可為例如(但不限於)一種電子、磁性、光學、電磁、或半導體系統、設備、裝置。更為特定的電腦可讀取媒體示例(一非毫無遺漏的列表)將可包括下列:具有一或多條線的電子連接,一攜帶式電腦碟片,一硬碟,一隨機存取記憶體(RAM,“Random access memory”)、一唯讀記憶體(ROM,“Read-only memory”)、一可抹除可程式化唯讀記憶體(EPROM,“Erasable programmable read-only memory”或快閃記 憶體)、一光纖、一攜帶式光碟唯讀記憶體(CD-ROM,“Compact disc read-only memory”)、一光學儲存裝置,一傳輸媒體,例如那些支援網際網路或企業內網路者,或一磁性儲存裝置。請注意該電腦可使用或電腦可讀取媒體甚至可為可列印出該程式的紙張或另一適當媒體,因為該程式可經由例如光學掃描該紙張或其它媒體而電子式地補捉,然後經過編譯、解譯,或另由一適當方式處理(如果必要的話),接著儲存在一電腦記憶體中。在本文件的內文中,一電腦可使用或電腦可讀取媒體可為能夠包含、儲存、傳遞或輸送該程式來由該指令執行系統、設備或裝置使用或搭配使用之任何媒體。
執行本發明之作業的電腦程式碼可撰寫成物件導向式程式語言,例如Java,Smalltalk,C++或類似者。但是,用於執行本發明之作業的電腦程式碼亦可撰寫成習用的程序性程式語言,例如「C」程式語言或類似的程式語言。該程式碼可整個在該使用者的電腦上,部份在該使用者的電腦上做為一單獨運作套裝軟體,部份在該使用者的電腦上及部份在一遠端電腦上,或整個在該遠端電腦或伺服器上執行。在後者的方案中,該遠端電腦可經由一區域網路(LAN,“Local area network”)或一廣域網路(WAN,“Wide area network”)連接至該使用者的電腦,或可連到一外部電腦(例如使用透過一網際網路提供商所提供之網際網路)。
本發明在以下將參照根據本發明之具體實施例的方法、設備(系統)及電腦程式產品之流程圖及/或方塊圖來說明。應瞭解該等流程圖及/或方塊圖,及在該等流程圖及/或方塊圖中方塊之組合中每一方塊可由電腦程式指令所實作。這些電腦程式指令可被提供給一通用電腦、特殊目的電腦、或其它可程式化資料處理設備的處理器來生產一機器,使得經由該電腦或其它可程式化資料處理設備之處理器所執行的指令可產生用於實作在該等流程圖及/或方塊圖中方塊中所指定之該等功能/動作的方式。
再者,所述之本發明的特徵、結構及特性可以在一或多個具體實施例中以任何適當的方法來結合。在以下的說明中,係提供許多特定細節例如像是程式設計、軟體模組、使用者選擇、網路交易、資料庫查詢、資料庫結構、硬體模組、硬體電路、硬體晶片等,以提供本發明之具體實施例的完整瞭解。但是熟習相關技藝的人士將可瞭解到本發明可在不具有一或多項特定細節之情況下,或可利用其它方法、組件、材料等等來實行。在其它實例中,熟知的結構、材料或作業並未詳細顯示及描述,以避免混淆本發明之態樣。
圖1A例示用於最適化網路連接器並減少中斷之系統100的一具體實施例。系統100包括主機平台102、操作性耦合至主機平台102的OSA 118,及與OSA 118進行通訊的網路120。再者,佇列的直接I/O(QDIO)結構104包括有多個儲存緩衝器位址清單(SBAL)106、多個儲存清單 狀態區塊(SLSB)108及多個緩衝器佇列110、主機裝置驅動器112及主機通訊堆疊114,其存在於主機平台102上。資料匯流排116連接主機通訊堆疊114、QDIO結構104及主機裝置驅動器112。熟習本技藝人士可瞭解到系統100可比所例示的更簡化或更為複雜,只要系統100包括符合此處所述者之模組或子系統。
主機平台102可為系統z系列主機電腦,其能夠運作z/OS作業系統(系統z及z/OS為國際商用機器公司的商標)或其它類似的主機電腦。主機通訊堆疊114可為一傳輸控制協定/網際網路協定(TCP/IP)堆疊,其為本技藝中所熟知。
QDIO結構104為一資料傳輸架構的一部份,並允許直接對主機平台102上的記憶體存取來進行TCP/IP資料流。QDIO結構104管理進入或輸出的資料。特別是,SBAL 106提供對應於每個緩衝器佇列110之一緩衝器的該等記憶體區塊的位址。在一具體實施例中,每個緩衝器佇列110可以具有128個SBAL 106。
此外,SLSB 108提供關於在相關的緩衝器佇列110中的資料之狀態資訊。該等硬體及軟體系統進行互動來填入資料到緩衝器佇列110並自緩衝器佇列110取得資料,其使用SLSB 108中的該等狀態來同步化該等必要的作業。SLSB 108狀態判定主機裝置驅動器112或OSA 118是否能夠控制該等相對的應緩衝器。每個SLSB 108狀態 具有一名稱與一數值。在一具體實施例中,每個緩衝器佇列110可具有128個SLSB 108。此外,緩衝器佇列110可以同時包括輸入與輸出緩衝器。在某些具體實施例中,該緩衝器的數目亦可等於128。
主機裝置驅動器112可包括一軟體應用程式,其處理來自緩衝器佇列110之進入的資料,並排程主機通訊堆疊114以取得來自緩衝器佇列110之進入的資料。再者,主機裝置驅動器112可建構出站緩衝器SBAL 106,並加入輸出的資料至出站緩衝器佇列110。再者,主機裝置驅動器112在當輸出的資料預備好傳送時可以發信號給OSA 118。
OSA 118為一主機型網路連接器,其可被安裝在一主機型I/O籠部,或另外連接至一主機,並可包括如本技藝中所熟知之一習用處理器。OSA 118可包含一OSA-Express模型或其它類似模型。OSA 118可直接放置資料至QDIO緩衝器佇列110中,藉由設定每個緩衝器項目(在此項目中耗用的空間為封包或多個封包)之長度來更新對應於該等佇列之SBAL 106,並更新該SLSB,如上所述。此三步驟程序亦已知為「提供該資料」(presenting the data)。然後OSA 110可設定SLSB 108狀態為對給主機平台102指明資料已經放置在該等緩衝器中、並已經預備好做處理、或可用於主機平台102內的較高階層中之一種狀態。同樣地,OSA 118亦可取得緩衝器佇列110中的資料,並使用SLSB 108狀態來判定何時資料係預備來取得。
關於輸出的資料(自主機平台102行進而離開至網路120的資料),以往OSA 118在處理一出站緩衝器之後支援一段非常短的輪詢周期。OSA 118藉由傳送在該緩衝器中的資料到網路120來處理一出站緩衝器。OSA 118在完成該寫入作業之前簡短地輪詢更多輸出資料,並將該緩衝器的控制權轉到主機裝置驅動器112。此簡短輪詢周期允許主機裝置驅動器112在當一寫入在暫停時加入資料到該等出站佇列,而不需要針對具有要被傳送的資料之每個新的輸出緩衝器發信號給該連接器。此目前技術造成信號連接器-寫入(SIGA-w,“Signal Adapter-write”)信號調用之減少。但是,OSA 118可配置成在處理輸出資料之後實作一「延伸輪詢方式」。利用「延伸輪詢方式」的方法,主機平台102將很少發送一SIGA-w信號至OSA 118,且將不會遇到相關的延遲。當OSA 118已經完成處理最後的輸出緩衝器時,OSA 118通知主機裝置驅動器112該寫入已完成,但主機裝置驅動器112仍會「添加」額外的輸出資料。因此,OSA 118可設定一新的「連接器輸出輪詢」SLSB 108狀態。此「連接器輸出輪詢」狀態通知主機裝置驅動器112其不需要SIGA-w信號來警示該OSA傳送資料。
對於進入的資料,以往OSA 118將提供主機裝置驅動器112新到達的資料,然後產生一I/O中斷至主機平台102,所以主機裝置驅動器112即可處理該新到達的資料。現在請參照圖1A及圖1B,圖1B為例示關聯於習用OSA的時間延遲,關聯於OSA 118、主機裝置驅動器112與主 機通訊堆疊114之習用作業的時間延遲之假設時間值之圖。
T0代表當資料到達OSA 118處的時刻。T1為OSA 118提供該資料至主機裝置驅動器112所需要的時間(完成所有資料提供的三個步驟),其假設T1=T0+9(OSA 118總共需要9微秒來提供該資料,包括更新QDIO結構104)。T2代表當主機裝置驅動器112自該中斷取得控制權的時刻,假設T2=T1+5微秒(OSA需要5微秒來產生該中斷,且主機平台102分派一處理器至該主機影像來處理該中斷)。T3代表當主機通訊堆疊114取得控制權(被分派)來處理該資料的時刻,假設T3=T2+9微秒,其為主機裝置驅動器112處理(佇列)該資料至該堆疊、排程主機通訊堆疊114所總共耗用的時間,及該主機分派器分派該新工作所需要的時間。主機通訊堆疊114從資料到達主機平台102到開始處理它的總共時間(潛時)為23微秒。
請回頭參考圖1A,在一具體實施例中,OSA 118只要收到資料時立即產生該主機中斷,然後進行資料提供。該資料提供與主機中斷為平行運作。藉由在開始資料提供之前產生該中斷,OSA 118降低以往存在於該中斷的時刻與當主機裝置驅動器112取得控制權並開始處理該資料的時刻之間的時間差距。
現在請參照圖1A及圖1C,圖1C為例示為時間延遲之降低的圖,其顯示使用只要收到資料時,當OSA 118產 生該主機中斷所需要的時間之假設時間值的一示例。
T0代表當資料到達OSA 118時的時刻。T1代表當主機裝置驅動器112自該中斷取得控制權時的時刻,其假設T1=T0+5微秒(OSA需要5微秒來產生該中斷,且主機平台102分派一處理器至該主機影像來處理該中斷)。Tx代表當OSA 118開始提供資料至主機裝置驅動器M2的時刻。T2代表資料提供所需要的時間(完成資料提供的所有三個步驟)。如所例示,現在資料提供重疊於T1及T3處理。T3代表當主機通訊堆疊114取得控制權(被分派)來處理該資料的時刻。如果當主機通訊堆疊114取得控制權來處理該資料時並未完成該資料提供,主機通訊堆疊114將進入一輪詢狀態,如下所述。圖1C假設T3=T1+9微秒,主機裝置驅動器112要處理(佇列)該資料至該堆疊、排程主機通訊堆疊114、及該主機分派器要分派該新工作耗用的時間之所耗用的總共時間。
主機通訊堆疊114從資料到達主機平台102到開始處理它的總共時間(潛時)現在係14微秒(相對於23微秒,可節省9微秒)。請注意整個9微秒可能沒辦法節省,因為主機通訊堆疊114在完成資料提供之前可以取得控制權。
請回頭參照圖1A,網路120可為一全球通訊網路,例如網際網路,區域網路(LAN)、在網際網路上通訊的多個LAN、或任何其它類似的通訊網路。
圖2例示為用於最適化網路連接器並減少中斷之設備的一具體實施例。設備200包括產生模組202、更新模組204、主要狀態更新模組206、排程模組208、中斷防止模組210、輪詢模組212、及處理模組214。再者,箭頭216、218及220指明資料流方向。
在一具體實施例中,產生模組202存在於OSA 118上,其回應自網路120接收資料,而產生一立即性I/O中斷通知給主機裝置驅動器112。一立即性I/O中斷通知為在收到該進入資料時由產生模組202所產生的一中斷通知,而非在OSA 118已經提供該資料之後(包括更新SBAL 106的狀態)產生一中斷通知。在一具體實施例中,產生模組202配置成檢視使用者喜好,且該等使用者喜好可以啟動或撤消立即性I/O中斷通知。
在一具體實施例中,更新模組204可存在於OSA 118上,基於在入站QDIO緩衝器佇列110中收到的資料更新入站QDIO SBAL 106。更新QDIO SBAL 106或提供該資料的程序在該立即性I/O中斷通知之後被執行。
在一具體實施例中,主要狀態更新模組206可存在於OSA 118上,將SLSB 108緩衝器狀態由一未佔用狀態設定成一主要狀態,以指明該收到的資料可用於處理。特別是,SLSB 108緩衝器未佔用狀態可包括一「輸入緩衝器未佔用(連接器擁有)」狀態,而SLSB 108緩衝器主要狀態可包括一「輸入緩衝器主要(程式擁有)」狀態。SLSB 108 緩衝器主要狀態對主機裝置驅動器112指明該資料提供已完成,並轉移相對應緩衝器佇列110的控制權給主機裝置驅動器112。
在一具體實施例中,排程模組208排程主機通訊堆疊114。排程模組208以猶如資料可使用的方式排程該堆疊,即使該資料還未在輸入QDIO緩衝器佇列110內且還未可使用。如此處所使用的「可使用資料」(available data)為已經由OSA 118提供的資料,並可用於由主機通訊堆疊114與主機裝置驅動器112做處理。再者,如本技藝之一般技術者所知,要排程一通訊堆疊代表警示或通知一堆疊來處理資料。該堆疊藉由自輸入緩衝器佇列110複製該資料來由主機平台102中較高階的應用程式來使用而處理資料。
在資料可使用之前藉由排程通訊堆疊114,排程模組208大為降低關聯於排程通訊堆疊114之時間延遲。以往該最大時間延遲存在於OSA 118已經提供該資料的時刻與通訊堆疊114開始處理該資料的時刻之間。此係由於事實上通訊堆疊114一旦排程之後將不會立即開始處理該資料。由典型的作業系統分派延遲所造成的此種延遲,例如工作負荷優先性,排程與分派,CPU爭奪,超管理器資源爭奪(與其它影像共享CPU)及其它中斷處理等。當排程模組208在資料可使用之前排程通訊堆疊114,在大多數情況下,OSA 118在通訊堆疊114被分派來處理該資料時已 經完成提供該資料。
在一具體實施例中,中斷防止模組210存在於主機裝置驅動器112上,其設定SLSB 108緩衝器狀態成為防止額外中斷被傳送到主機裝置驅動器112的狀態。此SLSB 108狀態可包括一輸入緩衝器知會狀態,既有的SLSB 108狀態將通知OSA 118防止產生任何額外的中斷。
在一具體實施例中,在該主機通訊堆疊上的輪詢模組212進入一輪詢狀態,並輪詢在入站QDIO緩衝器佇列110中可使用的資料。輪詢模組212必須輪詢,因為入站緩衝器佇列110可能不包含可使用資料。在一具體實施例中,在該主機通訊堆疊上的處理模組214在完成該資料提供之後處理該可使用的資料。
圖3例示用於最適化網路連接器並減少中斷之設備的另一具體實施例。設備300包括產生模組202、更新模組204、主要狀態更新模組206、排程模組208、中斷防止模組210、輪詢模組212及處理模組214,其中這些模組包括實質上如上述關連於圖2之該等相同特徵。此外,在一具體實施例中,設備300包含次要通知模組302及逾時模組304。如圖2所示,箭頭216、218及220指明資料流方向。
在一具體實施例中,在主機通訊堆疊114上的逾時模 組304回應一輪詢逾時而終止輪詢。因為主機通訊堆疊114的輪詢持續時間必須有限,如果所承諾的資料被延遲或遺失/掉落,逾時模組304會終止輪詢。逾時模組304設定該緩衝器狀態成一新狀態,以指明已經發生該輪詢逾時,並警示OSA 118主機通訊堆疊114不再輪詢該承諾的資料。在一具體實施例中,此新狀態被稱為具有一相關數值的「input_Buffer_Ack_TimeOut」。但是,本技藝之一般技術者可瞭解到可使用不同於其它既有的QDIO狀態名稱與數值的任何名稱與數值。
在一具體實施例中,在OSA 118上的次要通知模組302產生一額外的I/O中斷通知來警示主機通訊堆疊114,在輪詢主機通訊堆疊114逾時之後該接收的資料係可用於處理。在一具體實施例中,當該資料提供最終完成時,次要通知模組302檢查SLSB 108狀態來驗證SLSB 108狀態已被設定來指明一輪詢逾時。如果SLSB 108狀態的確指明一輪詢逾時,次要通知模組302產生一額外中斷來警示主機平台102與主機通訊堆疊114,可使用的資料存在於緩衝器佇列110中。
圖4例示用於最適化網路連接器並減少中斷之設備的另一具體實施例。設備400包括建構模組402、佇列加入模組404、狀態更新模組406、信號模組408、接收模組410、傳輸模組412、輪詢更新模組414、及OSA輪詢模組416。再者,箭頭418及420指明資料流方向。
在一具體實施例中,建構模組402基於輸出的資料建構出站QDIO儲存器SBAL 106。在一具體實施例中,在主機裝置驅動器112上佇列加入模組404加入該輸出資料至出站QDIO緩衝器佇列110。
在一具體實施例中,狀態更新模組406將SLSB 108緩衝器狀態由一未佔用狀態設定成一主要狀態,以指明該輸出資料已預備好傳送。再者,在一具體實施例中,在主機裝置驅動器112上信號模組408發送一SIGA-w信號給OSA 118。SIGA-w信號通知OSA 118傳送該資料。
在一具體實施例中,在OSA 118上的接收模組410接收該SIGA-w信號。此外,在一具體實施例中,傳輸模組412回應該SIGA-w信號而處理出站緩衝器佇列110及傳送該輸出資料至網路120。
在一具體實施例中,在OSA 118上的輪詢更新模組414設定SLSB 108緩衝器狀態至一輪詢狀態,以指明OSA 118正在輪詢額外的輸出資料。此輪詢SLSB 108狀態為一新的狀態,其警示主機裝置驅動器112更多的輸出資料將由輪詢更新模組414處理,而不需要產生另一個SIGA-w信號。主機裝置驅動器112可釋放關聯於此SBAL 106的所有緩衝器,且OSA 118現在正在輪詢新的出站工作。此新的狀態可稱為具有一相關數值的「Output_Buffer_Ack」。但是,本技藝之一般技術者可瞭 解可使用不同於其它既有的QDIO狀態名稱的任何名稱與數值。
在一具體實施例中,在OSA 118上的OSA輪詢模組416輪詢額外的輸出資料。OSA輪詢模組416在需求該SIGA-w信號的該輸出資料之後,可立即處理任何額外的輸出資料或由主機裝置驅動器112預備的資料。
圖5例示最適化網路連接器並減少中斷之設備的另一具體實施例。設備500包括建構模組402、佇列加入模組404、狀態更新模組406、信號模組408、接收模組410、傳輸模組412、輪詢更新模組414及OSA輪詢模組416,其中這些模組包括實質上如上述關連於圖4之該等相同特徵。此外,在一具體實施例中,設備500包含釋放模組502、輪詢偵測模組504及輪詢逾時模組506。如圖4所示,箭頭418及420指明資料流方向。
在一具體實施例中,一旦OSA 118已經傳送該輸出資料,在主機裝置驅動器112上的釋放模組502對於在出站緩衝器佇列110中該輸出資料釋放該等資料緩衝器之相關的記憶體區塊,使得出站緩衝器佇列110可接受額外的輸出資料。
此外,在一具體實施例中,輪詢偵測模組504偵測OSA 118基於SLSB 108中的該輪詢狀態正在輪詢。該輪詢狀態通知輪詢偵測模組504 OSA 118正在輪詢額外的輸 出資料以直接傳送,且OSA 118將不會需要一SIGA-W信號來處理額外的輸出資料。
在一具體實施例中,在OSA 118上的輪詢逾時模組506回應輪詢額外的資料超過一預定的時間間隔而造成逾時,其不需要在一輪詢中止(pollout interval)間隔期間處理額外的資料。實際上,OSA 118不能夠無限制地輪詢。如果該輸出活動在一特定輪詢中止間隔中減慢(主機平台102為閒置),則OSA 118將停止輪詢。在此狀況下,輪詢逾時模組506可設定SLSB 108狀態為指明OSA 118不再輪詢的一種狀態。輪詢逾時模組506可設定SLSB 108緩衝器狀態成一既有的狀態,以指明出站緩衝器佇列110為未佔用,其通知主機裝置驅動器112 OSA 118不再輪詢。
以下的示意流程圖概略以邏輯流程圖來揭示。因此,所述之順序及標示的步驟代表本發明方法之一具體實施例。其它步驟及方法可視為等同於所例示方法之函數、邏輯、或效果,乃至於一或多個步驟,或其部份。此外,所使用之格式及符號係提供來解釋該方法之邏輯步驟,並應瞭解其並不限制本方法之範圍。雖然在該流程圖中可使用多種箭頭種類及線型,它們應可被瞭解為不限制對應方法之範圍。當然,一些箭頭或其它連接器可用於僅指明該方法之邏輯流程。例如,一箭頭可指明在所述之方法的列舉步驟之間未指定之持續時間的等待或監控期間。此外,一特定方法之發生順序可或可不嚴格地依附於所示之相對應步驟的順序。
圖6例示用於最適化網路連接器並減少中斷之方法的一具體實施例。此方法600牽涉到入站資料。方法600開始於步驟602,當時產生模組202回應自網路120接收資料而產生一立即性I/O中斷通知至主機裝置驅動器112(步驟604)。主機裝置驅動器112排程主機通訊堆疊114,並設定緩衝器狀態108成為防止主機裝置驅動器112的額外中斷的一種狀態。再者,主機通訊堆疊114進入一輪詢狀態以等待在入站緩衝器佇列110中可使用的資料。接著,更新模組204基於在入站緩衝器佇列110中該接收的資料更新入站緩衝器清單106(步驟606)。然後,主要狀態更新模組206設定緩衝器狀態108由一未佔用狀態成一主要狀態(步驟608),以指明該接收的資料可用於處理,且主機通訊堆疊114處理該可使用的資料,且方法600結束於步驟610。
圖7A例示用於最適化網路連接器並減少中斷之方法的另一具體實施例。如同圖6中之方法600,此方法700亦牽涉到入站資料。方法700開始於步驟702,在OSA 118上回應自網路120接收資料而當時產生模組202產生一立即性I/O中斷通知給主機裝置驅動器112(步驟704)。然後,主機裝置驅動器112之中斷防止模組210設定SLSB 108緩衝器狀態108成防止額外中斷的一種狀態(步驟706)。接著,主機裝置驅動器112的排程模組208排程主機通訊堆疊114(步驟708)。在主機通訊堆疊114上,輪詢模組212進入一輪詢狀態,使得輪詢模組212輪詢入站緩 衝器佇列110中可使用的資料(步驟710)。
同時在OSA 118上,更新模組204基於在入站緩衝器佇列110中該接收的資料來更新入站QDIO SBAL 106(步驟712)。然後主要狀態更新模組206設定SLSB 108緩衝器狀態108由一未佔用狀態成為一主要狀態(步驟714),以指明該接收的資料可用於處理。在主機通訊堆疊114上,處理模組214處理該可使用的資料(步驟716),且方法700結束於步驟718。
圖7B例示用於最適化網路連接器並減少中斷之方法的另一具體實施例。此方法720亦牽涉到入站資料。方法720開始於步驟722,在OSA 118上回應自網路120接收資料而當時產生模組202產生一立即性I/O中斷通知給主機裝置驅動器112(步驟724)。然後,主機裝置驅動器112之中斷防止模組210設定SLSB 108緩衝器狀態成防止額外中斷的一種狀態(步驟726)。接著,主機裝置驅動器112的排程模組208排程主機通訊堆疊114(步驟728)。在主機通訊堆疊114上,輪詢模組212進入一輪詢狀態(步驟730),使得該主機通訊堆疊等待在入站緩衝器佇列110中可使用的資料。
同時在OSA 118上,更新模組204基於在入站緩衝器佇列110中該接收的資料更新入站QDIO SBAL 106(步驟732)。然後主要狀態更新模組206設定SLSB 108緩衝器狀態由一未佔用狀態成為一主要狀態(步驟734),以指明 該接收的資料可用於處理。但是,在此具體實施例中,在主機通訊堆疊114上逾時模組304造成逾時(步驟736),且因為資料提供已經耗費太久時間而終止輪詢。然後逾時模組304設定緩衝器狀態108(步驟738)來指明已經發生該輪詢逾時。然後OSA 118的次要通知模組302產生一額外的I/O中斷通知(步驟740),以警示主機通訊堆疊114該接收的資料可用於處理。接著,主機通訊堆疊114的處理模組214處理該可使用的資料(步驟742),且方法720結束於步驟744。
圖8例示用於最適化網路連接器並減少中斷之方法的另一具體實施例。此方法800牽涉出站資料。方法800開始於步驟802,而當時建構模組402基於輸出的資料建構出站緩衝器清單106(步驟804)。然後,佇列加入模組404加入該輸出資料至出站緩衝器佇列110(步驟806)。接著,狀態更新模組406設定緩衝器狀態108由一未佔用狀態成為一主要狀態(步驟808),以指明該輸出資料係預備要傳送。然後信號模組408發送一通知信號給OSA 118(步驟810)。OSA 118將處理出站緩衝器佇列110,並傳送該輸出資料至網路120。此外,OSA 118將設定緩衝器狀態108成為一輪詢狀態,以指明OSA 118正在輪詢額外的輸出資料。OSA 118將輪詢額外的輸出資料一段預定的時間間隔。然後方法800結束於步驟812。
圖9例示用於最適化網路連接器並減少中斷之方法的另一具體實施例。如同圖8之方法800,此方法900亦牽 涉到出站資料。方法900開始於步驟902,而當時在主機裝置驅動器112上的建構模組402基於輸出資料建構出站QDIO SBAL 106(步驟904)。然後,佇列加入模組404加入該輸出資料至出站緩衝器佇列110(步驟906)。接著,狀態更新模組406設定SLSB 108緩衝器狀態由一未佔用狀態成為一主要狀態(步驟908),以指明該輸出資料係預備要傳送。然後信號模組408發送一SIGA-w信號給OSA 118(步驟910)。在OSA 118上,接收模組410接收該SIGA-w信號(步驟912)。接著,傳輸模組412處理出站緩衝器佇列110(步驟914),並傳送該輸出資料至網路120。輪詢更新模組414設定SLSB 108緩衝器狀態成為一輪詢狀態(步驟916),以指明OSA 118正在輪詢額外的輸出資料。然後OSA輪詢模組416開始輪詢額外的輸出資料(步驟918)。
同時,在主機裝置驅動器112上,釋放模組502釋放在出站緩衝器佇列110中的該輸出資料(步驟920),以允許出站緩衝器佇列110接受額外的輸出資料。因為額外的輸出資料係預備要傳送,建構模組402再一次地基於額外的輸出資料建構出站SBAL 106(步驟922)。佇列加入模組404加入該額外的輸出資料至出站緩衝器佇列110(步驟924)。狀態更新模組406設定SLSB 108緩衝器狀態由該未佔用狀態成為該主要狀態(步驟926),以指明該額外的輸出資料係預備要傳送。接著,輪詢偵測模組504基於該輪詢狀態偵測OSA 118正在輪詢(步驟928)。OSA 118之 傳輸模組412直接處理該額外的輸出資料(步驟930),並傳送該額外的輸出資料至網路120,且方法900結束於步驟932。
本發明可以其它特定的型式體現,而皆不背離本發明之精神或基本特性。上述的具體實施例在各個態樣中皆應視為例示性而非限制性。因此本發明的範圍係由附屬的申請專利範圍而非由前述的說明來指明。所有在申請專利範圍之同等性下的意義與範圍內之改變皆要涵蓋在其範圍之內。
100‧‧‧系統
102‧‧‧主機平台
104‧‧‧佇列的直接輸入/輸出結構
106‧‧‧儲存緩衝器位址清單
108‧‧‧儲存清單狀態區塊
110‧‧‧緩衝器佇列
112‧‧‧主機裝置驅動器
114‧‧‧主機通訊堆疊
116‧‧‧資料匯流排
118‧‧‧開放性系統連接器
120‧‧‧網路
200‧‧‧設備
202‧‧‧產生模組
204‧‧‧更新模組
206‧‧‧主要狀態更新模組
208‧‧‧排程模組
210‧‧‧中斷防止模組
212‧‧‧輪詢模組
214‧‧‧處理模組
216,218,220‧‧‧箭頭
300‧‧‧設備
302‧‧‧次要通知模組
304‧‧‧逾時模組
400‧‧‧設備
402‧‧‧建構模組
404‧‧‧佇列加入模組
406‧‧‧狀態更新模組
408‧‧‧信號模組
410‧‧‧接收模組
412‧‧‧傳輸模組
414‧‧‧輪詢更新模組
416‧‧‧開放性系統連接器輪詢模組
418,420‧‧‧箭頭
500‧‧‧設備
502‧‧‧釋放模組
504‧‧‧輪詢偵測模組
506‧‧‧輪詢逾時模組
600、700、800、900‧‧‧方法
602、604、606、608、610、702、704、706、708、710、712、714、716、718、720、722、724、726、728、730、732、734、736、738、740、742、744、802、804、806、808、810、812、902、904、906、908、910、912、914、916、918、920、922、924、926、928、930、932‧‧‧步驟
請瞭解這些圖面所示僅為本發明之典型的具體實施例,因此不應視為其範圍的限制,本發明將藉由使用附屬圖面,利用額外特定內容及細節來加以描述與解釋,其中:圖1A為例示用於最適化網路連接器並減少中斷的系統之一具體實施例的示意方塊圖;圖1B為例示關聯於一習用開放性系統連接器(OSA)之時間延遲圖;圖1C為例示根據本發明之降低時間延遲的圖;圖2為例示用於最適化網路連接器並減少中斷的設備之一具體實施例的示意方塊圖;圖3為例示用於最適化網路連接器並減少中斷的設備之一具體實施例的詳細示意方塊圖;圖4為例示用於最適化網路連接器並減少中斷的設備 之另一具體實施例的示意方塊圖;圖5為例示用於最適化網路連接器並減少中斷的設備之另一具體實施例的詳細示意方塊圖;圖6為例示用於最適化網路連接器並減少中斷的方法之一具體實施例的示意流程圖;圖7A為例示用於最適化網路連接器並減少中斷的方法之一具體實施例的詳細示意方塊圖;圖7B為例示用於最適化網路連接器並減少中斷的方法之一具體實施例的詳細示意方塊圖;圖8為例示用於最適化網路連接器並減少中斷的方法之另一具體實施例的示意流程圖;及圖9為例示用於最適化網路連接器並減少中斷的方法之另一具體實施例的詳細示意流程圖。
100‧‧‧系統
102‧‧‧主機平台
104‧‧‧佇列的直接輸入/輸出結構
106‧‧‧儲存緩衝器位址清單
108‧‧‧儲存清單狀態區塊
110‧‧‧緩衝器佇列
112‧‧‧主機裝置驅動器
114‧‧‧主機通訊堆疊
116‧‧‧資料匯流排
118‧‧‧開放性系統連接器
120‧‧‧網路

Claims (20)

  1. 一種最適化網路連接器並減少中斷的方法,該方法包含:回應接收來自一網路的資料而產生一立即性I/O中斷通知給一主機裝置驅動器,其中,該產生一立即性I/O中斷通知係發生於提供該資料用於處理之前且不論收到之資料量,該主機裝置驅動器配置成排程一主機通訊堆疊,並設定一緩衝器狀態成防止該主機裝置驅動器之額外中斷的一狀態,該主機通訊堆疊配置成進入一輪詢狀態,使得該主機通訊堆疊等待在一入站緩衝器佇列中可使用的資料;基於在該入站緩衝器佇列中該接收的資料,更新一入站緩衝器清單;以及設定該緩衝器狀態由一未佔用狀態成一主要狀態,以指明該接收的資料可用於處理,該主機通訊堆疊配置成處理該可使用的資料。
  2. 如申請專利範圍第1項之方法,其中該主機通訊堆疊回應一輪詢逾時而終止輪詢,該主機通訊堆疊設定該緩衝器狀態來指明已經發生該輪詢逾時。
  3. 如申請專利範圍第2項之方法,更包括:產生一額外的I/O中斷通知,配置成警示該主機通訊堆疊該接收的資料可用於處理。
  4. 如申請專利範圍第1項之方法,其中該緩衝器狀態包含一佇列的直接I/O(QDIO)儲存清單狀態區塊(SLSB)。
  5. 如申請專利範圍第1項之方法,其中該入站緩衝器清單包含一QDIO儲存緩衝器位址清單(SBAL)。
  6. 如申請專利範圍第4項之方法,其中該SLSB緩衝器未佔用狀態包含一「輸入緩衝器未佔用(連接器擁有)」狀態,而該SLSB緩衝器主要狀態包含一「輸入緩衝器主要(程式擁有)」狀態。
  7. 一種最適化網路連接器並減少中斷的系統,該系統包含:一網路,配置成於複數裝置之間傳遞資料;一開放性系統連接器(OSA),與該網路進行通訊,該OSA包含:一產生模組,配置成回應自該網路接收資料而產生一立即性I/O中斷通知給一主機裝置驅動器,其中,該產生一立即性I/O中斷通知係發生於提供該資料用於處理之前且不論收到之資料量;一更新模組,配置成基於在一入站QDIO緩衝器佇列中該接收的資料,更新一入站佇列的直接I/O(QDIO)儲存緩衝器位址清單(SBAL);一主要狀態更新模組,配置成設定一儲存清單狀態區塊(SLSB)緩衝器狀態由一未佔用狀態成為一主要狀態,以指明該接收的資料可用於處理;一主機平台,可操作式地耦合於該OSA,該主機平台包含:一主機裝置驅動器,包含: 一排程模組,配置成排程一主機通訊堆疊;一中斷防止模組,配置成設定該SLSB緩衝器狀態成防止額外中斷的一狀態;該主機通訊堆疊包含:一輪詢模組,配置成進入一輪詢狀態,使得該主機通訊堆疊等待在該入站QDIO緩衝器佇列中可使用的資料;以及一處理模組,配置成處理該可使用資料。
  8. 如申請專利範圍第7項之系統,其中該SLSB緩衝器未佔用狀態包含一「輸入緩衝器未佔用(連接器擁有)」狀態,而該SLSB緩衝器主要狀態包含一「輸入緩衝器主要(程式擁有)」狀態。
  9. 如申請專利範圍第7項之系統,其中該主機通訊堆疊更包含一逾時模組,配置成回應一輪詢逾時而終止輪詢,該逾時模組設定該SLSB緩衝器狀態來指明已經發生該輪詢逾時。
  10. 如申請專利範圍第9項之系統,其中該OSA更包括一次要通知模組,配置成產生一額外的I/O中斷通知,該通知配置成警示該主機通訊堆疊該接收的資料可用於處理。
  11. 一種最適化網路連接器並減少中斷的方法,該方法包含:基於輸出資料建構一出站緩衝器清單,該輸出資料包含要傳送到一網路之資料; 加入該輸出資料至一出站緩衝器佇列;將一緩衝器狀態由一未佔用狀態設定成一主要狀態,以指明該輸出資料係預備要傳送;以及發送一通知信號至一網路連接器,該網路連接器配置成處理該出站緩衝器佇列,並回應該通知信號而傳送該輸出資料至該網路,該網路連接器配置成設定該緩衝器狀態成一輪詢狀態,以指明該網路連接器正在輪詢額外的輸出資料,該網路連接器配置成以一預定的時間間隔輪詢額外的輸出資料。
  12. 如申請專利範圍第11項之方法,更包含釋放在該出站緩衝器佇列中的該輸出資料,使得該出站緩衝器佇列可接受額外的輸出資料。
  13. 如申請專利範圍第11項之方法,更包含基於該輪詢狀態偵測該網路連接器正在輪詢,並防止發送一額外的通知信號給該網路連接器,該網路連接器配置成直接地處理該出站緩衝器佇列,並直接地傳送該額外的輸出資料至該網路。
  14. 如申請專利範圍第11項之方法,其中該緩衝器狀態包含一佇列的直接I/O(QDIO)儲存清單狀態區塊(SLSB)。
  15. 如申請專利範圍第11項之方法,其中該出站緩衝器清單包含一佇列的直接I/O(QDIO)儲存緩衝器位址清單(SBAL)。
  16. 如申請專利範圍第11項之方法,其中該網路連接器更配置成回應輪詢額外的資料超過該預定的時間間隔而造成逾時,該網路連接器配置成設定該緩衝器狀態來指明該出站緩衝器佇列為未佔用。
  17. 一種最適化網路連接器並減少中斷的系統,該系統包含:一主機平台,包含:一主機裝置驅動器,包含:一建構模組,配置成基於輸出資料建構一出站佇列的直接I/O(QDIO)儲存緩衝器位址清單(SBAL);一佇列加入模組,配置成加入該輸出資料至一出站QDIO緩衝器佇列;一狀態更新模組,配置成設定一儲存清單狀態區塊(SLSB)緩衝器狀態由一未佔用狀態成為一主要狀態,以指明該輸出資料係預備要傳送;一信號模組,配置成發送一信號連接器-寫入(SIGA-w)信號至一開放性系統連接器(OSA);一網路,配置成於複數裝置之間傳遞資料;一OSA,可操作性地耦合至該主機平台,該OSA與該網路進行通訊,該OSA包含:一接收模組,配置成接收該SIGA-w信號;一傳輸模組,配置成回應該SIGA-w信號而處理該出站QDIO緩衝器佇列,並傳送該輸出資料至該網路; 一輪詢更新模組,配置成設定該SLSB緩衝器狀態成為一輪詢狀態,指明該OSA正在輪詢額外的輸出資料;以及一OSA輪詢模組,配置成以一預定時間間隔輪詢額外的輸出資料。
  18. 如申請專利範圍第17項之系統,其中該主機裝置驅動器更包含一釋放模組,配置成釋放在該出站QDIO緩衝器佇列中的該輸出的資料,使得該出站QDIO緩衝器佇列可接受額外的輸出資料。
  19. 如申請專利範圍第17項之系統,其中主機裝置驅動器更包含一輪詢偵測模組,配置成基於該輪詢狀態偵測該OSA正在輪詢,該主機裝置驅動器防止發送一額外SIGA-w信號給該OSA,該OSA配置成直接地處理該出站QDIO緩衝器佇列,並傳送該額外的輸出資料至該網路。
  20. 如申請專利範圍第17項之系統,其中該OSA更包含一輪詢逾時模組,配置成回應輪詢額外的資料超過該預定的時間間隔而造成逾時,並配置成設定該SLSB緩衝器狀態來指明該出站QDIO緩衝器佇列為未佔用。
TW098140580A 2008-12-02 2009-11-27 最適化網路連接器並減少中斷 TWI484346B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/326,468 US8402190B2 (en) 2008-12-02 2008-12-02 Network adaptor optimization and interrupt reduction

Publications (2)

Publication Number Publication Date
TW201033813A TW201033813A (en) 2010-09-16
TWI484346B true TWI484346B (zh) 2015-05-11

Family

ID=42223817

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098140580A TWI484346B (zh) 2008-12-02 2009-11-27 最適化網路連接器並減少中斷

Country Status (2)

Country Link
US (2) US8402190B2 (zh)
TW (1) TWI484346B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402190B2 (en) * 2008-12-02 2013-03-19 International Business Machines Corporation Network adaptor optimization and interrupt reduction
US20100138567A1 (en) * 2008-12-02 2010-06-03 International Business Machines Corporation Apparatus, system, and method for transparent ethernet link pairing
US8589954B2 (en) * 2010-11-12 2013-11-19 Mediatek Inc. Method and program for selective suspension of USB network device
US8812005B2 (en) * 2012-02-03 2014-08-19 Apple Inc. System and method for scheduling packet transmission on a client device using traffic classes and opportunistic behavior
WO2014047921A1 (en) * 2012-09-29 2014-04-03 Intel Corporation System and method for controlling audio data processing
US10158585B2 (en) 2013-02-21 2018-12-18 Intel Corporation Packet processing with reduced latency
US9558132B2 (en) * 2013-08-14 2017-01-31 Intel Corporation Socket management with reduced latency packet processing
US9747048B2 (en) 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol
US10540317B2 (en) 2015-07-08 2020-01-21 International Business Machines Corporation Efficient means of combining network traffic for 64Bit and 31 bit workloads

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179661A (en) * 1989-10-30 1993-01-12 Hayes Microcomputer Products, Inc. Method and apparatus for serial data flow control
US5875343A (en) * 1995-10-20 1999-02-23 Lsi Logic Corporation Employing request queues and completion queues between main processors and I/O processors wherein a main processor is interrupted when a certain number of completion messages are present in its completion queue
US6112252A (en) * 1992-07-02 2000-08-29 3Com Corporation Programmed I/O ethernet adapter with early interrupt and DMA control for accelerating data transfer
US6321350B1 (en) * 1999-02-22 2001-11-20 International Business Machines Corporation Method and apparatus for error detection using a queued direct Input-Output device
TW591912B (en) * 2002-02-12 2004-06-11 Ibm Method, system, and storage medium for preventing recurrence of a system outage in a computer network
US6754755B1 (en) * 2000-08-10 2004-06-22 Hewlett-Packard Development Company, L.P. Service request system using an activity indicator to reduce processing overhead
TWI268076B (en) * 2002-09-04 2006-12-01 Samsung Electronics Co Ltd Network interface card for reducing the number of interrupts and method of generating interrupts

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3976979A (en) * 1974-01-02 1976-08-24 Honeywell Information Systems, Inc. Coupler for providing data transfer between host and remote data processing units
JPH06266648A (ja) * 1993-03-16 1994-09-22 Fujitsu Ltd データ転送制御方式
AU6769994A (en) * 1993-05-07 1994-12-12 Apple Computer, Inc. Data streaming for non-dma digital computing devices
GB9311935D0 (en) * 1993-06-09 1993-07-28 Madge Networks Ltd Processor
JPH0713898A (ja) * 1993-06-29 1995-01-17 Mitsubishi Electric Corp 半導体集積回路装置
US5638535A (en) * 1995-05-15 1997-06-10 Nvidia Corporation Method and apparatus for providing flow control with lying for input/output operations in a computer system
JP3152595B2 (ja) * 1995-09-29 2001-04-03 三洋電機株式会社 マイクロコンピュータの割り込み処理装置
US5708814A (en) * 1995-11-21 1998-01-13 Microsoft Corporation Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
US5796984A (en) * 1996-01-26 1998-08-18 Dell Usa, L.P. Operating system independent apparatus and method for eliminating peripheral device functions
US6115775A (en) * 1996-09-12 2000-09-05 Digital Equipment Corporation Method and apparatus for performing interrupt frequency mitigation in a network node
US6115776A (en) * 1996-12-05 2000-09-05 3Com Corporation Network and adaptor with time-based and packet number based interrupt combinations
US6314525B1 (en) 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US5907712A (en) * 1997-05-30 1999-05-25 International Business Machines Corporation Method for reducing processor interrupt processing time by transferring predetermined interrupt status to a system memory for eliminating PIO reads from the interrupt handler
EP0903670A1 (en) * 1997-09-19 1999-03-24 Hewlett-Packard Company Improved peripheral device control in data processing systems
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6393493B1 (en) * 1998-04-20 2002-05-21 National Instruments Corporation System and method for optimizing serial USB device reads using virtual FIFO techniques
US6065089A (en) * 1998-06-25 2000-05-16 Lsi Logic Corporation Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency
US6092143A (en) * 1998-10-20 2000-07-18 Advanced Micro Devices, Inc. Mechanism for synchronizing service of interrupts by a plurality of data processors
JP2000148674A (ja) * 1998-11-09 2000-05-30 Sharp Corp シリアルデータ伝送方法
US6256699B1 (en) * 1998-12-15 2001-07-03 Cisco Technology, Inc. Reliable interrupt reception over buffered bus
US6345324B1 (en) * 1999-02-19 2002-02-05 International Business Machines Corporation Apparatus for transferring data using an interface element and a queued direct input-output device
US6324600B1 (en) * 1999-02-19 2001-11-27 International Business Machines Corporation System for controlling movement of data in virtual environment using queued direct input/output device and utilizing finite state machine in main memory with two disjoint sets of states representing host and adapter states
US6339802B1 (en) * 1999-02-19 2002-01-15 International Business Machines Corporation Computer program device and an apparatus for processing of data requests using a queued direct input-output device
US6519645B2 (en) * 1999-02-19 2003-02-11 International Business Machine Corporation Method and apparatus for providing configuration information using a queued direct input-output device
US6341321B1 (en) * 1999-02-22 2002-01-22 International Business Machines Corporation Method and apparatus for providing concurrent patch using a queued direct input-output device
US6338111B1 (en) * 1999-02-22 2002-01-08 International Business Machines Corporation Method and apparatus for reducing I/O interrupts
US6438628B1 (en) * 1999-05-28 2002-08-20 3Com Corporation System and method for data pacing
JP2001167003A (ja) * 1999-12-06 2001-06-22 Nippon Signal Co Ltd:The メモリチェック装置、メモリチェック方法、記憶媒体および情報処理装置
US6629147B1 (en) * 2000-03-31 2003-09-30 Intel Corporation Segmentation and reassembly of data frames
US6826175B1 (en) * 2000-03-31 2004-11-30 Alcatel Signaling link interface for processing signaling information in a telecommunications network
US6865150B1 (en) * 2000-04-06 2005-03-08 Cisco Technology, Inc. System and method for controlling admission of voice communications in a packet network
US7032002B1 (en) * 2000-09-06 2006-04-18 Xanboo, Inc. Service broker for processing data from a data network
US6765922B1 (en) * 2000-09-08 2004-07-20 Hewlett-Packard Development Company, L.P. Speculative transmit for system area network latency reduction
US6983339B1 (en) * 2000-09-29 2006-01-03 Intel Corporation Method and apparatus for processing interrupts of a bus
US6622193B1 (en) * 2000-11-16 2003-09-16 Sun Microsystems, Inc. Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system
US6687769B2 (en) * 2001-03-16 2004-02-03 Texas Instruments Incorporated Serial peripheral interface with high performance buffering scheme
US6967920B2 (en) * 2001-07-23 2005-11-22 Texas Instruments Incorporated Smart interface for payload transfers in networking applications
US8185943B1 (en) * 2001-12-20 2012-05-22 Mcafee, Inc. Network adapter firewall system and method
US7177963B2 (en) * 2002-02-01 2007-02-13 Broadcom Corporation System and method for low-overhead monitoring of transmit queue empty status
US7089457B2 (en) * 2002-04-16 2006-08-08 International Business Machines Corporation Efficient I/O retry over QDIO
US6988156B2 (en) * 2002-04-18 2006-01-17 Sun Microsystems, Inc. System and method for dynamically tuning interrupt coalescing parameters
US8005966B2 (en) * 2002-06-11 2011-08-23 Pandya Ashish A Data processing system using internet protocols
US7327674B2 (en) * 2002-06-11 2008-02-05 Sun Microsystems, Inc. Prefetching techniques for network interfaces
US7313148B2 (en) * 2002-11-18 2007-12-25 Sun Microsystems, Inc. Method and system for TCP large segment offload with ack-based transmit scheduling
US20040158651A1 (en) 2003-02-10 2004-08-12 Fan Kan Frankie System and method for teaming
EP2811679A1 (en) * 2003-03-31 2014-12-10 Apple Inc. A radio telecommunications system and method of operating the same with polling
US7047372B2 (en) * 2003-04-15 2006-05-16 Newisys, Inc. Managing I/O accesses in multiprocessor systems
US7882213B2 (en) * 2003-06-03 2011-02-01 Bmc Software, Inc. Network management system to monitor managed elements
US20050097226A1 (en) 2003-10-31 2005-05-05 Sun Microsystems, Inc. Methods and apparatus for dynamically switching between polling and interrupt to handle network traffic
US20050097414A1 (en) * 2003-11-05 2005-05-05 Larson Lee A. Apparatus and method for performing poll commands using JTAG scans
US7363412B1 (en) * 2004-03-01 2008-04-22 Cisco Technology, Inc. Interrupting a microprocessor after a data transmission is complete
US10142392B2 (en) * 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US20060029097A1 (en) 2004-06-07 2006-02-09 Mcgee Michael S Dynamic allocation and configuration of a computer system's network resources
US7505399B2 (en) 2004-08-13 2009-03-17 Hewlett-Packard Development Company, L.P. Receive load balancing on multiple network adapters
US8933941B2 (en) * 2004-08-23 2015-01-13 Hewlett-Packard Development Company, L.P. Method and apparatus for redirection of video data
US7783784B1 (en) 2004-08-31 2010-08-24 Oracle America, Inc. Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards
US8041376B2 (en) * 2005-07-15 2011-10-18 Research In Motion Limited Methods and apparatus for providing PTT data buffering support indications from mobile devices and PTT data buffering control by wireless networks
US20070050524A1 (en) * 2005-08-26 2007-03-01 Intel Corporation Configurable notification generation
US7693044B2 (en) 2005-12-15 2010-04-06 Nvidia Corporation Single logical network interface for advanced load balancing and fail-over functionality
US7756028B2 (en) * 2006-04-27 2010-07-13 Alcatel Lucent Pulsed backpressure mechanism for reduced FIFO utilization
US7873964B2 (en) * 2006-10-30 2011-01-18 Liquid Computing Corporation Kernel functions for inter-processor communications in high performance multi-processor systems
US20080126751A1 (en) * 2006-11-27 2008-05-29 Shay Mizrachi Scheduler hint method and system to improve network interface controller (nic) receive (rx) processing cache performance
JP2008181276A (ja) * 2007-01-24 2008-08-07 Yaskawa Electric Corp 同期シリアルシステムおよびその割り込み通知方法
US7715428B2 (en) * 2007-01-31 2010-05-11 International Business Machines Corporation Multicore communication processing
JP2008199138A (ja) * 2007-02-09 2008-08-28 Hitachi Industrial Equipment Systems Co Ltd 情報処理装置及び情報処理システム
US8127159B1 (en) * 2007-07-23 2012-02-28 Marvell International Ltd. Power management in a wireless local area network
JP2009181373A (ja) * 2008-01-31 2009-08-13 Hitachi Ltd ネットワーク受信履歴の保存・再生方法及び情報処理装置
JP4854710B2 (ja) * 2008-06-23 2012-01-18 株式会社東芝 仮想計算機システム及びネットワークデバイス共有方法
US8108582B2 (en) * 2008-08-27 2012-01-31 Hewlett-Packard Development Company, L.P. Notifying asynchronous events to a host of a data storage system and apparatus for the same
US8402190B2 (en) * 2008-12-02 2013-03-19 International Business Machines Corporation Network adaptor optimization and interrupt reduction
JP5496548B2 (ja) * 2009-05-29 2014-05-21 ルネサスエレクトロニクス株式会社 半導体集積回路
US20110093863A1 (en) * 2009-10-21 2011-04-21 Jef Louis Verdonck Context switching in a data processing apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179661A (en) * 1989-10-30 1993-01-12 Hayes Microcomputer Products, Inc. Method and apparatus for serial data flow control
US6112252A (en) * 1992-07-02 2000-08-29 3Com Corporation Programmed I/O ethernet adapter with early interrupt and DMA control for accelerating data transfer
US5875343A (en) * 1995-10-20 1999-02-23 Lsi Logic Corporation Employing request queues and completion queues between main processors and I/O processors wherein a main processor is interrupted when a certain number of completion messages are present in its completion queue
US6321350B1 (en) * 1999-02-22 2001-11-20 International Business Machines Corporation Method and apparatus for error detection using a queued direct Input-Output device
US6754755B1 (en) * 2000-08-10 2004-06-22 Hewlett-Packard Development Company, L.P. Service request system using an activity indicator to reduce processing overhead
TW591912B (en) * 2002-02-12 2004-06-11 Ibm Method, system, and storage medium for preventing recurrence of a system outage in a computer network
TWI268076B (en) * 2002-09-04 2006-12-01 Samsung Electronics Co Ltd Network interface card for reducing the number of interrupts and method of generating interrupts

Also Published As

Publication number Publication date
US20130151743A1 (en) 2013-06-13
US20100138579A1 (en) 2010-06-03
US8402190B2 (en) 2013-03-19
TW201033813A (en) 2010-09-16
US8719479B2 (en) 2014-05-06

Similar Documents

Publication Publication Date Title
TWI484346B (zh) 最適化網路連接器並減少中斷
US9336168B2 (en) Enhanced I/O performance in a multi-processor system via interrupt affinity schemes
CN107291547B (zh) 一种任务调度处理方法、装置及系统
US8239868B2 (en) Computer system, servers constituting the same, and job execution control method and program
US7752370B2 (en) Splitting one hardware interrupt to multiple handlers
WO2023284699A1 (zh) 基于Linux系统的协议栈数据传输方法、计算机设备和存储介质
EP3786793B1 (en) Task processing method and device, and computer system
US8533334B2 (en) Message binding processing technique
WO2018059423A1 (zh) 分布式资源调度方法、调度节点及接入节点
US8468288B2 (en) Method for efficient guest operating system (OS) migration over a network
US7124207B1 (en) I2O command and status batching
US20170180216A1 (en) Method for Unified Communication of Server, Baseboard Management Controller, and Server
EP3722938B1 (en) Nof based reading control method, device and system
JP2009265963A (ja) 情報処理システム及びタスクの実行制御方法
US7937499B1 (en) Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
JPH11296316A (ja) 周辺処理装置およびその制御方法
US20020169820A1 (en) Process pool methods and apparatus
US20050097226A1 (en) Methods and apparatus for dynamically switching between polling and interrupt to handle network traffic
US7159010B2 (en) Network abstraction of input/output devices
CN106547566B (zh) 通讯服务进程池管理方法及系统
JP2007249357A (ja) 情報処理装置、分散処理システム及びタスク管理方法
US8869171B2 (en) Low-latency communications
JP2003271349A (ja) 印刷ジョブチケットを用いて印刷ジョブを管理且つ処理するためのシステムおよび方法
JP2004334840A (ja) システムバスの制御方法及び関連装置
JP2001325212A (ja) マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置