ARM Yourself – using Advanced RISC Machines for CPU Crypto Mining

This article will continue along the same path as previous articles looking at CPU and GPU platforms in Amazon Web Services (AWS) for mining and their profitability. Specifically, we will be experimenting with AWS’ ARM instances.

ARM is the company producing the Reduced Instruction Set Computing (RISC) processors. So, smaller more atomic instruction sets. The current interest in RISC is in containerized computing like Docker. The best reason is ARM are cheap and can be used to scale the CPU needed for much less than Intel CPU.

The Experiment

The experiment is multifaceted. Can an ARM image be built for cryptomining, what hash rate can be produced by an ARM CPU, and what is the cost.

Setup – ARM’ing Up

At Krunzy.com we have Webchain (CryptoNight v7) and Swap (CryptoNight SuperFast) mining pools available. Just so happens these will be good picks as they have a low difficulty so we may be able to produce some rewards. We also have full control of the pools so we can reduce anomalies in testing.

First, we need an ARM platform. I will be using Ubuntu Server 18.04 LTS HVM for ARM. I will make an assumption that not only can you install Ubuntu but also get it to a base configuration which is covered in a previous article.

For each miner build I will briefly describe the build then provide all the commands.

Webchain Miner ARM

There are not many Webchain miners so we chose the webchain-miner from Webchain’s GitHub. With minimal effort we compiled a working ARM miner. The following steps should provide a working miner.

sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential git libuv1-dev


#GCC 7.1
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7

#webchain-miner
git clone https://github.com/webchain-network/webchain-miner.git
mkdir webchain-miner/build
cd webchain-miner/build
cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
make

In the same directory as the miner (webchain-miner/build) add or update the json.config to the following (feel free to change address, etc.):

 
{
    "algo": "cryptonight-webchain",
    "av": 0,                // algorithm variation, 0 auto select
    "background": false,    // true to run the miner in the background
    "colors": true,         // false to disable colored output
    "cpu-affinity": null,   // set process affinity to CPU core(s), mask "0x3" for cores 0 and 1
    "cpu-priority": 5,   // set process priority (0 idle, 2 normal to 5 highest)
    "donate-level": 0,      // donate level, mininum 1%
    "log-file": null,       // log all output to a file, example: "c:/some/path/webchain-miner.log"
    "max-cpu-usage": 100,    // maximum CPU usage for automatic mode, usually limiting factor is CPU cache not this opt$
    "print-time": 60,       // print hashrate report every N seconds
    "retries": 5,           // number of times to retry before switch to backup server
    "retry-pause": 5,       // time to pause between retries
    "safe": false,          // true to safe adjust threads and av settings for current CPU
    "syslog": false,        // use system log for output messages
    "threads":
[
                {"low_power_mode": 2, "affine_to_cpu": 0},
                {"low_power_mode": 2, "affine_to_cpu": 1},
                {"low_power_mode": 2, "affine_to_cpu": 2},
               ]


,  // number of miner threads
    "pools": [
        {
            "url": "webchain.mine.krunzy.com:1111", // URL of mining server
            "user": "0xd9b36d8e0ff81da377620239b40de478d0f5a62b",  // username for mining server put your wallet addres$
            "pass": "x",                         // password for mining server
            "worker-id": "ARM",                    // worker ID for mining server no spaces
            "keepalive": false,                  // send keepalived for prevent timeout (need pool support)
            "nicehash": false
        }
    ],
}

To run the miner go to the directory webchain-miner/build then the following command:
./webchain-miner

To auto run the miner on machine startup add the following to /etc/rc.local (adjust for your paths):

 #!/bin/sh -e
cd /home/ubuntu/webchain-miner/build
./webchain-miner
exit 0

Swap Miner ARM

Swap miners have a few choices. There is xmr-stak and flavors of xmrig. We gave xmr-stak a try but it is not able to compile to ARM. We looked at xmrig and landed on xmrigCC as the miner for Swap ARM. It took a little effort to compile the ARM miner to build. Mostly around Boost and the cmake options. The following steps should be done in order for best results.

sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential git libuv1-dev 

#GCC 7.1
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7

#BOOST (used XMRIGCC folder)
wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2
tar xvfj boost_1_67_0.tar.bz2
cd boost_1_67_0
./bootstrap.sh --with-libraries=system
./b2 --toolset=gcc-7
build boost static libs:
./b2 link=static runtime-link=static install --toolset=gcc-7  

#XMRIG
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7

git clone https://github.com/Bendr0id/xmrigCC.git
cd xmrigCC
cmake . -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 -DWITH_CC_SERVER=OFF -DWITH_TLS=OFF -DWITH_HTTPD=OFF -DBOOST_ROOT=~/xmrigCC/boost_1_67_0
make

In the same directory as the miner (xmridCC) add or update the json.config to the following (feel free to change address, etc.):

 
{
    "algo": "cryptonight", // cryptonight (default), cryptonight-lite or cryptonight-heavy
    "aesni": 0, // selection of AES-NI mode (0 auto, 1 on, 2 off)
    "threads": 2, // number of miner threads (not set or 0 enables automatic selection of optimal thread count)
    "multihash-factor": 3, // number of hash blocks to process at a time (not set or 0 enables automatic selection of optimal number of hash $
    "multihash-thread-mask" : null, // for multihash-factors>0 only, limits multihash to given threads (mask), mask "0x3" means run multihash$
    "pow-variant" : "xfh", // specificy the PoW variat to use: -> auto (default), 0 (v0), 1 (v1, aka monerov7, aeonv7), ipbc (tube), alloy, x$
                                                // for further help see: https://github.com/Bendr0id/xmrigCC/wiki/Coin-configurations
    "background": false, // true to run the miner in the background (Windows only, for *nix plase use screen/tmux or systemd service instead)
    "colors": true, // false to disable colored output
    "cpu-affinity": null, // set process affinity to CPU core(s), mask "0x3" for cores 0 and 1
    "cpu-priority": null, // set process priority (0 idle, 2 normal to 5 highest)
    "donate-level": 1, // donate level, mininum 1%
    "log-file": null, // log all output to a file, example: "c:/some/path/xmrig.log"
    "max-cpu-usage": 100, // maximum CPU usage for automatic mode, usually limiting factor is CPU cache not this option.
    "print-time": 60, // print hashrate report every N seconds
    "retries": 5, // number of times to retry before switch to backup server
    "retry-pause": 5, // time to pause between retries
    "safe": false, // true to safe adjust threads and av settings for current CPU
    "syslog": false, // use system log for output messages
    "pools": [
        {
            "url": "swap.mine.krunzy.com:2222", // URL of mining server
            "user": "fh3n1xT9NNJJFPZVNcR8Hr3b4Aybm2R31f7v9NeDbw2tMMgZqzK8hRm1hgPdzRD4W4ZSpJrT8gy5o6D6ksno9VYY1iQFSeTGt.5000", // username for$
            "pass": "swARMp", // password for mining server
            "use-tls" : false, // enable tls for pool communication (need pool support)
            "keepalive": true, // send keepalived for prevent timeout (need pool support)
            "nicehash": false // enable nicehash/xmrig-proxy support
        }
    ],
    "cc-client":  null
}

To run the miner from the xmrigCC folder enter the following command:
./xmrigDaemon -c=config.json

To auto run the miner on machine startup add the following to /etc/rc.local (adjust for your paths):

#!/bin/sh -e
cd /home/ubuntu/xmrigCC
./xmrigDaemon -c=config.json
#exit 0

Testing

The testing was performed on AWS A1 instances. The pools used were Krunzy.com Webchain and Swap pools in the same region (US) the tests were performed. Both miners were run using the lowest difficulty the pools offered. Webchain miner ran at 1000 variable difficulty. Swap miner ran at 5000 static difficulty. Testing ran for 60 minutes and were monitored on the miner and the pool. The testing ran across the A1 series and focused on optimizing the hash rate.

Results

The testing started with the smallest A1 instance, a1.medium (1 CPU, 2GB):
Webchain: miner=16 H/s, pool=14 H/s
Swap: miner=33 H/s, pool=32 H/s

The testing jumped to the largest A1 instance tested, a1.xlarge (4 CPU, 8GB):
Webchain: miner=44 H/s, pool=36 H/s
Swap: 80 H/s, pool=100 H/s

Testing and optimization primarily on a1.large (2 CPU, 4GB):
Webchain: miner=30H/s, pool=26H/s
Swap: 100 H/s, pool=125 H/

a1.large optimized (see optimized configs for each miner above in setup):
Webchain: using low_power_mode: 2 and 3 threads
miner=38 H/s, pool=32 H/s

"threads":
[
     {"low_power_mode": 2, "affine_to_cpu": 0},
     {"low_power_mode": 2, "affine_to_cpu": 1},
  {"low_power_mode": 2, "affine_to_cpu": 2},
]

Swap: using 2 threads and multihash-factor 3
miner=100 H/s, pool=125 H/

  "threads": 2,
  "multihash-factor": 3,

a1.large optimized at scale for 60 minutes:
To create scale, a launch template was created with an auto starting miner and used as part of an Auto Scaling Group (ASG).

Webchain @ 100 instances: 2250 H/s at pool
Swap @ 20 instances: 1280 H/s

Spot costs at the time of testing for US-EAST-2 (Ohio, USA):

Spot Costs OHIO us-east-2
A1 Spot Costs OHIO us-east-2

Hash cost based on a1.large @ $0.01/hour (rounding up)
Webchain 32 H/s for 1 hour = 115 kH/h
Swap 100 H/s for 1 hour = 360 kH/h

Conclusion

It was encouraging to find we could compile ARM versions of both the webchain-miner for Webchain and xmrigCC for Swap. Testing showed Swap ARM has 3 times more hashing power than the Webchain ARM. Not surprising based on the underlying PoW algorithms. Webchain is closer to CryptoNight v7 where Swap was engineered to have lighter PoW with CryptoNight SuperFast. So, we proved we could compile to an ARM version of a miner and produce a hash.

The hash rate was not too bad. An AMD Threadripper thread will provide ~100 H/s for Webchain and ~185 H/s for Swap conservatively. Webchain ARM is about a third of the hash than the AMD CPU whereas Swap is slightly over half the hash.

ARMs are inexpensive at pennies an hour. Because of this you could keep a small hash on a pool for a day for about a quarter ($0.25). You could also provide some load and increase to 100 times for an hour for 1 dollar. For pool testing this is an inexpensive way to create load especially if simulating multiple users/ addresses.

In the end, ARM miners are available and offer a cost effective way to run some smaller hash tests. In AWS, ARM instances can scale to 100 instances using spot pricing for pennies an instance in order to create load. Currently, this is not a profitable way to mine cryptocurrency.

Webchain AWS Profitability Compared to Renting a Rig

Previously we have discussed mining profitability in Amazon Web Services (AWS) in regards to CPU and GPU mining.  If you have not read the previous articles you may want to browse them.  This article will be building on the CPU and GPU mining profitability articles.  I know, it is like the first day of class and the teacher assigns homework.

Based on the interesting findings in the CPU and GPU testing I was curious about rig renting.  Rig renting is where you buy rig time and reap the coins during that time.  Taking a quick survey of the rig rental landscape for Cryptonote v8 rental costs I found cost to be ~$0.40 USD per 1 kH/s per hour.  Many rig rentals are paid in bitcoin or other coins and currently coins are volatile.  So, when I say a rough estimate I mean rough

Cyptonote v8 was chosen as it is the most recent fork for some cryptonote coins which also includes bulletproofs.  Bulletproofs lower transaction cost be decreasing blocksize.  Webchain already has a low transaction cost so comparing to Cryptonote v8 rigs seems to be the best comparison.  Webchain uses a special algorithm forked from CryptoNightV7 and altered to be CPU friendly, GPU difficult, and ASIC resistant.  Why not compare directly to an existing Webchain rig rental?  Because there are no Webchain rig rentals.

Okay but why Webchain?  Quite simply because it is currently the most profitable CryptoNight coin to mine.  Mining Webchain at 1 kH/s hash rate for 24 hours yields about 174.131 WEB or roughly $0.58 USD.  A Webchain coin (WEB) is worth about $0.0033 USD.  Solo mining at 1 kH/s will yield a block find about every 6 hours and 20 minutes.  The reward for a block find is currently 47.652 WEB.  So, Webchain was chosen for profitability as well as minability.  This should provide a good starting point for rig rental versus AWS mining.

The Experiment

Using previous results from CPU and GPU mining profitability on AWS as a starting point, determine current data for Webchain.

Setup

A base image for testing was created on Ubuntu 18.04.  The instructions for creating the base image can be found here.

The AWS instance used was a g2.8xlarge which was determined to be the sweet spot for GPU mining based on hash rate to cost.  This provided 4 NVIDIA K520 GPUs at 300 H/s.  The CPU (Intel Xeon E5-2650) hash rate for this instance type is also good at ~40 H/s per CPU.   AWS allows for the selection of threads per CPU so this was adjusted to 20 out of the possible 32 to fully utilize the L3 memory of 40MB.

For this round of experiments I used xmrig.  LOUD Mining created a set of xmrig for Webchain that includes CPU, NVIDIA GPU, and AMD GPU miners.  I used the Webchain CPU and NVIDIA GPU miners.  The mining will be on the Krunzy Webchain Pool with a static difficulty of 25000.  The configuration for Webchain will be the same for Windows and Linux.  Here are the configs and running values:

CPU Miner Configuration

Webchain CPU Miner configuration

GPU Miner Configuration

Webchain NVIDIA GPU miner configuration

CPU Running Values

XMRIG CPU running values

GPU Running Values

XMRIG GPU running values

Testing

Testing was conducted through SSH on the g2.8xlarge instance with a cost of $0.78 USD / h.  A session for CPU miner and GPU miner were created to easily track hash rates.  The experiment was conducted for 90 minutes to allow the mining pool to provide accurate hash rates.

Results

The data collected included hash rate as well as some power costs.  The hash rates remained fairly consistent over the experiment within 20-40 H/s.

Hash Rates after 60 minutes
Miner Reported CPU x 20 = 800-840 H/s
Pool Reported CPU x 20 = 600 H/s

Miner Reported GPU x 4 = 1180 H/s
Pool Reported GPU x 4 = 900 H/s

Total Miner Hash = ~ 2000 H/s
Total Pool Hash = ~ 1500 H/s

Power Costs
In this experiment, 2 x CPU Intel Xeon E5-2650 were used.  This is based on number of threads where one CPU has 16 threads.  The 20 threads were selected from 32 threads available making the CPUs used equal to 2.  The wattage per CPU of 95W was taking from these specifications

XMRIG reports GPU wattage of 80W per GPU as per Table 1.

GPU K520 Running Wattage
Table 1. GPU Wattage

CPU W = 95W/CPU x 2 CPU = 190W
GPU W = 80W/GPU x 4 GPU = 240W
Total W = 430 W
Estimated power cost as $0.10 USD kWh = $0.0001 USD / W/h
Total power cost per hour = $0.0001 USD / W * 430 W = $0.043 USD /h

The total cost per hour would be $0.78 for the g2.8xlarge instance.  Presumably this is covering the power cost of $0.043.  The cost per kH/s is reported pool hash of 1.5 kH/s normalized to 1 kH/s which is $0.52 USD/ kH/s.

As mentioned previously, mining Webchain at 1 kH/s hash rate for 24 hours yields about 174.131 WEB or roughly $0.58 USD.  A Webchain coin (WEB) is worth about $0.0033 USD.  Solo mining at 1 kH/s will yield a block find about every 6 hours and 20 minutes.  The reward for a block find is currently 47.652 WEB.

Renting a rig is about $0.40 USD / kH/s / h

Cost to produce a solo block of WEB at 1 kH/s yielding 47.652 WEB or $0.16 USD

AWS Mining = $0.58 USD * 6.33 h = $3.67 USD (net loss $3.51 USD)
Rig Rental Mining = $0.40 * 6.33 h = $2.53 USD (net loss $2.37 USD)

Conclusion

In a game of pennies a nickel is a lot.  Profitability is influenced by coin value and the cost to create a coin.  Webchain does not have much value currently at a third of a penny.  So, producing WEB is costly.  In fact, the energy costs outweigh mining WEB currently. 

But that’s not why the experiment was run.  We want to answer if AWS mining is viable compared to rig rental.  Simply, AWS mining is over a dollar more per hour on average compared to rig rental.  Is a dollar difference a lot?  Absolutely when dealing with low margins.  The rig rental seems the way to go for now, however, there are no Webchain rig rentals that were found at the time of the article.  Which puts Webchain mining back to your own rig or setting something up in AWS.  If you believe in the future value of WEB then this cost may be acceptable but a straight purchase would be cheapest at this time.

So, when does the break even point happen? Let’s make a few assumptions based on the current data.  It takes 6.33 hours to produce 47.652 WEB on average.  Normalizing to WEB produced per hour we get 7.528 WEB/ h.  Also, based on 1 kH/s the power cost alone is $0.043 USD /h, AWS mining is $0.58 USD/ h, and Rig Rental is $0.40 USD/h.  With assumptions in hand let’s crush some numbers to find the break even values.

Your own rig (power cost) = $0.043 USD/h / 7.528 WEB/h = $0.0057 USD/WEB
Rig rental = $0.40 USD/h / 7.528 WEB/h = $0.0531 USD/WEB

AWS mining = $0.58 USD/h / 7.528 WEB/h = $0.0770 USD/WEB

Running your own rig and paying only power costs based on the AWS setup is 10x cheaper than renting a rig.  A little more than half a penny will be break even for your own rig and a little while back WEB had reached $0.007 USD.  But not everyone can afford to purchase or maintain a rig. 

With no expertise and the will to mine a rig can be rented.  To break even, the cost of WEB would need to reach $0.0531 USD/WEB to make a rig rental viable.

You can still roll your own and create a miner in AWS.  To break even here, based on the current experiment, WEB would need to reach $0.077 USD.  However, you read the CPU Mining Profitability article and you know there is a better AWS rig.  Gold star for you!

Webchain is mineable by CPU and not as good at GPU mining.  We learned previously that we could spin up several cheap CPU instances in AWS. We then see a break even profitability of $0.05 USD also known as the shiny nickel.  It is also at this point that AWS edges out the rental by $0.0031 USD/h.  Remember, fractions of a cent are important in the game of pennies.

Whether new to mining or an old pro, attention to cost to mine is just as important as a huge hash rate.  Calculating the cost to produce a coin to its current value provides insight into when to purchase hash rate.  Bigger is not always better if the costs are too high.  You may actually be more profitable at a lower hash rate.

If you like this article, please think of tossing us some coins to help pay for fluffernutters.  Thank you.

Swap (XWP) Mining Pools

Swap pool is born!  Swap uses a Cuckaroo29s PoW. We are excited to announce our second globalized mining pool this time for the Swap project.  Formerly known as the Free Haven Protocol, Swap seeks to bring a fair, efficient and stable  blockchain to the crypto ecosystem.  See Swap’s announcement for more details.

We have learned much from our first foray into the blockchain and mining pools.  Mostly, the crypto community is a passionate community.  As passion goes Swap is about an 11 out of 10.  We wanted to make sure we had solid well tested pools running the latest code.  We are there.

At the very least, increasing interest in blockchain technologies is what is at the heart of Krunzy.com.  As such, we pick new pools not necessarily by profit alone but what could increase interest in blockchain.  As such, active development and emerging technologies with passionate discourse is imperative.  Swap has all three.

Pools are but one part of blockchain yet very important.  Mining pools should embody decentralization.  As such, we believe pools should provide multiple geographic locations.  Not just for low ping but to truly be decentralized.  Each pool server runs as its own node.  As such, we strive to launch to three pools each with their own node.  Mining on the globalized node also ensures a smooth fail over if one of the pool nodes is lost.

Mining Pools – web front end for mining info and stats
Global – swap.pool.krunzy.com
North America – us.swap.pool.krunzy.com
Europe – eu.swap.pool.krunzy.com
Asia/ Pacific – ap.swap.pool.krunzy.com

Mining Nodes – mining endpoints to point your miner – low ping and stable
Global – swap.mine.krunzy.com
North America – Central US – us.swap.mine.krunzy.com
Europe – Germany – eu.swap.mine.krunzy.com (available upon request)
Asia/ Pacific – Singapore – ap.swap.mine.krunzy.com (available upon request)

NOTE: other mining stratum servers can be created upon request

Starting Variable and Static Difficulty Ports in Graphs/s
2222 – 1 VariDiff
3333 – 8 VariDiff
4444 – 16 VariDiff
5555 – 32 VariDiff

Live global statistics

More information on port setup, static difficulty, payment ids, etc. can be found on the pools.

If you require different difficulties or a mining pool closer to your location please contact us so we can discuss.

AWS CPU Mining Cryptonote Profitability

We have explored the profitability recently of GPU coin mining on Amazon Web Services (AWS).  But GPU mining is not the only way to get coins.  Hey, what about CPU mining?

Glad you asked!  There are some cryptocoins that are created to be CPU mined.    The coin currently that is slipping in and out of most profitable is Webchain.  Webchain has developed its own cryptonight alogrithym specifically targeted at CPU mining called CryptoNight-Webchain.  The algorithm seeks to not only be CPU mineable but also deter GPU and ASIC mining.  In other words, focus on delivering a coin mineable by just about any CPU on any device.

The Experiment

Determine if CPU mining in AWS could be profitable.  Find the best combination of low cost, CPU power, and coin return.

Setup

As mentioned earlier, the test mined Webchain coin.  The choice of Webchain was that it is specifically CPU mined and is one of the most profitable CPU mined CryptoNight coins.  

I used webchain-miner to mine Webchain coin. This miner was selected as it is the miner Webchain created and suggests.  Also, the miner is easily available and comes in several OS versions.  The version used was the 2.6.2.0 linux amd64 miner.

The OS platform was Ubuntu 18.04.  The OS was setup as I explained here.  The webchain-miner application was downloaded from releases so no compiling was needed.

The webchain-miner was configured to use pool.webchain.network:3333 (variable difficulty) with no specific CPU configuration.  Testing was across several types of instances with differing CPU.  Because of this, CPU configuration was left as default or not set.

Finally, in order to auto run the webchain-miner when it loads the following was added to /etc/rc.local:

#!/bin/sh -e
cd /home/ubuntu/webcpu
./webchain-miner

Testing

AWS has many instance types with viable CPU configurations.  To reduce the test base we made the first cut as we would not use a T type instance. 

T type instances have the ability to boost beyond 100% CPU when under load.  This would not be controllable and had one other serious and expensive downside.  The T types when bursting incur $0.05 per vCPU-Hour.  So, the cheap T3.Micro for less than a penny an hour just became a nickel.  A >500% increase in cost when consistently at 100% CPU.  So, T types are out.

What we wanted was a CPU work horse for a good price.  To reduce the compute optimized instances more we looked at L3 cache size of the CPU.  The L3  limits the number of CPUs that can be used for mining.  The equation can be simplified to L3 cache / 2 = # of CPUs that can be used.  So, 24MB L3 cache with 24 CPUs would only be able to use 12 CPUs to mine. This limited us to C type instances.

The C5 instance types have good CPU power with high network speed.  Also, since C5 is relatively new the spot pricing is as much as 70% off normal price.  The testing was performed on C5.18xlarge, C5.4xlarge, and C5.2xlarge.

Results

The following is a snapshot of each C5 testing run using the webchain-miner.  Each snapshot shows the CPU info including L2/L3 cache and the number of threads webchain-miner used for mining.  Also, hash rate is shown on the last line as Hash/second.

C5.18xlarge
* VERSIONS:     webchain-miner/2.6.2.0 libuv/1.20.3-dev gcc/6.3.0
* CPU:          Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz (1) x64 AES-NI
* CPU L2/L3:    32.0 MB/24.8 MB
* THREADS:      12, cryptonight-webchain, av=0, donate=5%
* POOL #1:      pool.webchain.network:3333
* COMMANDS:     hashrate, pause, resume
[2018-10-07 23:15:55] READY (CPU) threads 12(12) huge pages 12/12 100% memory 24.0 MB
speed 2.5s/60s/15m 644.1 644.1 n/a H/s max: 644.1 H/
C5.4xlarge
* VERSIONS:     webchain-miner/2.6.2.0 libuv/1.20.3-dev gcc/6.3.0
* CPU:          Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz (1) x64 AES-NI
* CPU L2/L3:    8.0 MB/24.8 MB
* THREADS:      12, cryptonight-webchain, av=1, donate=5%
* POOL #1:      pool.webchain.network:3333
* COMMANDS:     hashrate, pause, resume
[2018-10-08 11:19:48] READY (CPU) threads 12(12) huge pages 12/12 100% memory 24.0 MB
[2018-10-08 11:19:49] use pool pool.webchain.network:3333 212.32.255.143
speed 2.5s/60s/15m 486.4 486.6 n/a H/s max: 486.8 H/s
C5.2xlarge
* VERSIONS:     webchain-miner/2.6.2.0 libuv/1.20.3-dev gcc/6.3.0
* CPU:          Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz (1) x64 AES-NI
* CPU L2/L3:    4.0 MB/24.8 MB
* THREADS:      8, cryptonight-webchain, av=1, donate=5%
* POOL #1:      pool.webchain.network:3333
* COMMANDS:     hashrate, pause, resume
[2018-10-08 11:35:50] READY (CPU) threads 8(8) huge pages 8/8 100% memory 16.0 MB
speed 2.5s/60s/15m 321.8 321.9 n/a H/s max: 322.5 H/s

Table 1 shows CPU and hash rate as it relates to cost.  A higher Hash/Spot is desired as it equates to higher hash with low spend.

AWS C5 instance type CPU to Hash rate
Table 1

The C5.18xlarge had the highest hash rate but also did not use all its processing power.  Th C5.18xlarge has 72 CPUs but was only able to utilize 12 CPU for mining.  The reason is the L3 cache is 24MB which allows for only 12 CPU available for mining.

Similarly the C5.4xlarge did not fully utilize all its CPUs but had the second highest hash.  Out of 16 CPU the C5.4xlarge was able to mine with 12 based on a 24MB L3 cache.

The highest utilized CPU was the lowest hash rate of the C5.2xlarge.  All 8 CPUs were utilized.  C5.2xlarge also is the least costly at $0.13/hour.

CPU utilization to cost is well shown in Table 1.  C5.2xlarge is not only the least cost but also has the most utilized CPU.  As hash to cost is concerned C5.2xlarge is the clear winner with a Hash/Spot of 2476 hash/hour/dollar.

Conclusion

The results were not unexpected as higher CPU utilization at lower cost converged on the least expensive most utilized C5 instance, the C5.2xlarge.   Another finding during testing is the smaller C5.2xlarge have more spot availability.  We were able to get some spot pricing as low as $0.08.  We also found we could spin up 50 C5.2xlarge in one spot request.  For $4 an hour you could spin up a hash rate of about 16 kH/s.  But is it profitable?

Currently, Webchain is trading for around $0.005 but has been as high as $0.007 in the past 2 weeks.  For now, we assume $0.005 is the coin price.  As mentioned above, 16 kH/s is attainable for $4 per hour.  In 24 hours we would spend $96 and make 2,395 WEB worth $11.55.  A net loss of about $85.  Obviously not profitable. 

So, when would WEB become profitable to mine via AWS C5?  Assuming cost does not change for AWS then the value of WEB would need to increase about 10x.  Also, the difficulty should not be remarkably different then when the testing was run.  With all those caveats, when WEB reaches one shiny nickel ($0.05) the break even point is reached.  

Could WEB become profitable to mine via AWS and CPU?  It certainly seems there could be a future convergence of WEB to Cost.


Hopefully you found this useful.  Throw us a few coins to say thanks.