A quick Chia plotting note and a future searchable tip

2022-10-07: Updated with dual Xeon v4 bladebit.

The backlog is getting more interesting, but in an attempt to compare a Xeon Silver processor to one or two E5-2620v4 processors for some future Chia plotting, I’ve arrived at some benchmarks and a bladebit caveat for the new diskplotter.

The idea is to replace my OG plots with NFT-style plots, while still self-pooling them. At some point I will probably expand my storage again as well. 

Links are to original manufacturer specifications. If you find this document useful, feel free to send me a coffee. It might help with the memory upgrades on one or both machines too.

The systems involved:

System one:

Quick observation: On my Monoprice Stitch power meter, this system goes from about 60W at idle to 160W while plotting with Madmax or Bladebit. Not surprising, but noisy and blowy. 

System two:

Quick observation: This storage is very suboptimal for plotting, but it’s what came with the systems. I will dig into whether I have a larger faster SSD. Unfortunately this system only has USB 2.0 externally, and one low profile PCIe slot, so I’m a bit limited. Might put a 1TB NVMe drive in the PCIe slot though and see how that goes. 

Plotters:

Metrics so far:

System one, Chiapos with 12200MB memory assigned

Time for phase 1 = 10876.922 seconds. CPU (147.640%) Sun Oct 2 19:31:42 2022
Time for phase 2 = 4247.395 seconds. CPU (97.160%) Sun Oct 2 20:42:29 2022
Time for phase 3 = 9153.365 seconds. CPU (95.640%) Sun Oct 2 23:15:03 2022
Time for phase 4 = 635.266 seconds. CPU (97.980%) Sun Oct 2 23:25:38 2022

Total time = 24912.949 seconds. CPU (118.660%) Sun Oct 2 23:25:38 2022

System one, Madmax with -r 10

Phase 1 took 1461.93 sec
Phase 2 took 773.745 sec
Phase 3 took 1241.66 sec, wrote 21866600944 entries to final plot
Phase 4 took 61.6523 sec, final plot size is 108771592628 bytes
Total plot creation time was 3539.07 sec (58.9845 min)

System one, Bladebit with 16GB cache configured

Bladebit plot with 16G cache
Finished Phase 1 in 1744.37 seconds ( 29.1 minutes ).
Finished Phase 2 in 174.39 seconds ( 2.9 minutes ).
Finished Phase 3 in 1501.98 seconds ( 25.0 minutes ).
Finished plotting in 3420.74 seconds ( 57.0 minutes ).

System two with SN_750 NVMe drive (500GB), Bladebit with 24G cache

Finished Phase 1 in 1376.37 seconds ( 22.9 minutes ).
Finished Phase 2 in 148.09 seconds ( 2.5 minutes ).
Finished Phase 3 in 970.59 seconds ( 16.2 minutes ).
Finished plotting in 2495.06 seconds ( 41.6 minutes ).

 

The bladebit diskplot quirk:

If you get this error, there’s a good chance you didn’t specify the destination for the plot. 

 Allocating memory
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::Mconstruct null not valid
Aborted (core dumped)

So for example:

./bladebit -n 3 -f <farmerkey> -c <poolcontract> diskplot -t1 /nvme/tmp/ --cache 16G 

would give this error. Unlike the other plotters, it does *not* assume that your temp path is your output path if you only specify the temp path. So you’d use:

./bladebit -n 3 -f <farmerkey> -c <poolcontract> diskplot -t1 /nvme/tmp/ --cache 16G /nvme/plots/

instead. 

I will update this with further stats, and maybe make a comparison chart, as testing progresses. I’m also giving serious thought to upgrading the SSD in the dual-E5 machine. 

Obligatory disclosure:

While I work for Supermicro at the time of this writing, the servers and all other elements of my home labs and workspaces are my own and have no association with my employer. This post is my own, and my employer probably doesn’t even remember I have a blog, much less approve of it. 

Pi in the sky: Seven tips for finding the single board computer of your dreams

2022-07-03: Updated for AtomicPi

Raspberry Pi boards have been intermittently available this year. They’re still very useful, but your odds of going into a retailer and picking up a few at list price are about as good as Ethereum hitting $5k this month. In other words, don’t hold your breath.

That being said, this type of single board computer is not completely unobtainable, even in today’s supply-chain-constrained market. Here are seven tips for finding the SBC of your dreams. 

1. Check local retailers

This is a long shot, but for some people in some regions, it may still work. My local shop, Central Computers in Silicon Valley, has had them intermittently for a couple of months at reasonable prices. 

2. Check official distributors 

You can find sellers of the Pi boards on the official Raspberry Pi website. Stock may vary from day to day, and preorders may be possible, so check early and often if you’re pursuing this option. 

3. Check Amazon

Right now, I see a number of shippable Pi 4 boards in 4GB and 8Gb on Amazon. They’re pricey, with the 4GB board around $144 and the 8GB board around $195. But if you have to have it for work, or if you’ve found a way to profit majorly from using one of these boards, it may be the way to go. 

4. Consider kits

You may be thinking “I don’t need a power supply, a microSD card, a case, and all the other stuff,” but even when backorders weren’t considered, I saw starter kits with the Pi 4 board available in quantity at the above options. Right now, my local shop has the Okdo starter kit with the 8GB board for $160, limit one per customer. The bare board is $90 but out of stock, as are all of the standalone boards. So if you need access to a board soon (hopefully with someone else footing the bill), this is a very viable option. 

5. Can I interest you in a Pi400?

The Raspberry Pi 400 computer is a Pi 4b equivalent in a different form factor. The board should have the same performance as a 4GB Pi4b, and even when boards and kits were unavailable, the Pi 400 was readily available in a standalone unit at about $80 or a kit with power adapter for $110. Prices on Amazon are a bit higher (like $120 for the standalone or $180 for the kit), but still lower than the 4GB standalone board mentioned at Amazon above.  

You won’t be able to use your Pi cases or enclosures with the Pi 400, since it’s wider, but you can consider building your own stand or looking on Thingiverse and the like for 3d-printable enclosures for these boards. 

See Jeff Geerling’s “Raspberry Pi 400 Teardown” blog post and video to see what’s inside and how you might be able to repurpose the board for your needs. 

6. Check your local marketplaces for new or used boards

You may find some boards locally on Craigslist, Facebook Marketplace, Nextdoor, or the like. eBay is also an option, but it may or may not be local. As I write this post, I see boards in my extended area from $200-325 on Craigslist, and surprisingly $120 and up on Facebook. Someone is selling a complete 8-node cluster, including 6 8GB and 2 2GB boards (and power supply, network switch, tower case, etc) for $1000, which is pretty reasonable for the current market.

With these local marketplace options, be sure to buy locally, and if possible, try the board out before paying (if it’s not sealed). With eBay, read the ad carefully and be aware of buyer protections available to you.

7. Look into other small computer options

Raspberry Pi is the most famous card-sized board, probably with the longest run and best name recognition, But you can also look at things from the RockPi boards to ODROID, to LattePanda x86.

Intel NUC (NUC5PPYB/NUC5PPYH) on a 3d-printed stand with memory and HDMI dummy plug.

You may also be able to find bare board Intel NUC systems (like the remnants of the legendary Rabbit doors from a few years ago) that, while not exactly as tiny and requiring a bit more than 3-5 watts, may well do what you need. 

See the Rabbit Overview (October 2020)
and the Rabbit Launch system build (December 2021)

For example, there are some i3 and even i7 boards here on eBay for as low as $95 shipped (searching under the “motherboard” category). When I searched under “Desktops & All-in-Ones” I found some of the old Rabbit boards (quad core Pentium with Gigabit Ethernet) for around $50 each. You’ll have to add a DDR3 SODIMM, a power supply, and probably storage of some sort, but even then you can get a 4GB system for around $100 or so. 

NVI

If you don’t need an ultra-modern OS, you can also look into systems like the Jetson Nano (which I believe easily runs Ubuntu 18), or even Jetson TK1 (Ubuntu 14/16) from NVIDIA. These outdated boards are still quite interesting, and have many uses if you can “outsource” the security to a system with a newer platform.

And yet another option I found after posting this – Digital Loggers, a Silicon Valley company better known for their Ethernet-connected power controllers (mentioned in a previous post and used in my shop) are apparently the folks behind the AtomicPi Intel Atom-based single board computer. It takes a little bit more work to power, but for $50 you get a board based on the Atom x5-Z8350 1.44GHz CPU with 2GB RAM and 16GB EMMC on board, a breakout board, and an AI camera module. 

Unlike the other boards mentioned, I have not tried this one, but it’s worth a look if you can handle the limitations and get your 5V 3A power into it yourself. 

Where do we go from here?

I’m realizing I have a few boards that may be worth dusting off and using, or even selling. There’s a Pi 3b+ cluster in need of an expansion, and some other projects in the works for the upcoming holiday weekend. 

What are you doing with single board computers, and have you found any tips and tricks I missed? Share in the comments!

Three ways to build low profile Chia (and forks) nodes

This is another piece on a part of the Chia and cryptocurrency landscapes. See previous posts at https://rsts11.com/crypto

Need to set up a lightweight VPN to get into your low profile node remotely? Check out Stephen Foskett’s writeup on Zerotier. I’m using it on my Pi nodes to reduce NAT layers.

Many if not most Chia farmers run a full node on their farming / plotting machine. Some larger farms will use the remote harvester model, with a single full node and several machines farming plots on local storage. 

If you’re using Flexfarmer from Flexpool, or just want a supplemental node (maybe to speed up your own resyncing, or to supplement decentralization on the Chia network), you might want a dedicated node that doesn’t farm or plot. And for that use case, you don’t really need dual EPYC or AMD Threadripper machines. 

In fact, a well-planned Raspberry Pi 4B 4GB or 8GB system, with an external USB drive, will do quite well for this use. If you want to do a few forks as well, or another blockchain full node, a moderately-recent Intel NUC would do quite well for not much more. 

So here we’ll look at three builds to get you going. Note that any of these can run a full node plus Flexfarmer if you want, or just a full node. 

If you don’t already have Chia software and a full node installed, go ahead and install and sync the node on a full scale PC. it may save you five days of waiting. My original build for this use case was to test the blockchain syncing time from scratch.

Syncing from a semi-optimal Pi 4B from scratch took about 8 days, for what it’s worth. One member of the Chia public Keybase forum reported about 28 hours to sync on an Intel Core i5 12600k. 

Caveat: Raspberry Pi boards are a bit more challenging to find and even harder to find anywhere near the frequently-touted $35 price point, or even under $150. And for Chia nodes, you want a minimum of the 4GB Pi 4B (8GB wouldn’t hurt). So while it’s possible to run on older hardware, it’s not recommended.

 

You might also be able to run on a Pi400 (the Raspberry Pi 4B in a keyboard case, which is much easier to find for $100 or so, complete). I plan to test this soon.

 

Raspberry Pi with external USB SSD. 

This was my initial build, and today it’s running at the Andromedary Instinct providing an accessible full node for about 10-15 watts maximum. 

Continue reading

When POHO isn’t psycho enough – a home network update in progress

If you’ve been around for a while, you will know that POHO, or Psycho Overkill Home Office, is an ongoing theme of this blog. I’ve described it more than twice as “two comma technology on a one comma budget.” It stands to reason that my home network is in the “psycho overkill” range, with three sites connected by VPNs and internal 10 gigabit networking (40 gigabit on its way).

Disclosure: Much of the gear in this post is Cisco Meraki, and much of that was obtained using employee purchase program benefits as a Cisco employee. As a system engineer I was eligible for free renewals on my licenses for the Meraki gear, but the original licenses and most of the hardware purchases were out of my own pocket. Any other gear mentioned was purchased out of my own pocket through mainstream methods (i.e. eBay) unless otherwise noted. Cisco has not reviewed, influenced, or endorsed this post or this blog, and they most likely won’t.

A photo before everything was recabled. There are a lot more ports in use now.

What’s the POHO like today?

In the past two years I’ve been running a somewhat crippled network, despite having pretty good employee purchase benefits at work. Still, with gigabit fiber and 500 megabit cable, I’m at about 2.5x the capacity of my core router.

I’m running a Meraki MX84 as the core of my home network, with AT&T / Sonic fiber as primary, and Comcast as secondary. It downlinks to an MS42p 48-port switch with four ports of 10 Gigabit Ethernet. On the upstream side, it connects via Meraki’s auto-vpn to an MX64 in my shop across town, and to a Z1 Teleworker unit in my garage that keeps some lab gear protected from the world (and simplifies IP addressing).

I have a couple of MS switches around the networks, as well as a Cisco Small Business SG500XG-8F8T, a Netgear MS510TXPP (for mgig POE) and a couple of other brands in use from time to time. Wireless is handled by MR56 and MR34 in the house, MR18 in the garage, and MR16 in the shop.

Unfortunately, the MX84 is limited to 500mbps of stateful firewall or 320mbps of advanced security throughput. I’m getting pretty close to that, but the other half of the uplink is idle unless I switch over to the other side of the MX.

Continue reading

Rabbit Launch: Loading up the NUC cluster with a usable operating system

As you saw in my 3D Printing series, after years of pondering a 3D printer, I was finally inspired to buy one when a pile of clusters came up on eBay from the defunct rabb.it video streaming service. In this series, I’ll take you through turning a rabbit door into some useful computing resources.

You can do something similar even after the clusters are sold out; a lot of people have probably bought the clusters and ended up not using them, so you’ll see boards on eBay or local marketplaces… or you can adjust the plans here to other models.

The previous installment, Rabbit Reorganization, can be found here. Stay tuned for more coverage.

Update December 2021: This post languished in the drafts folder for about a year. I’ve updated links, and I’ll be reporting on some changes since the October 2020 launch of this cluster soon.

Let’s NUC this cluster out

  1. Install memory, SATA cable, and SSD
  2. Upgrade BIOS and set some annoying settings
  3. Install your operating system
  4. Set up central control

Install memory, SATA cable, and SSD

This is the least interesting part of the process, but you’ll need to do it before you can install an OS.

Start by loading the SODIMM of your choice onto the board. If you’re using an SSD like I am, you’ll connect the SATA cable to the black SATA connector next to the front USB stack, and the power cable to the beige connector perpendicular to the SATA connector. If you’re using a standard SD card, plug it into the SD slot to the right (as shown with the MAC address label). If you’re going with netboot (local storage? where we’re going we don’t need local storage!), just connect your network cable.

Upgrade BIOS and set some annoying settings

I created a bootable FreeDOS USB drive with Rufus, a common free software product used to create bootable USB media from ISOs (think Linux, Windows, etc). From there, we get the latest BIOS from Intel’s Download Center and place the file on the bootable drive. (Further BIOS instructions available on Intel Support.)

Update: There is a September 2022 BIOS update (0081) I just discovered in December 2022. I had originally installed BIOS update 0079 released April 20, 2020. You’ll need to search for NUC5PPYH even though the board’s model is PPYB.

Connect a monitor and keyboard, plug in the bootable drive, and apply power (or just reset the board). Use the F7 key to go into onboard flash update and load the BIOS file from the flash drive, or choose to boot from the flash drive and use the DOS-style flasher from there.

When you’ve done the upgrade and the system has rebooted, go into the BIOS with the F2 key and choose BIOS default values. Then go into the menus to enable all the USB ports (for some reason the default is to enable ports 1-3, leaving physical port 4 and header ports 5-6 disabled) as well as the SATA port if you are using that for storage. I’d also check the boot order (move net boot down in preference or disable outright if you don’t plan to use it). You can choose other settings as desired, and then press F10 to save and reboot.

Install your operating system

The easiest way to roll out the NUC side of the door would be to netboot an installation infrastructure like Cobbler. One of the first things I did when I went to work for the Mouse 10 years ago was setting up Cobbler for a deployment of RHEL 5.5.

Sure enough, Cobbler is still a thing, with very recent updates. I was able to get partway there this time and then, after several dozen runs to the garage and back to power cycle nodes, I gave up and installed from local media.

For CentOS 8, I did a manual install booting from a Rufus-created USB drive, with the SSD installed. I configured my storage and network options by hand, as well as user and root credentials. This left an “anaconda.ks” kickstart file on the installed system, which I copied to a second flash drive.

For the additional systems, I plugged both the CentOS 8 installer and the drive with the kickstart file into the NUCs and booted from USB. I ran into some strange storage issues with the drive not being blank, despite having chosen the kickstart option. Ideally, you would boot from the USB installer, it would find your kickstart config, and just roll out the software without intervention from there.

After that, if your DHCP server doesn’t assign hostnames you like, you can go in and set hostnames with hostnamectl or the like.

Set up central control

If you use a configuration management platform like Ansible, Puppet, Chef, cfengine, or the like, you’ll want to set those up at this point.

I’ve gone with the lightweight method so far, with shared SSH keys from a management host (an Intel NUC with CentOS on it, originally intended to be the cobbler server).

Use ssh-keygen to create your key files, and then ssh-copy-id can be used to push out the keys to your hosts. Then look into a more manageable option.

Where do we go from here?

As I finish this post in December 2021, a year after the original build, I’m looking at going back and making a few changes to the cluster to bring it up as a Kubernetes platform.

With the demise of CentOS as many of us know it, I’m planning to replace the installed OSes with Ubuntu LTS. I’m planning to test out some cryptocurrency cpu-based mining, and run Kubernetes platform(s) on it as well, and bring my second door up to speed (the RAM has been sitting in a box in the living room for a year now).

There’s a chance I’ll even do some lightweight Chia farming, using either bus-powered USB hard drives or some of the extra power connectors from the fused expanders for standard Seagate externals.

For those of you who have bought and built up these doors, what did you do with them? Feel free to share details and blog post links in the comments. I’ll put interesting ones into the body of this post as I see them.

Just one more thing

One much later update – if you’re looking for one of the posts that inspired this 3d printed build, it’s “What in the NUC have I done?” from Reddit a few years back. The 20mm/25mm spacers are the key detail, and I’ve found it hard to find this post again looking for mixes of m2.5 20mm 25mm 30mm nuc nuc5 nuc5ppyh nuc5ppyb rabb.it spacer standoff etc. Now when I come back to look for it again in a year or two, I’ll hopefully find it here where I left it.

The 3d printed flats are here: https://www.printables.com/model/32486-nuc-cluster-plates/files

And yes, that means I have another project in mind. I think I know where my 8GB dimms for the second set of NUCs is, and I’m ready to give up on the TK1 boards, so that means 15 NUCs in one stack. Stay tuned, and be patient. Or don’t.