% 댓글이 달리지 않는다고 해서.. 질문글 받지 못해 재 게시 합니다.
1. 기존 fact0rn 채굴 설명
1.1. PC선택과 채굴 : 2024-01-08
https://www.ddengle.com/mining/19548557
1.2. 개선된 채굴 프로그램 : 2024-01-11
https://www.ddengle.com/mining/19551677
1.,3. 개선된 채굴 프로그램의 동작방식 : 2024-01-15
https://www.ddengle.com/board_free/19557875
1.4. fact0rn의 해시와 난이도 : 2024-01-19
https://www.ddengle.com/board_free/19564450
1.5. fact0rn의 12대 정도의 소규모 채굴 네트워크 구성 : 2024-01-22
https://www.ddengle.com/board_free/19568142
1.6. 필터링 속도 개선(AVX512 지원) : 2024-01-28
https://www.ddengle.com/mining/19575145
1.7. 일부 버그 수정 및 HAPROXY 사용법 : 2024-02-04
https://www.ddengle.com/mining/19585293
1.8 CPU ECM 추가 : 2024-02-07
https://www.ddengle.com/mining/19589074
1.9 마이너 구조 단순화 버전 (0.99) : 2024-02-15
https://www.ddengle.com/mining/19599453
1.10 fact0rn 마이너 배포판 1.0 : 2024-02-22
https://www.ddengle.com/mining/19612751
1.11 fact0rn 마이너 배포판 1.03 : 2024-03-20
https://www.ddengle.com/mining/19677382
1.12 fact0rn 마이너 CUDA 버전 사용법 변경본 1.05 : 2024-03-29
https://www.ddengle.com/mining/19701779
2. 패치 파일
전체파일 : wget http://factorn.iptime.org:32080/download/fact_dist_22_04_v1.06.tar.gz
마이너만 1.0 -> 1.06 : wget http://factorn.iptime.org:32080/download/fact_dist_20_04_v1.00-to-v1.06.tar.gz
3. 주 패치 내용
이번 버전의 주 패치내용은 클라이언트에서 듀얼 마이닝을 하기 위한 조치입니다.
기존 채굴하시는분들은 알고 계시겠지만 클라이언트는 factorn 채굴시 50~60%은 채굴에 참여하지만 나머지는 쉽니다.
이 동안에 프로세스의 우선순위를 낮추거나 하는 방법으로 듀얼채굴하셨는데요.
그렇게 하여도 factorn 채굴에 나쁜 영향을 줍니다.
예시로 클라이언트에서 아래와 같이 선언되어 있다면
export DUAL_MINING_CHECK_PROCESS="yafu yafu512 qli-Client qli-runner xmrig"
factorn 의 클라이언트. 즉 cado-nfs-client 가 동작되는 시점에는 위의 열거된 프로세스는 얼음 상태가 됩니다.
그 이후 cado-nfs-client가 작동되지 않는 시점이 도래되면 얼음 상태는 해제되어 정상 동작하게 됩니다.
또한 한달전부터 난이도 상승에 따라 CPU-ECM으로 동작되는 클라이언트에서는 yafu가 cado-nfs-client 동작시 병행 동작하는일 많이 발생되는데요
이 옵션으로 완전 해결이 됩니다.
4. 마이너(마스터) 설정
mine.sh 설정
#------필수 설정 입니다. 이것만 설정해도 서버는 동작합니다.--------------------------------------------#
# fact0rn 노드 서버 설정
export RPC_URL=http://127.0.0.1:2332
export RPC_USER=replace
export RPC_PASS=replace
# 마이너의 모드 설정
# CADO-NFS 가 서버와 클라이언트 동작하는데요.
# bin 폴더의 cadorun.sh 튜닝하다 보면 서버모드와 클라이언트모드 모두 필요할 때가 있습니다.
#export MINER_MODE="SERVER CLIENT"
export MINER_MODE="SERVER"
#-------------------------------------------------------------------------------------------------------------------#
#------CPU-ECM 서버를 이용시, 사용하지 않으면 주석----------------------------------------------------#
export CPUECM_SERVER_IP="node2 node3"
export CPUECM_SERVER_PORT="19301 19301"
#-------------------------------------------------------------------------------------------------------------------#
#-----CUDA-ECM 서버를 이용시, 이용하지 않으면 주석---------------------------------------------------#
export CUDAECM_SERVER_IP="node5"
export CUDAECM_MAX_LEVEL=4
#-----밑의 설정 내용은 https://www.ddengle.com/mining/19701779 에서 확인 ----------------#
export FIRST_ACCEPT_LEVEL=3 #Default 4
export SECOND_ACCEPT_LEVEL=3 #Default 4
export THIRD_ACCEPT_LEVEL=4 #Default 4
#-------------------------------------------------------------------------------------------------------------------#
#-----중앙 수집 서버를 이용시, 이용하지 않으면 주석------------------------------------------------------#
export CENTRAL_MN_IP="node20"
export CENTRAL_MN_PORT=19201
#-----메시지 브로커 이용시, 이용하지 않으면 주석----------------------------------------------------------#
#-----대시보드 개발중에 있으며 메시지 송수신 서버 설정입니다.-----------------------------------------#
export FARM_GROUP="TEST"
export MINER_GROUP="MINER_GP01"
export WORKER=$HOSTNAME
export MN_BROKER="node20:9092"
#-------------------------------------------------------------------------------------------------------------------#
5. 클라이언트 설정
mine.sh 설정
#------필수 설정 입니다. 이것만 설정해도 클라이언트는 동작합니다.-------------------------------------#
export MINER_MODE="CLIENT"
export CADO_SERVER_URL="http://node10:24242"
export CADO_CLIENT_BASE_PATH="/tmp"
#-------------------------------------------------------------------------------------------------------------------#
#-----MSG 서버설정, 주석이면 기본설정으로 적용----------------------------------------------------------#
export MSG_SERVER_IP="node10"
export MSG_SERVER_PORT=29291
# 기본설정은 CADO_SERVER_URL 의 SERVER IP를 MSG_SERVER_IP 서버로 인식 합니다.
# 그리고 기본포트는 29291 로 설정됨
# 즉 주석으로 하셔도 잘 작동할거에요. 사실 저도 정의하지 않고 사용합니다.
# 다만 포트포워딩이 필요할때 사용해요. (집 PC 1대를 사무실 서버에 마스터에 접속하기 위해서..)
#-------------------------------------------------------------------------------------------------------------------#
#-----듀얼 마이닝 이용, CPU-ECM 서버 동작시, 이용하지 않으면 주석---------------------------------#
export DUAL_MINING_CHECK_PROCESS="yafu yafu512 qli-Client qli-runner xmrig"
#-----중앙 수집 서버를 이용시, 이용하지 않으면 주석------------------------------------------------------#
export CENTRAL_MN_IP="node20"
export CENTRAL_MN_PORT=19201
#-----메시지 브로커 이용시, 이용하지 않으면 주석----------------------------------------------------------#
#-----대시보드 개발중에 있으며 메시지 송수신 서버 설정입니다.-----------------------------------------#
export FARM_GROUP="TEST"
export MINER_GROUP="MINER_GP01"
export WORKER=$HOSTNAME
export MN_BROKER="node20:9092"
#-------------------------------------------------------------------------------------------------------------------#
클라이언트로 runcadocli.sh 와 mine.sh 를 이용하는 것은 근본적으로 같습니다.
그러나 mine.sh 을 이용하면 DUAL_MINING_CHECK_PROCESS 을 사용할 수 있고 메시지 수집과 향후 대시보드에서 모니터링이 가능하게 됩니다.
6. 속도 튜닝
마이너(마스터)의 bin 폴더에는 다음과 같은 파일이 있습니다.
yafurun.sh, cadorun.sh
그리고 cpu-sever에도 yafurun.sh 파일이 있습니다.
마이너 개발할때부터 해당부문을 유저에게 오픈하여 튜닝할 수 있도록 하였는데요.
잘 모르시는 분들이 많네요.
참고적으로 해당 파일을 수정하여도 마이너 재기동 같은 절차는 필요 없습니다.
1. yafurun.sh
이 파일에서 볼것은 단 하나에요
-pretest_ratio 0.31
이 옵션입니다.
해당 옵션은 0.28 ~ 0.33 정도로 조정하면서 사용하면 되는데요.
낮은 수는 후보자 선출을 느슨하게 하지만 속도는 빨라 집니다.
높은 수는 후보자 선출을 세밀하게 하지만 속도는 늦어 집니다.
7950X의 경우 0.28 이면 후보자 선출이 5~10초이면 끝냅니다.
그러나 0.32의 경우는 100분이상도 걸립니다.
현재 기본 설정은 0.31 입니다.
2. cadorun.sh
기본적인 옵션은 다음을 참고 하세요
https://gitlab.inria.fr/cado-nfs/cado-nfs
세부옵션은 다음을 참고 하세요
https://gitlab.inria.fr/cado-nfs/cado-nfs/-/blob/master/parameters/factor/params.c120?ref_type=heads
https://gitlab.inria.fr/cado-nfs/cado-nfs/-/blob/master/parameters/factor/params.c90?ref_type=heads
설정여하에 따라 Complete 시간은 적게는 20초 많게는 60초 정도 단축이 됩니다.
수동으로 설정을 조절하면 매번 난이도가 변경할때마다 신경쓰셔야 합니다.
<정상 작동시 클라이언트 화면>
- 블럭카운트 , 블럭시간, cado-nfs 클라이언트 수, 마스터의 IP와 상태 횟수가 표시
<정상 작동시 마이너 화면 1.06 테스트버전 기준>
- 1.06 테스트버전의 경우 화면상에 추가된 것은 client들의 접속 현황를 볼 수 있습니다.
채굴은 제로섬게임이라 속도 튜닝 노하우들은 대부분 지인들끼리만 공유됩니다.
그래서 저에게 가끔씩 문의들 하시는데요. 아직까지 제가 아는한 cado-nfs 성능을 따라가는 인수분해 프로그램은 없습니다.
cado-nfs 의 옵션을 어떻게 튜닝하느냐에 따라 채산성이 결정됩니다.