SAFE Network Dev Update - March 19, 2020

A very fine instrument appreciated by blues afficianados and discerning dogs alike

2 Likes

Yep. :musical_note:

1 Like

What is your total system ram plus swap space? Is swap space filling up?

1 Like

16 GB RAM 16GB swap no problems with running out of memory, At the last crash a couple of hours ago when I got a bit ambitious I had only used just over 10Gb RAM - and I had my usual 20-30 tabs open in Chrome too

I successfully put 583Mb in 10078 files into 16 vaults.
took 6hrs 16 min and occupied a total of 2.2Gb

willie@gagarin:~/projects/maidsafe/safe-network-launch-tool/target/release/vaults$ du -chd 1
9.5M	./safe-vault-13
305M	./safe-vault-3
305M	./safe-vault-4
9.5M	./safe-vault-10
305M	./safe-vault-5
305M	./safe-vault-2
324K	./safe-vault-16
305M	./safe-vault-7
332K	./safe-vault-15
305M	./safe-vault-genesis
9.5M	./safe-vault-11
328K	./safe-vault-12
305M	./safe-vault-6
9.5M	./safe-vault-9
68K	./safe-vault-8
332K	./safe-vault-14
2.2G	.
2.2G	total

As you can see the spread of data is very uneven with 7 vaults holding the vast majority of the chunks.

7 Likes

Sorted makes it more obviously as expected loaded on the first sevenā€¦
( ocd call for genisis to be simply 1 :neutral_face: )

odd perhaps again vault 8 is resisting adopting more than a small 68K

305M	./safe-vault-genesis
305M	./safe-vault-2
305M	./safe-vault-3
305M	./safe-vault-4
305M	./safe-vault-5
305M	./safe-vault-6
305M	./safe-vault-7
68K	./safe-vault-8
9.5M	./safe-vault-9
9.5M	./safe-vault-10
9.5M	./safe-vault-11
328K	./safe-vault-12
9.5M	./safe-vault-13
332K	./safe-vault-14
332K	./safe-vault-15
324K	./safe-vault-16
4 Likes

What is your replication factor? 4, 8, or 16? Looks like 4x to me. Why would you expect 16 vaults to fill evenly if you only have 4x replication?

1 Like

Before I crashed last night , I set a PUT job going to transfer my Stones collection ~700 tracks for a total of 2.25Gb, mostly .m4a, mp3 and a few .ogg files. There will be very little duplication, if any in that directory as the studio and various live versions will be different sizes

This completed in just under 30 mins.

Please note I made a mistake on reporting the second last dump of 583Mb last night - it took 316 mins, 5hrs 15 not 6 hrs as I reported. That data was mostly node.js files from various unfinished projects - including at least 3 attempts at my own DWEB site plus a clone of @happybeing original site. Whatever - that data took much longer to process than the the audio files

willie@gagarin:~/projects/maidsafe/safe-network-launch-tool/target/release/vaults$ du -chd 1|sort -rh
15G	total
15G	.
2.1G	./safe-vault-genesis
2.1G	./safe-vault-7
2.1G	./safe-vault-6
2.1G	./safe-vault-5
2.1G	./safe-vault-4
2.1G	./safe-vault-3
2.1G	./safe-vault-2
9.5M	./safe-vault-9
9.5M	./safe-vault-13
9.5M	./safe-vault-11
9.5M	./safe-vault-10
332K	./safe-vault-15
332K	./safe-vault-14
328K	./safe-vault-12
324K	./safe-vault-16
68K	./safe-vault-8

This is a bit unrealistic as I simply dumped the contents of ~/Music (which on this box is just my Stones stuff, all the other music is on the Samba server) If I was doing this for real, I would be uploading each album or live show individually for my as yet, not quite thought out SAFEsounds app :slight_smile:

2 Likes

Thatā€™s a good question. Right now I am just throwing data at it and then thinking about it. Or rather just reporting the results and letting you lot do the hard thinking :slight_smile:

Are all these vaults on the same computer, and a single ssd?

Single computer, dumping to a 1.2Tb LVM partition for /home on a somewhat elderly Seagate 2Tb ST2000DM006.

I only have /boot and / on a 256Gb SSD on my desktop box.

Iā€™d like to see the difference on my laptop which has a 500GB ssd but that is a bit tight for disk space as I had to put a win10 partition on it for work. However given that actual paying work seems to be receding into the far distance, I could probably wipe that and use it for a small vault.

Just spitballing here but your results seem reasonable given the significant performance bottleneck of the hardware.

Here are a few Min system requirements that I consider to be reasonable based on other HPC work Iā€™ve done.

*Min Number of vaults = replication factor + 2
*1 dedicated CPU core per vault
*1 dedicated storage disk per vault
*Memory per vault can be determined from profiling the system while it is runningā€¦

If the vault code is not too CPU intensive then hyperthreading might be ok and you can do 1 dedicated thread per vault instead of physical CPU core.

2 Likes

Yes these are ā€œidealā€ specs but we should always remember the SAFE project will run primarily on existing under-utilised resources on home PCs.
Yes of course most of the members on here are will run their own dedicated rigs, Hell 3 years ago I had an underutilised friggin datacentre that we intended to fill up with vaults whenever there were no actual paying clients. That fell by the wayside cos BT OpenReach took 5 (five) months to connect the last 50m of fast fibre and our pre-arranged contracts had to go elsewhere

1 Like

Apples to oranges comparison. You are trying to run a single network section on a single disk. Not quite the same as 1 vault idling on an hdd or ssd that is part of a large network.

3 Likes

True - no argument there at all. Iā€™m just playing with what I can at the moment.
This might be a good time to set up a single vault on my Samba/backup box which has 1 x 2TB and 1 x 3Tb disks but only has 4Gb of RAM and a very early 1.8GHz Xeon IIRC.

But its a lovely day so I think we are off down to Troon to pay homage at the old MAID offices but more importantly go for a walk on the beach and grab some vitamin D :slight_smile:

1 Like

So, a simple script pushed 1.5MB x1000
in what is that roughly ~51mins.
Nothing worth noting here thatā€™s newā€¦ vault 8 not used.

ended up as

# vault size
safe-vault-1	1.5G
safe-vault-2	1.5G
safe-vault-3	1.5G
safe-vault-4	1.5G
safe-vault-5	1.5G
safe-vault-6	1.5G
safe-vault-7	1.5G
safe-vault-8	68K
### START
Sun 22 Mar 10:32:21 GMT 2020
### END
Sun 22 Mar 11:23:13 GMT 2020

CPU(s):              4
Model name:          Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz
     16254420 K total memory
     10239996 K total swap

from this script below, which pivots the detail into a cvs like format that is a step away from a graph.

If you want to use it just tweak the counter limit from 2 to 1000 or whatever and the dd count and block size, for whatever size of random file you do want.

#!/bin/bash 

#Simple script to upload 1000 x 1.5M files and log result

## Setup
#Expects safe baby-fleming to be setup and running
mkdir ./zzz_log 2>/dev/null
mkdir ./to-upload 2>/dev/null

## Base state
#log base state
echo "### START" > ./zzz_log/report
date >> ./zzz_log/report
lscpu | grep -P 'Model name|^CPU\(s\)' >> ./zzz_log/report
vmstat -s | grep -P 'total memory|total swap' >> ./zzz_log/report
echo "# initial vault size" >> ./zzz_log/report
du -sh ~/.safe/vault/baby-fleming-vaults/* | sed 's#^\([^\t]*\).*/\([^/]*\)#\2\t\1#' | sed 's/genesis/1/' | sort >> ./zzz_log/report

## Start
COUNTER=0
while [ $COUNTER -lt 2 ]; do
let COUNTER=COUNTER+1 

dd if=/dev/urandom of=./to-upload/file.dat bs=1k count=1500 2>/dev/null

echo "file: "$COUNTER 
echo "############" >> ./zzz_log/report
echo "file: "$COUNTER >> ./zzz_log/report
echo "size: "$(ls -hs ./to-upload/file.dat | sed 's/^\([^ ]*\).*/\1/') >> ./zzz_log/report

echo "# upload" >> ./zzz_log/report
(time safe files put ./to-upload/file.dat ) &>> ./zzz_log/report 

echo >> ./zzz_log/report
echo "# vault size" >> ./zzz_log/report
du -sh ~/.safe/vault/baby-fleming-vaults/* | sed 's#^\([^\t]*\).*/\([^/]*\)#\2\t\1#' | sed 's/genesis/1/' | sort >> ./zzz_log/report

echo "upload: "$COUNTER" complete"
done

date >> ./zzz_log/report
echo "### END" >> ./zzz_log/report

## Summary pivot
echo -ne "\tfile:\t0\tsize: 0\t#\t\t\t\treal\t0\tuser\t0\tsys\t0\t\t" > ./zzz_log/summary_table_report; tail -n +7 ./zzz_log/report | tr '\n' '@' | sed 's/############/\n/g' | sed 's/@/\t/g' | sed 's/file: /file:\t/' >> ./zzz_log/summary_table_report

exit
2 Likes

Excellent, I will look forward to using that script and plundering parts of it for my own use :slight_smile:

If you have a github account, you might consider sharing it on thereā€¦

1 Like

The resources needed by a Vault, at least in this test, are quite low. At the peak of data storage it barely uses 2% of the processor and less than 10MB of memory.

As the PARSEC consensus is lacking, it is possible that the resources needed will increase although we have to consider that a Vault will have more GETs (less work) than PUTs.

2 Likes

Making sense of github is on my list of things to doā€¦

as is learning more about R plots for simple graphing

see

https://linuxconfig.org/introduction-to-gnu-r-on-linux-operating-system
https://www.r-project.org/

2 Likes

Where we are at right now, I think LibreOffice Calc or even Excel will do for now.

EDIT: Well maybe not, R installed easy enough on Ubuntu and thr demos look good - may play around a bit later

1 Like