偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

遞歸數(shù)據(jù)效率低怎么辦?用并行計算!

開發(fā)
對于比較復雜的互聯(lián)網(wǎng)應用業(yè)務場景,由于數(shù)據(jù)量極大,對于數(shù)據(jù)處理的速度會要求非常高。要大幅提升算法的效率,最直接的方法就是:使用并行計算。但是,并行計算的學習成本較高,我們需要一個通俗易懂的例子來直接看到并行計算的優(yōu)勢。下面,淘寶網(wǎng)高級專家千峰就編寫了這樣的一個例子,51CTO受邀將這篇文章分享給大家。

 

對于比較復雜的互聯(lián)網(wǎng)應用業(yè)務場景,比如海量數(shù)據(jù)商品搜索、廣告點擊算法、用戶行為挖掘、關(guān)聯(lián)推薦模型等等,由于數(shù)據(jù)量極大,對于數(shù)據(jù)處理的速度會要求非常高。要大幅提升算法的效率,最直接的方法就是:使用并行計算。

但是,并行計算有一個很大的問題:傳統(tǒng)的程序都是基于單機編寫的。要更改為多機并行的程序,需要耗費較大的學習成本。尤其在真實的場景當中,業(yè)務本身很復雜,初學者一頭扎進去,容易繞暈了頭。

因此,我們需要一個通俗易懂的例子來直接看到并行計算的優(yōu)勢。

下面,淘寶網(wǎng)高級專家千峰就編寫了這樣的一個例子,51CTO受邀將這篇文章分享給大家。

文章概述

問題:

請寫一個程序,輸入M,然后打印出M個數(shù)字的所有排列組合(每個數(shù)字為1,2,3,4中的一個)。比如:M=3,輸出:

1,1,1
1,1,2
……
4,4,4

共64個

注意:這里是使用計算機遍歷出所有排列組合,而不是求總數(shù),如果只求總數(shù),可以直接利用數(shù)學公式進行計算了。

傳統(tǒng)的單機解決方案:

1)單機遞歸

將n(1<=n<=4)看做深度,輸入的m看做廣度。當m數(shù)字很大時,會超出單臺機器的計算局限導致緩慢。

2)單機迭代

求m個數(shù)字的排列組合,實際上都可以在m-1的結(jié)果基礎(chǔ)上得到。但是,當m=14的時候,結(jié)果已經(jīng)上億了。無論以什么格式存,最終在單機上都會內(nèi)存溢出。

分布式并行計算解決方案:

1)多機遞歸

這是本篇文章的重點。

核心思想:重新設(shè)計算法,按多機進行拆分和合并,利用并行計算優(yōu)勢去完成結(jié)果。

按照并行計算的算法,n臺計算機可以將遞歸降一級,n*n臺計算機可以將遞歸降兩級。理論上,只要機器足夠多,就能持續(xù)降低遞歸的復雜度。

運行步驟:

多機遞歸

使用fourinone框架設(shè)計分布式并行計算。整個框架通過一個ParkServerDemo做整體的工人注冊和分布式協(xié)調(diào),中間有作為包工頭的CombCtor(分配工作+統(tǒng)計結(jié)果),最下面有多個CombWorker作為工人實現(xiàn)(干活兒+返回結(jié)果)。

文中有多機遞歸實現(xiàn)的完整代碼。

2)多機迭代

本文提供了三個多機迭代的思路。相對多機遞歸的方式,多機迭代的方式在這個例子中并不高效,因此沒有提出實現(xiàn)方式。

對這篇文章感興趣,可點擊這里查看全文

 

責任編輯:yangsai 來源: 作者投遞
相關(guān)推薦

2010-04-21 09:23:09

.NET 4

2010-03-22 14:45:40

云計算

2017-04-24 12:07:44

Spark大數(shù)據(jù)并行計算

2021-06-01 05:51:37

云計算并行計算分布式計算

2011-04-20 17:15:21

并行計算

2009-12-18 09:38:27

.NET 4.0并行計

2011-04-21 09:13:14

并行計算

2012-08-17 09:32:52

Python

2010-03-19 17:23:45

云計算

2014-04-24 10:25:15

2024-04-22 08:17:23

MySQL誤刪數(shù)據(jù)

2019-04-18 09:15:05

DaskPython計算

2014-01-21 11:16:59

MPI并行計算

2020-12-18 09:23:41

KubernetesDocker

2020-03-23 10:42:56

團隊協(xié)作阿里

2010-03-11 15:23:44

Visual Stud

2010-06-10 08:37:04

并行計算

2011-08-29 10:40:02

浪潮英特爾并行計算

2023-07-10 13:51:45

測試并行計算框架

2022-02-09 12:11:57

數(shù)據(jù)丟失數(shù)據(jù)恢復硬盤
點贊
收藏

51CTO技術(shù)棧公眾號