2019-05-30 15:57:43
*https://github.com/snowblossomcoin/snowblossom/compare/0369e22cee23...32c3f7c5e2c0*
https://github.com/snowblossomcoin/snowblossom/commit/32c3f7c5e2c09b9770edcb114d460c2f85025941 - Adding cache lock

GitHub
2019-05-30 16:03:29
what's that for?

Rotonen
2019-05-30 16:04:13
So my theory that part of the problem I am seeing is thrashing things in and out of L3 cache

Fireduck
2019-05-30 16:04:24
so this allows only one wave to do the main processing at a time

Fireduck
2019-05-30 16:04:43
but allows you to still have other waves so that the reads from storage are done ahead of time

Fireduck
2019-05-30 16:04:53
you're reading at max speed at all the times, that'll just roll through the L3 in any case?

Rotonen
2019-05-30 16:05:17
current processor has 64mb L3, I am doing 32mb blocks

Fireduck
2019-05-30 16:05:28
not sure if that will help or not

Fireduck
2019-05-30 16:05:44
i'd read in 1G chunks as that gives the operating system and hardware more to do on their own

Rotonen
2019-05-30 16:05:50
I am kinda trying to reconstruct what is actually happening based mostly on how I imagine things work

Fireduck
2019-05-30 16:06:11
one thing is that the controller of the disk has an internal queuing fight

Rotonen
2019-05-30 16:06:16
vs. having just one clean long read in it

Rotonen
2019-05-30 16:06:45
yeah, that makes sense. I'd have to do a bigger redesign to read 1gb chunks and then break those up into cache size blocks

Fireduck
2019-05-30 16:06:50
not hard, just work

Fireduck
2019-05-30 16:06:51
for throughput, you pretty much want to minimize queue depth

Rotonen
2019-05-30 16:06:59
for random reads you want to make sure you're always having a deep queue

Rotonen
2019-05-30 16:07:32
this run with the cache lock is looking really good

Fireduck
2019-05-30 16:07:44
maxing out the cpu nicely, reading at 2GB/s

Fireduck
2019-05-30 16:07:52
i guess you just actually do less reads per second

Rotonen
2019-05-30 16:09:48
did `MappedByteBuffer` go away in java 8?

Rotonen
2019-05-30 16:10:13
ok, the docs just shuffled, found it https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/MappedByteBuffer.html

Rotonen
2019-05-30 16:11:24
in some testing I did for my electrum server, I found that it doesn't matter if you are doing memory mapped buffers vs file reads

Fireduck
2019-05-30 16:11:33
at least in Java

Fireduck
2019-05-30 16:11:47
i mean it'd help you with removing the layer you'd need to build for 1G reads?

Rotonen
2019-05-30 16:15:24
maybe. I'm not convinced anything matters with nvme doing 32mb reads vs 1gb reads. The slow part is the hashing on the cpu and thrashing memory around, I think

Fireduck
2019-05-30 16:15:38
maybe my MagicQueue is slowing things down

Fireduck
2019-05-30 16:15:52
that starts sounding like a threadripper should do well

Rotonen
2019-05-30 16:16:06
4 channels of ram, helluva lot of pcie, many cores

Rotonen
2019-05-30 16:16:06
that is what I am testing on right now

Fireduck
2019-05-30 16:16:27
AMD Ryzen Threadripper 1950X 16-Core Processor

Fireduck
2019-05-30 16:17:12
The number of pins on that socket was somewhat frightening

Fireduck
2019-05-30 16:17:29
that's actually a power delivery restriction

Rotonen
2019-05-30 16:17:36
also, like an idiot I bought a heat sink as big as my head

Fireduck
2019-05-30 16:17:47
which was nearly impossible to install

Fireduck
2019-05-30 16:17:49
you do the math, but it runs on 1 volt and burns over 100W worth of electricity :stuck_out_tongue:

Rotonen
2019-05-30 16:17:59
since the motherboard has a big heat sink blocking where i needed to get in

Fireduck
2019-05-30 16:18:13
that would be 100A, lol

Fireduck
2019-05-30 16:18:14
good

Fireduck
2019-05-30 16:18:19
it also actually is

Rotonen
2019-05-30 16:18:26
that's why you need many small pins

Rotonen
2019-05-30 16:18:52
designing motherboards is not the most trivial thing to do

Rotonen
2019-05-30 16:22:54
Yeah. 3d factorio

Fireduck
2019-05-30 16:23:07
Plus interfere

Fireduck
2019-05-30 16:23:20
plus thermodynamics

Rotonen
2019-05-30 18:15:11
did you try to style up the site? :smile:

Rotonen
2019-05-30 18:15:41
now it's a bit silly looking on a wide screen

Rotonen
2019-05-30 18:27:07
I noticed that but didn't do it intentionally

Fireduck
2019-05-30 18:40:12
have you considered using a static page generator?

Rotonen
2019-05-30 18:40:35
I am a static page generator. :wink:

Fireduck
2019-05-30 18:40:39
but not a good one

Fireduck
2019-05-30 18:40:44
something like hugo or sphinx where the inputs are markdown or restructured text

Rotonen
2019-05-30 18:43:39
i’m considering putting the wizard onto this
https://forestry.io/ Static CMS for Hugo, Jekyll, VuePress and Gatsby sites, powered by Git. A better way to edit static sites.

Rotonen
2019-05-30 18:58:25
That is actually something I need for foreverbucket

Fireduck
2019-05-30 19:07:11
markdown covers what and how you want to tell something pretty well

Rotonen
2019-05-30 19:07:24
and someone else figured out how to shot web

Rotonen