人工智能已經無縫地融入了我們的生活,并以幾年前我們甚至無法想象的方式改變了我們。在過去,對人工智能的感知是一種未來主義和復雜的東西。只有大公司在其擁有 HPC 技術的超級計算機上使用人工智能來預測天氣,并在醫療保健和科學領域取得突破性發現。
如今,由于 GPU 、 CPU 、高速存儲和人工智能優化的軟件創新,每個人都可以訪問人工智能。您甚至可以將人工智能作為服務( SaaS )或基礎設施( IaaS )部署在云中。
我們見證了人工智能在每個行業的廣泛應用:醫療保健和金融、自動駕駛汽車、廣告推薦,以及最近創建和編輯視頻、圖像和音樂等內容的生成人工智能。隨著最近推出的 ChatGPT-4 ,它使用大型語言模型( LLM )來理解、響應,甚至像人類一樣生成文本,思考我們可以實現的無限潛力是令人興奮的。
充分利用您的人工智能需要的不僅僅是昂貴的高端 GPU 和存儲系統。一個具有突破性性能的強大可靠的網絡對于釋放您的人工智能基礎設施的全部潛力至關重要,它可以縮短工作完成時間( JCT )、更快的培訓、更好的推理和更高的存儲 I / O 。
選擇正確的網絡設備和設計對于創建最佳的人工智能基礎設施至關重要。作為一名網絡管理員,您在實現這一目標方面發揮著關鍵作用,確保結構在沒有中斷和中斷的情況下順利工作。不幸的是,事實并非如此,因為沒有一個網絡是完美的。
在你的職業生涯中,你可能至少有一次處于風暴之中。當工作負載緩慢、存儲性能不佳,或者更糟的是,當網絡癱瘓,你的人工智能系統躺在那里無所事事時,你是否只聽到了指責?
當網絡問題發生時,網絡遙測儀表板是您檢查異常情況的第一個地方,就像當您聽到發動機發出奇怪的噪音時,檢查汽車儀表板的警示燈一樣。有時,這個問題比傳統的遙測方法所能檢測到的更復雜。
即使你是一位經驗豐富的網絡工程師,能夠從一萬英里的角度看到問題,分析大量的遙測數據也可能很耗時。在貴公司的關鍵任務人工智能任務中,浪費時間不是一種可用的特權。
加快找到根本原因的時間
當談到網絡故障排除時,我們都同意網絡遙測是關鍵。
一些遺留方法,如 SNMP 、 sFLOW ,甚至網絡計數器,提供了大量網絡信息,而不一定要確定根本原因。這使得網絡管理員的生活更加具有挑戰性,因為在所有這些龐大的數據中找到問題有時會變得非常困難,就像大海撈針一樣。

NVIDIA Spectrum Switches提供What Just Happened( WJH )流式遙測。這種獨特的專用集成電路( ASIC )遙測功能提供開關級、實時和上下文流量監測。 WJH 分析通過交換機的所有數據包,并就數據包丟失、擁塞、高延遲甚至錯誤配置引起的性能問題發出警報。
由于 WJH 是 ASIC 級遙測,它提供了有關受影響數據包的詳細信息,包括數據包標頭信息。因此,它使您能夠快速識別數據平面異常的根本原因,這很難做到。有了這些數據,您還可以檢測結構中受影響的流量,無論是計算、存儲、管理還是其他與人工智能工作負載無關的流量。

它是如何工作的?
當交換機的 ASIC 丟棄數據包時,它會生成一個 WJH 事件。在這種情況下,您可以在不包括有效負載的情況下找到數據包的標頭信息( 5 / 12 元組)。流式傳輸完整的數據包在性能、帶寬和空間利用率方面是不夠的,同時提供的好處太少。
除了數據包元組之外, WJH 還提供了數據包被丟棄的原因、時間和位置的詳細描述,以及糾正措施建議。當數據包延遲超過設置的閾值或超過特定交換機的緩沖區使用百分比時, WJH 也會發出警報。它有助于檢測網絡瓶頸,發現應用程序速度緩慢,并避免將來因緩沖區溢出而導致的中斷。
WJH 監控什么?
WJH 事件分為以下幾類,每一類都有自己的掉落原因和通知:
- 第 1 層:諸如片狀電纜和 CRC 錯誤、自動協商失敗、光信號降級等事件。
- 第 2 層:Drops caused by VLAN misconfiguration , incorrect VLAN tag on the ingress port , suspicious or reserved MAC addresses , and so on .
- 第 3 層(路由器):與路由器相關的掉線和問題,如黑洞路由和路由環路檢測( TTL 過期)、 MTU 太小等等。
- 覆蓋( VXLAN ):封裝或解封裝錯誤和下行隧道接口。
- 訪問控制列表( ACL ):每個 MAC / IP ACL 丟棄都具有丟棄數據包的確切規則。盡管拒絕數據包是一種有效的 ACL 操作,但這些事件使您能夠確保 ACL 及其規則是正確的,并在需要時過濾這些通知。
- 擁塞:緩沖區尾部下降、 WRED 下降,以及緩沖區利用率閾值跨越時的警報,以避免未來的下降。
- 延遲:數據包延遲超過設置的閾值。它有助于發現造成應用程序緩慢的交換機。
有關詳細信息,請參閱WJH Event Messages Reference.
如何使用 WJH 數據?
使用 WJH 事件有幾種方法:
- NVIDIA NetQ
- 標準 gNMI 流
- Cumulus Linux 或 SONiC 網絡操作系統 CLI
NVIDIA NetQ 監控
NVIDIA NetQ是一個高度可擴展的現代網絡操作工具集,可實時查看您的網絡。它使用網絡協議和服務驗證,并使用遙測數據,包括 WJH ,來提供有關網絡基礎設施健康狀況和數據平面異常的可操作見解。
安裝在交換機上的 NetQ 代理根據 WJH 事件的類別和類型聚合它們,并使用 gRPC 協議將它們流式傳輸到 NetQ 服務器,無論是本地還是 SaaS 。然后,您可以使用 NetQ 界面和命令行界面( CLI )訪問 WJH 數據。
WJH 儀表板
儀表板以交互方式顯示高度詳細的 WJH 事件信息。您可以通過餅圖和基于時間的圖表輕松地檢查事件分布。儀表板還提供了有關受影響最嚴重的交換機和跌落類型分布的信息。
儀表板還包括一個完整的表,按原因、詳細信息、時間戳和聚合計數列出所有事件。要查看特定的 WJH 數據,您可以按時間、設備、丟棄類型和原因篩選事件,然后將它們導出到 JSON 或 CSV 文件中。

WJH 高級視圖
WJH 高級視圖按類別顯示表格中列出的所有事件。您可以查看、排序、篩選事件,或將事件導出為 JSON 或 CSV 文件。

NetQ CLI
通過 NetQ CLI ,您可以從注冊到 NetQ 服務器和安裝的 NetQ CLI 的任何設備訪問所有 NetQ 數據,包括 WJH 。您可以檢查匯總的 WJH 事件分布,并查看表中列出的所有事件詳細信息、原因和時間戳。

有關詳細信息,請參閱How to NetQ: Diagnose Network Problems Faster with NVIDIA What Just Happened.
NetQ 還使您能夠使用集成到流量分析功能中的 WJH 遙測技術來識別和解決由網絡引起的特定應用程序問題。有關詳細信息,請參閱Finding Out Where Your Application and Network Intersect和How to NetQ: Troubleshooting Application Performance with Flow Analysis Using the GUI.
標準 gNMI 流
NetQ 代理為您提供了如何使用 WJH 遙測的靈活性。利用其使用 gNMI 協議流式傳輸 WJH 數據和訂閱 WJH 事件的能力。這使您能夠將這些信息集成到自己的遙測儀表板和解決方案中,而無需 NetQ 服務器。
NetQ 代理的 gNMI 流傳輸功能包括接口、系統、 LLDP 協議和平臺的標準 OpenConfig YANG 數據模型。它還包括 NVIDIA 擴展接口計數器和 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 |
您可以通過遵循 NVIDIA WJH 訂閱任何 gNMI 客戶端的 WJH 事件YANG Model以下代碼示例顯示了 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 格式進行流式傳輸:
{ "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}]" } } ] } |
有關詳細信息,請參閱How to NetQ: gNMI Streaming of NVIDIA What Just Happened Events For Third-Party Integration.
交換機 CLI
WJH 事件可在 Cumulus Linux 或 SONiC 網絡操作系統( NOS )上使用。您不必使用 NetQ 代理或 NetQ 服務器,但可以使用交換機 CLI 來獲取 WJH 數據。
這些事件可以直接從 switch SDK 中獲得,您可以查看以詳細表格、 YAML 或 JSON 格式列出的事件。這種方法明顯不那么方便,并且提供了有限的可調試性。考慮使用其他消費選項之一。

結論
在任何人工智能部署中,強大的網絡基礎設施與高端 GPU 和存儲系統一樣至關重要。至關重要的是要有卓越的遙測方法,以便在網絡問題發生時快速識別其根本原因。
NVIDIA What Just Happened 通過提供有關數據包丟失和數據平面異常的詳細和上下文信息,為網絡流遙測帶來了一個新的方面。 WJH 減少了故障排除時間和找出根本原因的時間,使您能夠充分利用您的人工智能基礎設施。
有關更多信息,請參閱以下資源:
- NVIDIA NetQ 用戶指南
- WJH 事件消息參考
- 視頻:
- 帖子:
?