全球最大交易所币安,国区邀请链接:https://accounts.binance.com/zh-CN/register?ref=16003031 币安注册不了IP地址用香港,居住地选香港,认证照旧,邮箱推荐如gmail、outlook。支持币种多,交易安全!
买好币上KuCoin:https://www.kucoin.com/r/af/1f7w3 CoinMarketCap前五的交易所,注册友好操简单快捷!
目前不清退的交易所推荐:
1、全球第二大交易所OKX欧意
国区邀请链接: https://www.sjdncsswbr.com/zh-hans/join/1837888 币种多,交易量大!
国际邀请链接:https://www.okx.com/join/1837888 注册简单,交易不需要实名,新用户能开合约,币种多,交易量大!
2、老牌交易所比特儿现改名叫芝麻开门 :https://www.gate.win/signup/649183 注册成功之后务必在网页端完成 手机号码绑定,大陆号码输入+086即可 ,实名认证。推荐在APP端实名认证初级+高级更方便上传。网页端也可以实名认证。
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将被迫等待下一组指令。启用SMT后,可以将一个物理核心“拆分”为两个逻辑核心,以减少空闲时间并提高效率,但是两个逻辑核心不等于两个物理核心,这更像是将处理能力提高了30%(乐观地) 。
关于可以并行运行的最大作业数量的快速而肮脏的数学运算是将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使用率的屏幕截图。
usr = CPU读/写=临时磁盘IO
编辑:修复了一些语法错误和更好的格式。
编辑:同一个Chia农场主 / u / FJDNMAN 指出,我对Plotman的设置有误解,现已更正。
$ 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命令是否未运行] && [移动文件]
## 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,然后运行脚本。不要忘记将策略设置为允许脚本运行。