2018-06-07 04:24:48
partial memory mapping - c would be your friend there
Rotonen
2018-06-07 04:57:24
one neat thing would be to have that map split into NUMA aware cpu pinned thread locals
Rotonen
2018-06-07 04:58:17
for a good overview on what i’m thinking in:
https://www.open-mpi.org/projects/hwloc/
Rotonen
2018-06-07 05:03:23
so
1) max thread size should fit into a NUMA node
2) upon multiple memory channels per nose split further into thread groups per numa node to max out memory bandwidth use
3.1) one (or two?) thread for the disk remnant if spinny disks
3.2) query the NCQ size for the thread count on SATA SSDs
3.3) query the multiqueue scheduler for details on how to saturate an NVMe device
Rotonen
2018-06-07 05:04:33
it can just expose ’it can use up to this much RAM’ to the user
Rotonen
2018-06-07 05:07:34
for details of real code: the monero cpu miners do that to a degree as they are also memory latency bound
Rotonen
2018-06-07 07:33:03
*https://github.com/snowblossomcoin/snowblossom/compare/3e1d2d331acd...a442b1ad727b*
https://github.com/snowblossomcoin/snowblossom/commit/a442b1ad727bbeffcf4b688ae4e253864e366dc5 - Mining pool work
GitHub
2018-06-07 11:40:09
@bottob88 has joined the channel
bottob88
2018-06-07 14:56:03
```Jun 07, 2018 7:54:53 AM io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$StreamException: Received DATA frame for an unknown stream 3
at io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:129)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.shouldIgnoreHeadersOrDataFrame(DefaultHttp2ConnectionDecoder.java:535)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onDataRead(DefaultHttp2ConnectionDecoder.java:187)
at io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onDataRead(Http2InboundFrameLogger.java:48)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readDataFrame(DefaultHttp2FrameReader.java:421)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:251)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160)
at io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118)
at io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:390)
at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:547)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:501)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:844)
Tyler Boone
2018-06-07 14:56:24
getting that from Node.
Tyler Boone
2018-06-07 14:59:54
note that I still appear to be at the correct node height
Tyler Boone
2018-06-07 15:00:04
and things are working
Tyler Boone
2018-06-07 15:01:45
seen those as well.
Clueless
2018-06-07 15:01:50
rare occassoin
Clueless
2018-06-07 15:02:47
Something is sending bullshit to your grpc port.
Fireduck
2018-06-07 15:03:03
Ideally we'd have the log level set to not see those
Fireduck
2018-06-07 15:11:56
@Shoots has joined the channel
Shoots
2018-06-07 15:21:47
@Protovist has joined the channel
Protovist
2018-06-07 15:22:41
ok, I need to build a 5tb SSD array to build the next field
Fireduck
2018-06-07 15:25:00
The build I linked you earlier should do well, but i'd want to confirm the mobo supports the pcie lanes for the 4x nvmes just fine
Clueless
2018-06-07 15:25:40
And can you link that build again?
Fireduck
2018-06-07 15:27:31
That'll work pretty well, but I'm not an expert in hardware architecture
Clueless
2018-06-07 15:35:09
I might just get a few those these: https://www.amazon.com/Micron-1100-SATA-2-5-inch-MTFDDAK2T0TBN-1AR1ZABYY/dp/B01LB05YOO
Fireduck
2018-06-07 15:35:16
wont be as fast but will let me make the file
Fireduck
2018-06-07 15:55:50
@Fireduck Suggest setting Slack Channel Permissions so that only collaborators can create channels. We're winding up with iterations of <#CB40FDCF9|trade>, <#CB2R25KC0|trading>, #otc and more just on accident. heh
Clueless
2018-06-07 15:56:12
think it requires workspace owner to modify those permissions
Clueless
2018-06-07 17:01:56
@bl0ckchain has joined the channel
bl0ckchain
2018-06-07 21:32:23
@SerfyWerfy has joined the channel
SerfyWerfy
2018-06-07 22:14:50
@Gary Brinkman has joined the channel
Gary Brinkman
2018-06-07 22:21:34
*https://github.com/snowblossomcoin/snowblossom/compare/a442b1ad727b...013f295c4670*
https://github.com/snowblossomcoin/snowblossom/commit/013f295c46707e235910a7bd45d04d32cdfbf13c - super alpha mining pool
GitHub
2018-06-07 22:40:38
Anyone who wants to run a pool, now is your time to shine
Fireduck
2018-06-07 23:01:31
```Jun 07, 2018 10:59:58 PM io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference cleanQueue
SEVERE: *~*~*~ Channel ManagedChannelImpl{logId=io.grpc.internal.ManagedChannel$mpl-316, target=[2601:602:8802:2091:4875:7446:ce75:f5f3]:2338} was not shutdown properly!!! ~*~*~*
Make sure to call shutdown()/shutdownNow() and wait until awaitTermination($ returns true.
java.lang.RuntimeException: ManagedChannel allocation site
at io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference$<init>(ManagedChannelOrphanWrapper.java:103)
at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOr$hanWrapper.java:53)
at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOr$hanWrapper.java:44)
at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractMan$gedChannelImplBuilder.java:396)
at snowblossom.node.PeerClient.<init>(PeerClient.java:20)
at snowblossom.node.Peerage$PeerageMaintThread.connectToPeers(Peerage.j$
va:383)
at snowblossom.node.Peerage$PeerageMaintThread.run(Peerage.java:316)```
Protovist
2018-06-07 23:09:02
yeah, doesn't seem to cause a problem but hven't tracked it down yet
Fireduck
2018-06-07 23:09:10
want to file that as a bug on github?
Fireduck
2018-06-07 23:09:13
sure
Protovist
2018-06-07 23:11:30
`Jun 07, 2018 10:59:58 PM io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference cleanQueue SEVERE: *~*~*~ Channel ManagedChannelImpl{logId=io.grpc.internal.ManagedChannel$mpl-316, target=[2601:602:8802:2091:4875:7446:ce75:f5f3]:2338} was not shutdown properly!!! ~*~*~* Make sure to call shutdown()/shutdownNow() and wait until awaitTermination($ returns true. java.lang.RuntimeException: ManagedChannel allocation site at io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference$<init>(ManagedChannelOrphanWrapper.java:103) at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOr$hanWrapper.java:53) at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOr$hanWrapper.java:44) at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractMan$gedChannelImplBuilder.java:396) at snowblossom.node.PeerClient.<init>(PeerClient.java:20) at snowblossom.node.Peerage$PeerageMaintThread.connectToPeers(Peerage.j$ va:383) at snowblossom.node.Peerage$PeerageMaintThread.run(Peerage.java:316)`
GitHub
2018-06-07 23:25:08
@Fireduck Why not store just store the pool shares w/ RocksDB as well?
Protovist
2018-06-07 23:25:57
Because the baby is awake now. But yeah, easy. Just not done yet.
Fireduck
2018-06-07 23:26:03
Ahh, ok.
Protovist