Flow Size Prediction with Short Time Gaps

Flow Size Prediction with Short Time Gaps

網絡流量預測新突破:微秒級短流預測的可行性分析

在當今數據中心和云計算環境中,網絡流量的精準預測是優化資源分配、實現智能負載均衡的關鍵。傳統流量和預測聚焦于長時間間隔(如秒級或分鐘級)的聚合流量,對于微秒到毫秒級的短流預測研究較少。本文提出了一種基于低級別事件特征的短流預測方法。

研究背景:為什么短流預測如此重要?

現代網絡控制功能(如流量調度、擁塞避免)需要實時響應能力。例如,在流量控制中,若能提前預知下一個流的大小,可動態調整鏈路帶寬分配,或者可將其分類為“大象流”或“小鼠流”,并分配不同優先級,避免鏈路出現流量過載等現象,短時間間隔(如微秒級)下的流動態變化極快,傳統基于統計或深度學習的預測方法難以捕捉瞬時模式。

  • 短流:時間間隔短(微秒級),數量多,常見于分布式計算任務(如Spark、PyTorch)
  • 長流:時間間隔長(毫秒級),數量少,但流量大

秒級短流預測具體實現

數據收集器架構圖如下,主要有三個模塊組成,分別是Packet Traces、Polling Traces以及Event Traces。

在這里插入圖片描述

數據收集器

  • Packet Traces模塊——流提取
采集方法:

PF_RING庫(第三方的內核數據包捕獲接口,類似于libpcap),該數據包捕獲機制目標是降低內核協議棧開銷,提高數據包處理性能,通過內核旁路方式直接獲取網卡數據包,采用Zero Copy 機制 避免不必要的內存拷貝,核心架構由mmap、Polling以及Ring Buffer組成。核心如下:

在這里插入圖片描述

  • 應用調用mmap進行內存映射;
  • 數據包到達網卡后,處理器以輪詢的方式將數據包寫到環形buffer;
  • 應用調用read從環形buffer里面讀數據包;

具體實現源碼分析地址:深入理解PF_RING內核數據包捕獲接口-CSDN博客

PF_RING庫官方倉庫地址:ntop/PF_RING: High-speed packet processing framework

采集的指標:
源地址
目的地址
數據包大小
數據包到達時間
  • Polling Traces模塊–跟蹤主機負載
采集方法:

定期輪詢操作系統的/proc目錄,該目錄包括各種文件和目錄,每個文件和目錄提供有關系統資源利用的各個方面的信息,具體保存在/proc/[process_id]/stat文件。

采集指標:
主機可用內存
進程占用的物理內存
進程內核態運行時間
  • Event Traces模塊

采集方法:

eBPF技術

采集指標:

掛載點選擇tcp_sendmsg,指標是tcp_sendmsg觸發次數

流量預測建模

流量采集

  • 從數據包跟蹤(packet trace)中提取流,每個數據包包含源 IP、源端口、目的 IP、目的端口、數據包大小和到達時間等信息。
  • 按照源 IP+端口 和 目的 IP+端口對數據包進行分組,形成通信路徑(例如,IpA:portA → IpB:portB)。
  • 在同一條通信路徑上,如果兩個數據包之間的時間間隔大于設定的閾值,則認為屬于不同的流。
  • 該流提取過程會針對不同的流時間間隔重復進行,以確保數據集覆蓋多種時間粒度。

特征提取

流量特征來自三類數據源,每種數據源采用不同的特征提取方法:

  1. 網絡特征
    • 通過聚合每個流中的數據包信息提取特征,例如:
      • 網絡輸出流量(network-out):從工作負載執行開始到流開始前,發送到目標主機的所有數據包總大小。
      • IP 和端口信息(src_ip、dest_ip、src_port、dest_port)。
      • 流時間間隔(gap)(流與流之間的時間間隔)。
  2. 輪詢數據特征
    • 取流開始前最后一次采集到的系統狀態值,例如:
      • memavailable(主機上可用內存)。
      • stime(工作負載進程的內核態運行時間)。
      • rss_memory(進程使用的物理內存)。
  3. 基于事件的特征
    • 提取流開始前最近發生的事件信息:
      • 最后一次事件的值(如某個系統事件的狀態)。
      • 事件到流開始的時間間隔(tt_featurename)

為了考慮歷史流量對當前流量的影響,將前 K(K=5)個流的特征加入當前流的特征集中。額外加入歷史流量大小作為特征,即前 t 個流量的大小。


流量預測任務有兩種方式:

  1. 基于回歸
    • 預測下一個流的精確大小,屬于回歸問題,每個流的目標值是下一個流的大小
  2. 基于分類
    • 將流量分為小流和大流,形成二分類問題:
      • 1 代表大流。
      • 0 代表小流。
    • 數據集中可能存在類別不均衡問題(例如,在 Spark 負載下,5000 微秒時間間隔內大流占 40%)。

模型算法——CatBoost算法

優勢

(1)提供了相對較小的訓練數據集的魯棒結果,使其適用于數據收集時間較短的任務,也適用于低延遲環境(例如數據中心)。

(2)需要最小的模型優化和超參數調優。

(3)允許我們識別影響每個工作負載中生成的流大小的主機方面。

CatBoost原理部分:這次終于徹底理解了 CatBoost 原理及應用-CSDN博客

實驗部分

在AWS環境中部署了3節點集群,分別運行Spark(EMR實例)和PyTorch(EC2 GPU實例)工作負載。通過PF_RING庫捕獲網絡包元數據,eBPF跟蹤系統調用事件(如send()malloc()),并定期輪詢/proc目錄獲取主機狀態。實驗覆蓋500–30000微秒的流時間間隔,結果顯示:

  • Spark SVM:擴展特征集使R2提升0.2,事件特征(如tcpsendmsg)占比超30%。
  • PyTorch GPT:網絡特征主導預測,MAPE低至2%,表明參數同步流量高度規律。
  • 分類任務:直接分類模型F1分數(0.85)顯著優于閾值回歸方法(0.65)。

可取之處:

1、數據采集部分考慮的比較全面,多維度采集,解決單一數據源的局限性。考慮了影響網絡流量的多種原因,覆蓋了網絡流量的全部生命周期:

(1)網絡包追蹤:直接捕獲流量結果層面的信息(如包大小、時間間隔、IP/端口)。但是僅能反映“已發生”的流量行為,無法解釋流量生成的原因(如主機資源狀態、應用邏輯觸發)。不足之處在于:若某流量突增,網絡包數據只能顯示流量大小和時間,但無法回答“為何突增”——是內存不足觸發了數據落盤?還是某個函數調用觸發了參數同步?

(2)輪詢追蹤:捕獲系統資源狀態(內存、CPU、磁盤I/O),反映主機負載對流量生成的間接影響。因為內存不足時會導致頻繁換頁,間接影響網絡發送速率,高CPU利用率可能伴隨計算密集型任務的通信需求增加。

(3)事件追蹤(eBPF):選擇流量生成的最后一步(數據即將發送到網絡前調用),掛載**tcp_sendmsg** 采集五元組信息,數據包大小、時間戳。

2、采用靜態閾值法對流量進行分類:

  • 大象流(Elephant Flows):若某一流在傳輸過程中占用的帶寬超過當前鏈路總帶寬的10%,則被標記為大象流。
  • 小鼠流(Mice Flows):帶寬占比小于或等于10%的流

流量帶寬計算

  • 對于每個流,計算其總傳輸數據量(字節)和持續時間(微秒)。
  • 帶寬占用率公式:
    帶寬占比 = (流總大小(字節) × 8 ) / 鏈路帶寬( b p s ) × 流持續時間(秒) 帶寬占比=(流總大小(字節)×8)/鏈路帶寬(bps)×流持續時間(秒) 帶寬占比=(流總大小(字節)×8/鏈路帶寬(bps×流持續時間(秒)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72736.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72736.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pandas——to_datatime用法

Pandas中pd.to_datetime的用法及示例 pd.to_datetime 是 Pandas 庫中用于將字符串、整數或列表轉換為日期時間(datetime)對象的核心函數。它在處理時間序列數據時至關重要,能夠靈活解析多種日期格式并統一為標準時間類型。以下是其核心用法及…

數學建模:MATLAB強化學習

一、強化學習簡述 強化學習是一種通過與環境交互,學習狀態到行為的映射關系,以獲得最大積累期望回報的方法。包含環境,動作和獎勵三部分,本質是智能體通過與環境的交互,使得其作出的動作所得到的決策得到的總的獎勵達…

【leetcode hot 100 160】相交鏈表

解法一:(哈希集合)利用HashSet保存一個鏈表的值,循環另一個列表,在HashSet中尋找該值。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x…

19. 大數據-技術生態簡介

文章目錄 前言一、Hadoop介紹1. 簡介2. Hadoop發展史3. Hadoop現狀 二、Hadoop特性1. Hadoop國外應用2. Hadoop國內應用 三、Hadoop架構變遷1. 發行版本2. Hadoop架構變遷(1.0-2.0變遷)3. Hadoop架構變遷(3.0新版本)4. 綜述 四、技術生態體系 前言 大數據(Big Data…

DeepSeek 助力 Vue3 開發:打造絲滑的表格(Table)示例3: 行選擇

前言:哈嘍,大家好,今天給大家分享一篇文章!并提供具體代碼幫助大家深入理解,徹底掌握!創作不易,如果能幫助到大家或者給大家一些靈感和啟發,歡迎收藏關注哦 💕 目錄 Deep…

VsCode 快捷鍵備忘

移動光標及選擇文本 Ctrl ← / → :以單詞為單位移動游標Home / End:光標移到行首/行位Ctrl Home / End:光標移到文件首和文件尾Ctrl Shift \:在匹配的分隔符之間跳轉 配對的分隔符 是指分隔代碼元素的字符,比如字…

用數據喚醒深度好眠,時序數據庫 TDengine 助力安提思腦科學研究

在智能醫療與腦科學快速發展的今天,高效的數據處理能力已成為突破創新的關鍵。安提思專注于睡眠監測與神經調控,基于人工智能和邊緣計算,實現從生理體征監測、智能干預到效果評估的閉環。面對海量生理數據的存儲與實時計算需求,安…

SQL_語法

1 數據庫 1.1 新增 create database [if not exists] 數據庫名; 1.2 刪除 drop database [if exists] 數據庫名; 1.3 查詢 (1) 查看所有數據庫 show databases; (2) 查看當前數據庫下的所有表 show tables; 2 數據表 2.1 新增 (1) 創建表 create table [if not exists…

Qt 開發 OpenGL 程序流程

在用 Qt 開發 OpenGL 程序時,整體的工作流程分為幾個關鍵步驟,最終目的是將數據傳遞給 GPU 并開始渲染。這一過程涉及到從代碼編寫到與著色器連接的多個操作,下面我將詳細講解每個步驟。 1. 設置 Qt 項目 這個步驟是準備工作,你首…

長短期記憶網絡(LSTM)學習指南

長短期記憶網絡(LSTM)學習指南 1. 定義和背景 長短期記憶網絡(Long Short-Term Memory, LSTM)是一種遞歸神經網絡(RNN)的變體,旨在解決傳統RNN在處理長期依賴關系時遇到的梯度消失或爆炸問題。…

仿12306項目(4)

基本預定車票功能的開發 對于乘客購票來說,需要有每一個車次的余票信息,展示給乘客,供乘客選擇,因此首個功能是余票的初始化,之后是余票查詢,這兩個都是控臺端。對于會員端的購票,需要有余票查詢…

第十二屆藍橋杯 異或數列

原題: https://www.acwing.com/problem/content/3424/ 題目大意: A、B兩人的數初始值均為0,他們輪流從X數組中取數,可以將該數與自己的數或對方的數進行異或操作,A先手,當X中的數被取完的時候誰的數大誰…

微服務的認識與拆分

微服務架構通過將應用分解為一組小的、獨立的服務來實現,每個服務圍繞特定業務功能構建,并能獨立部署與擴展。這種架構增強了開發靈活性、提高了系統的可維護性和擴展性,使得團隊可以更快地響應變化和市場需求。 目錄 認識微服務 單體架構 …

高效編程指南:PyCharm與DeepSeek的完美結合

DeepSeek接入Pycharm 前幾天DeepSeek的充值窗口又悄悄的開放了,這也就意味著我們又可以絲滑的使用DeepSeek的API進行各種輔助性工作了。本文我們來聊聊如何在代碼編輯器中使用DeepSeek自動生成代碼。 注:本文適用于所有的JetBrains開發工具&#xff0c…

項目中同時使用Redis(lettuce)和Redisson的報錯

溫馨提示:圖片有點小,可以放大頁面進行查看... 問題1:版本沖突 直接上圖,這個錯表示依賴版本不匹配問題,我本地SpringBoot用的是2.7,但是Redisson版本用的3.32.5。 我們通過點擊 artifactId跟進去 發現它…

Jackson 詳解

目錄 前言 Jackson 是 Java 生態中最流行的 JSON 處理庫之一,廣泛應用于 RESTful API、數據存儲和傳輸等場景。它提供了高效、靈活的 JSON 序列化和反序列化功能,支持注解、模塊化設計和多種數據格式(如 XML、YAML)。本文將詳細介…

H.264,H.265,H.266標準技術改進

關于H.264,H.265,H.266相關資料鏈接: 標準及中文資料鏈接 視頻編碼中的主要技術 視頻編碼的目標是在保證視頻質量的前提下,盡可能減少數據量。以下是視頻編碼中的核心技術: 塊劃分(Block Partitioning) 將視頻幀劃分…

clickhouse安裝路徑

《ClickHouse安裝路徑指南》 大家好,今天我們將一起學習如何在電腦上找到和理解ClickHouse的安裝路徑。這將幫助學生、科研人員以及任何對數據庫技術感興趣的人更好地管理他們的數據查詢工作。 ClickHouse是一款列式存儲數據庫管理系統(DBMS&#xff09…

時序數據庫 InfluxDB 3.0 版本性能實測報告:寫入吞吐量提升效果驗證

亮點總結: TSBS 測試表明,對于少于 100 萬臺設備的數據集,InfluxDB OSS 3.0 的數據寫入速度實際上比 InfluxDB OSS 1.8 更慢。 對于 100 萬臺及以上設備的數據集,InfluxDB OSS 3.0 的數據寫入性能才開始超過 InfluxDB OSS 1.8。…

AS32X601雙核鎖步MCU技術優勢分析

AS32X601是國科安芯公司研制的一系列基于32位RISC-V指令集車規級MCU處理器芯片。主頻高達180MHz,支持雙核鎖步架構,基于軟錯誤防護技術加持,顯著提高芯片安全性能。產品具有高安全、低失效、多IO、低成本、抗輻照等特點。 一、功能安全與可靠…