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