burstcoin-jminer v0.4.10 - GPU assisted PoC-Miner (All Platforms)


  • admin

    @newsense2004 That should be it. Configure the platformID and deviceID as per gpuplotgenerator setup.



  • @haitch Finally got it working thanks.


  • admin

    burstcoin-jminer-0.4.10-SNAPSHOT

    Download:

    https://github.com/de-luxe/burstcoin-jminer/releases

    Updates:

    • 'debug=true' will now show details of 'NOT confirmed' deadlines, like the correct plotfile that caused it.
    • new solo mining property 'recommitDeadlines', if set to true, it will recommit promising deadlines multiple times in a interval of a few seconds.
      0_1494876128731_recommitDeadline.png
    • fixed bug with solo mining property 'triggerServer', that had no effect.
    • updated libs to latest versions.


  • @luxe thanks!



  • @luxe Thank you for your hard work and contribution to Burst. As always, Luxe keeps enhancing the miner :)
    Is it possible to add a web interface feature with the miner to monitor the miner from distance and to trace and track submitted DLs over time?


  • admin

    @rnahlawi Currently the miner does not 'track' history except from logging. So first the miner would need a database to store his stuff into. 2nd whatever service could provide data from that database etc.
    So sure everything is possible ... just a question of prio ... so much other things to do :-)



  • Hey @luxe I am curious about this property (chunkPartNonces), what does it mean exactly and how it could impact mining depending on the plots we have?
    thanks :)



  • @vExact said in burstcoin-jminer v0.4.10 - GPU assisted PoC-Miner (All Platforms):

    Hey @luxe I am curious about this property (chunkPartNonces), what does it mean exactly and how it could impact mining depending on the plots we have?
    thanks :)

    I ran a test on my miner using two different capacities. A small one (16TB) and a large one (88TB). Both showed the the lowest scan times when ChunkPartNonces (CPN) was near a value where CPN/TB~4096, I don't use the 320000 default but use powers of 2, so for each of these capacities, 16TB CPN=65.536 and 88TB CPN =524.288. Your mileage may vary possibly by GPU, CPU etc.



  • @rds interesting :) thanks for your input. But why particularly 4096? my drives are all 64kB formatted, could this also need to be taken into account or just the way plots are generated? I use Xplotter btw.



  • Well I should have had first read the description in the jminer.propertis lol
    It is related to the stagger size of the plots :)

    # -----------------------------------------------------------------------------------
    # chunkPartNonces - staggerSize defines number of nonces per chunk.
    # (default:320000)  the miner will split chunks in smaller pieces called chunkParts.
    #                   this makes sense, to save memory and optimize speed.
    #                   in the best case chunkPart#1 will be checked before chunkPart#2 is
    #                   completely read ... depending on the power of your GPU.
    #                   if staggersize is smaller than chunkPartNonces, staggersize will be used.
    #                   e.g. play with +/- 160000 steps
    


  • @vExact , 4096 was derived empirically. I ran the miner on both sizes, 16TB and 88TB. They were running at the same time. So two instances of JMiner running at once. CPNs were varied for each run (3 rounds average scan time recorded) using CPN values:
    16384
    32768
    65536
    131072
    262144
    524288
    1048576 and 2097152.

    Lowest average scan times using lowest CPN (memory) occurred near CPN/TB=4096.

    Why 4096? Maybe because there are 4096 scoops in a plot file, maybe 64*4096 is the amount of memory used to construct one nonce, don't know for sure.

    Also, the 2GB CPN crashed the system.



  • @rds so then following your reasoning and trials you made the optimal value for CPN would be the stagger size used for all your (optimized) plots where this value is a number with 2^n, meaning that the GB per plot is also a 2^n number. In any case let's wait for luxe to give his input here :)



  • @vExact said in burstcoin-jminer v0.4.10 - GPU assisted PoC-Miner (All Platforms):

    @rds so then following your reasoning and trials you made the optimal value for CPN would be the stagger size used for all your (optimized) plots where this value is a number with 2^n. In any case let's wait for luxe to give his input here :)

    No, CPN would be total size of all your plots in the scan directories, as reported by the JMiner at 100%, in TB*4096. I like to push this number to a power of 2, as I believe it is more efficient as memory is structured in binary.


  • admin

    @vExact said in burstcoin-jminer v0.4.10 - GPU assisted PoC-Miner (All Platforms):

    Hey @luxe I am curious about this property (chunkPartNonces), what does it mean exactly and how it could impact mining depending on the plots we have?
    thanks :)

    Well, the miner does not read one scoop and computes it.
    It reads all scoops of staggersize/chunk into memory and than computes that data package.
    On optimized plotfiles the miner would read all data of a plotfile first, and than compute it.
    (without chunkPartNonces)

    Therefore there is the chunkPartNonces ... the miner divides the staggersize/chunk by chunkPartNonces to get a number of 'parts' he reads and than computes.
    https://github.com/de-luxe/burstcoin-jminer/blob/master/src/main/java/burstcoin/jminer/core/reader/task/ReaderLoadDriveTask.java#L118
    So on staggersize 8000 and chunkPartNonces 800 the miner will read and compute 10 parts, one after the other. It can compute part#1 while part#2 is still being loaded (different/independent thread pools) ...
    So depending on your system memory / cpu and gpu ... the perfect size of chunkPartNonces may vary.
    In general: lower = less memory usage, more cpu usage ... higher = more memory, less cpu usage.

    Currenty i'm using chunkPartNonces=920000 for my setup.

    Edit: btw. if staggersize is smaller than chunkPartNonces ... chunkPartNonces has no effect at all. So it is for optimized plotfiles or plotfiles with high staggersize.



  • @luxe thanks for your reply. Let's say now I have a 2,56Tb mining capacity, consisting of 10 plots of 256GB each (1048576 nonces and staggersize for optimized plots). In this case which would be the optimal setup for chunkPartNonces?


  • admin

    @vExact for 2-3TB it does not matter much, just leave it like it is if you have no cpu or memory issue.



  • @luxe hey man... What is wrong with my setup? I underlined the lines with errors... I know it is mining and reading faster than my CPU but I can't see information regarding the Best DL or Last Winner, i tried to use the following addresses as walletServer:

    With all of them I always got this outcome... I should be doing something wrong, or this functions are not working properly @luxe ?

    0_1495821787769_jminer errors.png

    Here is my proprieties file:

    # -----------------------------------------------------------------------------------
    # - BURSTCOIN JMINER --------- THIS IS EXPERIMENTAL SOFTWARE, USE ON YOUR OWN RISK! -
    # -----------------------------------------------------------------------------------
    # jminer is a PoC (Proof of Capacity) miner with GPU support for Burstcoin (BURST)
    # (openCL will also work with CPU in needed)
    #
    # Requirements:
    # - Java8 (64bit recommend to use more memory)
    # - openCL
    #
    # PLEASE DONATE
    #
    # jminer would not be possible without openCL kernels and java code provided by 'burstDev',
    # he really deserves some tips for that!
    # BURST-QHCJ-9HB5-PTGC-5Q8J9
    #
    # Feel free to support future development of mining engine ...
    # BURST-LUXE-RED2-G6JW-H4HG5
    # -----------------------------------------------------------------------------------
    
    
    
    # -----------------------------------------------------------------------------------
    # NOTICE: your 'jminer.properties' hasn't got to contain all properties listed here
    #         as long there is a default/fallback defined, mentioned in here.
    # -----------------------------------------------------------------------------------
    
    
    
    # -----------------------------------------------------------------------------------
    # - PLOT-FILES ----------------------------------------------------------------------
    # -----------------------------------------------------------------------------------
    # plotPaths           - list of plot paths separated with , e.g. D:/,C:/,E:/plots,F:/plots (in one line)
    # (required)            the miner will treat every path as 'physical' drive and use one thread for it
    #
    # scanPathsEveryRound - optional 'true' will check 'plotPaths' for changed plot files on every round
    # (default:true)        'false' will check only on start/restart
    #
    # listPlotFiles       - optional ... list all plotFiles on start, If walletServer/soloServer is configured,
    # (default:false)       it will show mined blocks and drive seeks/chunks of plotfile, too.
    # -----------------------------------------------------------------------------------
    plotPaths=D:/plots/DONE,E:/plots/DONE
    scanPathsEveryRound=true
    listPlotFiles=true
    
    # -----------------------------------------------------------------------------------
    # - MINING MODE ---------------------------------------------------------------------
    # -----------------------------------------------------------------------------------
    # poolMining             - 'true' for pool mining, 'false' for solo mining.
    # (default:true)            ensure to configure the chosen mining-mode below.
    # -----------------------------------------------------------------------------------
    poolMining=true
    
    # -----------------------------------------------------------------------------------
    # - MINING MODE - POOL ---------------------------------- ONLY NEEDED 4 POOL MINING -
    # -----------------------------------------------------------------------------------
    # NOTICE:
    # ensure you already setup reward assignment
    # http://localhost:8125/rewardassignment.html
    #
    # numericAccountId        - first number in all plot-files
    # (required for pool)
    #
    # poolServer              - format is inclusive protocol and port e.g. 'http://pool.com:8125'
    # (required for pool)
    #
    # walletServer            - define local or online wallet, to receive and show last winner!
    # (optional)                if empty, winner feature will be just disabled.
    #                           format is inclusive protocol and port e.g. 'http://localhost:8125'
    #                           online use e.g. 'https://wallet.burst-team.us:8125'
    #
    # winnerRetriesOnAsync    - number of retries to get winner from walletServer
    # (default:4)
    # winnerRetryIntervalInMs - time to wait until next retry to get winner from walletServer
    # (default:500)
    # -----------------------------------------------------------------------------------
    numericAccountId=9732741443391337776
    poolServer=http://pool.ccminer.net:8080
    
    # Winner
    walletServer=https://79.168.208.213:8125
    winnerRetriesOnAsync=10000
    winnerRetryIntervalInMs=500
    
    # -----------------------------------------------------------------------------------
    # - MINING MODE - SOLO ---------------------------------- ONLY NEEDED 4 SOLO MINING -
    # -----------------------------------------------------------------------------------
    # soloServer              - WARN! soloServer should be http://localhost:8125 or http://127.0.0.1:8125
    # (default:                 Solo means you send your PASS on commit results!
    # http://localhost:8125)    DO NOT try to use a online wallet or pool as Server!
    #
    # passPhrase              - secretPhrase/password of solo mining burst-account
    # (required for solo)
    #
    # targetDeadline          - min. deadline to be committed. e.g. 750000
    # (optinal)
    #
    # triggerServer           - emulates open wallet, to prevent it from
    # (default: false)          falling asleep (not sure if needed at all)
    #
    # recommitDeadlines       - recommits deadlines below 1200 3 times in a interval of 5 sec.
    # (default: false)          experimental feature to increase chance that deadline gets propagated
    #                           e.g. on short disconnect or connected peers busy etc.
    # -----------------------------------------------------------------------------------
    soloServer=http://localhost:8125
    passPhrase=xxxxxxxxxxxxxx
    targetDeadline=
    triggerServer=
    recommitDeadlines=
    
    # -----------------------------------------------------------------------------------
    # - OpenCL -----------------------------------------------------------------------------
    # -----------------------------------------------------------------------------------
    # The miner uses openCL for most of the mining calculations, ensure it is setup correctly.
    # Instructions can be found e.g. here (thanks cryo):
    # https://github.com/bhamon/gpuPlotGenerator/blob/master/README.md
    # You could also use that instruction to find your platformId and deviceId if needed.
    #
    # platformId     - id of openCL platform on your system. one platform may have multiple
    # (default:0)      devices, the miner currently uses just one (in general not the bottleneck)
    #
    # deviceId       - specifies the device used by OCLCecker, can be your first GPU,
    # (default:0)      in most cases it will not be 100% used. (depends on capacity)
    # -----------------------------------------------------------------------------------
    platformId=
    deviceId=
    
    # -----------------------------------------------------------------------------------
    # - MINING ENGINE -------------------------------------------------------------------
    # -----------------------------------------------------------------------------------
    # refreshInterval    - interval of asking wallet/pool for mining info (in ms),
    # (default:2000)       to check for new block
    #
    # connectionTimeout  - increase the 'connectionTimeout' on network problems.
    # (default:12000)      this timeout is used for all network requests.
    #                      if you use pool or online-wallet, the 12 sec. default may
    #                      cause timeout on committing nonces or getting mining info etc.
    #
    # debug              - setting 'debug' to true will log additional information of the mining process,
    # (default:false)      that are not related to mining, but to miner internals.
    #
    # writeLogFile       - setting 'writeLogFile' to 'true' will write all logs from console to a file, too.
    # (default:false)      the name of that file can be specified by 'logFilePath'.
    #
    # logFilePath        - path (filename and optional directory, relative to miner location)
    # (default:log/jminer.log.txt)
    # -----------------------------------------------------------------------------------
    refreshInterval=1000
    connectionTimeout=60000
    
    debug=true
    writeLogFile=true
    logFilePath=C:\Users\Goncalo\Desktop\BURST\software\jminer
    
    # -----------------------------------------------------------------------------------
    # - MINING ENGINE - APPEARANCE / BEHAVIOR -------------------------------------------
    # -----------------------------------------------------------------------------------
    # readProgressPerRound - defines how often the mining progress is shown per round
    # (default:9)            thats the 'xx% done ...' info.
    #
    # byteUnitDecimal      - switch between decimal units (true): TB/GB/MB (divided by 1000),
    # (default:true)         or binary units (false) TiB/GiB/MiB (divided by 1024) - https://en.wikipedia.org/wiki/Byte
    #
    # showDriveInfo        - set this to 'true' to show info about every drive on finish reading it,
    # (default:false)        this is useful to find the slow ones ... can help to optimize your setup.
    #
    # showSkippedDeadlines - set this to 'true' to show found deadlines below targetDeadline from
    # (default:true)         this config or provided by pool (overwriting the targetDeadline specified in here)
    # -----------------------------------------------------------------------------------
    readProgressPerRound=5
    byteUnitDecimal=
    showDriveInfo=true
    showSkippedDeadlines=true
    
    # -----------------------------------------------------------------------------------
    # - MINING ENGINE - MEMORY USAGE ----------------------------------------------------
    # -----------------------------------------------------------------------------------
    # chunkPartNonces - staggerSize defines number of nonces per chunk.
    # (default:320000)  the miner will split chunks in smaller pieces called chunkParts.
    #                   this makes sense, to save memory and optimize speed.
    #                   in the best case chunkPart#1 will be checked before chunkPart#2 is
    #                   completely read ... depending on the power of your GPU.
    #                   if staggersize is smaller than chunkPartNonces, staggersize will be used.
    #                   e.g. play with +/- 160000 steps
    #
    # readerThreads   - normally '0' means, the miner takes one thread per drive (plotPath) this is recommend.
    # (default:0)       choosing a other number of 'readerThreads' can be useful on memory issues.
    #                   For example, if you mine on 4 drives (plotPaths), you can reduce the memory usage
    #                   by setting 'readerThreads=2', this will reduce mining speed but save memory.
    # -----------------------------------------------------------------------------------
    chunkPartNonces=
    readerThreads=
    


  • if you got local wallet running try pointing to it (http://localhost:1825)



  • @LithStud Yeah I have not a local one in this machine... ;D
    I may install it tho. But it is saying that the burst-team wallet is out of sync when in fact it isn't lol



  • @gpedro the IP one didnt work for me at all so no wonder there. Not sure why others doesnt work tho (thus recommendation to try local and see what happens :D )


Log in to reply
 

Looks like your connection to Burst - Efficient HDD Mining was lost, please wait while we try to reconnect.