景安数据中心今天为您服务的客服是王志成QQ:537008063--24小时咨询电话:18937119537

郑州swarm-bzz机房、郑州swarm-bzz矿机、郑州swarm-bzz服务器、IPFS机房,swarm-bzz、IPFS郑州托管运营中心,景安网络,景安机房,河南IPFS矿机托管,IPFS机房数据中心,河南郑州服务器托管

当前位置: 主页 > 区块链 >

【chia科普】XCH怎么把电脑的资源一点点榨干!Chia如何实际提高绘图P盘效率

时间:2021-05-15 21:16来源:未知 作者:景安机房 点击:
i9-10850K,10C / 20T,最大持续提升时钟= 4.7 Ghz 64 GB DDR4 3600 RAM,CL18 2x2TB Samsung 980 Pro RAID0 @ PCIe 3.0 x 4(绘图驱动器) 1x1TB WD SN750 @ PCIe 3.0 x 4(分段驱动器) Ubuntu Server 20.04 LTS 我正在并行运行13个作业。完成大约需要8个

i9-10850K,10C / 20T,最大持续提升时钟= 4.7 Ghz

64 GB DDR4 3600 RAM,CL18

2x2TB Samsung 980 Pro RAID0 @ PCIe 3.0 x 4(绘图驱动器)

1x1TB WD SN750 @ PCIe 3.0 x 4(分段驱动器)

Ubuntu Server 20.04 LTS

我正在并行运行13个作业。完成大约需要8个小时,因此平均每天大约需要4 TiB。

在进一步介绍之前,我必须指出,对于任何认真的绘图员来说,真正的瓶颈是单核CPU性能,而不是存储性能。追求更好的存储是没有意义的,因为任何能够维持1500MB / s的读写吞吐量就足够了。如果对您来说还不够好,请购买其中两个并运行RAID0。

提高绘图速度的第一个关键是使用LINUX。不要浪费您昂贵的硬件在Windows中运行绘图,这10%的性能损失将很难收回,即使您做的一切正确,您的绘图速度仍然比我们的Linux用户慢10%。

如果您买得起2TB的驱动器,并且碰巧有两个空的M.2 NVMe插槽,则分别购买2个1TB的存储棒,并将其作为RAID0运行。AMD和Intel都支持主板人造RAID,或者您也可以在mduxm的LINUX中实现该功能,mdadm是许多人所信任的强大的软RAID。

获得暂存/缓冲驱动器。它不一定要很大,它可以是您所处的SATA SSD或某些NVMe SSD不能做的绘图驱动器。我为此使用WD SN750。一旦完成,我的地块便可以转储到该驱动器中,并且我的CPU可以在不到1分钟的时间内启动新的地块。CPU时间非常宝贵,您不希望CPU空转是因为绘图仪正在以125MB / s的传输速率将绘图卸载到HDD上。考虑一下,传输大小为101 GiB的地块将花费几乎16分钟的时间!为什么要浪费这16分钟?即使是SATA SSD,也可以极大地缩短整理和传输之间的停机时间。

天色已晚,我们将在明天讨论SMT或超线程。

更正了我说的错别字,我实际上并行绘制了14个,而不是实际绘制的13个。

让我们进一步谈谈这个话题。我要讨论的是SMT /超线程。

随着CPU时钟速度的提高,瓶颈本质上将来自许多其他设备,并且当这种情况发生时,CPU将被迫等待下一组指令。启用S​​MT后,可以将一个物理核心“拆分”为两个逻辑核心,以减少空闲时间并提高效率,但是两个逻辑核心不等于两个物理核心,这更像是将处理能力提高了30%(乐观地) 。lus83hsw8ey61

关于可以并行运行的最大作业数量的快速而肮脏的数学运算是将CPU的物理核心数量增加30%。在上面的示例中,i9 10850K是一个10核CPU,将其增加30%,我得到13,这是我可以作为单线程并行运行的最大作业数。

“您可以”并不意味着“您应该”。还有许多其他因素在起作用。你有足够的内存吗?并行使用13个作业会在高峰使用时吞噬40 GB以上的内存。你有足够的临时空间吗?您的分段驱动器可以跟上吗?等等,最好是分析您自己的吞吐量,尤其是在最后一个阶段,在该阶段结束绘图过程,并将绘图文件传输到目标位置。

最后,每个人都想知道我的打印设置和我的交错排列。完全复制我的设置是不可取的,因为每个人的机器运行都略有不同。我使用Plotman来管理我的交错排列,而Chia绘图参数为r = 6,b = 3600。其他所有内容均为默认设置。

那里有很多工作管理工具,所以我认为我在这里所做的工作可以模仿Plotman之外的其他人。让我们深入了解Plotman设置。

在Plotman中,一项简洁的功能是您可以控制进入阶段1、2、3、4(称为“主要”)7个子阶段(称为“次要”)的过程。由于阶段2:7是存储和RAM使用量的绝对最大值,因此很直观地说明应如何安排其工作。

——稍后会再详细说明交错和作业安排—–

好的,让我们谈谈交错和调度。这有点复杂,因为我想在阶段1以外的阶段中使用所有13个“核心”,因此需要使用一些技巧。

首先,转到Plotman设置并将最大作业限制设置为13。此类设置共有3种,tmp_dir限制= 13全局限制= 2(目前)交错限制= 2

然后,将主要限制设置为2,将次要限制设置为1(这将限制处于第一阶段的作业)。从r = 6开始,并行执行2个作业,现在您已经用完了13个“核心”中的12个。

下一步很重要,需要密切监视-当您看到先前安排的2个作业进入阶段2时,将Plotman中的全局限制更改为4,以在r = 6中启动另外2个作业,现在您有了2 + 12使用的核心数量超过了我们拥有的核心数量,这是13个,但这是不可避免的。

再次编辑该配置,为其余9个作业设置r = 4,然后一次将全局限制扩展2(现在应该是6),最终达到13,所以当下一阶段开始时,您将得到2 * 4 + 4 =使用12个内核。

这实际上是在预先使用更多的内核,然后在阶段2释放这些内核时,便为CPU提供了更多的绘图作业以充分利用它。最后,您应该在第2阶段及以后的阶段中拥有13个作业,或者在第1阶段中使用4个或更少的内核拥有1个作业,而在第2-4阶段中的其他工作仅使用1个内核。

第一阶段大约需要 大约需要10-12ks,而整个过程需要27-30ks,因此可以在完成一项工作的同时启动两项工作。在三个生成周期之后,您将达到全局极限,其中第一阶段可能有两个作业,而第二阶段2-4中则有11个作业。

这是我的IO和CPU使用率的屏幕截图。

u1dpivob1cw61

usr = CPU读/写=临时磁盘IO

编辑:修复了一些语法错误和更好的格式。

编辑:同一个Chia农场主 / u / FJDNMAN 指出,我对Plotman的设置有误解,现已更正。

Ubuntu crontab任务可将文件从暂存驱动器移动到目标驱动器:

$ sudo crontab -e

* * * * * [ $(ls -al #staging_dir | grep plot | wc -l) -gt 0 ] && [ $(ps aux | grep mv | grep -v grep | wc -l) -eq 0 ] && mv #staging_dir_plots #final_dir 

将#staging_dir和#final_dir替换为您自己的路径,例如/ mnt / staging和/ mnt / dest

将#staging_dir_plots替换为#staging_dir / *。plot,例如/mnt/staging/*.plot

可读格式:

[检查是否有绘图文件] && [检查mv命令是否未运行] && [移动文件]

Windows PowerShell脚本,用于将文件从暂存驱动器移动到目标驱动器:
## Powershell file buffering script
## needs administrator privileges
## v0.5

while ($true)
{   
    $check_interval = 30 # in seconds
    $bfr_folder = 'C:\' # SSD buffer folder
    $farm_folder = 'D:\' # Destination/Farming folder
    $chia_running = ((get-process -Name chia).path | findstr "unpacked").count
    $current_time = (Get-Date -f "HH:mm")
    $current_date_time = (Get-Date -f "MM-dd-HH:mm:ss")
    $count = (Get-ChildItem -Path $bfr_folder -Force | Where-Object {$_.Extension -eq ".plot"}).count

    if ($count -gt 0)
    {
        Write-Host $current_time $count "new plots found. Beginning Transfer"
        robocopy $bfr_folder $farm_folder /MOV *.plot ## change your directories accordingly. FROM -> TO
    }
    else
    {   
        Write-Host $current_date_time":" "There are" $chia_running "Chia plotters running."
        Write-Host $current_date_time":" $count "plot files found."
        [int]$Time = $check_interval
        $Length = $Time / 100
        For ($Time; $Time -gt 0; $Time--) {
        $min = [int](([string]($Time/60)).split('.')[0])
        $text = " " + $min + " minutes " + ($Time % 60) + " seconds left"
        Write-Progress -Activity "No new files... Watiting for..." -Status $Text -PercentComplete ($Time / $Length)
        Start-Sleep 1  ## countdown timer for checking folder activity, default = plot interval, line 31
        }
    }
}

用法:打开一个文本编辑器,将其另存为您喜欢的名称。ps1,以管理员权限打开Windows PowerShell,然后运行脚本。不要忘记将策略设置为允许脚本运行。

微信扫一扫添加微信好友


(责任编辑:景安机房 电话18937119537微信同号)
 
郑州市景安网络科技股份有限公司
联系人:王志成 手机:18937119537(微信同号)
QQ:客服QQ537008063  客服QQ725017803
地址:郑州市经开区经北三路河南通信产业园
官网:www.zzidcc.com 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容
24小时热线:
 18937119537
景安QQ:
 725017803