chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用DPDK和GPUdev增強(qiáng)內(nèi)聯(lián)數(shù)據(jù)包處理

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Elena Agostini ? 2022-05-07 10:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用 GPU 對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行內(nèi)聯(lián)處理是一種數(shù)據(jù)包分析技術(shù),可用于許多不同的應(yīng)用領(lǐng)域:信號(hào)處理、網(wǎng)絡(luò)安全、信息收集、輸入重建等。

這些應(yīng)用程序類型的主要要求是盡快將接收到的數(shù)據(jù)包移動(dòng)到 GPU 內(nèi)存中,以觸發(fā)負(fù)責(zé)對(duì)其執(zhí)行并行處理的 CUDA 內(nèi)核。

總體思路是創(chuàng)建一個(gè)連續(xù)的異步管道,能夠?qū)?shù)據(jù)包從網(wǎng)卡直接接收到 GPU 內(nèi)存中。您還可以使用 CUDA 內(nèi)核來處理傳入的數(shù)據(jù)包,而無需同步 GPU 和 CPU 。

有效的應(yīng)用程序工作流包括使用無鎖通信機(jī)制在以下播放器組件之間創(chuàng)建一個(gè)協(xié)調(diào)的連續(xù)異步管道:

network controller 向 GPU 內(nèi)存提供接收到的網(wǎng)絡(luò)數(shù)據(jù)包

CPU 用于查詢網(wǎng)絡(luò)控制器以獲取有關(guān)接收到的數(shù)據(jù)包的信息

GPU 用于接收數(shù)據(jù)包信息并直接將其處理到 GPU 內(nèi)存中

圖 1 顯示了使用 NVIDIA GPU 和 ConnectX 網(wǎng)卡的加速內(nèi)聯(lián)數(shù)據(jù)包處理應(yīng)用程序的典型數(shù)據(jù)包工作流場(chǎng)景。

pYYBAGJ11JuAJW5fAAF34hR_9EE757.png

圖 1 。典型的內(nèi)聯(lián)數(shù)據(jù)包處理工作流場(chǎng)景

在這種情況下,避免延遲是至關(guān)重要的。不同組件之間的通信越優(yōu)化,系統(tǒng)的響應(yīng)速度就越快,吞吐量也就越高。每一步都必須在所需資源可用時(shí)以內(nèi)聯(lián)方式進(jìn)行,而不會(huì)阻塞任何其他等待的組件。

您可以清楚地識(shí)別兩種不同的流:

Data flow :通過 PCIe 總線在網(wǎng)卡和 GPU 之間交換優(yōu)化的數(shù)據(jù)(網(wǎng)絡(luò)數(shù)據(jù)包)。

Control flow : CPU 協(xié)調(diào) GPU 和網(wǎng)卡。

數(shù)據(jù)流

關(guān)鍵是優(yōu)化網(wǎng)絡(luò)控制器和 GPU 之間的數(shù)據(jù)移動(dòng)(發(fā)送或接收數(shù)據(jù)包)。它可以通過 GPUDirect RDMA 技術(shù)實(shí)現(xiàn),該技術(shù)使用 PCI Express 總線接口的標(biāo)準(zhǔn)功能,在 NVIDIA GPU 和第三方對(duì)等設(shè)備(如網(wǎng)卡)之間實(shí)現(xiàn)直接數(shù)據(jù)路徑。

GPUDirect RDMA 依賴于 NVIDIA GPU 在 PCI Express 基址寄存器( BAR )區(qū)域上公開部分設(shè)備內(nèi)存的能力。有關(guān)更多信息,請(qǐng)參閱 CUDA 工具包文檔中的 使用 GPUDirect-RDMA 開發(fā) Linux 內(nèi)核模塊 。 在現(xiàn)代服務(wù)器平臺(tái)上對(duì) GPUDirect-RDMA 進(jìn)行基準(zhǔn)測(cè)試 文章對(duì)使用不同系統(tǒng)拓?fù)涞臉?biāo)準(zhǔn) IB 謂詞執(zhí)行網(wǎng)絡(luò)操作(發(fā)送和接收)時(shí)的 GPUDirect RDMA 帶寬和延遲進(jìn)行了更深入的分析。

poYBAGJ11J2AdZNTAAGq0tsSGxA199.png

圖 2 。 NVIDIA GPUDirect RDMA 使用 PCI Express 的標(biāo)準(zhǔn)功能,為 GPU 和第三方對(duì)等設(shè)備之間的數(shù)據(jù)交換提供了直接路徑

要在 Linux 系統(tǒng)上啟用 GPUDirect RDMA ,需要 nvidia-peermem 模塊(在 CUDA 11.4 及更高版本中提供)。圖 3 顯示了最大化 GPUDirect RDMA 內(nèi)部吞吐量的理想系統(tǒng)拓?fù)洌涸?GPU 和 NIC 之間使用專用 PCIe 交換機(jī),而不是通過與其他組件共享的系統(tǒng) PCIe 連接。

poYBAGJ11J-AI7eYAAED6LJLG_k257.png

圖 3 。理想的拓?fù)浣Y(jié)構(gòu),最大限度地提高網(wǎng)絡(luò)控制器和 GPU 之間的內(nèi)部數(shù)據(jù)吞吐量

控制流

CPU 是網(wǎng)絡(luò)控制器和 GPU 之間協(xié)調(diào)和同步活動(dòng)的主要參與者,用于喚醒 NIC ,將數(shù)據(jù)包接收到 GPU 內(nèi)存中,并通知 CUDA 工作負(fù)載有新數(shù)據(jù)包可供處理。

在處理 GPU 時(shí),強(qiáng)調(diào) CPU 和 GPU 之間的異步非常重要。例如,假設(shè)一個(gè)簡(jiǎn)單的應(yīng)用程序在主循環(huán)中執(zhí)行以下三個(gè)步驟:

接收數(shù)據(jù)包。

處理數(shù)據(jù)包。

發(fā)回修改過的數(shù)據(jù)包。

在本文中,我將介紹在這種應(yīng)用程序中實(shí)現(xiàn)控制流的四種不同方法,包括優(yōu)缺點(diǎn)。

方法 1

圖 4 顯示了最簡(jiǎn)單但最不有效的方法:?jiǎn)蝹€(gè) CPU 線程負(fù)責(zé)接收數(shù)據(jù)包,啟動(dòng) CUDA 內(nèi)核來處理它們,等待 CUDA 內(nèi)核完成,并將修改后的數(shù)據(jù)包發(fā)送回網(wǎng)絡(luò)控制器。

poYBAGJ11J-ACqN1AADDCJkvql0225.png

圖 4 。單個(gè) CPU 將數(shù)據(jù)包傳遞到 CUDA 內(nèi)核并等待完成以執(zhí)行下一步的工作流

如果數(shù)據(jù)包處理不是那么密集,那么這種方法的性能可能會(huì)比只使用 CPU 處理數(shù)據(jù)包而不使用 GPU 更差。例如,您可能具有高度的并行性來解決數(shù)據(jù)包上的一個(gè)困難且耗時(shí)的算法。

方法 2

在這種方法中,應(yīng)用程序?qū)?CPU 工作負(fù)載分成兩個(gè) CPU 線程:一個(gè)用于接收數(shù)據(jù)包并啟動(dòng) GPU 處理,另一個(gè)用于等待 GPU 處理完成并通過網(wǎng)絡(luò)傳輸修改后的數(shù)據(jù)包(圖 5 )。

poYBAGJ11KGAMYqIAAFF1L7iu6Y387.png

圖 5 。拆分 CPU 線程以通過 GPU 處理數(shù)據(jù)包

這種方法的一個(gè)缺點(diǎn)是,每次累積數(shù)據(jù)包的突發(fā)都會(huì)啟動(dòng)一個(gè)新的 CUDA 內(nèi)核。 CPU 必須為每次迭代支付 CUDA 內(nèi)核啟動(dòng)延遲。如果 GPU 被淹沒,數(shù)據(jù)包處理可能不會(huì)立即執(zhí)行,從而導(dǎo)致延遲。

方法 3

圖 6 顯示了第三種方法,它涉及使用 CUDA 持久內(nèi)核。

Inline-Packet-Fig-6.png

圖 6 。使用持久 CUDA 內(nèi)核進(jìn)行內(nèi)聯(lián)數(shù)據(jù)包處理。

CUDA 持久內(nèi)核是一個(gè)預(yù)啟動(dòng)的內(nèi)核,它正忙著等待來自 CPU 的通知:新數(shù)據(jù)包已經(jīng)到達(dá)并準(zhǔn)備好進(jìn)行處理。當(dāng)數(shù)據(jù)包準(zhǔn)備好后,內(nèi)核通知第二個(gè) CPU 線程它可以向前發(fā)送數(shù)據(jù)包。

實(shí)現(xiàn)此通知系統(tǒng)的最簡(jiǎn)單方法是使用忙等待標(biāo)志更新機(jī)制在 CPU 和 GPU 之間共享一些內(nèi)存。雖然 GPUDirect RDMA 旨在從第三方設(shè)備直接訪問 GPU 內(nèi)存,但您可以使用這些 API 創(chuàng)建 GPU 內(nèi)存的完全有效的 CPU 映射。 CPU 驅(qū)動(dòng)的拷貝的優(yōu)點(diǎn)是所涉及的開銷小。現(xiàn)在可以通過 GDRCopy 庫啟用此功能。

直接映射 GPU 內(nèi)存進(jìn)行信令,可以從 CPU 修改內(nèi)存,并在輪詢期間降低 GPU 的延遲成本。您也可以將該標(biāo)志放在從 GPU 可見的 CPU 固定內(nèi)存中,但 CUDA 內(nèi)核輪詢 CPU 內(nèi)存標(biāo)志將消耗更多 PCIe 帶寬并增加總體延遲。

這種快速解決方案的問題在于它有風(fēng)險(xiǎn),而且 CUDA 編程模型不支持它。 GPU 內(nèi)核不能被搶占。如果寫得不正確,持久內(nèi)核可能會(huì)永遠(yuǎn)循環(huán)。此外,長(zhǎng)期運(yùn)行的持久內(nèi)核可能會(huì)失去與其他 CUDA 內(nèi)核、 CPU 活動(dòng)、內(nèi)存分配狀態(tài)等的同步。

它還擁有 GPU 資源(例如,流式多處理器),如果 GPU 真的忙于其他任務(wù),這可能不是最好的選擇。如果您使用 CUDA 持久內(nèi)核,那么您的應(yīng)用程序必須具有良好的處理能力。

方法 4

最后一種方法是前兩種方法的混合解決方案:使用 CUDA 流內(nèi)存操作 要等待或更新通知標(biāo)志,請(qǐng)?jiān)?CUDA 流上預(yù)啟動(dòng)一個(gè) CUDA 內(nèi)核,每接收一組數(shù)據(jù)包。

pYYBAGJ11KuAXhbyAAGWfudvy_4390.png

圖 7 。使用模型組合的內(nèi)聯(lián)數(shù)據(jù)包處理的混合方法

這種方法的不同之處在于 GPU HW (使用cuStreamWaitValue)輪詢內(nèi)存標(biāo)志,而不是阻塞 GPU 流式多處理器,并且只有在數(shù)據(jù)包準(zhǔn)備就緒時(shí)才會(huì)觸發(fā)數(shù)據(jù)包的處理內(nèi)核。

類似地,當(dāng)處理內(nèi)核結(jié)束時(shí),cuStreamWriteValue通知負(fù)責(zé)發(fā)送數(shù)據(jù)包的 CPU 線程數(shù)據(jù)包已被處理。

這種方法的缺點(diǎn)是,應(yīng)用程序必須不時(shí)地用cuStreamWriteValue+cuStreamWaitValue內(nèi)核+ CUDA 的新序列重新填充 GPU ,以避免在空流沒有準(zhǔn)備好處理更多數(shù)據(jù)包的情況下浪費(fèi)執(zhí)行時(shí)間。這里的 CUDA 圖是在流上重新發(fā)布的好方法。

不同的方法適用于不同的應(yīng)用程序模式。

DPDK 和 GPUdev

數(shù)據(jù)平面開發(fā)工具包 ( DPDK )是一組庫,用于幫助加速在各種 CPU 體系結(jié)構(gòu)和不同設(shè)備上運(yùn)行的數(shù)據(jù)包處理工作負(fù)載。

在 DPDK 21.11 中, NVIDIA 引入了一個(gè)名為 GPUdev 的新庫,以在 DPDK 的上下文中引入 GPU 的概念,并增強(qiáng) CPU 、網(wǎng)卡和 GPU 之間的對(duì)話。 GPUdev 在 DPDK 22.03 中擴(kuò)展了更多功能。

圖書館的目標(biāo)如下:

介紹從 DPDK 通用庫管理的 GPU 設(shè)備的概念。

實(shí)現(xiàn)基本的 GPU 內(nèi)存交互,隱藏特定于 GPU 的實(shí)現(xiàn)細(xì)節(jié)。

減少網(wǎng)卡、 GPU 設(shè)備和 CPU 之間的間隙,增強(qiáng)通信。

將 DPDK 集成簡(jiǎn)化為 GPU 應(yīng)用程序。

通過通用層公開 GPU 特定于驅(qū)動(dòng)程序的功能。

對(duì)于特定于 NVIDIA 的 GPU , GPUdev 庫功能通過 CUDA 驅(qū)動(dòng)程序 DPDK 庫 。要為 NVIDIA GPU 啟用所有g(shù)pudev可用功能, DPDK 必須構(gòu)建在具有 CUDA 庫和 GDRCopy 的系統(tǒng)上。

有了這個(gè)新庫提供的功能,您可以輕松地通過 GPU 實(shí)現(xiàn)內(nèi)聯(lián)數(shù)據(jù)包處理,同時(shí)處理數(shù)據(jù)流和控制流。

DPDK 在 mempool 中接收數(shù)據(jù)包,這是一個(gè)連續(xù)的內(nèi)存塊。通過以下指令序列,您可以啟用 GPUDirect RDMA 在 GPU 內(nèi)存中分配 mempool ,并將其注冊(cè)到設(shè)備網(wǎng)絡(luò)中。

struct rte_pktmbuf_extmem gpu_mem; gpu_mem.buf_ptr = rte_gpu_mem_alloc(gpu_id, gpu_mem.buf_len, alignment)); /* Make the GPU memory visible to DPDK */ rte_extmem_register(gpu_mem.buf_ptr, gpu_mem.buf_len, NULL, gpu_mem.buf_iova, NV_GPU_PAGE_SIZE); /* Create DMA mappings on the NIC */ rte_dev_dma_map(rte_eth_devices[PORT_ID].device, gpu_mem.buf_ptr, gpu_mem.buf_iova, gpu_mem.buf_len)); /* Create the actual mempool */ struct rte_mempool *mpool = rte_pktmbuf_pool_create_extbuf(... , &gpu_mem, ...);

圖 8 顯示了 mempool 的結(jié)構(gòu):

圖 8 用于內(nèi)聯(lián)數(shù)據(jù)包處理的 mempool 結(jié)構(gòu)

對(duì)于控制流,要啟用 CPU 和 GPU 之間的通知機(jī)制,可以使用gpudev通信列表:在 CPU 內(nèi)存和 CUDA 內(nèi)核之間的共享內(nèi)存結(jié)構(gòu)。列表中的每一項(xiàng)都可以保存接收到的數(shù)據(jù)包的地址(mbufs),以及一個(gè)用于更新處理該項(xiàng)狀態(tài)的標(biāo)志(數(shù)據(jù)包就緒、處理完成等)。

struct rte_gpu_comm_list { /** DPDK GPU ID that will use the communication list. */ uint16_t dev_id; /** List of mbufs populated by the CPU with a set of mbufs. */ struct rte_mbuf **mbufs; /** List of packets populated by the CPU with a set of mbufs info. */ struct rte_gpu_comm_pkt *pkt_list; /** Number of packets in the list. */ uint32_t num_pkts; /** Status of the packets’ list. CPU pointer. */ enum rte_gpu_comm_list_status *status_h; /** Status of the packets’ list. GPU pointer. */ enum rte_gpu_comm_list_status *status_d;
};

偽代碼示例:

struct rte_mbuf * rx_mbufs[MAX_MBUFS]; int item_index = 0; struct rte_gpu_comm_list *comm_list = rte_gpu_comm_create_list(gpu_id, NUM_ITEMS); while(exit_condition) { ... // Receive and accumulate enough packets nb_rx += rte_eth_rx_burst(port_id, queue_id, &(rx_mbufs[0]), rx_pkts); // Populate next item in the communication list. rte_gpu_comm_populate_list_pkts(&(p_v->comm_list[index]), rx_mbufs, nb_rx); ... index++; }

為簡(jiǎn)單起見,假設(shè)應(yīng)用程序遵循 CUDA 持久內(nèi)核場(chǎng)景, CUDA 內(nèi)核上的輪詢端看起來類似于以下代碼示例:

__global__ void cuda_persistent_kernel(struct rte_gpu_comm_list *comm_list, int comm_list_entries) { int item_index = 0; uint32_t wait_status; /* GPU kernel keeps checking exit condition as it can’t be preempted. */ while (!exit_condition()) { wait_status = RTE_GPU_VOLATILE(comm_list[item_index].status_d[0]); if (wait_status != RTE_GPU_COMM_LIST_READY) continue; if (threadIdx.x < comm_list[item_index]->num_pkts) { /* Each CUDA thread processes a different packet. */ packet_processing(comm_list[item_index]->addr, comm_list[item_index]->size, ..); } __syncthreads(); /* Notify packets in the items have been processed */ if (threadIdx.x == 0) { RTE_GPU_VOLATILE(comm_list[item_index].status_d[0]) = RTE_GPU_COMM_LIST_DONE; __threadfence_system(); } /* Wait for new packets on the next communication list entry. */ item_index = (item_index+1) % comm_list_entries; } }

圖 9 持久內(nèi)核中輪詢端偽代碼的工作流示例

NVIDIA 使用 DPDK gpudev庫進(jìn)行內(nèi)聯(lián)數(shù)據(jù)包處理的一個(gè)具體用例位于 空中應(yīng)用框架 中,用于構(gòu)建高性能、軟件定義的 5G 應(yīng)用程序。在這種情況下,必須在 GPU 內(nèi)存中接收數(shù)據(jù)包,并根據(jù) 5G 特定的數(shù)據(jù)包頭重新排序,這樣可以在重新排序的有效負(fù)載上開始信號(hào)處理。

圖 10 使用 DPDK 的內(nèi)聯(lián)數(shù)據(jù)包處理用例 gpudev 在空中 5G 軟件中

l2fwd nv 應(yīng)用程序

為了提供如何實(shí)現(xiàn)內(nèi)聯(lián)數(shù)據(jù)包處理和使用 DPDK gpudev庫的實(shí)際示例,l2fwd-nv示例代碼已在 /NVIDIA/l2fwd-nv GitHub repo 上發(fā)布。這是使用 GPU 功能增強(qiáng)的普通 DPDK l2fwd示例的擴(kuò)展。應(yīng)用程序布局是接收數(shù)據(jù)包,交換每個(gè)數(shù)據(jù)包的 MAC 地址(源和目的地),并傳輸修改后的數(shù)據(jù)包。

L2fwd-nv為本文討論的所有方法提供了一個(gè)實(shí)現(xiàn)示例,以供比較:

CPU 僅限

CUDA 每組數(shù)據(jù)包的內(nèi)核數(shù)

CUDA 持久內(nèi)核

CUDA 圖

例如,圖 11 顯示了帶有 DPDK gpudev對(duì)象的 CUDA 持久內(nèi)核的時(shí)間線。

圖 11 使用 DPDK 的 CUDA 持久內(nèi)核的時(shí)間線示例gpudev objects

為了測(cè)量l2fwd-nv相對(duì)于 DPDK testpmd數(shù)據(jù)包生成器的性能,圖 12 中使用了兩個(gè)與 CPU 背靠背連接的千兆字節(jié)服務(wù)器: Intel Xeon Gold 6240R 、 PCIe gen3 專用交換機(jī)、 Ubuntu 20.04 、 MOFED 5.4 和 CUDA 11.4 。

圖 12 測(cè)試 l2fwd nv 性能的兩個(gè)千兆字節(jié)服務(wù)器配置

圖 13 顯示,當(dāng)為數(shù)據(jù)包使用 CPU 或 GPU 內(nèi)存時(shí),峰值 I / O 吞吐量是相同的,因此使用其中一個(gè)不會(huì)帶來固有的損失。這里的數(shù)據(jù)包被轉(zhuǎn)發(fā)而不被修改。

圖 13 峰值 I / O 吞吐量是相同的

為了突出不同 GPU 數(shù)據(jù)包處理方法之間的差異,圖 14 顯示了方法 2 ( CUDA 內(nèi)核/數(shù)據(jù)包集)和方法 3 ( CUDA 持久內(nèi)核)之間的吞吐量比較。這兩種方法都將數(shù)據(jù)包大小保持在 1024 字節(jié),在觸發(fā) GPU 工作以交換數(shù)據(jù)包的 MAC 地址之前,改變累積數(shù)據(jù)包的數(shù)量。

圖 14 GPU 數(shù)據(jù)包處理方法之間的差異

對(duì)于這兩種方法,每次迭代 16 個(gè)數(shù)據(jù)包會(huì)導(dǎo)致控制平面中的交互過多,并且無法達(dá)到峰值吞吐量。由于每次迭代 32 個(gè)數(shù)據(jù)包,持久化內(nèi)核可以跟上峰值吞吐量,而每次迭代的單個(gè)啟動(dòng)仍然有太多的控制平面開銷。對(duì)于每次迭代 64 和 128 個(gè)數(shù)據(jù)包,這兩種方法都能夠達(dá)到峰值 I / O 吞吐量。這里的吞吐量測(cè)量不是零丟失數(shù)據(jù)包。

結(jié)論

在本文中,我討論了使用 GPU 優(yōu)化內(nèi)聯(lián)數(shù)據(jù)包處理的幾種方法。根據(jù)應(yīng)用程序的需要,您可以應(yīng)用多個(gè)工作流模型,以減少延遲,從而提高性能。 DPDK gpudev 庫還有助于簡(jiǎn)化您的編碼工作,以在最短的時(shí)間內(nèi)獲得最佳結(jié)果。

其他需要考慮的因素,取決于應(yīng)用程序,包括在觸發(fā)數(shù)據(jù)包處理之前,在接收端積累足夠的數(shù)據(jù)包需要花費(fèi)多少時(shí)間,有多少線程可用于盡可能多地增強(qiáng)不同任務(wù)之間的并行性,以及內(nèi)核在執(zhí)行中應(yīng)該持續(xù)多長(zhǎng)時(shí)間。

關(guān)于作者

Elena Agostini與意大利國家研究委員會(huì)( National Research Council of Italy )合作,獲得了羅馬大學(xué)( University of Rome “ La Sapienza ”)計(jì)算機(jī)科學(xué)與工程博士學(xué)位。她目前是 NVIDIA 的高級(jí)軟件工程師。她的研究興趣包括高性能互連、 GPUDirect 技術(shù)、網(wǎng)絡(luò)協(xié)議、快速數(shù)據(jù)包處理和 DOCA 。 Elena 目前的重點(diǎn)是應(yīng)用于 Aeror 的 NVIDA GPUDirect 技術(shù),這是一組 SDK ,可實(shí)現(xiàn) GPU 加速、軟件定義的 5G 無線 RAN 。她也是 DPDK 的撰稿人。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106391
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4945

    瀏覽量

    131228
  • CUDA
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    14125
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    藍(lán)牙數(shù)據(jù)通道空口數(shù)據(jù)包

    ? 與藍(lán)牙廣播相對(duì)應(yīng),藍(lán)牙數(shù)據(jù)包是另一種Bluetooth LE packet。藍(lán)牙數(shù)據(jù)包是藍(lán)牙數(shù)據(jù)信道空中的簡(jiǎn)稱,表示空中
    發(fā)表于 06-03 10:51

    為UART、MCXA142實(shí)現(xiàn)ISP通信的主機(jī)端,發(fā)送Ping數(shù)據(jù)包并收到預(yù)期的響應(yīng),發(fā)送和接收數(shù)據(jù)包的典型順序是什么?

    我想為 UART、MCXA142 實(shí)現(xiàn) ISP 通信的主機(jī)端。我發(fā)送 Ping 數(shù)據(jù)包并收到預(yù)期的響應(yīng)。發(fā)送和接收數(shù)據(jù)包的典型順序是什么? 此刻,我的照片是這樣的: 1. 發(fā)送 Ping 2. 接收 Ping 響應(yīng) 3. 在成幀
    發(fā)表于 04-03 08:05

    I2C總線數(shù)據(jù)包結(jié)構(gòu)詳解

    。以下是I2C總線數(shù)據(jù)包結(jié)構(gòu)的詳解: 一、I2C總線數(shù)據(jù)包的基本組成 I2C總線上的數(shù)據(jù)傳輸以數(shù)據(jù)包為單位進(jìn)行,每個(gè)數(shù)據(jù)包包含起始信號(hào)、設(shè)備
    的頭像 發(fā)表于 01-17 15:46 ?811次閱讀

    華納云如何解讀WinMTR的丟數(shù)據(jù)?

    WinMTR顯示的丟數(shù)據(jù)是指在網(wǎng)絡(luò)路徑上,從你的計(jì)算機(jī)到目標(biāo)主機(jī)之間,數(shù)據(jù)包丟失的百分比。丟率是網(wǎng)絡(luò)穩(wěn)定性的一個(gè)重要指標(biāo),它可以幫助識(shí)別網(wǎng)絡(luò)中的問題點(diǎn),如路由器故障、網(wǎng)絡(luò)擁塞或配
    的頭像 發(fā)表于 12-30 16:51 ?572次閱讀

    mtu配置步驟詳解 mtu與數(shù)據(jù)包丟失的關(guān)系

    MTU(Maximum Transmission Unit)即最大傳輸單元,是指一種通信協(xié)議的某一層上面所能通過的最大數(shù)據(jù)報(bào)大小,單位是字節(jié)。MTU配置步驟及其與數(shù)據(jù)包丟失的關(guān)系如下: MTU配置
    的頭像 發(fā)表于 12-16 14:33 ?2572次閱讀

    利用P4與Vivado工具簡(jiǎn)化數(shù)據(jù)包處理設(shè)計(jì)

    為設(shè)備就緒的 RTL 代碼,以實(shí)現(xiàn)最佳的硬件實(shí)現(xiàn)。使用 VNP4,您可以顯著減少開發(fā)基于設(shè)備的數(shù)據(jù)包處理系統(tǒng)所需的工程工作量,同時(shí)仍能實(shí)現(xiàn)每 LUT 或每 RAM 的高性能。本白皮書概述了
    的頭像 發(fā)表于 12-04 09:55 ?694次閱讀
    利用P4與Vivado工具簡(jiǎn)化<b class='flag-5'>數(shù)據(jù)包</b><b class='flag-5'>處理</b>設(shè)計(jì)

    華納云:服務(wù)器平均響應(yīng)時(shí)間和數(shù)據(jù)包大小之間的影響

    服務(wù)器的平均響應(yīng)時(shí)間與數(shù)據(jù)包大小有一定的關(guān)系,但這只是影響響應(yīng)時(shí)間的眾多因素之一。具體來說,數(shù)據(jù)包大小對(duì)服務(wù)器響應(yīng)時(shí)間的影響可以從以下幾個(gè)方面來理解: 1.數(shù)據(jù)傳輸時(shí)間 影響: 較大的數(shù)據(jù)包
    的頭像 發(fā)表于 10-10 14:01 ?607次閱讀

    艾體寶干貨 OIDA之四:掌握數(shù)據(jù)包分析-分析的藝術(shù)

    本文是OIDA方法系列的最后一部分,重點(diǎn)介紹了數(shù)據(jù)包分析的“分析”階段。這一最后階段將剖析階段的精煉數(shù)據(jù)轉(zhuǎn)化為可操作的見解,使網(wǎng)絡(luò)管理員和安全專業(yè)人員能夠解決問題、優(yōu)化性能并增強(qiáng)安全性。分析是實(shí)現(xiàn)
    的頭像 發(fā)表于 09-24 11:47 ?476次閱讀
    艾體寶干貨 OIDA之四:掌握<b class='flag-5'>數(shù)據(jù)包</b>分析-分析的藝術(shù)

    艾體寶干貨 OIDA之一:掌握數(shù)據(jù)包分析-學(xué)會(huì)觀察

    OIDA方法論是數(shù)據(jù)包分析的有效手段。其中,觀察是至關(guān)重要的第一步。本文探討了如何通過明確目標(biāo)、選擇最佳捕獲點(diǎn)、確定捕獲時(shí)機(jī)以及使用合適工具來優(yōu)化這一過程,從而為后續(xù)分析過程奠定堅(jiān)實(shí)基礎(chǔ)。
    的頭像 發(fā)表于 08-26 16:21 ?415次閱讀
    艾體寶干貨 OIDA之一:掌握<b class='flag-5'>數(shù)據(jù)包</b>分析-學(xué)會(huì)觀察

    請(qǐng)問DCTCP與DCUDP 的登錄數(shù)據(jù)包和心跳數(shù)據(jù)包與服務(wù)器端是如何交互的?

    DCTCP與DCUDP的登錄數(shù)據(jù)包和心跳數(shù)據(jù)包與服務(wù)器端是如何交互的?
    發(fā)表于 07-25 06:37

    esp8266怎么做才能每秒發(fā)送更多的數(shù)據(jù)包呢?

    數(shù)據(jù)包的速度,即每秒大約 50 個(gè) UDP 數(shù)據(jù)包。高波特率唯一改變的是,在數(shù)據(jù)包較大的情況下,我可以以與輕量級(jí)數(shù)據(jù)包相同的速度發(fā)送數(shù)據(jù)包
    發(fā)表于 07-22 08:00

    如何在UART上制作一個(gè)偵聽器來接收數(shù)據(jù)包?

    我想在 UART 上制作一個(gè)偵聽器來接收數(shù)據(jù)包。 我該怎么做?有沒有任何形式的假多線程?
    發(fā)表于 07-19 09:54

    使用AT SAVETRANSLINK時(shí)UDP數(shù)據(jù)包丟失怎么解決?

    Android 發(fā)送一個(gè)小 UDP 數(shù)據(jù)包(5 字節(jié))。這個(gè)小數(shù)據(jù)包被我的微控制器在UART上接收到。微控制器將更大的數(shù)據(jù)包(可變長(zhǎng)度,約 100 字節(jié))發(fā)送回 UART。ESP在UART上接
    發(fā)表于 07-18 07:17

    ESP8266 UDP數(shù)據(jù)包具有額外的字節(jié),為什么?

    使用版本 AT version:0.21.0.0 SDK version:0.9.5,如果我使用 UDP 發(fā)送少于 18 個(gè)字節(jié),則 ESP8266 發(fā)送的數(shù)據(jù)包末尾有額外的字節(jié)。 IP 和 UDP
    發(fā)表于 07-18 06:59

    在Iphone4上運(yùn)行UDP接收器,數(shù)據(jù)包丟失怎么解決?

    ;255.255.255.255\",48899 現(xiàn)在使用 AT CIPSEND 每秒發(fā)送 1 個(gè)數(shù)據(jù)包 并非所有的Iphone似乎都受到嚴(yán)重的影響,但I(xiàn)phone4是最糟糕的。 在
    發(fā)表于 07-18 06:56