Bitcoin Forum
March 29, 2024, 01:45:22 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 »
  Print  
Author Topic: Smartcoin Linux mining administration. [MULTI-MACHINE SUPPORT NOW IN!]  (Read 104963 times)
jondecker76 (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 13, 2011, 11:32:33 PM
Last edit: August 03, 2011, 02:08:02 PM by jondecker76
 #1

[EDIT 7-19-2011]


SmartCoin originated from the acronym Simple Miner Administration through Remote Terminals.
As the name implies, smartcoin is designed specifically with administrating your mining machines remotely over SSH.  As such, smartcoin doesn't have fancy gadgets or a fancy UI.  This makes it very easy to administer your mining machines remotely over SSH on standard Linux/Windows terminal emulators, smartphones with terminal emulator software (ConnectBot for Android, for example), and even web-based SSH terminal emulator services (www.gotossh.com, for example).  
Although I'm the author of Smartcoin, I'm also an avid user of the software myself, and I am dedicated to making this the most stable and trusted mining solution running on Linux.  Looking back, I simply can't imagine running my personal (but small) mining operation without it!

Smartcoin also has some unique features that you won't find anywhere else:
-A profile system that lets you specify how many instance of a miner runs on each GPU, and which workers to run against. Your profiles are stored, so that you can recall any profile you want to run at any time.
-An Automatic profile, which will get you started by simply entering your worker information into the system
-A built-in donation system that will allow you to help fund development of smartcoin, by simply donating some hashes each day to special donation pools. Of course, this is optional, and all done in the clear.
-A simple installer that will attempt to auto-detect system parameters for you.  This includes GPU devices, paths to popular miners, paths the needed software, etc.
-A unified status display that allows you to watch all of your miner instances across all GPUs. This also includes "totalizers" that will add up the hash rate, acceptions, rejections etc. so that you have a full overview of your operation.
-An update system that makes keeping your local copy of smartcoin up to date.  You can even choose to pull in "stable" or "experimental" changes, depending on whether you want the latest and greatest features, or if you would rather play it safe with tested and stable changes.
-A full failover system.  You can set a preferred order of your profiles. If a pool in your profile goes down (from a ddos for example), then the next one in line is automatically loaded. When a higher priority profile comes back online, all the lower priority profiles below it go back offline. This all happens automatically!
- Security.  SSH is the standard when it comes to remote administration over secure connection. While a lof of users have expressed that they would like a web based front end, it simply lacks the security that I feel is needed.
- Smartcoin is database driven.  This allows for a lot of flexibility in adding features, as the SQL language its self can be leveraged to perform very complex operations quite easily.
- GPU lockup detection.  With everyone wanting to squeeze every last hash out of their hardware via overclocking, it is common for GPUs that have been overclocked just a bit too much to "lock up".  These types of conditions are now detected automatically, you can be alerted and even have your machine automatically reboot when this happens!
- Custom script execution - you can define your own initialization script that will be run automatically when smartcoin starts (to set your GPU fan speeds to 100%, for example). You can also define your own lockup script, which will automatically run when a lockup condition is detected.


Smartcoin is in continuous development. As such, there are a lot of features that are planned, just not implemented yet. Here is a brief list of planned features:
- Multi-machine support.  This will allow smartcoin to control many mining devices securely over SSH connections.  This simply means, you will be able to manage all of your miners, from one place easily
- Email support for daily/hourly/etc reports.  Since smartcoin is text-based,  a "screenshot" of the current status can also be sent with the report.  Email support can also be used in the future to alert you if your GPU's are getting too hot, etc.
- A weighting system. This will allow you to dedicate hashing power to certain workers by specifying a percentage.  Perhaps you want to dedicate 5% of your hashing power to Solo mining, for example.


INSTALLATION
Installation is easy, but assumes that your machine is already set up for mining.  Smartcoin its self is not a miner, and does not install any other software normally associated with a miner. It is made to sit on top of an already working miner.  There are plenty of guides and threads regarding this, so I won't touch on it  here.  Right now, smartcoin is known to work on Ubuntu, LinuxCoin and Fedora. It may work on more setups, but many simply haven't been tested yet.

Requirements: findutils, sqlite3, bc, sysstat, openssh-server (these should install automatically in debian based distros such as LinuxCoin and Ubuntu, but pre-installing them beforehand is recommended. Fedora users should install these packages via yum before installing smartcoin)

installation:

Code:
cd ~/
mkdir smartcoin
cd smartcoin
svn checkout http://smartcoin.googlecode.com/svn/branches/beta1/smartcoin ./
./smartcoin_install.sh
NOTE:  smartcoin can be installed anywhere on the system, just replace the mkdir and cd statements above to reflect where you want to install smartcoin.


HOW TO UNINSTALL
Code:
sudo rm -r ~/.smartcoin
sudo rm /usr/bin/smartcoin
sudo rm -r <path/to/your/installation>

HOW TO USE
To use, simply type 'smartcoin' at the terminal.  If smartcoin isn't already loaded and running in the background,  it will start up the smartcoin system.  If its found that smartcoin is already running in the background, you will be reattached to the smartcoin session automatically.
Upon starting or reattaching,  you will initially be brought to the control tab. Here, you are able to configure smartcoin and administer the system.  You can switch to the status tab by pressing ctrl+a, followed by the number 1 (ctral+a, release, 1).  The status screen gives you an overview of your mining operation.
To return to the control screen, press ctrl+a, followed by the number 0.
To detach from smartcoin, either use the detach option on the control screen, or use the keys ctrl+a d. (A detached session continues to run in the background, so don't worry, your miners will keep hashing away)
To reattach to smartcoin, simply either type 'smartcoin' at the terminal, or screen -r smartcoin.


HOW TO KEEP UP TO DATE

Smartcoin has its own integrated  update system.  On the control screen, use option 11) Update  to bring your local copy of smartcoin up-to-date.  DO NOT simply run an svn update on the smartcoin folder!  Smartcoins update system has an advanced database patching system designed to keep your database schema in sync with recent changes, and is very important in keeping your system up to date

TROUBLESHOOTING
Though I have made every effort to make using and setting up smartcoin easy, it is still a very complex bit of software, and as such some users may experience problems getting it set up initially.
Smartcoin uses a linux utility called GNU Screen.  GNU Screen is a complicated piece of software in its own right, but you have to at least know the basics to get full use of Smartcoin.
Below are the keystrokes used to perform certain actions.  They are part of GNU screen, and I can't make them easier, sorry!
(ctrl+a 1 means, hit the control key and 'a' at the same time, then release them. Then press 1)

ctrl+a 0  -> Control screen
ctrl+a 1  -> 1st host machine (localhost normally)
ctrl+a 2  -> 2nd host machine (and so on.... Not supported yet)
ctrl+c    -> Kill the script. Press o to reload it after killing it
ctrl+a d  -> Detach (can also be done from control screen)

A log file is kept for the current session at ~/.smartcoin/smartcoin.log.  This can often give clues as to what the problem is. Common problems include:
- Miners don't appear to be launching.
This is fairly easy to check. Disconnect from smartcoin, and run
Code:
screen -ls
You should see a screen instance with the name "miner" in it.  If you don't, it likely means that your phoenix path, or the AMD/ATI sdk path is set incorrectly. Both of these can be edited from the control screen, option 4) Settings.

- Miners appear to have launched, but the status screen  doesn't look right.  Most workers are listed as "Down" and the hash rates don't add up
Right now, only phoenix is 100% supported. Poclbm will work, but the status screen will not work as it should. This will be fixed soon.



KNOWN ISSUES
- Installer seems to work ok, though sometimes it may improperly identify things like GPUs, and paths to the phoenix miner and AMD/ATI sdk.  These can be double-checked, and edited from the control screen.
- Entering a colon for the donation time in the settings menu setting crashes  smartcoin_control.sh (enter times as 0100 for 1:00am, 1400 for 2:00pm etc... until I start filtering the input.)
- Deleting miners isn't "safe" yet(you may delete the miner flagged as default).  If you delete a miner, you may have to go to edit miners, and set a new one as default.



HOW TO REPORT BUGS
Since smartcoin is rapidly evolving, it is very important to know what revision you are running, what distro you are running etc. Current revision is shown at the top of each screen as r### (r300 for example).  For each bug report you make here, please include the current revision you are running, whether you are running the stable or experimental branch,  what distro you are running, as well as a paste of the ~/smartcoin/smartcoin.log
NOTE: smartcoin.log will contain login information for your workers, so if you don't wish to share them, please edit them out first!










***** The Text Below Is From The Original Post, And Kept Here For Posterity *****
[edit 6-25-2011]
Beta is now released to public
http://forum.bitcoin.org/index.php?topic=16548.msg282643#msg282643



Hello

With all of the ddos attacks and pools going down all the time,  I was getting a lot of downtime on my miners.  I'm a very experienced Linux programmer, so I decided to take on a project to end all of the madness.  I have been using it (in early alpha stages) for the last several days with great success - I haven't missed a hash even with deepbit and slush's pools having bouts of downtime.

SmartCoin -
Simple Miner Administration for Remote Terminals
As the name implies, this is a full-blown administration system for miners that is specifically designed with terminals in mind (remote ssh shell access, etc.). It is also so much more -  its a full load-balanced system that tracks all of the miner instances on a machine, and reports everything on one easy to view screen.  The idea is to spread many miner instances across several GPUs for multiple pools (and even solo!) on one machine (i'm mining to 4 concurrent pools as we speak. If any one of them goes down, the system re-balances its self with any remaining good pools, and my hashing power remains the same).  SmartCoin also makes automated deployments a breeze - it can start everything up (according to "mapping rules") at boot up, and makes it simple to restart an entire array of miners.  You can even change settings on the fly and watch as the system magically adjusts itsself.  SmartCoin is fully backed by a MySql database, and written in 100% linux CLI tools (bash, sed, awk).  Another neat perk to this, is that you can put a small percentage of your hashing power into solo mining if you like, while you're mining to several pools at once! This is NOT a proxy - its a load balancing system that does not interfere with Long Polling or suffer from any other problems experienced with proxies.

Here is what is finished and working:
- The database engine is working and the database structure is finished
- Status monitoring is nearly 100% complete. View everything from one page!
- Load balancing works amazingly well, and has been absolutely 100% reliable
- The system is fully usable, just missing planned features
- virtually any miner/pool/worker is supported - you need only define it once in the database
- Nearly any combination of pools/miners/workers can be load spread among any combinations of GPUs
- Namecoin compatibility..  Put a small percentage of your hashing power into solo or pooled namecoin mining while you also mine for bitcoins!

Here is what is planned, but not yet implemented (or in various stages of implementation)
- A "monitor" function. This will monitor all mining processes going on, and can alert you on various conditions, automatically reset the SmartCoin system, reboot the computer and even attempt known pool "failover" server addresses.  This will also have a dedicated output screen where it reports what its doing and where it is at in the monitoring process.
- A "control" function.  This will be the simple interface where you can do things like reboot the server, manually restart SmartCoin, and add entries to the database/set up mappings. (currently I do this with raw SQL which is fine for me, but I'm sure others would appreciate this feature)
- ATI only, for the moment (I don't plan on changing this)
- Only tested on Ubuntu (will open to some early testers when I hit a beta milestone)
- Possibly an http gateway for monitoring and control over the web
- Remove hard coding.  This started as a private system to run my own miners.  After I realized the incredible reliability and value it adds to a mining operation, I decided to make it generalized (so that anyone could use it)..  There is still some hard-coded parts that I am cleaning up!


What can you do to help?
Feature suggestions would be great.
Donations would be great (please see my signature, any small bit helps)

Pledges to donate upon full completion would be great
Testing and feedback (when I release to beta)

And now, some "Screenshots" (dumps of screen sessions) that shows the status monitor, and shows off the awesome load balancing.  (Please ignore any inconsistencies in the screenshots, as they changed from time to time as I was testing layout ideas)

Code:
S.M.A.R.T MINING SYSTEM Mon Jun 13 09:32:16 EDT 2011
--------------------------------------------------------------------------------
EOF encountered in a comment.
(standard_in) 1: syntax error
GPU 0: Temp: 79.50 load: GPU load : 99%
GPU 1: Temp: 76.00 load: GPU load : 99%
GPU 2: Temp: 60.50 load: GPU load : 99%
CPU Load : 1.68%
Local Bitcoin balance : 61.89000000

deepbit-0:      <<<DOWN>>>
deepbit-1:      <<<DOWN>>>
deepbit-2:      <<<DOWN>>>
deepbit-T:      [0 Mhash/sec] [0 Accepted] [0 Rejected]

bitcoincz-0:    <<<DOWN>>>
bitcoincz-1:    <<<DOWN>>>
bitcoincz-2:    <<<DOWN>>>
bitcoincz-T:    [0 Mhash/sec] [0 Accepted] [0 Rejected]

btcguild-0:     [331.28 Mhash/sec] [307 Accepted] [33 Rejected] [RPC (+LP)]
btcguild-1:     [331.12 Mhash/sec] [332 Accepted] [31 Rejected] [RPC (+LP)]
btcguild-2:     [331.51 Mhash/sec] [329 Accepted] [22 Rejected] [RPC (+LP)]
btcguild-T:     [993.91 Mhash/sec] [968 Accepted] [86 Rejected]

Grand Total:    [993.91 Mhash/sec] [968 Accepted] [86 Rejected] [% Stales]
Note in this one that bitcoincz and deepbit were down, so all of the load went to btcguild




Code:
S.M.A.R.T MINING SYSTEM Mon Jun 13 14:28:32 EDT 2011
--------------------------------------------------------------------------------
error: couldn't connect to server
GPU 0: Temp: 79.50 load: GPU load : 99%
GPU 1: Temp: 76.50 load: GPU load : 99%
GPU 2: Temp: 64.50 load: GPU load : 99%
CPU Load : 1.88%
Local Bitcoin balance :

--------deepbit--------
card0:  <<<DOWN>>>
card2:  [166.33 Mhash/sec] [141 Accepted] [7 Rejected] [RPC (+LP)]
card1:  <<<DOWN>>>
Total: 166.33 MHasg/sec
--------slush--------
card0:  <<<DOWN>>>
card2:  <<<DOWN>>>
card1:  <<<DOWN>>>
Total: 0 MHasg/sec
--------btcguild--------
card1:  [331.40 Mhash/sec] [138 Accepted] [11 Rejected] [RPC (+LP)]
card0:  <<<DOWN>>>
card2:  [166.33 Mhash/sec] [141 Accepted] [9 Rejected] [RPC (+LP)]
Total: 497.73 MHasg/sec
Grand Total:    [664.06 Mhash/sec] [0 Accepted] [0 Rejected] [% Stales]
Here you can see deepbit coming back up...  And btc guild had a hiccup on one of the cards..



Code:
S.M.A.R.T MINING SYSTEM Mon Jun 13 15:09:45 EDT 2011
--------------------------------------------------------------------------------
GPU 0: Temp: 76.50 load: 99%
GPU 1: Temp: 76.50 load: 0%
GPU 2: Temp: 76.50 load: 99%
CPU Load : 1.92%
Local Bitcoin balance : 61.89000000

--------deepbit--------
card0:  <<<DOWN>>>
card1:  [334.03 Mhash/sec] [40 Accepted] [3 Rejected] [RPC (+LP)]
card2:  [166.33 Mhash/sec] [0 Accepted] [3 Rejected] [RPC (+LP)]
Total: 500.36 MHash/sec
--------slush--------
card0:  <<<DOWN>>>
card1:  <<<DOWN>>>
card2:  <<<DOWN>>>
Total: 0 MHash/sec
--------btcguild--------
card0:  [110.88 Mhash/sec] [2 Accepted] [0 Rejected] [RPC (+LP)]
card1:  <<<DOWN>>>
card2:  [166.32 Mhash/sec] [4 Accepted] [0 Rejected] [RPC (+LP)]
Total: 277.20 MHash/sec
--------btcmine--------
card0:  [116.43 Mhash/sec] [3 Accepted] [0 Rejected] [RPC (+LP)]
Total: [116.43 MHash/sec]

Grand Total:    [893.99 Mhash/sec] [0 Accepted] [0 Rejected] [% Stales]
Added btcmine to the mapping, but only to card0!  This allows you to fraction your total hashing power into smaller bits!


Code:
S.M.A.R.T MINING SYSTEM Mon Jun 13 15:34:49 EDT 2011
--------------------------------------------------------------------------------
GPU 0: Temp: 79.50 load: 99%
GPU 1: Temp: 80.00 load: 99%
GPU 2: Temp: 79.50 load: 99%
CPU Load : 1.95%
Local Bitcoin balance : 61.89000000

--------deepbit--------
card0:  [121.97 Mhash/sec] [4 Accepted] [0 Rejected] [RPC (+LP)]
card1:  [85.94 Mhash/sec] [5 Accepted] [0 Rejected] [RPC (+LP)]
card2:  [116.41 Mhash/sec] [4 Accepted] [0 Rejected] [RPC (+LP)]
Total: 324.32 MHash/sec
--------slush--------
card0:  <<<DOWN>>>
card1:  <<<DOWN>>>
card2:  <<<DOWN>>>
Total: 0 MHash/sec
--------btcguild--------
card0:  [108.10 Mhash/sec] [8 Accepted] [0 Rejected] [RPC (+LP)]
card1:  [83.16 Mhash/sec] [4 Accepted] [0 Rejected] [RPC (+LP)]
card2:  [113.60 Mhash/sec] [6 Accepted] [0 Rejected] [RPC (+LP)]
Total: 304.86 MHash/sec
--------btcmine--------
card0:  [105.33 Mhash/sec] [6 Accepted] [0 Rejected] [RPC (+LP)]
card1:  [85.94 Mhash/sec] [8 Accepted] [0 Rejected] [RPC (+LP)]
card2:  [110.83 Mhash/sec] [5 Accepted] [0 Rejected] [RPC (+LP)]
Total: 302.10 MHash/sec
--------solo--------
card1:  [80.39 Mhash/sec] [0 Accepted] [0 Rejected] [RPC]
Total: [80.39 MHash/sec]

Grand Total:    [1011.67 Mhash/sec] [0 Accepted] [0 Rejected] [% Stales]
Did another mapping that put btcmine on all 3 GPUs, and fractioned a bit of hashing off of card1 for solo mining!


Code:
S.M.A.R.T MINING SYSTEM Mon Jun 13 15:45:46 EDT 2011
--------------------------------------------------------------------------------
GPU 0: Temp: 80.00 load: 99%
GPU 1: Temp: 79.50 load: 99%
GPU 2: Temp: 79.50 load: 99%
CPU Load : 1.96%
Local Bitcoin balance :

--------deepbit--------
card0:  [97.08 Mhash/sec] [2 Accepted] [2 Rejected] [RPC]
card1:  <<<DOWN>>>
card2:  [110.87 Mhash/sec] [1 Accepted] [2 Rejected] [RPC (+LP)]
Total: 207.95 MHash/sec
--------slush--------
card0:  <<<DOWN>>>
card1:  <<<DOWN>>>
card2:  <<<DOWN>>>
Total: 0 MHash/sec
--------btcguild--------
card0:  [116.42 Mhash/sec] [10 Accepted] [0 Rejected] [RPC (+LP)]
card1:  [166.32 Mhash/sec] [5 Accepted] [0 Rejected] [RPC (+LP)]
card2:  [110.87 Mhash/sec] [9 Accepted] [0 Rejected] [RPC (+LP)]
Total: 393.61 MHash/sec
--------btcmine--------
card0:  [110.87 Mhash/sec] [11 Accepted] [0 Rejected] [RPC (+LP)]
card1:  [166.32 Mhash/sec] [10 Accepted] [0 Rejected] [RPC (+LP)]
card2:  [110.88 Mhash/sec] [6 Accepted] [0 Rejected] [RPC (+LP)]
Total: [388.07 MHash/sec]

Grand Total:    [989.63 Mhash/sec] [0 Accepted] [0 Rejected] [% Stales]
Showing deepbit coming back up, and the system finding a new balance as it happens.




And here is an actual screengrab of an ssh session checking on one of my mining rigs
(ignore the silly error at the bottom, I stopped bitcoind to test something)





Thats about it for now.  It really is amazing to see in action - I no longer fear pools going down, and restarting all my miners on different GPUs is no longer a chore, its as simple as can be! (one command, ~/smart.sh does it all)

Any pledges/donations can be made to 1AnDpiSvcUKejhENUFuigRCZC97cir4uwn to help keep me motivated and get this thing kicked out as early as I possibly can! It will also help offset the down time I incur as I shut my miners down often to test things during development!

RollerBot Advanced Trading Platform
https://bitcointalk.org/index.php?topic=447727.0
BTC Donations for development: 1H36oTJsi3adFh68wwzz95tPP2xoAoTmhC
1711719922
Hero Member
*
Offline Offline

Posts: 1711719922

View Profile Personal Message (Offline)

Ignore
1711719922
Reply with quote  #2

1711719922
Report to moderator
The network tries to produce one block per 10 minutes. It does this by automatically adjusting how difficult it is to produce blocks.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Goldenmaw
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
June 13, 2011, 11:55:23 PM
 #2

Wow!  I had just been thinking about how great it would be if I could administrate all of my miners from a single console.  Keep us updated on your work.  I'm very interested.
hamdi
Hero Member
*****
Offline Offline

Activity: 826
Merit: 500



View Profile
June 14, 2011, 12:01:57 AM
 #3

great work!
kr105
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501


View Profile
June 14, 2011, 12:10:48 AM
 #4

Nice, of course i will use this when it is released!
Vanquistador
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
June 14, 2011, 12:12:09 AM
 #5

I pledge for a donation upon completion and/or a pretty decent beta test!

I'm going to be installing my first Linux system on one of my old PC husks (That I threw all my 4xxx series cards into).  So I'll have to learn how to operate basic Linux functions/with some of the good threads around.

For others, below are some threads that might help you get started on Linux:

http://forum.bitcoin.org/index.php?topic=9999.0

http://forum.bitcoin.org/index.php?topic=16195.0
Dayofswords
Member
**
Offline Offline

Activity: 138
Merit: 11


Exchange BTC in Telegram https://bit.ly/2MEfiw8


View Profile WWW
June 14, 2011, 12:26:12 AM
 #6

Please change the name?


http://en.wikipedia.org/wiki/S.M.A.R.T.

BTC Banker - Exchange BTC in Telegram bot https://bit.ly/2MEfiw8
Nesetalis
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250



View Profile
June 14, 2011, 12:27:46 AM
 #7


Indeed, I was waiting for the hard drive reference. :p

ZOMG Moo!
Goldenmaw
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
June 14, 2011, 12:28:10 AM
 #8

S.M.A.R.T.coin would be fitting.
PcChip
Sr. Member
****
Offline Offline

Activity: 418
Merit: 250


View Profile
June 14, 2011, 12:33:07 AM
 #9

Is this basically an automated equivalent of running 3 instances of Phoenix.exe on each GPU ?

Legacy signature from 2011: 
All rates with Phoenix 1.50 / PhatK
5850 - 400 MH/s  |  5850 - 355 MH/s | 5830 - 310 MH/s  |  GTX570 - 115 MH/s | 5770 - 210 MH/s | 5770 - 200 MH/s
jondecker76 (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 14, 2011, 12:44:11 AM
 #10

Dayofswords :
Goldenmaw :
Thanks for the suggestion, I renamed the project SmartCoin - i like this better anyways

PcChip :
Quote
Insert Quote
Is this basically an automated equivalent of running 3 instances of Phoenix.exe on each GPU ?
Yes and no.
It automates running any number of instances on any number of GPUs, with any number of pools/workers, and its configurable in that you can have different mapping profiles you can switch between. It is the same effect that you mention that provides  the load balancing. On top of that, it presents all the information on all the running miners in a clean laid out. It also adds monitoring capabilities, and opportunities to add even more enhancements very easily.
It also encourages mining to MULTIPLE OOLS - this is good for many reasons!  Not only does it keep you from having "all of your eggs in one basket" (if a pool disappeared for some reason, tieing up your bitcoins stored there, or in the case of a dishonest pool operator), gives you more fallback protection when pools go down, and also as a side-effect, keeps some pools from becoming too big from people thowing all of their hashing power at one pool.  It truely is a win-win for everybody!

RollerBot Advanced Trading Platform
https://bitcointalk.org/index.php?topic=447727.0
BTC Donations for development: 1H36oTJsi3adFh68wwzz95tPP2xoAoTmhC
Freakin
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
June 14, 2011, 01:02:53 AM
 #11

This is very nice.  This would probably make me switch to linux for mining.

You should build a nagios plugin while you're at it Smiley
jondecker76 (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 14, 2011, 01:06:31 AM
 #12

Slush's pool is back up...  I didn't have to do anything,  everything just reconnected and balanced back out on its own :

Code:
SmartCoin Management System                         Mon Jun 13 21:04:32 EDT 2011
--------------------------------------------------------------------------------
GPU 0: Temp: 79.50 load: 99%
GPU 1: Temp: 79.50 load: 99%
GPU 2: Temp: 80.00 load: 99%
CPU Load : 2.20%
Local Bitcoin balance : 61.89000000

--------deepbit--------
card0:  [83.46 Mhash/sec] [456 Accepted] [27 Rejected] [RPC (+LP)]
card1:  [83.15 Mhash/sec] [474 Accepted] [25 Rejected] [RPC (+LP)]
card2:  [83.14 Mhash/sec] [476 Accepted] [23 Rejected] [RPC (+LP)]
Total: 249.75 MHash/sec
--------slush--------
card0:  [86.62 Mhash/sec] [29 Accepted] [12 Rejected] [RPC]
card1:  [83.15 Mhash/sec] [32 Accepted] [4 Rejected] [RPC]
card2:  [83.14 Mhash/sec] [24 Accepted] [7 Rejected] [RPC]
Total: 252.91 MHash/sec
--------btcguild--------
card0:  [82.35 Mhash/sec] [450 Accepted] [51 Rejected] [RPC (+LP)]
card1:  [83.15 Mhash/sec] [408 Accepted] [52 Rejected] [RPC (+LP)]
card2:  [83.14 Mhash/sec] [397 Accepted] [46 Rejected] [RPC (+LP)]
Total: 248.64 MHash/sec
--------btcmine--------
card0:  [91.46 Mhash/sec] [489 Accepted] [2 Rejected] [RPC (+LP)]
card1:  [83.15 Mhash/sec] [447 Accepted] [2 Rejected] [RPC (+LP)]
card2:  [83.14 Mhash/sec] [514 Accepted] [6 Rejected] [RPC (+LP)]
Total: [257.75 MHash/sec]

Grand Total:    [1009.05 Mhash/sec] [0 Accepted] [0 Rejected] [% Stales]

RollerBot Advanced Trading Platform
https://bitcointalk.org/index.php?topic=447727.0
BTC Donations for development: 1H36oTJsi3adFh68wwzz95tPP2xoAoTmhC
brunoshady
Sr. Member
****
Offline Offline

Activity: 262
Merit: 250

Dubs Get


View Profile
June 14, 2011, 01:37:09 AM
 #13

do it for windows too =(

😆
CubedRoot
Sr. Member
****
Offline Offline

Activity: 291
Merit: 250


View Profile
June 14, 2011, 02:04:48 AM
 #14

I would pledge a few coins (Depending on their value at the time) at the project close.   
jondecker76 (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 14, 2011, 02:19:49 AM
 #15

brunoshady:
I wish I could do a Windows port, but I don't even own a Windows box.  Perhaps down the line, but its at the bottom of the list for right now Sad


I'm hanging it up for the night to spend some time with the wife.
I successfully removed all hard-coded path references (this means I should start looking for a couple of Alpha testers soon!). I also renamed all of the scripts and folders to reflect the new name. Tomorrow I'm going to set up SVN hosting for the source code.

New features on the list:
[ ] Automated wallet backup Smiley
[ ] Automated bitcoin client and miner updating



Anybody want to alpha test that A) can find their way around in Linux, B) Familiar with GNU screen (just the very very basics), C) Currently running Ubuntu (or other Debian based distro) and D) Familiar with MySQL from the command line? I'm only going to take a couple of alpha testers so that I'm not overwhelmed and I can work one-on-one in getting things set up.

RollerBot Advanced Trading Platform
https://bitcointalk.org/index.php?topic=447727.0
BTC Donations for development: 1H36oTJsi3adFh68wwzz95tPP2xoAoTmhC
martok
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
June 14, 2011, 04:48:53 AM
 #16

Hi,
Can your system do simple failover as opposed to load balancing? That is, load balance build vs deepbit isn't ideal since guild has no fees. A rational player would balance the free pools, Guild, Continuum (plug), eligius. Then when that set falls, go to the fee-based pools or solo.
gigabytecoin
Sr. Member
****
Offline Offline

Activity: 280
Merit: 252


View Profile
June 14, 2011, 05:21:47 AM
 #17

This is AWESOME!!

Definitely watching this thread. Hope to hear more. Will donate!
tvar
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
June 14, 2011, 05:22:13 AM
 #18

Hi jondecker76,

I am interested in your script, and would be willing to help test it, assuming it is easily integrated with the system I have setup.  I'm running ubuntu 11.04.  I followed this guide to get the basics up and running, and am using variations of the startup scripts described here to get the machine running headless and get all my miners running at startup.

I have some rudimentary perl knowledge that I am using to do some basic monitoring.  Here is the output from my script, in case you are interested:

Code:
22:12:07  GPU0: 875/900 MHz  99%  77C/73%  131.63 Mh/s 131.58 Mh/s   GPU1: 875/900 MHz  99%  71C/60%  263.30 Mh/s 0 Kh/s
22:12:18  GPU0: 875/900 MHz  99%  77C/73%  131.62 Mh/s 131.58 Mh/s   GPU1: 875/900 MHz  99%  71C/56%  262.58 Mh/s 0 Kh/s
22:12:29  GPU0: 875/900 MHz  99%  77C/73%  131.62 Mh/s 131.58 Mh/s   GPU1: 875/900 MHz  99%  72C/56%  262.58 Mh/s 0 Kh/s
22:12:40  GPU0: 875/900 MHz  99%  77C/73%  131.62 Mh/s 131.58 Mh/s   GPU1: 875/900 MHz  99%  72C/60%  263.14 Mh/s 0 Kh/s
22:12:52  GPU0: 875/900 MHz  99%  77C/73%  131.62 Mh/s 131.58 Mh/s   GPU1: 875/900 MHz  99%  72C/60%  250.24 Mh/s 0 Kh/s
22:13:03  GPU0: 875/900 MHz  99%  77C/73%  131.62 Mh/s 131.58 Mh/s   GPU1: 875/900 MHz  99%  72C/56%  250.24 Mh/s 0 Kh/s

As you can see, one of the miners on one of my cards is idle for some reason.  I setup the screen commands that I launch at startup to enable logging, and my perl script watches the tail of the files to pick up the hash rate.  And I use various aticonfig commands to get the load, temp, fanspeed, etc.

What you have developed seems to be way more robust and useful.  I'm curious how you pull in the hash rate, if you do something similar to what I did or (and this is probably much more likely) if you have a more elegant way to find the information.

Like I said, I'd love to use your script, and would be more than happy to test it for you if it isn't too difficult to integrate into my environment.  I don't really know much SQL commandline though...  I've only used the most basic SQL commands once or twice.  =)
jondecker76 (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 14, 2011, 05:55:26 AM
 #19

martok:

Failover modes are planned, still deciding how I want to implement the feature!  There is currently an Automatic mode that automatically deals out for all workers that have a certain flag set in the database.  If running in automatic mode and the flagged workers can't keep the GPUs at full rate, then it will start adding workers that don't have the flag set. So basically you could set the flag on all workers associated with free mining pools, and workers that don't have the flag set (belonging to fee based pools) would only be used if they have to be, and only until the free pools could keep the GPUs busy again (this feature isn't fully finished, but will be soon). Sounds like this would work for you as well as a true failover would...



tvar:
Your setup sounds perfect to test this on.  With you, i will now have 2 testers.. I'll be PMing you in the next couple of days!
I handle extracting hash speed similar to you, but not with using screens logging function (too much disk I/O, and you have to monitor file sizes...).. I'm using screen's hardcopy command, which dumps the visible area of the screen to a file.  I do this once per 5 seconds (the frequency is user adjustable) so its lighter on disk I/O, and the file is overwritten each time so filesize isn't a concern either.  I'm a bit of a wizard with GNU screen and mysql, and these working together make up the backbone of the system.


I can't sleep, so I'm going to start working on the profiles feature Smiley  Once that is finished, we can start testing!

RollerBot Advanced Trading Platform
https://bitcointalk.org/index.php?topic=447727.0
BTC Donations for development: 1H36oTJsi3adFh68wwzz95tPP2xoAoTmhC
PcChip
Sr. Member
****
Offline Offline

Activity: 418
Merit: 250


View Profile
June 14, 2011, 06:19:11 AM
 #20

Hi,
Can your system do simple failover as opposed to load balancing? That is, load balance build vs deepbit isn't ideal since guild has no fees. A rational player would balance the free pools, Guild, Continuum (plug), eligius. Then when that set falls, go to the fee-based pools or solo.

There are two ways that I see to do this:

1.) run an instance of all the free pools on the GPU's, and if hashrate is still zero, terminate those instances and run an instance of the fee-based pools, then test the freepools after a set timeframe to see if they're back up


2.) without having an advanced program or script like he made, what I'm doing here is setting AGGRESSION higher on the free pool, that way it gets more of the resources.
Downside is that the fee-based pool still gets a % of the GPU when the free pools are running fine, also if the free pools go down and the fee-pools take over, they will be running on lower AGGRESSION which might lower overall hash rate slightly

Legacy signature from 2011: 
All rates with Phoenix 1.50 / PhatK
5850 - 400 MH/s  |  5850 - 355 MH/s | 5830 - 310 MH/s  |  GTX570 - 115 MH/s | 5770 - 210 MH/s | 5770 - 200 MH/s
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!