最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

dask.LocalCluster參數(shù)解析

2023-06-22 20:28 作者:韭菜怎么賣  | 我要投稿

n_workers:節(jié)點(diǎn)數(shù)量,默認(rèn)是None


threads_per_worker:節(jié)點(diǎn)線程數(shù),默認(rèn)是None


processes:是否開進(jìn)程并發(fā),默認(rèn)是True


? ? dask的源碼是這樣的:

????然后我們看看n_wokers和threads_per_worker的處理邏輯:

? ? nprocesses_nthreads的源碼:

????CPU_COUNT的源碼:

????所以實(shí)際上你不用可以設(shè)置n_workers和threads_per_worker,它會(huì)自動(dòng)利用到你所有的cpu核心線程數(shù)并且自動(dòng)分配,比如六核十二線程的cpu,cpu_count = 12,它會(huì)分配成n_workers = 4 / threads_per_workers = 3。

????但你需要注意的是,這樣的分配是一定不會(huì)把cpu性能跑滿的,因?yàn)楸举|(zhì)上對(duì)于12線程的cpu,如果希望它們同時(shí)并發(fā)地工作,能真正并發(fā)的最大進(jìn)程數(shù)量就是12,所以只有當(dāng)n_workers = 12的情況下,理論上你的cpu負(fù)載才可能達(dá)到100%。n_workers = 4?/?threads_per_workers = 3本質(zhì)上是4個(gè)節(jié)點(diǎn)使用進(jìn)程,每個(gè)節(jié)點(diǎn)進(jìn)程下開3個(gè)線程,線程之間是競爭同一個(gè)進(jìn)程資源的。所以理論上假設(shè)你空閑時(shí)候的cpu占用是10%,那么你最高的cpu占用只能達(dá)到 10% + (4 / 12) = 43.3%?,你的并發(fā)也會(huì)更慢。

????所以實(shí)際上如果你希望你的cpu滿載,那么n_workers = cpu_count,也就是cpu線程數(shù),而threads_per_worker就設(shè)為1,多于1我認(rèn)為是沒有意義的,它們競爭的是同一個(gè)進(jìn)程的資源,況且python還有GIL。以下是我的項(xiàng)目代碼在不同n_workers和threads_per_worker下的運(yùn)行速度(六核十二線程):

????當(dāng)然更少的n_workers意味著在固定內(nèi)存大小的情況下,每個(gè)節(jié)點(diǎn)的工作內(nèi)存會(huì)更大,更大的工作內(nèi)存能夠避免dask在工作過程中出現(xiàn)memory leak的warning。


memory_limit:單個(gè)節(jié)點(diǎn)內(nèi)存限制,

????不設(shè)就自適應(yīng),默認(rèn)把你剩下能用的內(nèi)存平均劈給每一個(gè)節(jié)點(diǎn)

????None或者0就不設(shè)限,能直接給你內(nèi)存擠爆


scheduler_port: 調(diào)度器的監(jiān)聽端口

????默認(rèn)是0,就是隨機(jī)選端口

????本質(zhì)上它在哪個(gè)端口不重要,因?yàn)槲覀冎缓蚫ashboard交互


silence_logs:日志等級(jí),默認(rèn)是logging.WARN

????所以當(dāng)你不知道怎么debug dask報(bào)出來的各種各樣的warning時(shí),你就把它調(diào)高,看不見就等于沒有


host:調(diào)度器監(jiān)聽的主機(jī)名,默認(rèn)是localhost

? ? 本地集群下就不用管,調(diào)度器就在本機(jī)


ip:deprecated


dashboard_address:可視化界面地址

????模式是本機(jī)下的8787端口


worker_dashboard_address:可視化界面下的worker界面的地址

????默認(rèn)禁用了該功能,因?yàn)楸举|(zhì)上主界面就可以點(diǎn)到worker界面

????當(dāng)然一般情況下我們就看主界面就行

????worker界面會(huì)詳細(xì)顯示每個(gè)節(jié)點(diǎn)的資源狀況,一般情況不看那么細(xì)


diagnostics_port:deprecated


asynchronous:是否涉及異步

????也就是當(dāng)你的并發(fā)操作是異步函數(shù)的時(shí)候,需要把它設(shè)為True

????其他情況下最好保持是False


worker_class:節(jié)點(diǎn)類

????本質(zhì)上它就是個(gè)pipe line,你可以重寫里面的get_data和compute方法來實(shí)現(xiàn)一些管道方法,比如數(shù)據(jù)預(yù)處理、結(jié)果存儲(chǔ)

????不過一般我們還是把邏輯寫在外部,可讀性會(huì)高一點(diǎn)

????在使用進(jìn)程作為節(jié)點(diǎn)的情況下,重寫的父類叫做Nanny,否則重寫的父類叫Worker



dask.LocalCluster參數(shù)解析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
伊金霍洛旗| 鲜城| 玉山县| 社会| 海盐县| 咸丰县| 张家界市| 黔西| 石泉县| 浦东新区| 松原市| 荆州市| 武穴市| 武汉市| 蓬莱市| 南昌市| 德惠市| 响水县| 乐东| 宜宾市| 黔西县| 怀集县| 明溪县| 屏边| 广东省| 南充市| 厦门市| 新营市| 泸溪县| 盐山县| 体育| 定结县| 罗源县| 项城市| 深水埗区| 新安县| 同德县| 青冈县| 万宁市| 皮山县| 蛟河市|