国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【高性能網(wǎng)絡(luò)協(xié)議?!縪penonload 篇

這篇具有很好參考價(jià)值的文章主要介紹了【高性能網(wǎng)絡(luò)協(xié)議?!縪penonload 篇。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

????????Onload 是 Solarflare 公司開發(fā)的加速的網(wǎng)絡(luò)中間件。它在用戶空間實(shí)現(xiàn)了 TCP/IP 網(wǎng)絡(luò)協(xié)議棧,能在用戶空間直接訪問(安全的)網(wǎng)絡(luò)適配器硬件訪問權(quán)限硬件。網(wǎng)絡(luò)數(shù)據(jù)可以直接在網(wǎng)絡(luò)和應(yīng)用之間收發(fā),而不必通過操作系統(tǒng),這種技術(shù)稱為“內(nèi)核旁路”。

????????內(nèi)核旁路(kernel bypass)可避免系統(tǒng)調(diào)用、上下文切換以及中斷打斷,從而提高應(yīng)用程序代碼執(zhí)行效率。這也直接減少了主機(jī)處理開銷,通常能夠節(jié)省一半左右,為應(yīng)用程序處理留出更多的CPU時(shí)間。這對于網(wǎng)絡(luò)密集型應(yīng)用程序效果最為明顯,例如:

市場行情和交易應(yīng)用程序

  • 計(jì)算流體動(dòng)力學(xué)(CFD)
  • HPC(高性能計(jì)算)
  • HPMPI(高性能消息傳遞接口),Onload兼容使用MPICH1和2、HPMPI、OpenMPI和SCALI
  • 其他并行計(jì)算的物理模型
  • 高帶寬視頻流
  • Web 緩存、負(fù)載平衡和 Memcached 應(yīng)用程序
  • 內(nèi)容加速網(wǎng)絡(luò)(CDN)和 HTTP 服務(wù)器
  • 其他系統(tǒng)熱點(diǎn),如分布式鎖管理器或強(qiáng)制序列化點(diǎn)

????????Onload 庫在運(yùn)行時(shí)使用標(biāo)準(zhǔn) BSD 套接字 API,這意味著不需要對應(yīng)用程序任何修改即可進(jìn)行加速。Onload 是第一個(gè)也是唯一一個(gè)提供完整內(nèi)核旁路 的POSIX套接字的產(chǎn)品。

和傳統(tǒng)網(wǎng)絡(luò)對比

????????當(dāng)使用傳統(tǒng)網(wǎng)絡(luò)時(shí),應(yīng)用程序調(diào)用操作系統(tǒng)內(nèi)核向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)和從網(wǎng)絡(luò)接收數(shù)據(jù)。從應(yīng)用程序到內(nèi)核的切換代價(jià)高,并且可能成為重要的性能瓶頸。當(dāng)使用 Onload 加速的應(yīng)用程序需要發(fā)送或接收數(shù)據(jù)時(shí),它不需要訪問操作系統(tǒng),而是可以直接訪問網(wǎng)絡(luò)適配器上的分區(qū)。

【高性能網(wǎng)絡(luò)協(xié)議?!縪penonload 篇,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)加速,openonload,onload,solarflare

????????傳統(tǒng)模型的一個(gè)重要特征是,應(yīng)用程序不能直接訪問網(wǎng)絡(luò)硬件,因此不能損害系統(tǒng)的完整性。Onload 能夠通過在硬件級別將 NIC 劃分為多個(gè)受保護(hù)的“虛擬NIC”(VNIC)來保持系統(tǒng)完整性。應(yīng)用程序可以被授予對 VNIC 的直接訪問權(quán)限,而無需訪問系統(tǒng)的其余部分(包括不屬于該應(yīng)用程序的其他 VNIC 或內(nèi)存)。因此,在?Solarflare NIC 上使用 Onload 可以在不影響安全性或系統(tǒng)完整性的情況下實(shí)現(xiàn)最佳性能。?

????????總之,Onload 可以顯著降低網(wǎng)絡(luò)處理開銷。

onload 如何提升性能

????????Onload 可以通過降低 CPU 開銷,提升延遲、帶寬和程序擴(kuò)展性性能,顯著降低與網(wǎng)絡(luò)相關(guān)的開銷。

????????開銷

????????從用戶空間應(yīng)用程序轉(zhuǎn)換到內(nèi)核和從內(nèi)核轉(zhuǎn)換到內(nèi)核是一項(xiàng)相對昂貴的操作,這通常需要執(zhí)行數(shù)百或數(shù)千條指令。對于傳統(tǒng)的網(wǎng)絡(luò),每次應(yīng)用程序發(fā)送和接收數(shù)據(jù)時(shí)都需要這樣的轉(zhuǎn)換。使用Onload,TCP/IP 處理可以完全在用戶進(jìn)程內(nèi)完成,從而消除了昂貴的應(yīng)用程序/內(nèi)核轉(zhuǎn)換,即系統(tǒng)調(diào)用。此外,Onload TCP/IP 協(xié)議棧經(jīng)過高度優(yōu)化,進(jìn)一步節(jié)省了開銷。

????????Onload 節(jié)省的開銷意味著應(yīng)用程序可以使用更多的 CPU 計(jì)算能力來完成有用的工作。

? ? ? ? 延遲

????????按照慣例,當(dāng)服務(wù)器應(yīng)用程序準(zhǔn)備好處理事務(wù)時(shí),它會(huì)調(diào)用操作系統(tǒng)內(nèi)核來執(zhí)行“接收”操作,在該操作中,內(nèi)核會(huì)將調(diào)用線程“休眠”,直到來自網(wǎng)絡(luò)的請求到達(dá)。當(dāng)這樣的請求到達(dá)時(shí),網(wǎng)絡(luò)硬件“中斷”內(nèi)核,內(nèi)核接收請求并“喚醒”應(yīng)用程序。

????????所有這些開銷都需要占用CPU周期以及增加緩存和頁表緩沖(TLB)的空間。使用 Onload,應(yīng)用程序可以保持在用戶級別,等待請求到達(dá)網(wǎng)絡(luò)適配器并直接處理它們。消除內(nèi)核到用戶的轉(zhuǎn)換、中斷以及隨后的用戶到內(nèi)核的轉(zhuǎn)換可以顯著降低延遲。總之,降低開銷意味著降低延遲。

? ? ? ? 帶寬

????????由于 Onload 的開銷較小,它每秒可以處理更多字節(jié)的網(wǎng)絡(luò)流量。除了為萬兆網(wǎng)絡(luò)設(shè)計(jì)的經(jīng)過特殊優(yōu)化的緩沖和算法外,應(yīng)用程序使用 onload 可以顯著提升網(wǎng)絡(luò)帶寬。

? ? ? ? 可伸縮性

????????現(xiàn)代多核心系統(tǒng)能夠同時(shí)運(yùn)行許多應(yīng)用程序。然而,當(dāng)多個(gè)內(nèi)核在單個(gè)資源上競爭時(shí),這些優(yōu)勢可能會(huì)很快喪失,例如內(nèi)核網(wǎng)絡(luò)堆棧或設(shè)備驅(qū)動(dòng)程序中的鎖。這些問題在具有跨多個(gè) CPU 內(nèi)核的多個(gè)緩存和非統(tǒng)一內(nèi)存體系結(jié)構(gòu)的現(xiàn)代系統(tǒng)上更加復(fù)雜。

????????Onload 的使用使得網(wǎng)絡(luò)適配器被分成不同的分區(qū),并且每個(gè)分區(qū)都由 TCP/IP 協(xié)議棧的獨(dú)立副本訪問,從而實(shí)現(xiàn)增加 CPU 數(shù)量確實(shí)可以使吞吐量有相應(yīng)的增加。

【高性能網(wǎng)絡(luò)協(xié)議?!縪penonload 篇,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)加速,openonload,onload,solarflare

onload 透明性?

????????Onload 在不需要重寫或重新編譯用戶應(yīng)用程序的情況下顯著提高了性能,同時(shí)保留了與標(biāo)準(zhǔn)TCP 和 UDP 協(xié)議的完全互操作性。

????????在常規(guī)內(nèi)核 TCP/IP 體系結(jié)構(gòu)中,應(yīng)用程序動(dòng)態(tài)鏈接到 libc庫。該操作系統(tǒng)庫通過一組“包裝器”函數(shù)為標(biāo)準(zhǔn)BSD套接字API提供支持,這些函數(shù)的實(shí)際處理發(fā)生在內(nèi)核級別。Onload 也支持標(biāo)準(zhǔn)的 BSD 套接字 API。然而,與內(nèi)核 TCP/IP 相比,Onload 將協(xié)議處理從內(nèi)核空間轉(zhuǎn)移到用戶級Onload 庫本身。

????????當(dāng)網(wǎng)絡(luò)應(yīng)用程序調(diào)用標(biāo)準(zhǔn)的 socket API 函數(shù)調(diào)用時(shí),例如 socket()、read()和 write()等,這些調(diào)用會(huì)被 Linux 上使用 LD_PRELOAD 機(jī)制的 Onload 庫截獲。在每次函數(shù)調(diào)用中,Onload 都會(huì)檢查文件描述符,使用 Solarflare 接口的套接字由 Onload 堆棧處理,而那些不使用 Solarflare 接口的套接字則透明地傳遞到內(nèi)核堆棧。

onload 堆棧

????????Onload 堆棧是 TCP/IP 堆棧的一個(gè)實(shí)例。堆棧包括傳輸和接收緩沖區(qū)、連接以及相關(guān)的端口號(hào)和堆棧選項(xiàng)。每個(gè)堆棧都關(guān)聯(lián)了一個(gè)或多個(gè)虛擬NIC(通常為每個(gè)使用的物理端口創(chuàng)建一個(gè) NIC)。

????????在正常使用中,每個(gè)加速進(jìn)程都有自己的 Onload 堆棧,由該進(jìn)程創(chuàng)建的所有連接共享。多個(gè)進(jìn)程也可以共享一個(gè) Onload 堆棧實(shí)例,單個(gè)應(yīng)用程序也可以具有多個(gè) Onload 棧。

虛擬網(wǎng)絡(luò)接口 VNIC

????????Solarflare 網(wǎng)絡(luò)適配器每個(gè)網(wǎng)絡(luò)端口上支持 1024 個(gè)傳輸隊(duì)列、1024 個(gè)接收隊(duì)列、1024 個(gè)事件隊(duì)列和 1024 個(gè)定時(shí)器資源。一個(gè)?VNIC(虛擬網(wǎng)絡(luò)接口)是由一組這些資源組成,允許 VNIC 客戶端,即Onload堆棧獨(dú)立、安全的發(fā)送和接收網(wǎng)絡(luò)數(shù)據(jù)。通過網(wǎng)絡(luò)適配器上的 IP/MAC 過濾表和接收側(cè)調(diào)整機(jī)制(RSS)將接收到的數(shù)據(jù)包傳輸?shù)街付ǖ?VNIC。Onload 堆棧為每個(gè) Solarflare網(wǎng)絡(luò)端口分配一個(gè) VNIC,因此它在用戶模式下有一個(gè)專用的發(fā)送和接收通道。

????????重置 Solarflare 網(wǎng)絡(luò)適配器驅(qū)動(dòng)程序后,將重新安裝所有虛擬接口資源,包括 Onload 堆棧和套接字。重置操作對應(yīng)用程序是透明的,但在重置過程中流量會(huì)丟失。

功能概述

????????當(dāng)建立其第一個(gè)套接字時(shí),應(yīng)用程序被分配一個(gè) Onload 堆棧,該堆棧分配所需的 VNIC。

????????當(dāng)數(shù)據(jù)包到達(dá)時(shí),適配器中的 IP 過濾會(huì)識(shí)別套接字,并將數(shù)據(jù)寫入相應(yīng)的 Onload 堆棧中的下一個(gè)可用接收緩沖區(qū)。然后,適配器將一個(gè)事件寫入由 Onload 管理的“事件隊(duì)列”。如果應(yīng)用程序定期進(jìn)行套接字調(diào)用,則 Onload 會(huì)定期輪詢此事件隊(duì)列,然后直接處理事件而不是通過中斷來獲取這些數(shù)據(jù)。

????????用戶級處理顯著減少了內(nèi)核/用戶級上下文切換,并且只有在應(yīng)用程序阻塞時(shí)才需要中斷,因?yàn)楫?dāng)應(yīng)用程序進(jìn)行套接字調(diào)用時(shí),Onload 一直在處理接收新的網(wǎng)絡(luò)事件的事件隊(duì)列。

混合網(wǎng)絡(luò)適配器

????????服務(wù)器可以配備 Solarflare 網(wǎng)絡(luò)接口和非 Solarflare 的網(wǎng)絡(luò)接口。當(dāng)應(yīng)用程序加速時(shí),Onload讀取 Linux 內(nèi)核路由表(Onload 只考慮內(nèi)核默認(rèn)路由表),以確定需要哪個(gè)網(wǎng)絡(luò)接口來進(jìn)行連接。如果需要非 Solarflare 接口才能到達(dá)目的地,Onload 將把連接傳遞到內(nèi)核 TCP/IP 堆棧。無需額外配置即可實(shí)現(xiàn),因?yàn)?Onload 通過查找 IP 路由表自動(dòng)實(shí)現(xiàn)。

最大網(wǎng)絡(luò)接口數(shù)

????????最多可以向 Onload 驅(qū)動(dòng)程序注冊 32 個(gè)網(wǎng)絡(luò)接口。
????????默認(rèn)情況下,Onload 每個(gè)堆棧最多支持 8 個(gè)網(wǎng)絡(luò)接口。此限制可以是通過更改 src/include/CI/internal/transport_config_opt.h 頭文件 中的 CI_CFG_MAX_INTERFACES 更改,更改后需要重新編譯并安裝 Onload。

黑名單/白名單

? ? ? ? 從 Onload 201502 開始,用戶可以選擇哪些 Solarflare 接口為 Onload 使用。
????????intf_white_list Onload 模塊選項(xiàng)是一個(gè)以空格分隔的 Solarflare 列表,記錄 Onload 將用于網(wǎng)絡(luò) I/O 的網(wǎng)絡(luò)適配器接口。

  • 白名單中標(biāo)識(shí)的接口將始終由 Onload 加速
  • 未在白名單中識(shí)別的接口不會(huì)被 Onload 加速
  • 空白白名單意味著所有 Solarflare 接口都將加速

????????intf_black_list Onload 模塊選項(xiàng)是一個(gè)以空格分隔的Solarflare網(wǎng)絡(luò)適配器接口列表,Onload不會(huì)將其用于網(wǎng)絡(luò) I/O。當(dāng)一個(gè)接口同時(shí)出現(xiàn)在兩個(gè)列表中時(shí),黑名單優(yōu)先。Onload 啟動(dòng)后對接口的重命名不會(huì)反映在訪問列表中,對列表的更改只會(huì)影響在這些更改后創(chuàng)建的 Onload 堆棧,而不會(huì)影響當(dāng)前正在運(yùn)行的堆棧??梢栽?/etc/modprobe.d 目錄中用戶創(chuàng)建的文件中指定 Onload 模塊選項(xiàng):文章來源地址http://www.zghlxwxcb.cn/news/detail-742903.html

 options onload intf_white_list=eth4?
 options onload intf_black_list="eth5 eth6

到了這里,關(guān)于【高性能網(wǎng)絡(luò)協(xié)議?!縪penonload 篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux高性能服務(wù)器編程|閱讀筆記:第1章 - TCP/IP協(xié)議族

    Linux高性能服務(wù)器編程|閱讀筆記:第1章 - TCP/IP協(xié)議族

    Hello! 非常感謝您閱讀海轟的文章,倘若文中有錯(cuò)誤的地方,歡迎您指出~ ? ?(?ˊ?ˋ)? 昵稱:海轟 標(biāo)簽:程序猿|C++選手|學(xué)生 簡介:因C語言結(jié)識(shí)編程,隨后轉(zhuǎn)入計(jì)算機(jī)專業(yè),獲得過國家獎(jiǎng)學(xué)金,有幸在競賽中拿過一些國獎(jiǎng)、省獎(jiǎng)…已保研 學(xué)習(xí)經(jīng)驗(yàn):扎實(shí)基礎(chǔ) + 多做

    2024年02月01日
    瀏覽(44)
  • Redis 又雙叒叕改開源協(xié)議了,微軟提前推出高性能替代方案 Garnet

    Redis 又雙叒叕改開源協(xié)議了,微軟提前推出高性能替代方案 Garnet

    3 月 20 號(hào),Redis 商業(yè)公司 CEO Rowan Trollope 在公司官方博客上宣布了一項(xiàng)重大變革。Redis 核心軟件將從 BSD 3-Clause 許可證過渡到雙重許可證模式,這一變化將從 Redis v7.4 版本開始,貫穿到未來所有的 Redis 發(fā)布版本。新的許可證模式使用了 Redis Source Available License version 2 (RSALv2) 或

    2024年04月16日
    瀏覽(22)
  • Sui網(wǎng)絡(luò)的穩(wěn)定性和高性能

    Sui網(wǎng)絡(luò)的穩(wěn)定性和高性能

    Sui的最初的協(xié)議開發(fā)者設(shè)計(jì)了可擴(kuò)展的網(wǎng)絡(luò),通過水平擴(kuò)展的方式來保持可負(fù)擔(dān)得起的gas費(fèi)用。其他區(qū)塊鏈與之相比,則使用稀缺性和交易成本來控制網(wǎng)絡(luò)活動(dòng)。 Sui主網(wǎng)上線前90天的數(shù)據(jù)指標(biāo)證明了這一設(shè)計(jì)概念,在保持100%正常運(yùn)行的同時(shí),交易峰值高達(dá)每秒5414筆。 在此

    2024年02月13日
    瀏覽(30)
  • I/O多路復(fù)用+高性能網(wǎng)絡(luò)模式

    I/O多路復(fù)用+高性能網(wǎng)絡(luò)模式

    前言: 本篇文章將介紹客戶端-服務(wù)端之間從最簡單的Socket模型到I/O多路復(fù)用的模式演變過程,并介紹Reactor和Proactor兩種高性能網(wǎng)絡(luò)模式 文章內(nèi)容摘自:小林Coding I/O多路復(fù)用+高性能網(wǎng)絡(luò)模式 服務(wù)端流程: 1.創(chuàng)建Socket套接字 2.使用bind函數(shù)綁定ip地址和端口 3.listen函數(shù)監(jiān)聽端口

    2024年02月10日
    瀏覽(17)
  • C語言網(wǎng)絡(luò)編程:實(shí)現(xiàn)自己的高性能網(wǎng)絡(luò)框架

    C語言網(wǎng)絡(luò)編程:實(shí)現(xiàn)自己的高性能網(wǎng)絡(luò)框架

    一般生產(chǎn)環(huán)境中最耗時(shí)的其實(shí)是業(yè)務(wù)邏輯處理。所以,是不是可以將處理業(yè)務(wù)邏輯的代碼給拆出來丟到線程池中去執(zhí)行。 比如像下面這樣: ?我們事先創(chuàng)建好一堆worker線程,主線程accepter拿到一個(gè)連接上來的套接字,就從線程池中取出一個(gè)線程將這個(gè)套接字交給它。這樣,我

    2024年02月10日
    瀏覽(24)
  • 【網(wǎng)絡(luò)編程】高性能并發(fā)服務(wù)器源碼剖析

    【網(wǎng)絡(luò)編程】高性能并發(fā)服務(wù)器源碼剖析

    ? hello !大家好呀! 歡迎大家來到我的網(wǎng)絡(luò)編程系列之洪水網(wǎng)絡(luò)攻擊,在這篇文章中, 你將會(huì)學(xué)習(xí)到在網(wǎng)絡(luò)編程中如何搭建一個(gè)高性能的并發(fā)服務(wù)器,并且我會(huì)給出源碼進(jìn)行剖析,以及手繪UML圖來幫助大家來理解,希望能讓大家更能了解網(wǎng)絡(luò)編程技術(shù)?。?! 希望這篇文章能

    2024年04月15日
    瀏覽(43)
  • 理解高性能網(wǎng)絡(luò)技術(shù)對云計(jì)算的影響

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 云計(jì)算是一個(gè)新興的服務(wù)形態(tài),它通過將軟件資源池化、軟件定義網(wǎng)絡(luò)以及基礎(chǔ)設(shè)施即服務(wù)(IaaS)等多種形式的服務(wù)提供給消費(fèi)者,將資源和服務(wù)的部署自動(dòng)化,并按需付費(fèi)的方式將服務(wù)運(yùn)行起來。云計(jì)算服務(wù)的流行使得各種網(wǎng)絡(luò)環(huán)境的用戶都能

    2024年02月03日
    瀏覽(31)
  • C++高性能服務(wù)器網(wǎng)絡(luò)框架設(shè)計(jì)與實(shí)現(xiàn)

    C++高性能服務(wù)器網(wǎng)絡(luò)框架設(shè)計(jì)與實(shí)現(xiàn)

    這篇文章將從兩個(gè)方面來介紹,一個(gè)是服務(wù)器中的基礎(chǔ)的網(wǎng)絡(luò)通信部件;另外一個(gè)是,如何利用這些基礎(chǔ)通信部件整合成一個(gè)完整的高效的服務(wù)器框架。注意:本文以下內(nèi)容中的客戶端是相對概念,指的是連接到當(dāng)前討論的服務(wù)程序的終端,所以這里的客戶端既可能是我們傳

    2024年02月04日
    瀏覽(22)
  • 高性能網(wǎng)絡(luò)設(shè)計(jì)秘笈:深入剖析Linux網(wǎng)絡(luò)IO與epoll

    本文分享自華為云社區(qū)《高性能網(wǎng)絡(luò)設(shè)計(jì)秘笈:深入剖析Linux網(wǎng)絡(luò)IO與epoll》,作者: Lion Long 。 epoll是Linux內(nèi)核中一種可擴(kuò)展的IO事件處理機(jī)制,可替代select和poll的系統(tǒng)調(diào)用。處理百萬級并發(fā)訪問性能更佳。 (1)?文件描述符越多,性能越差。?單個(gè)進(jìn)程中能夠監(jiān)視的文件描述

    2024年02月16日
    瀏覽(34)
  • 客戶案例:高性能、大規(guī)模、高可靠的AIGC承載網(wǎng)絡(luò)

    客戶案例:高性能、大規(guī)模、高可靠的AIGC承載網(wǎng)絡(luò)

    客戶是一家AIGC領(lǐng)域的公司,他們通過構(gòu)建一套完整的內(nèi)容生產(chǎn)系統(tǒng),革新內(nèi)容創(chuàng)作過程,讓用戶以更低成本完成內(nèi)容創(chuàng)作。 RoCE的計(jì)算網(wǎng)絡(luò) RoCE存儲(chǔ)網(wǎng)絡(luò) 1.不少于600端口200G以太網(wǎng)接入端口,未來可擴(kuò)容至至少1280端口 1.不少于100端口200G以太網(wǎng)接入端口,未來可擴(kuò)容至至少240端

    2024年02月11日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包