專利名稱::用于多核處理器的數(shù)據(jù)分組處理方法用于多核處理器的數(shù)據(jù)分組處理方法介紹已知的多核處理器平臺包括一個或多個中央處理器單元(CPU),這些CPU各自可具有共享存儲器和1/0(輸入和輸出)資源的多個處理核。該多核體系結構使得能夠在不止一個核上同時執(zhí)行多個進程或"線程"。已經(jīng)開發(fā)出這些多核處理器以增加勝過單核處理器的平臺處理容量。在多核對稱多處理處理(SMP)體系結構中,共享系統(tǒng)存儲器以使得任一個處理器核可操作任一任務而不管用于該任務的數(shù)據(jù)在系統(tǒng)存儲器中駐留在哪里。多核系統(tǒng)利用在一個CPU的多個核之間共享的高速緩存存儲器也是已知的。多核處理器平臺可在諸如以太網(wǎng)局域網(wǎng)(LAN)等網(wǎng)絡中用作服務器。服務器體系結構可包括多個處理器,然而,這些處理器僅使用連接到一個處理器核的一個LAN接口或網(wǎng)絡接口卡(NIC)來物理地連接到網(wǎng)絡。該網(wǎng)絡接口在從網(wǎng)絡接收分組時只可中斷一個處理器。接收到的分組然后通過中斷的核中的網(wǎng)絡棧來進行處理直到該分組到達應用程序。由此,對于所有從網(wǎng)絡接收到的數(shù)據(jù)使用連接該網(wǎng)絡的處理器核。在高速TCP/IP應用程序或任何網(wǎng)絡棧應用程序和諸如千兆位和萬兆位以太網(wǎng)網(wǎng)絡等高帶寬網(wǎng)絡的情況下,全服務器處理容量可能由于網(wǎng)絡和服務器之間的數(shù)據(jù)吞吐量受到連接該網(wǎng)絡的處理器核的飽和度的限制而無法實現(xiàn)。當前克服該問題的解決方案要求服務器具備連接到更多處理器的更多網(wǎng)絡接口以便將網(wǎng)絡接口處理負載分布在多個處理器上。該解決方案可提高服務器和網(wǎng)絡之間的吞吐量,但由于其需要附加網(wǎng)絡接口卡而是低效的。該解決方案還引入用于協(xié)調(diào)多個網(wǎng)絡接口的額外開銷。另一建議的針對該問題的解決方案是通過網(wǎng)絡接口將對入站數(shù)據(jù)的網(wǎng)絡棧操作重新分發(fā)給各個核。該解決方案需要LAN或網(wǎng)絡接口和處理器操作系統(tǒng)之間的互操作性。由此,需要修改網(wǎng)絡接口和操作系統(tǒng)以實現(xiàn)這一解決方案,因此該解決方案無法用標準的當前可得到的網(wǎng)絡接口來實現(xiàn)。存在對提高網(wǎng)絡和具有多核處理器體系結構的服務器之間的吞吐量的服務器體系結構的需求。附圖簡述現(xiàn)在將僅作為示例,參考所附附圖描述本發(fā)明的各實施例,附圖中圖1示出了多核處理器體系結構的示例;圖2示出了根據(jù)本發(fā)明的一實施例的、通過多核處理器的網(wǎng)絡桟來處理分組的示例;圖3是示出選擇處理器核并將分組處理移交給所選核的內(nèi)核過程的流程圖4示出了比較性測試示例1中所使用的常規(guī)多核處理器網(wǎng)絡棧體系結構測試模型;圖5示出了根據(jù)本發(fā)明的一實施例的、比較性測試示例1中所使用的多核處理器網(wǎng)絡棧體系結構;以及圖6是示出比較性測試示例1的結果的圖。詳細描述根據(jù)一實施例,提供了一種在多核處理器平臺中處理從網(wǎng)絡接收到數(shù)據(jù)分組的方法,該方法包括以下步驟在指定中央處理器單元(CPU)核中從網(wǎng)絡接口接收中斷以便處理從網(wǎng)絡接收到的數(shù)據(jù)分組;將該數(shù)據(jù)分組與基于處理器負載來選擇的中央處理器單元(CPU)核中所建立的應用程序連接相關聯(lián);以及在與該應用程序連接相關聯(lián)的CPU核上創(chuàng)建中斷線程以便處理所接收到的數(shù)據(jù)分組。根據(jù)一實施例,提供了一種處理由在多核處理器平臺的一個中央處理器單元(CPU)核中執(zhí)行的應用程序發(fā)送到網(wǎng)絡的數(shù)據(jù)分組的方法,該方法包括以下步驟確定是使用執(zhí)行應用程序的CPU核還是使用替換中央處理器單元(CPU)核來執(zhí)行對數(shù)據(jù)分組的傳出處理;并且在確定使用替換CPU核的情況下-基于處理器負載來選擇用于傳出分組處理的替換CPU核;在所選替換CPU核中建立應用程序連接;將數(shù)據(jù)分組與該應用程序連接相關聯(lián);以及在所選替換CPU核上創(chuàng)建中斷線程以便處理到網(wǎng)絡接口來通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)分組。根據(jù)一實施例,提供了一種網(wǎng)絡服務器系統(tǒng),該系統(tǒng)包括至少一個具有多個核的中央處理器單元(CPU)以及網(wǎng)絡接口,該網(wǎng)絡接口用于連接到網(wǎng)絡,并且適用于在指定CPU核中創(chuàng)建中斷以便處理從該網(wǎng)絡接收到的每一個數(shù)據(jù)分組。從網(wǎng)絡接收到的每一個數(shù)據(jù)分組都與基于處理器負載來選擇的所選CPU核中所建立的應用程序連接相關聯(lián)。在與該應用程序連接相關聯(lián)的CPU核上創(chuàng)建用于處理數(shù)據(jù)分組的中斷線程。根據(jù)一實施例,提供了一種網(wǎng)絡服務器系統(tǒng),該系統(tǒng)包括至少一個具有多個核的中央處理器單元(CPU)以及網(wǎng)絡接口,該網(wǎng)絡接口用于連接到網(wǎng)絡,并且適用于在指定CPU核中創(chuàng)建中斷以便從該網(wǎng)絡接收到的每一個數(shù)據(jù)分組,并且還可被修改以使得每一個CPU核都可訪問網(wǎng)絡接口以便將數(shù)據(jù)分組傳送到網(wǎng)絡。發(fā)送到網(wǎng)絡的每一個數(shù)據(jù)分組都與其中執(zhí)行應用程序的CPU核或基于處理器負載來選擇的替換CPU核中所建立的應用程序連接相關聯(lián)。在應用程序連接在替換CPU核中建立的情況下,在與該應用程序連接相關聯(lián)的CPU核上創(chuàng)建用于處理數(shù)據(jù)分組的中斷線程。本發(fā)明的各實施例提供了一種用于在多核處理器平臺100中處理發(fā)往網(wǎng)絡110和從網(wǎng)絡IIO接收到的分組以減少由于網(wǎng)絡接口對于所有接收到的分組中斷一個CPU核而引起的對發(fā)往和來自網(wǎng)絡110的數(shù)據(jù)的吞吐量的限制的方法和系統(tǒng)。將接收到的分組與所選中央處理器單元(CPU)核中所建立的應用程序連接相關聯(lián),其中該CPU核基于處理器負載來選擇。然后在與該應用程序連接相關聯(lián)的CPU核上創(chuàng)建用于所接收到的分組的中斷線程。這使得能夠?qū)⒎纸M處理移交給除了網(wǎng)絡接口中斷的CPU核之外的核,其中存在或建立應用程序連接以減少用于分組處理的連接網(wǎng)絡接口的核中所使用的處理容量。用于實現(xiàn)該方法的網(wǎng)絡服務器系統(tǒng)的示例在圖1中示出。系統(tǒng)100包括至少一個中央處理器單元(CPU)120、122,這些CPU各自具有多個核130、131、132、133,可任選地,一個處理器120中的核130、131具有共享高速緩存145并且每一個核130、131都具有其自己相應的高速緩存140、141。對于對稱多處理(SMP),共享系統(tǒng)存儲器160以使得任何處理器都可訪問系統(tǒng)存儲器160中的任何數(shù)據(jù)。提供用于在服務器100和網(wǎng)絡110之間形成連接的網(wǎng)絡接口150。網(wǎng)絡接口150連接到預定CPU核130以使得將在該預定CPU核130中創(chuàng)建中斷以便處理從網(wǎng)絡接收到的每一個數(shù)據(jù)分組。預定CPU核130基于處理器負載來將從網(wǎng)絡接收到的每一個數(shù)據(jù)分組分發(fā)給多個處理器核130、131、132、133中的所選處理器核,在那里處理分組直到該分組到達目的地應用程序170、171、172。高速網(wǎng)絡和接口的進步已導致以下情況網(wǎng)絡接口驅(qū)動程序能夠比具有通過網(wǎng)絡棧來處理分組并將數(shù)據(jù)傳遞給目的地應用程序170、171、172的能力的處理器更快地將分組傳遞給處理器。在其中網(wǎng)絡接口150被編程為在接收到分組后只中斷一個處理器核130并且對該分組的所有進一步的處理在同一個核130上發(fā)生直到該數(shù)據(jù)到達應用程序的SMP網(wǎng)絡體系結構中這是個問題。在這種情況下,從網(wǎng)絡接口150接收中斷的CPU核130成為瓶頸,從而限制了到應用程序的數(shù)據(jù)吞吐量。本發(fā)明的實施例通過在網(wǎng)絡棧接收到分組時解除被網(wǎng)絡接口150中斷的CPU核130進行分組處理的負擔并且并行化網(wǎng)絡棧操作來緩解該問題。由此,對接收到的分組的處理可被分發(fā)給其他CPU核131、132、133以使得網(wǎng)絡接口核130能夠不再從網(wǎng)絡接口150接收更多數(shù)據(jù)。用于分發(fā)每一個接收到的分組230、231、232的過程在圖2中示出。最初在連接網(wǎng)絡接口150的CPU核130的網(wǎng)絡桟210中處理從網(wǎng)絡接收到的每一個分組然后將所接收到的分組與所選CPU核130、131、B2中的對于目的地應用程序220、221、222的應用程序連接240、241、242相關聯(lián)。在與應用程序連接相關聯(lián)的CPU核上創(chuàng)建中斷以便通過各個核130、131、132的網(wǎng)絡棧210、211、212來處理所接收到的分組。當網(wǎng)絡接口150從網(wǎng)絡IIO接收到每一個分組時,生成中斷以開始通過連接網(wǎng)絡接口的CPU核130的網(wǎng)絡棧210來處理所接收到的分組。將該分組與所選CPU核中的應用程序連接相關聯(lián)并且在接收到該分組后盡可能快地在網(wǎng)絡棧的底部將對該分組的處理移交給所選CPU核。將分組與所選CPU核中的應用程序相關聯(lián)并移交分組處理的過程在圖3的流程圖中示出。例如,執(zhí)行圖3的過程以便進行數(shù)據(jù)傳輸、數(shù)據(jù)接收、新傳出連接請求或新傳入連接請求,然而,處理取決于正在處理傳入還是傳出請求而在網(wǎng)絡棧中的不同層處發(fā)生。對于傳入請求,該過程在網(wǎng)絡棧的底部發(fā)生,例如在數(shù)據(jù)鏈路層或緊接的上一層中,而對于傳出請求,該過程在網(wǎng)絡棧的頂部發(fā)生,例如在會話層中。在網(wǎng)絡棧的相關層中接收傳入或傳出請求310,然后確定對于該請求是否需要新的應用程序連接320。在連接已經(jīng)存在并且對于該連接的CPU核是已知的情況下330,則中斷該已知CPU350并將處理移交給該CPU核,以使得分組與該連接相關聯(lián)并且所有進一步的處理繼續(xù)使用該中斷的CPU核中的連接360。應用程序連接可能存在并且可在不止一個核中處理并且在這種情況下,用于處理數(shù)據(jù)分組的優(yōu)選CPU核可能不是已知的330。如果優(yōu)選CPU核并非已知,則基于處理器負載和其他優(yōu)選準則來從已建立應用程序連接的CPU核中選擇CPU核340。例如,對于發(fā)送請求,優(yōu)選在正用于執(zhí)行應用程序的CPU中建立應用程序連接。如果優(yōu)選CPU核并非已知,則可只基于處理器負載來選擇CPU核340。然后創(chuàng)建將數(shù)據(jù)處理與所選核中的連接相關聯(lián)的中斷350并且處理在所選核中繼續(xù)360。在尚未建立連接的情況下320,例如對于對新連接的傳出請求,基于處理器負載來選擇對于該連接的CPU核340。然后創(chuàng)建中斷350以便在所選核中建立連接并將數(shù)據(jù)處理與該連接相關聯(lián),然后處理在所選核中繼續(xù)360。一旦已中斷所選核并根據(jù)所建立的連接來將處理移交給該核360,于是對于原始核就完成對傳入或傳出請求的處理370,這使得該原始核不再繼續(xù)處理下一操作。在一優(yōu)選實施例中,為對連接的每一個傳出或傳入請求創(chuàng)建單獨的中斷線程。在該實施例中,按照連接技術來選定處理器核并且一旦接收到的分組與連接相關聯(lián),在所選CPU核上為該傳入或傳出請求創(chuàng)建的軟件中斷線程就完成了所有進一步的工作。該中斷線程將對所接收到或所傳送的數(shù)據(jù)進行所有進一步的處理直到該數(shù)據(jù)到達應用程序或被傳送到網(wǎng)絡。盡可能早地利用該中斷線程以便在傳入請求期間釋放連接網(wǎng)絡接口的CPU核。在接收到的分組的情況下,對用于連接的處理器核的選擇在連接建立期間在網(wǎng)絡棧的底部發(fā)生,例如在數(shù)據(jù)鏈路層或緊接的上一層中。該核基于負載來選擇,然而,可優(yōu)先選擇其上運行對于分組的目的地應用程序的核。這可通過將例如用于數(shù)據(jù)傳輸?shù)膶淼闹袛嗪途W(wǎng)絡棧處理移交減到最少來提供優(yōu)點,并提高高速緩存利用率或?qū)⒏咚倬彺嫖粗袦p到最少。此外,在一優(yōu)選實施例中,應用程序的親和性(affinity)被設為與所選核在一起以使得應用程序不在另一個核上重新調(diào)度。上述方法的另一優(yōu)點是將鎖定以及等待鎖的相關聯(lián)的浪費的CPU周期減到最少。在數(shù)據(jù)在常規(guī)服務器體系結構中由應用程序來通過網(wǎng)絡傳送的情況下,網(wǎng)絡棧必須獲得自旋鎖(spinlock)以同步對數(shù)據(jù)結構的訪問并且避免對傳入和傳出分組的處理之間的爭用。這可導致浪費的CPU周期自旋同時等待獲得鎖。本發(fā)明的各實施例通過按連接來選擇處理器核的方法來減輕對網(wǎng)絡棧自旋鎖的需求及相關聯(lián)的開銷。對CPU核的選擇以及對用于數(shù)據(jù)傳輸?shù)倪B接的建立在網(wǎng)絡棧的頂部執(zhí)行。如圖2所示,一旦標識了用于連接的處理器核,對于該連接的對出站和入站數(shù)據(jù)的分組處理就在該核上以相同的中斷優(yōu)先級(IPL)發(fā)生。這通過處理器核的網(wǎng)絡棧提供了對每一個連接的自然同步。由此解除網(wǎng)絡棧鎖定的負擔,這避免了由于CPU自旋而浪費CPU周期。核選擇過程和算法中變化可取決于服務器體系結構來作出。例如,在超線程環(huán)境中,可建立多個聯(lián)合線程(co-thread)以便進行并行處理,但每一個CPU核都如每一個聯(lián)合線程在CPU核中所仿真的單獨的虛擬CPU中執(zhí)行的樣子出現(xiàn)。在該示例中,可實現(xiàn)其中由于聯(lián)合線程而引起的CPU爭用的概率通過盡可能地保持聯(lián)合線程CPU核空閑來最小化的實施例。在該實施例中,在連接建立期間,優(yōu)先選擇除了聯(lián)合線程CPU核之外的核?;蛘撸谶m用于具有在伙伴核之間共享的高速緩存的體系結構的實施例中,可選擇伙伴核以利用共享高速緩存的益處。例如,在共享高速緩存的情況下,于是通過如上所述地將接收到的分組處理移交給伙伴核可將高速緩存更新減到最少。對處理器核的選擇可使用與操作系統(tǒng)(OS)調(diào)度器集成的算法來實現(xiàn)以基于所有CPU核上的軟件中斷負載來選擇處理器核。由于網(wǎng)絡連接數(shù)增加,因此期望將棧處理均勻地分布在所有可用的處理器核上。操作系統(tǒng)調(diào)度進程但不調(diào)度軟件中斷。在一實施例中,使用軟件中斷負載檢測算法,通過標識具有最少軟件中斷負載的CPU核來均勻地分布負載,該算法與OS調(diào)度器耦合并由網(wǎng)絡桟用來選擇要在其中建立連接的CPU核。所建立的連接在一個CPU核上維護或者在中斷負載改變時遷移到不同的CPU。由此,將全部負載分布在多個核上以使得能夠處理更多的數(shù)據(jù)。對選擇用于連接的特定核的判定取決于負載最輕的CPU核,該CPU核也可被標識為在執(zhí)行網(wǎng)絡棧的軟件中斷中或在其上花費的時間量最少的CPU。可用于找出對于每一個連接的最優(yōu)CPU核的數(shù)學模型的示例在下文中描述?;ㄙM在其中網(wǎng)絡棧對于樣本《執(zhí)行的軟件中斷優(yōu)先級(IPL)處和在其上的時間被表示為A。A3"表示CPU核在n和n-1之間的時間間隔期間在軟件IPL處和在其上花費的總時間。A3=3—5m"w1L丄J一段時間內(nèi)的A&的平均值被表示為丄g卩,這是CPU核在一段時間內(nèi)花費在所需軟件IPL中及其上的平均時間。一戸,匈f2下一內(nèi)核作業(yè)將在具有最低AavgcpW;t的cp^上觸發(fā)。這意味著為建立應用程序連接,下一內(nèi)核作業(yè)在已在執(zhí)行網(wǎng)絡棧的軟件中斷上及其上花費最少時間量的CPU核上觸發(fā)。每一個cpu核的平均時間與前一值的偏差被表示為n^^,其中[;kv&,,《-^%^qwJA2<r鴨31這表示與前一計算的偏差。為了最小化開銷,一實施例將偏差用作對于決定是否在下一采樣時間段期間重新計算CPU平均值的度量。如果義的前一偏差小于閾值r,則對于兩倍前一時間間隔不進行對該CPU的平均值計算,舉r在iJ,Jf—z^p縱LJ其中3,是對CPUx的采樣頻率。此外,處理器總數(shù)可被分成相等數(shù)量的分區(qū)并且對于每一個樣本,可使用該集合中的一個分區(qū)來進行平均值計算。A"vg"c;n^在表示每一個CPU的平均中斷負載值的經(jīng)排序的數(shù)組中維護并且可由網(wǎng)絡棧用來確定對于特定連接的最優(yōu)CPU。示例1:該示例使用概念測試試驗的結果,該測試將使用如圖5所示的SMP體系結構來被實現(xiàn)為測試模型的本發(fā)明的一實施例的性能與使用如圖4所示的包括四個CPU核430、431、432、433的常規(guī)多核服務器體系結構來實現(xiàn)的測試模型進行比較。在圖4的常規(guī)SMP服務器體系結構中,所有接收到的分組460-463都通過連接LAN卡450的核431的網(wǎng)絡棧410來處理,而所發(fā)送的分組(未示出)通過需要自旋鎖定的、其上執(zhí)行應用程序420、421、422、423的核430、431、432、433的各自網(wǎng)絡棧來處理。在圖4的服務器中,接收到的分組460、461、462、463通過連接LAN的CPU核431的網(wǎng)絡棧410來順序地處理440、441、442、443直到這些數(shù)據(jù)到達其各自的目的地應用程序420、421、422、423并且這些數(shù)據(jù)由調(diào)度應用程序的核上的應用程序使用。在圖5的概念分布式棧體系結構的試驗中,將接收到的分組560-563與各自的連接540、541、542、543相關聯(lián)并在必要時將處理從連接網(wǎng)絡接口550的核531中的網(wǎng)絡棧511移交至各自的網(wǎng)絡棧510、511、512、513以便進行處理直到到達各自的目的地應用程序520、521、522、523。所發(fā)送的分組與應用程序連接540、541、542、543相關聯(lián)并通過各自的CPU核530、531、532、533的相應的網(wǎng)絡棧510、511、512、513來處理并且經(jīng)由網(wǎng)絡接口550來發(fā)送。表1提供了相比于圖4的常規(guī)棧的圖2的分布式網(wǎng)絡棧的試驗結果。<table>tableseeoriginaldocumentpage14</column></row><table>表l:軟件中斷在所有CPU上的有效分布、自旋等待和CPU利用率如相關領域的技術人員可以理解的,圖5的分布式棧體系結構通過在每一個CPU核530-533中放置連接來實現(xiàn)傳輸層中的并發(fā)性。通過將諸中斷分配到所有CPU核530-531,連接網(wǎng)絡接口的CPU核531已解除分組處理的負擔,如表1的結果所展示的。結果示出CPU自旋等待狀態(tài)減少了10%。對于分布式棧體系結構所實現(xiàn)的吞吐量至少可與常規(guī)網(wǎng)絡棧體系結構相比并且如圖6所示,分布式棧體系結構610隨著連接數(shù)和數(shù)據(jù)量的增加開始比常規(guī)體系結構620表現(xiàn)得更好。分布式棧體系結構的CPU利用率由于在與每一個連接相關聯(lián)的CPU中創(chuàng)建中斷線程時所涉及的開銷而或多或少地高于常規(guī)體系結構的CPU利用率。一旦在所有層中實現(xiàn)并發(fā)性,分布式棧體系結構測試模型就預示更多的潛力。權利要求1.一種在多核處理器平臺中處理從網(wǎng)絡接收到的數(shù)據(jù)分組的方法,所述方法包括以下步驟在指定中央處理器單元(CPU)核中從網(wǎng)絡接口接收中斷以便處理從所述網(wǎng)絡接收到的數(shù)據(jù)分組;將所述數(shù)據(jù)分組與基于處理器負載來選擇的中央處理器單元(CPU)核中所建立的應用程序連接相關聯(lián);以及在與所述應用程序連接相關聯(lián)的CPU核上創(chuàng)建中斷線程以便于處理所接收到的數(shù)據(jù)分組。2.如權利要求l所述的方法,其特征在于,還包括以下步驟選擇要在其中建立所述應用程序連接的CPU核;以及在所選CPU核中建立所述應用程序連接。3.如權利要求2所述的方法,其特征在于,所述CPU核基于每一個CPU核的處理器中斷負載來選擇。4.如權利要求3所述的方法,其特征在于,所述CPU核通過優(yōu)先選擇與執(zhí)行與所接收到的分組相關的操作的CPU核共享高速緩沖存儲器的CPU核來選擇。5.如權利要求3所述的方法,其特征在于,所述多核處理器適用于啟用超線程,其中每一個CPU核仿真兩個虛擬CPU以使得能夠在該CPU核的每一個虛擬CPU中執(zhí)行聯(lián)合線程,并且其中用于建立所述應用程序連接的虛擬CPU在通過優(yōu)先選擇非聯(lián)合線程CPU核來選擇的CPU核中選擇。6.如權利要求3所述的方法,其特征在于,所述處理器中斷負載由操作系統(tǒng)調(diào)度功能來監(jiān)控。7.如權利要求2所述的方法,其特征在于,還包括將所述應用程序的親和性與所選CPU核相關聯(lián)的步驟。8.如權利要求2所述的方法,其特征在于,所述選擇CPU核以及建立連接的步驟在網(wǎng)絡棧的數(shù)據(jù)鏈路層執(zhí)行。9.一種處理由在多核處理器平臺的一個中央處理器單元(CPU)核中執(zhí)行的應用程序發(fā)送到網(wǎng)絡的數(shù)據(jù)分組的方法,所述方法包括以下步驟確定是使用執(zhí)行所述應用程序的cpu核還是使用替換中央處理器單元(cpu)核來執(zhí)行對傳出數(shù)據(jù)分組的處理;并且在確定使用替換cpu核的情況下基于處理器負載來選擇用于傳出分組處理的替換cpu核;在所選替換cpu核中建立應用程序連接;將所述數(shù)據(jù)分組與所述應用程序連接相關聯(lián);以及在所選替換cpu核上創(chuàng)建中斷線程以便于處理到所述網(wǎng)絡接口來通過所述網(wǎng)絡傳輸?shù)臄?shù)據(jù)分組。10.權利要求9所述的方法,其特征在于,所述cpu核基于每一個cpu核的處理器中斷負載來選擇。11.如權利要求10所述的方法,其特征在于,所述cpu核通過優(yōu)先選擇與執(zhí)行與所接收到的分組相關的操作的cpu核共享高速緩沖存儲器的cpu核來選擇。12.如權利要求10所述的方法,其特征在于,所述多核處理器適用于啟用超線程,其中每一個cpu核仿真兩個虛擬cpu以使得能夠在該cpu核的每一個虛擬cpu中執(zhí)行聯(lián)合線程,并且其中用于建立所述應用程序連接的虛擬cpu在通過優(yōu)先選擇非聯(lián)合線程cpu核來選擇的cpu核中選擇。13.如權利要求10所述的方法,其特征在于,所述處理器中斷負載由操作系統(tǒng)調(diào)度功能來監(jiān)控。14.如權利要求9所述的方法,其特征在于,所述選擇替換cpu核以及建立應用程序連接的步驟在網(wǎng)絡棧的會話層執(zhí)行。15.—種網(wǎng)絡服務器系統(tǒng),包括至少一個具有多個核的中央處理器單元(cpu);以及網(wǎng)絡接口,其用于連接到網(wǎng)絡,并適用于在指定cpu核中創(chuàng)建中斷以便處理從所述網(wǎng)絡接收到的每一個數(shù)據(jù)分組,其中從所述網(wǎng)絡接收到的每一個數(shù)據(jù)分組都與所選cpu核中所建立的應用程序連接相關聯(lián);所述cpu核基于處理器負載來選擇;并且在與所述應用程序連接相關聯(lián)的CPU核上創(chuàng)建中斷線程以便于處理所述數(shù)據(jù)分組。16.如權利要求15所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述CPU核基于每一個CPU核的處理器中斷負載來選擇。17.如權利要求16所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述CPU核通過優(yōu)先選擇與執(zhí)行與所接收到的分組相關的操作的CPU核共享高速緩沖存儲器的CPU核來選擇。18.權利要求16所述的網(wǎng)絡服務器系統(tǒng),其特征在于,每一個CPU核的處理器中斷負載由操作系統(tǒng)調(diào)度器功能來監(jiān)控。19.如權利要求16所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述多核處理器適用于啟用超線程,其中每一個CPU核仿真兩個虛擬CPU以使得能夠在該CPU核的每一個虛擬CPU中執(zhí)行聯(lián)合線程,并且其中用于建立所述應用程序連接的虛擬CPU在通過優(yōu)先選擇非聯(lián)合線程CPU核來選擇的CPU核中選擇。20.如權利要求15所述的網(wǎng)絡服務器系統(tǒng),其特征在于,對于從所述網(wǎng)絡接收到的數(shù)據(jù)分組,所述處理器適用于在網(wǎng)絡棧的數(shù)據(jù)鏈路層選擇CPU核并建立所述應用程序連接。21.—種網(wǎng)絡服務器系統(tǒng),包括至少一個具有多個核的中央處理器單元(CPU);以及網(wǎng)絡接口,其用于形成到網(wǎng)絡的連接,并適用于在指定CPU核中創(chuàng)建中斷以便處理從所述網(wǎng)絡接收到的每一個數(shù)據(jù)分組,并且還被修改以使得每一個CPU核都可訪問用于將數(shù)據(jù)分組傳送到所述網(wǎng)絡的網(wǎng)絡接口,其中被發(fā)送到所述網(wǎng)絡的每一個數(shù)據(jù)分組都與其中執(zhí)行所述應用程序的CPU核或基于處理器負載來選擇的替換CPU核中所建立的應用程序連接相關聯(lián);并且在所述應用程序連接在替換CPU核中建立的情況下,在與所述應用程序連接相關聯(lián)的CPU核上創(chuàng)建中斷線程以便處理所述數(shù)據(jù)分組。22.如權利要求21所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述CPU核基于每一個CPU核的處理器中斷負載來選擇。23.如權利要求22所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述CPU核通過優(yōu)先選擇與執(zhí)行與所接收到的分組相關的操作的CPU核共享高速緩沖存儲器的CPU核來選擇。24.如權利要求22所述的網(wǎng)絡服務器系統(tǒng),其特征在于,每一個CPU核的處理器中斷負載由操作系統(tǒng)調(diào)度器功能來監(jiān)控。25.如權利要求22所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述多核處理器適用于啟用超線程,其中每一個CPU核仿真兩個虛擬CPU以使得能夠在該CPU核的每一個虛擬CPU中執(zhí)行聯(lián)合線程,并且其中用于建立所述應用程序連接的虛擬CPU在通過優(yōu)先選擇非聯(lián)合線程CPU核選擇的CPU核中選擇。26.如權利要求21所述的網(wǎng)絡服務器系統(tǒng),其特征在于,對于被發(fā)送到所述網(wǎng)絡的數(shù)據(jù)分組,所述處理器適用于在網(wǎng)絡棧的會話層選擇CPU核并建立所述應用程序連接。全文摘要一種用于在網(wǎng)絡服務器系統(tǒng)中處理數(shù)據(jù)分組的方法,該系統(tǒng)包括至少一個具有多個核的中央處理器單元(CPU);以及網(wǎng)絡接口,該網(wǎng)絡接口用于在網(wǎng)絡和指定CPU核之間形成到該網(wǎng)絡的連接,以使得對于從該網(wǎng)絡接收到的所有數(shù)據(jù)分組,在該指定CPU核中創(chuàng)建中斷以便于對接收到的數(shù)據(jù)分組的處理。從該網(wǎng)絡接收到的每一個數(shù)據(jù)分組都與基于處理器負載來選擇的CPU核中所建立的應用程序連接相關聯(lián),并且在與該應用程序連接相關聯(lián)的CPU核上創(chuàng)建用于處理該數(shù)據(jù)分組的中斷線程。被發(fā)送到網(wǎng)絡的每一個數(shù)據(jù)分組都與其中執(zhí)行應用程序的CPU核或基于處理器負載來選擇的替換CPU核中所建立的應用程序連接相關聯(lián)。在應用程序連接在替換CPU核中建立的情況下,在與該連接相關聯(lián)的CPU核上創(chuàng)建用于處理該數(shù)據(jù)分組的中斷線程。文檔編號G06F13/24GK101689158SQ200880016822公開日2010年3月31日申請日期2008年7月7日優(yōu)先權日2007年7月9日發(fā)明者A·Y·謝諾伊,N·馬哈德萬,S·拉克什米納拉亞申請人:惠普發(fā)展公司,有限責任合伙企業(yè)