Bitcoin Forum
May 02, 2024, 12:09:16 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Overclocking - Hardware error rate vs. Hash rate tradeoff  (Read 745 times)
Sailing_Nut (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
June 11, 2014, 03:25:24 PM
 #1

Hi all!

I have an AntMiner S1 that I have overclocked to 375MHz and I am getting some hardware errors (plus one ASIC is showing an error) but my hash rate is running about 10GH/s higher than when it was not overclocked. My hardware error rate is running around 0.25%. I had it overclocked to 400MHz and my error rate was running around 5.5%.

I'm just wondering if given my current error rate that I would be better off sacrificing the 10GH/s for a nearly zero error rate.

TIA!
TalkImg was created especially for hosting images on bitcointalk.org: try it next time you want to post an image
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714608556
Hero Member
*
Offline Offline

Posts: 1714608556

View Profile Personal Message (Offline)

Ignore
1714608556
Reply with quote  #2

1714608556
Report to moderator
Biffa
Legendary
*
Offline Offline

Activity: 3220
Merit: 1220



View Profile
June 11, 2014, 03:58:34 PM
 #2

Check your return from the pool, not what the miner says.

All that matters is the return from the pool vs the cost of the extra energy used.

If you make more than its costs then its worth while overclocking.

Mine @ pools that pay Tx fees & don't mine empty blocks :: kanopool :: ckpool ::
Should bitmain create LPM for all models?
:: Dalcore's Crypto Mining H/W Hosting Directory & Reputation ::
Gator-hex
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
June 11, 2014, 05:21:14 PM
 #3

I calculate it as 2x the HW error rate to account for rejects too.

Sailing_Nut (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
June 11, 2014, 05:27:48 PM
 #4

Check your return from the pool, not what the miner says.

All that matters is the return from the pool vs the cost of the extra energy used.

If you make more than its costs then its worth while overclocking.

The problem is that I have no baseline to check against.

Also, since I'm on Bitminter (PPLNS) it is hard to run for a while at one setting and then change to another to compare because of the varying CDF.
BTC_Toronto
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
June 12, 2014, 11:13:14 AM
 #5

I had the same doubt, so I wrote a small Java program that calculates the "effective" GH/s for the S1 based on this formula based on the values reported by the S1:
Code:
EffGHs = (DiffA + DiffR) / (DiffA + DiffR + HWE) * GHs
Where:
  • EffGHs = Effective GH/s
  • DiffA = DiffA reported by the S1
  • DiffR = DiffR reported by the S1
  • HWE = HW reported by the S1
  • GHs = GH/S(avg)reported by the S1

I let the miner run for about a week with each setting and then calculate this value. So far by best value is 193.8396 GH/s for a frequency of 381.25 (5e05 freq value) and a timeout of 37.

BTC TO
Sailing_Nut (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
June 12, 2014, 02:15:58 PM
 #6

I had the same doubt, so I wrote a small Java program that calculates the "effective" GH/s for the S1 based on this formula based on the values reported by the S1:
Code:
EffGHs = (DiffA + DiffR) / (DiffA + DiffR + HWE) * GHs
Where:
  • EffGHs = Effective GH/s
  • DiffA = DiffA reported by the S1
  • DiffR = DiffR reported by the S1
  • HWE = HW reported by the S1
  • GHs = GH/S(avg)reported by the S1

I let the miner run for about a week with each setting and then calculate this value. So far by best value is 193.8396 GH/s for a frequency of 381.25 (5e05 freq value) and a timeout of 37.

BTC TO


Thanks for the formula! I've got a spreadsheet going to calculate this. Next step will be writing a program to automatically pull this from the cgminer API on the miner.
BTC_Toronto
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
June 13, 2014, 05:40:04 AM
 #7

Quick and dirty Java code if anyone interested.

Code:
package com.btctoronto.antminer.s1;

import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class FindS1sEffHashrate {
public static void main(String[] args) {
  try {
    WebDriver wdDriver = new HtmlUnitDriver();
    //Get login page
    wdDriver.get("http://192.168.1.102/"); //Put your S1's IP here.

    //Find the username and password input fields and enter your values
    WebElement weUsername = wdDriver.findElement(By.className("cbi-input-user"));
    weUsername.clear();
    weUsername.sendKeys("root");
    WebElement wePassword = wdDriver.findElement(By.className("cbi-input-password"));
    wePassword.clear();
    wePassword.sendKeys("YourPrettyComplicated(IHope)Password");
    wePassword.submit();

    //Go to Miner Status page and pull the required data
    WebElement weMinerStatus = wdDriver.findElement(By.linkText("Miner Status"));
    String sLink = weMinerStatus.getAttribute("href");
    wdDriver.get(sLink);
    double fGHs = Double.parseDouble(wdDriver.findElement(By.id("cbi-table-1-ghsav")).getText().replaceAll(",", ""));
    long fHWE = Long.parseLong(wdDriver.findElement(By.id("cbi-table-1-hw")).getText().replaceAll(",", ""));
    long fDiffA = Long.parseLong(wdDriver.findElement(By.id("cbi-table-1-diffaccepted")).getText().replaceAll(",", ""));
    long fDiffR = Long.parseLong(wdDriver.findElement(By.id("cbi-table-1-diffrejected")).getText().replaceAll(",", ""));
    double fEffGHs = 1.0 * (fDiffA + fDiffR) / (fDiffA + fDiffR + fHWE) * fGHs;

    //Display the data
    System.out.println("Miner has been running for: " + wdDriver.findElement(By.id("cbi-table-1-elapsed")).getText());
    System.out.println("Reported GH/s: " + fGHs);
    System.out.println("HW errors: " + fHWE);
    System.out.println("Accepted difficulty: " + fDiffA);
    System.out.println("Rejected difficulty: " + fDiffR);
    System.out.println("Effective hash rate: " + fEffGHs);
    } catch (NoSuchElementException e) {
      e.printStackTrace();
    }
  catch (Exception e) {
      // TODO: handle exception
    }
}
}

BTC TO
Pages: [1]
  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!