Tuesday, September 24, 2013

CGMINER Version 3.4.3

New release: Version 3.4.3, 13th September 2013


Stable codebase, feature upgrade version – Proxy support on stratum and per pool quota support. I also sneaked onto my wife’s laptop to get osx working.


Human readable changelog:


- Build fixes for cgminer releases to build on OSX (building from git still requires massaging).

- Fix for an extremely rare cause of crashes.

- Updated the screen to show when there is block change notification with multipool strategies and stratum.

- Don’t show the “waiting for work” message unless it is longer than it takes to switch pools during lag periods.

- Cope with trailing slashes being used on stratum based URLs.

- miner.php updates.

- Native proxy support on stratum for http1.0, http1.1, socks4, socks4a, socks5 and socks5h proxies without using libcurl for maximum stability.

- A completely rewritten load-balance strategy that now supports per pool quota support. See the following from the updated documentation to see how it works:


LOAD BALANCE:

This strategy sends work to all the pools on a quota basis. By default, all

pools are allocated equal quotas unless specified with –quota. This

apportioning of work is based on work handed out, not shares returned so is

independent of difficulty targets or rejected shares. While a pool is disabled

or dead, its quota is dropped until it is re-enabled. Quotas are forward

looking, so if the quota is changed on the fly, it only affects future work.

If all pools are set to zero quota or all pools with quota are dead, it will

fall back to a failover mode. See quota below for more information.


The failover-only flag has special meaning in combination with load-balance

mode and it will distribute quota back to priority pool 0 from any pools that

are unable to provide work for any reason so as to maintain quota ratios

between the rest of the pools.


QUOTAS


The load-balance multipool strategy works off a quota based scheduler. The

quotas handed out by default are equal, but the user is allowed to specify any

arbitrary ratio of quotas. For example, if all the quota values add up to 100,

each quota value will be a percentage, but if 2 pools are specified and pool0

is given a quota of 1 and pool1 is given a quota of 9, pool0 will get 10% of

the work and pool1 will get 90%. Quotas can be changed on the fly by the API,

and do not act retrospectively. Setting a quota to zero will effectively

disable that pool unless all other pools are disabled or dead. In that

scenario, load-balance falls back to regular failover priority-based strategy.

While a pool is dead, it loses its quota and no attempt is made to catch up

when it comes back to life.


To specify quotas on the command line, pools should be specified with a

semicolon separated –quota(or -U) entry instead of –url. Pools specified with

–url are given a nominal quota value of 1 and entries can be mixed.


For example:


Code:

–url poola:porta -u usernamea -p passa –quota “2;poolb:portb” -u usernameb -p passb

Will give poola 1/3 of the work and poolb 2/3 of the work.


Writing configuration files with quotas is likewise supported. To use the above

quotas in a configuration file they would be specified thus:


Code:

“pools” : [

{

"url" : "poola:porta",

"user" : "usernamea",

"pass" : "passa"

},

{

"quota" : "2;poolb:portb",

"user" : "usernameb",

"pass" : "passb"

}

]

Full changelog:


- Put corefoundation and iokit separate in ldflags for darwin.

- Add rules for libusb Makefile.am building on osx

- Add flags for building libusb statically on osx.

- Find the greatest common denominator in quotas and use the smallest number of

consecutive work items per pool in quota load balance mode to smooth hashrate

across pools with large quotas. Give excess quota to priority pool 0 instead of

pool 0.

- Avoid dynamically adding stack memory for nonce2 in the stratum send thread

and check the pool’s nonce2_len will not cause an overflow.

- Add subdir-objects to automake options.

- Use inet_addr instead of inet_network to fix windows build.

- Remove unused pbase variable.

- Add support for socks4/4a proxies with stratum, and drop back to socks4

support via the global –socks-proxy command to not break previous

configurations.

- Fix warning on mingw build.

- Only show long-poll message in pool summary if it’s not using stratum.

- Increase the time for the waiting for work message to be given to be greater

than that required for a pool swap in the scheduler which is set to 5s.

- Change message in status when using a balanced pool strategy to notify if

there’s a stratum pool as well.

- Use the –failover-only flag to have special meaning in combination with

load-balance mode to distribute any unused quota back to pool 0 to maintain

ratios amongst other pools.

- Display quota and allow it to be modified via the pool menu.

- Add API commands and modify output to support pool quota displaying and

changing.

- Change message in status when using a balanced pool strategy to notify if

there’s a stratum pool as well.

- Add quota support to configuration files.

- Rotate pools on all failures to set a pool in select_pool.

- Use quotas for load-balance pool strategy.

- Provide a mechanism for setting a pool quota to be used by load-balance.

- Use the –socks-proxy option with stratum, changing it to defaulting to socks5

and give appropriate message should it fail to connect.

- Cope with trailing slashes in stratum urls.

- Add more debugging messages when negotiating with proxies for stratum.

- Test specifically for socks5h in socks support for stratum.

- Add support for socks5 proxy with stratum

- Provide support for negotiating a stratum connection via http proxies.

- Connect to the proxy URL and port if specified for stratum sockets instead of

the pool directly.

- Extract any proxy url and port to be used by sockaddr if possible using

extract_sockaddr.

- Make extract_sockaddr set variables passed to it rather than pool struct

members.

- miner.php sort the mcast rigs so they are always in the same relative order

- miner.php allow sending the muticast message multiple times

- miner.php mcast ignore duplicate replies


DOWNLOAD:


All files available from here:
http://ck.kolivas.org/apps/cgminer


As a backup they can be downloaded here:
https://github.com/kanoi/cgminer-binaries


Debug builds are in http://ck.kolivas.org/apps/cgminer/debug/


.lrz files are compressed with lrzip http://lrzip.kolivas.org for much better compression and supports extreme encryption technology which is ideal for securing wallets.


Note that x86_64 binary is a 64 bit binary for UBUNTU 13.04.


Git tree:
https://github.com/ckolivas/cgminer


Latest git source tarball:
https://github.com/ckolivas/cgminer/tarball/master


Unofficial OSX binaries:
http://spaceman.ca/cgminer/


 


source: https://bitcointalk.org/index.php?topic=28402.msg3144100#msg3144100



No comments:

Post a Comment