绘图员Plotman不是核心代码库的一部分是用于管理Chia绘图操作的工具

什么是绘图员

Plotman是用于管理Chia绘图操作的工具。它允许您配置参数以计划打印作业,通常以交错,无休止的顺序进行。它将在多个温度(-t)和目标(-d)驱动器上平衡绘图作业的负载。它提供了将完整地块从绘图机转移到农业机械的设施(一种称为“存档”的操作)。它还提供了一些用于观察绘图作业进度的工具,并有助于对绘图作业过程进行操作(例如,暂停/恢复/终止)。

Plotman是一个高级用户工具,可以使某些类型的绘图自动化更加容易。它不是使初学者更容易绘图的自动工具。强烈建议您在使用Plotman之前,先获得手动运行绘图作业的经验,以了解绘图的工作方式以及您的硬件如何响应。

Plotman不是Chia核心代码库的一部分,也不与Chia Network正式相关。它很大程度上是一个Alpha软件,正在开发中,其工作方式的某些方面仅是历史性的事故,现在这里写的内容可能在三个月内不适用。它是完全由志愿者在业余时间开发的(他们都有日间工作)。它是在Linux上开发的,但似乎可以在MacOS上很好地工作,并且有些人已经在Windows的WSL下运行它。

情节:动机和运作方式

Plotman是基于一些假设而设计的。这些假设可能是最优的,也可能不是最优的,但它们推动了初始设计。

Plotman的主要用途是plotman Interactive,它执行以下功能:

您还可以使用plotman plot仅运行绘图作业生成,plotman归档仅运行存档。还有其他命令行工具可用于检查和操作正在运行的绘图作业。

有关plotman命令功能的完整和最新信息,请使用内置的命令行帮助选项plotman –help。

安装绘图仪

Linux的安装:

Plotman假定系统上存在可运行的Chia安装。通过键入source / path / to / your / chia / install / activate激活您的chia环境。然后,使用以下命令安装Plotman:

> pip install –force-reinstall git + https:///ericaltendorf/ plotman @ mainPlotman将在计算机上基于OS的默认位置中查找plotman.yaml。要创建默认的plotman.yaml并显示其位置,请运行以下命令:

> plotman config generate

用作起点的默认配置文件位于此处。就是这样!现在,您可以通过键入plotman version来验证其版本来运行Plotman。运行plotman –help了解可用的命令。配置和运行Plotman Interactive方向盘和驱动器

Plotman假定您配置一个或多个“ tmp”目录(用于-t的快速目录)和一个或多个“ dst”目录(Chia绘图仪将在其中发出完成的绘图,即-d目录)。请注意,如果使用存档功能,则“目的地”目录不是最终目的地,而只是地块所在的缓冲区,直到存档作业可以将其移至农民。

Plotman根据全局系统状态(例如,已经运行了多少个作业,何时启动了最后一个启动的作业)以及所考虑的tmp驱动器的状态(例如,已经在该系统上运行了多少个作业)来调度作业tmp dir,他们取得了多少进展)。

通常的用例是将tmp目录设置为正在使用的块设备(即物理驱动器或RAID设备)的安装点。大多数Plotman文档都假定此用例。但是,这不是必需的,在某些高级情况下,可能有理由将一个块设备上的多个目录视为单独的逻辑tmp目录。

在许多情况下,只有一个dst驱动器(和目录)就足够了。如果您有多个驱动器,则不仅会拥有更大的绘图缓冲区,而且Plotman还将分发绘图和归档作业,以避免并发IO(替代RAID驱动器)。如果您有旧的1TB或2TB HDD集合,那么这将是一组不错的dst dirs。

排程

可以为Plotman配置许多条件来启动新的绘图作业。当满足所有条件时,将启动作业。

在全局范围内,您可以配置一次可运行的最大绘图作业数量,以及一个stagger参数,该参数限制了新作业的启动速度。最大作业总数是一种有用的方法,可以限制用于Chia绘图的总内存。应设置全局交错,以避免作业聚集在一起并立即开始。设置初始值的一种好方法是,确定要并行运行的作业数量,估计它们在运行时将花费多长时间(并行,这可能比一个人独自运行时要长),然后对这些值进行除法确定频率。例如,如果您希望并行运行12个作业,并且每个作业要花费8个小时,则合理的做法是将全局时间间隔设置为40分钟(或更短)。

每个tmp目录中也有一个最大作业限制。应该根据您的驱动器大小和IO吞吐量进行设置。例如,一个1TB的tmp驱动器可以轻松地容纳3个交错的绘图作业,如果是交错的,则可能适合4个。但是,取决于您的驱动器速度,3可能太多了-例如,您可能希望运行最多两个作业的SATA SSD。

在tmp目录上错开是通过工作进度而不是时间来完成的。它旨在使系统性能的可变性比固定时钟更强健。通过Chia绘制阶段(1、2、3和4)以及“子阶段”来衡量进度。子阶段是Chia绘图仪进度的Plotman命名法,每个阶段定义如下:

在Plotman中,进度由以下阶段:子阶段指标(有时也称为主要:次要阶段)来描述。例如,一个工作可能显示为处于阶段3:4,这将对应于阶段3(表4和表5的压缩)。

tmp目录中的交错是通过按阶段衡量的工作进度来完成的。基本思想是,下一个作业不应在tmp dir上启动,直到上一个作业达到其进度的某个点为止。

合理地询问是否可以按时间完成tmp-dir内的交错,以及是否可以通过阶段进度来进行全局的交错。这些是Plotman开发人员正在考虑的事情。

封存

许多用户选择忽略归档操作,而直接将图绘制到其耕作驱动器上。这可以; 为此,只需将存档部分的配置中的行注释掉。

当前,正确配置归档很繁琐且容易出错。我们正在努力改善这一点。在Plotman Wiki上有一个指南,描述了如何在此处配置存档:https : ///ericaltendorf/plotman/wiki/Archiving。

跑步

首次运行Plotman时,将需要创建一个配置文件。您可以使用plotman config generate来做到这一点。然后,您可以在所描述的位置编辑配置。

配置完成后,您就可以开始打印了。运行交互式绘图仪,您应该会看到一个概述屏幕。假设没有绘图作业正在运行,绘图员应检测到机器已准备好绘图并开始作业。只要您保持运行状态,机器准备就绪时(根据您的配置),绘图员将继续启动新的绘图作业。启动后,这些绘图作业独立于绘图员,应完成。如果要暂停或停止新图的创建,可以按“ p”键或直接退出plotman(“ q”或^ C)。

绘图员互动”屏幕

运行交互式绘图仪时,屏幕显示以下信息:

第一行显示状态。绘图状态显示了我们是否刚刚开始绘图,如果不开始,为什么(例如,交错时间绘图员,tmp目录已准备好,等等)。归档状态表明我们当前是否正在归档(并提供rsync pid),或者dst驱动器中是否没有可用于归档的图。

第二行显示当前绘图作业进度的快照图形视图。每个作业都显示在进度条上,该进度条具有阶段1、2、3和4的里程碑。字符,带有2,“:”,三个“;”以及四个或更多“!”的字符。这是一种简便的方法,可以快速查看绘图的当前状态,进度正在运行多少作业以及它们是均匀分布还是聚集在一起。

第三行提供了一些通篇使用的目录缩写的键。对于tmp和dst目录,我们假定它们有一个公共前缀,在此处进行计算和指示,然后可以通过其唯一后缀(在上下文中)对其进行引用。例如,如果我们有tmp dirs / mnt / tmp / 00,/ mnt / tmp / 01,/ mnt / tmp / 02等,我们在此处显示/ mnt / tmp作为前缀,然后可以讨论tmp dirs 00或01等。存档目录是相同的,除了它们是远程主机上的路径,并且可以通过rsyncd模块访问。

下表显示了有关活动绘图作业的信息。如果您有很多作业,则可以缩写为显示最近启动的作业和最少启动的作业(完整列表可通过命令行命令plotman status获得)。它显示了有关绘图作业的各种信息,包括(绘图的前8个字符)绘图ID,使用的目录,walltime,当前绘图阶段和子阶段,tmp驱动器上使用的空间绘图员,pid等。

下表显示了tmp和dst dirs的用法。tmp表显示使用它们的打印作业的阶段,以及它们是否准备进行新的打印作业。dst表显示了已累积了多少个图块,剩余了多少可用空间以及将要写入它们的作业阶段,最后显示了为存档作业而将图块移开所计算的优先级。

上一张表仅显示了配置为存档目标的远程收割机/农民上驱动器的可用空间。该信息是通过sf上的df获取的,因此,要使其正常工作,您需要将无密码的ssh配置为远程收割机/农民。

最后,最后一部分显示了已执行操作的日志-即启动的打印和存档作业。这是交互式工具中有状态的一部分。这些执行的命令行没有永久记录,因此,如果启动新的交互式绘图员会话,则该日志为空。

使用Plotman命令行

Plotman提供了一些命令行工具:

操作作业的命令以图ID的前缀作为参数,该ID是唯一标识正在创建的图的十六进制字符串。绘图ID的8个字符的前缀显示在Plotman工具中,但是在发出命令时,您可以使用任何唯一标识的前缀。

命令行工具简化了脚本操作,这些脚本操作在异常情况下可能很有用。例如,如果您的临时驱动器/ tmp / 03危险地装满,则可能要暂停其上的所有作业:

绘图员状态中的ID | 尾-n + 2 | grep / tmp / 03 | 切-c1-8`; 绘图员是否暂停$ id;完毕

之后,您可以恢复即将完成的工作,也可以取消刚刚开始的工作。

情节分析

在一组日志文件上运行plotman分析将计算并显示有关每个阶段所用时间的统计信息。这种分析是非常基本的,但是它是检查一组特定作业的性能的快速便捷的方法。

在Mac和Windows上的Plotman

Plotman主要是为Linxu开发的,但它是在Mac上即时可用的,并且有好几个人已经在Windows的WSL(Linux的Windows子系统)上成功运行了它。如果遇到问题,请在讨论论坛上查看;可能还有其他人以前曾经看过并解决过这些问题。

问题?

Plotman完全是由从事日间工作的志愿者开发的,因此我们无法保证一定会提供支持。我们确实尽力提供帮助,但是我们也在尝试建立机制,以使社区中的人们互相帮助。

我们仍在制定最佳系统,但是目前讨论chil_network keybase团队的keybase讨论频道#plotman是讨论Plotman使用(包括入门上的麻烦)最活跃的地方。我们还在/ericaltendorf/plotman/discussions上试用了Github的“讨论”部分。

如果您发现Plotman存在问题,请在github上将其报告,网址为/ericaltendorf/plotman/issues。请尝试报告与Plotman行为和责任相关的错误,而不是与核心Chia绘图仪有关的错误。

情节未来

Plotman最初是一套被黑客入侵的脚本,几乎无法使一个人(我的)机器进行绘图。从表层到基础,我们仍在缓慢地解决一些问题,这些问题限制了Plotman的健壮性和易用性,在某些情况下,这仅仅是早期发展的历史事故,值得我们重新考虑。

在短期内,我们的目标是简化调度配置,因为我们认为还有更多的选择不是真正有用的。我们还旨在推广归档功能,以使用您喜欢的任何传输协议(rsync,rclone,scp,mv等)。还有很多基本的内部清理工作—代码卫生,测试和重构。有一些可能无法编写的“基本”功能-例如,当驱动器装满时,Plotman不会完全关机(这是说,您不仅仅是购买更多的驱动器??)。

从长远来看,最好使配置更加自动化,因此Plotman可以拨号以最大程度地提高绘图吞吐量。我们希望更好地监视和报告绘图操作还有可能与官方的Chia工具进行更深入的集成。

我从没想过Plotman会如此受欢迎,我会在上面写一篇文章。但是我们到了。过去的一年太疯狂了,我无法猜测普洛特曼从现在起将在哪里或成为什么样的一年。

感谢您的阅读,并继续耕种!

更多干货,请关注我!

添加微信

转载原创文章请注明,转载自设计培训_平面设计_品牌设计_美工学习_视觉设计_小白UI设计师,原文地址:https://www.zfbbb.com/?id=14127

上一篇:艺术类专业xx大学的xx专业好吗?就业前景怎么样?|艺考

下一篇:游戏美术游戏原画师的工作是非常繁琐而又富有挑战性的