人工智能已經(jīng)無(wú)縫地融入了我們的生活,并以幾年前難以想象的方式改變了我們。在過(guò)去,人們對(duì)人工智能的感知是一種未來(lái)且復(fù)雜的東西。只有大型公司在其采用 HPC 技術(shù)的超級(jí)計(jì)算機(jī)上使用人工智能來(lái)預(yù)測(cè)天氣,并在醫(yī)療健康和科學(xué)領(lǐng)域取得突破性發(fā)現(xiàn)。
如今,得益于 GPU、CPU、高速存儲(chǔ)和人工智能優(yōu)化軟件的創(chuàng)新,每個(gè)人都可以使用人工智能。您甚至可以將人工智能作為服務(wù)(SaaS)或基礎(chǔ)設(shè)施(IaaS)來(lái)部署在云中。
我們見(jiàn)證了人工智能在各行各業(yè)的廣泛應(yīng)用:醫(yī)療保健和金融、自動(dòng)駕駛汽車、廣告推薦,以及最近用于創(chuàng)建和編輯視頻、圖像和音樂(lè)等內(nèi)容的生成式人工智能。最近推出的 ChatGPT-4 使用大語(yǔ)言模型(LLM)來(lái)理解、響應(yīng),甚至生成像人類一樣的文本,想想我們可以實(shí)現(xiàn)的無(wú)限潛力是令人興奮的。
充分利用您的人工智能需要的不僅僅是昂貴的高端 GPU 和存儲(chǔ)系統(tǒng)。具有突破性性能的、穩(wěn)健可靠的網(wǎng)絡(luò)對(duì)于充分發(fā)揮人工智能基礎(chǔ)設(shè)施的潛力是至關(guān)重要的,它可以縮短作業(yè)完成時(shí)間(JCT)、加快訓(xùn)練速度、改進(jìn)推理和提高存儲(chǔ) I/O 。
選擇合適的網(wǎng)絡(luò)設(shè)備和設(shè)計(jì)對(duì)于構(gòu)建出色的人工智能基礎(chǔ)設(shè)施至關(guān)重要。作為網(wǎng)絡(luò)管理員,您在實(shí)現(xiàn)這一目標(biāo)的過(guò)程中發(fā)揮著重要作用,確保網(wǎng)絡(luò)在不中斷和停機(jī)的情況下平穩(wěn)運(yùn)行。遺憾的是,事實(shí)并非如此,因?yàn)闆](méi)有完美的網(wǎng)絡(luò)。
在您的職業(yè)生涯中,您至少要經(jīng)歷一次這樣的風(fēng)暴。當(dāng)工作負(fù)載處理緩慢、存儲(chǔ)性能不佳,或者更糟的是網(wǎng)絡(luò)停機(jī),人工智能系統(tǒng)無(wú)所事事時(shí),您是否只聽(tīng)到了指責(zé)?
當(dāng)網(wǎng)絡(luò)問(wèn)題發(fā)生時(shí),您首先要檢查網(wǎng)絡(luò)遙測(cè)儀表板是否存在異常情況,就像在聽(tīng)到發(fā)動(dòng)機(jī)發(fā)出奇怪的噪音時(shí),檢查汽車儀表板是否有警示燈一樣。有時(shí),這個(gè)問(wèn)題比傳統(tǒng)的遙測(cè)方法所能檢測(cè)到的更復(fù)雜。
即使您是一位經(jīng)驗(yàn)豐富的網(wǎng)絡(luò)工程師,能夠從一萬(wàn)英里外的視角看到問(wèn)題,分析大量的遙測(cè)數(shù)據(jù)也可能是很耗時(shí)的。在貴公司的任務(wù)關(guān)鍵型人工智能任務(wù)中,浪費(fèi)時(shí)間是不被接納的。
加快解決問(wèn)題的速度
在網(wǎng)絡(luò)故障排除方面,我們都同意網(wǎng)絡(luò)遙測(cè)是關(guān)鍵。
一些傳統(tǒng)方法(例如 SNMP、sFLOW,甚至網(wǎng)絡(luò)計(jì)數(shù)器)可提供大量網(wǎng)絡(luò)信息,但不一定能確定根本原因。這使得網(wǎng)絡(luò)管理員的工作更具挑戰(zhàn)性,因?yàn)樵谒羞@些龐大的數(shù)據(jù)中找到問(wèn)題有時(shí)會(huì)變得非常困難,就像大海撈針一樣。
圖 1. 傳統(tǒng)網(wǎng)絡(luò)遙測(cè)概念
NVIDIA Spectrum Switches 提供 What Just Happened(WJH)流式遙測(cè)。這種特定應(yīng)用集成電路(ASIC)遙測(cè)功能可在線速下提供交換機(jī)級(jí)的、實(shí)時(shí)的和上下文流監(jiān)控。WJH 分析通過(guò)交換機(jī)的所有數(shù)據(jù)包,并就數(shù)據(jù)包丟棄、擁塞、高延遲甚至錯(cuò)誤配置引起的性能問(wèn)題發(fā)出警報(bào)。
由于 WJH 是 ASIC 級(jí)遙測(cè)技術(shù),它提供了有關(guān)受影響數(shù)據(jù)包的詳細(xì)信息,包括數(shù)據(jù)包頭信息。因此,它使您能夠快速識(shí)別數(shù)據(jù)平面異常的根本原因,而這之前是難以做到的。借助這些數(shù)據(jù),您還可以檢測(cè)網(wǎng)絡(luò)架構(gòu)中受影響的流量,無(wú)論是計(jì)算、存儲(chǔ)、管理還是其他非人工智能工作負(fù)載相關(guān)的流量。
圖 2:WJH 網(wǎng)絡(luò)遙測(cè)概念
它是如何工作的?
當(dāng)交換機(jī)的 ASIC 丟棄數(shù)據(jù)包時(shí),它會(huì)生成 WJH 事件。在這種情況下,您可以在不包括有效負(fù)載的情況下找到數(shù)據(jù)包頭信息(5/12 元組)。流式傳輸完整的數(shù)據(jù)包在性能、帶寬和空間利用率方面是不夠的,同時(shí)可提供的益處太少。
除了數(shù)據(jù)包元組之外,WJH 還提供了數(shù)據(jù)包被丟棄的原因、時(shí)間和位置的詳細(xì)描述,并提供了糾正措施建議。WJH 還在數(shù)據(jù)包延遲超過(guò)設(shè)置的閾值或跨越特定交換機(jī)緩沖區(qū)使用率時(shí)發(fā)出警報(bào)。這有助于檢測(cè)網(wǎng)絡(luò)瓶頸,發(fā)現(xiàn)應(yīng)用程序執(zhí)行緩慢,并避免將來(lái)因緩沖區(qū)溢出而導(dǎo)致的丟包。
WJH 監(jiān)控什么?
WJH 事件分為以下幾類,每一類都有自己的丟包原因和通知:
第 1 層:諸如損壞的線纜和 CRC 錯(cuò)誤、自動(dòng)協(xié)商失敗、光信號(hào)衰減等事件。
第 2 層:由 VLAN 配置錯(cuò)誤、入口端口上的錯(cuò)誤 VLAN 標(biāo)記、可疑或保留 MAC 地址等導(dǎo)致的丟包。
第 3 層(路由器):與路由器相關(guān)的丟包和問(wèn)題,如黑洞路由和路由環(huán)路檢測(cè)(TTL 過(guò)期)、MTU 過(guò)小等等。
Overlay(VXLAN):封裝或解封裝錯(cuò)誤以及關(guān)閉隧道接口。
訪問(wèn)控制列表(ACL):每個(gè) MAC / IP ACL 丟包都具有丟棄數(shù)據(jù)包的確切規(guī)則。盡管拒絕數(shù)據(jù)包是一種有效的 ACL 操作,但這些事件使您能夠確保 ACL 及其規(guī)則是正確的,并在預(yù)期情況下過(guò)濾這些通知。
擁塞:緩沖區(qū)尾部丟包、WRED 丟包,以及跨域緩沖區(qū)利用率閾值時(shí)的警報(bào),以避免未來(lái)的丟包。
延遲:數(shù)據(jù)包延遲超過(guò)設(shè)置的閾值。它有助于發(fā)現(xiàn)造成應(yīng)用程序執(zhí)行緩慢的交換機(jī)。
如何使用 WJH 數(shù)據(jù)?
使用 WJH 事件有幾種方法:
NVIDIA NetQ
標(biāo)準(zhǔn) gNMI 流
Cumulus Linux 或 SONiC 網(wǎng)絡(luò)操作系統(tǒng) CLI
NVIDIA NetQ 監(jiān)控
NVIDIA NetQ 是一款高度可擴(kuò)展的現(xiàn)代網(wǎng)絡(luò)運(yùn)營(yíng)工具集,可實(shí)時(shí)監(jiān)控您的網(wǎng)絡(luò)。它使用網(wǎng)絡(luò)協(xié)議和服務(wù)驗(yàn)證,并使用遙測(cè)數(shù)據(jù)(包括 WJH)提供有關(guān)網(wǎng)絡(luò)基礎(chǔ)設(shè)施運(yùn)行狀況和數(shù)據(jù)平面異常的可行洞察。
安裝在交換機(jī)上的 NetQ 代理會(huì)按照類別和類型匯總 WJH 事件,并使用 gRPC 協(xié)議將這些事件以流式傳輸?shù)?NetQ 服務(wù)器(本地或 SaaS)。然后,您可以使用 NetQ 界面和命令行界面(CLI)訪問(wèn) WJH 數(shù)據(jù)。
WJH 儀表板
儀表板以交互方式顯示高度詳細(xì)的 WJH 事件信息。您可以通過(guò)餅圖和基于時(shí)間的圖表輕松地檢查事件分布。儀表板還提供了有關(guān)受影響最嚴(yán)重的交換機(jī)和丟包類型分布的信息。
儀表板還包括一個(gè)完整的表格,按原因、詳細(xì)信息、時(shí)間戳和匯總計(jì)數(shù)來(lái)列出所有事件。要查看特定的 WJH 數(shù)據(jù),您可以按時(shí)間、設(shè)備、丟包類型和原因篩選事件,然后將其導(dǎo)出到 JSON 或 CSV 文件中。
圖 3:NetQ WJH 儀表板
WJH 高級(jí)視圖
WJH 高級(jí)視圖在按類別列出的表格中顯示所有事件。您可以查看、排序、篩選事件,或?qū)⑹录?dǎo)出為 JSON 或 CSV 文件。
圖 4:NetQ WJH 高級(jí)視圖
NetQ CLI
通過(guò) NetQ CLI,您可以從注冊(cè)到 NetQ 服務(wù)器和安裝 NetQ CLI 的任何設(shè)備訪問(wèn)所有 NetQ 數(shù)據(jù)(包括 WJH)。您可以檢查匯總的 WJH 事件分布情況,并查看表中列出的所有事件詳細(xì)信息、原因和時(shí)間戳。
圖 5:NetQ CLI 中的 WJH 事件
NetQ 還支持您使用集成到流量分析(Flow Analysis)功能中的 WJH 遙測(cè)技術(shù)來(lái)識(shí)別和解決由網(wǎng)絡(luò)引起的特定應(yīng)用程序問(wèn)題。如需了解更多信息,請(qǐng)參閱找出應(yīng)用程序和網(wǎng)絡(luò)的交叉點(diǎn)。
標(biāo)準(zhǔn) gNMI 流
NetQ 代理為您提供了使用 WJH 遙測(cè)的靈活性。利用其功能,您可以使用 gNMI 協(xié)議流式傳輸 WJH 數(shù)據(jù)和訂閱 WJH 事件。這使您能夠?qū)⑦@些信息集成到自己的遙測(cè)儀表板和解決方案中,而無(wú)需 NetQ 服務(wù)器。
NetQ 代理的 gNMI 流式傳輸功能包括接口、系統(tǒng)、LLDP 協(xié)議和平臺(tái)的標(biāo)準(zhǔn) OpenConfig YANG 數(shù)據(jù)模型。它還包括 NVIDIA 擴(kuò)展接口計(jì)數(shù)器和 NVIDIA WJH 模型。
gNMI version: 0.7.0
supported models:
- nvidia-wjh, NVIDIA, 1.0.1
- nvidia-if-ethernet-counters-ext, NVIDIA, 1.0.0
- openconfig-interfaces, OpenConfig, 2.3.2
- openconfig-if-ethernet, OpenConfig, 2.9.0
- openconfig-if-ethernet-ext, OpenConfig, 0.1.1
- openconfig-system, OpenConfig, 0.5.0
- openconfig-lldp, OpenConfig, 0.2.1
- openconfig-platform, OpenConfig, 0.13.0
supported encodings:
??-?JSON
通過(guò)遵循 NVIDIA WJH YANG 模型,您可以使用任何 gNMI 客戶端來(lái)訂閱 WJH 事件。以下代碼示例顯示了 WJH YANG 模型,以及您可以訂閱的事件類型路徑
module nvidia-wjh {
// Entrypoint /oc-if:interfaces/oc-if:interface
//
// xPath L1 --> interfaces/interface[name=*]/wjh/aggregate/l1
// xPath L2 --> /interfaces/interface[name=*]/wjh/aggregate/l2/reasons/reason[id=*][severity=*]
// xPath Router --> /interfaces/interface[name=*]/wjh/aggregate/router/reasons/reason[id=*][severity=*]
// xPath Tunnel --> /interfaces/interface[name=*]/wjh/aggregate/tunnel/reasons/reason[id=*][severity=*]
// xPath Buffer --> /interfaces/interface[name=*]/wjh/aggregate/buffer/reasons/reason[id=*][severity=*]
????//?xPath?ACL????-->?/interfaces/interface[name=*]/wjh/aggregate/acl/reasons/reason[id=*][severity=*]
WJH 事件信息以 JSON 格式進(jìn)行流式傳輸:
{
"source": "10.210.24.112:9339",
"subscription-name": "default-1680103195",
"timestamp": 1680144504046097303,
"time": "2023-03-30T02:48:24.046097303Z",
"prefix": "interfaces/interface[name=swp1]/wjh/aggregate/l2/reasons/reason[severity=error][id=204]",
"target": "netq",
"updates": [
{
"Path": "state/drop",
"values": {
"state/drop": "[{"AggCount":31,"Dip":"10.1.10.102","Dmac":"04:3f:72:db:22:a1","Dport":22222,"DropType":"L2","EgressPort":"","EndTimestamp":1680144503,"FirstTimestamp":1680144473,"Hostname":"leaf01","IngressLag":"268435457","IngressPort":"swp1","Proto":6,"Reason":"Ingress VLAN filtering","ReasonId":204,"Severity":"Error","Sip":"10.1.10.101","Smac":"04:3f:72:33:23:aa","Sport":22556}]"
}
}
]
}
{
"source": "10.210.24.112:9339",
"subscription-name": "default-1680103195",
"timestamp": 1680144534271648272,
"time": "2023-03-30T02:48:54.271648272Z",
"prefix": "interfaces/interface[name=swp1]/wjh/aggregate/l2/reasons/reason[severity=error][id=210]",
"target": "netq",
"updates": [
{
"Path": "state/drop",
"values": {
"state/drop": "[{"AggCount":30,"Dip":"10.1.10.102","Dmac":"aa:bb:cc:dd:ee:ff","Dport":22222,"DropType":"L2","EgressPort":"","EndTimestamp":1680144533,"FirstTimestamp":1680144504,"Hostname":"leaf01","IngressLag":"268435457","IngressPort":"swp1","Proto":6,"Reason":"Source MAC equals destination MAC","ReasonId":210,"Severity":"Error","Sip":"10.1.10.101","Smac":"aa:bb:cc:dd:ee:ff","Sport":23333}]"
}
}
]
}
交換機(jī) CLI
WJH 事件可在 Cumulus Linux 或 SONiC 網(wǎng)絡(luò)操作系統(tǒng)(NOS)上使用。您不必使用 NetQ 代理或 NetQ 服務(wù)器,但可以使用交換機(jī) CLI 來(lái)獲取 WJH 數(shù)據(jù)。
這些事件可以直接從 switch SDK 中獲得,您可以查看以詳細(xì)表格、YAML 或 JSON 格式列出的事件。這種方法明顯不那么方便,并且提供了有限的可調(diào)試性??梢钥紤]使用其他消費(fèi)選項(xiàng)之一。
圖 6:Cumulus Linux CLI 中的 WJH 事件
結(jié)論
在任何人工智能部署中,強(qiáng)大的網(wǎng)絡(luò)基礎(chǔ)設(shè)施與高端 GPU 和存儲(chǔ)系統(tǒng)一樣至關(guān)重要。而擁有出色的遙測(cè)方法也是至關(guān)重要的,以便在網(wǎng)絡(luò)問(wèn)題發(fā)生時(shí)快速識(shí)別其根本原因。
NVIDIA What Just Happened 通過(guò)提供有關(guān)數(shù)據(jù)包丟棄和數(shù)據(jù)平面異常的詳細(xì)和上下文信息,為網(wǎng)絡(luò)流遙測(cè)帶來(lái)了一個(gè)新的視角。WJH 減少了故障排除時(shí)間和找出根本原因的時(shí)間,使您能夠充分利用您的人工智能基礎(chǔ)設(shè)施。