1. 程式人生 > 其它 >面向分散式數值計算場景中的傳輸資料壓縮

面向分散式數值計算場景中的傳輸資料壓縮

看了博文:

https://juejin.cn/post/6969787751084654605

本文寫下自己的學習、思考和設想。

=================================================

背景介紹:

傳統的分散式數值計算一般要求極高的實時性,尤其是對於小資料量傳輸的低時延,比較典型的應用場景就是物理學、航天等領域中的流體力學計算問題、空氣動力學問題、天氣預測問題等等,這些都是比較傳統的場景,這樣的場景往往不需要較多的輸入資料而是需要較為複雜的高耦合的計算,我們可以把這種場景簡單的看做為對一個極為複雜的數學公式進行求解計算的過程,在這樣的應用中我們所使用的計算正規化一般是MPI這種訊息傳遞的計算方法。但是近些年來由於網際網路的高速發展產生了巨大的生成資料,由此再次興起了以資料為驅動的機器學習正規化,與傳統的計算正規化所不同,機器學習的計算可以以資料為區分點來劃分計算,這型別的資料一般資料量較大,而且資料結構也較為複雜,同時由於計算的耦合性沒有傳統的計算那麼高,資料的傳輸既可以使用同步的方式也可以使用非同步的方式,甚至很多情境下對時延要求也不是很高,而又有的場景下對於併發性有要求,對於這樣的需求傳統的MPI計算正規化就不是很適用了,這樣也就再次興起了RPC計算正規化。總結的說下,傳統的以計算結構為切分的分散式計算適合適用MPI通訊方式,而以資料為驅動和劃分的分散式計算則適合使用RPC這樣的通訊方式。

RPC現狀:

現在設計的RPC通訊方式雖然是資料驅動的分散式計算所常用的方式,但是由於資料型別和場景需求的不同還可以分為偏重計算業務和單純偏重通訊為主。本文所要討論的就是面向分散式數值計算場景,這樣場景中傳遞的資料型別比較單一,基本可以視為以float型別為主的資料,如果使用python語言的話我們可以把傳遞的資料全部看做是numpy的矩陣資料,由於本人平時面對的應用場景就是以這個為主,因此本文就是以此為示例前提來進行討論的。