기존 factorn 마이너의 동작방식을 알고 계시면 좋을것 같아서 설명합니다.
1) 공개되어진 IntegerDispersion 입니다.
https://github.com/FACT0RN/IntegerDispersion
GCD 필터링이 시간이 50~70초 걸립니다.
그리고 YAFU를 수행하는데 지금의 난이도의 수를 7950X 으로 돌려도 거의 1000초 걸립니다.
또한 YAFU라서 C/S 구성이 불가능합니다.
2) 이번에 CADO-NFS 버전으로 공개된 GPUDispersion 동작방식 입니다.
https://github.com/FACT0RN/GPUDispersion
누가 마이너 하나당 4090 7개~12개씩 갈아 넣을수 있나요 ㅠㅠ
문제는 CUDA-ECM으로 후보자들 모두 색출한다는 것이 가장 큽니다.
블럭타임에 1번 연산하기도 어려운데 다음 연산할 유력한 후보자들까지 60~200개를 미리 색출하는데 이거 정말 난감합니다.
3) 제가 개선한 마이너의 채굴 방식입니다. (사용한지 벌써 3~4개월 되었네요)
wget http://factorn.iptime.org:32080/download/fact_dist.tar.gz
3-1) CPU만 사용한 방식입니다.
gcd 필터링 시간을 7950X의 경우 1.5초 정도로 1/30 으로 단축했습니다.
ECM 필터링인데요. 이게 유력한 후보일 경우 20~30초 걸리지만 필터링 안되면 다시 필터하는것을 감안하면 평균 60~80초 소요됩니다.
1개의 유력한 후보자를 색출하면 바로 cado-nfs로 전환합니다.
그런데 한가지 아셔야 할것은 이 코인의 블럭타임은 90% 이상이 하나의 후보자 연산시간이면 블럭이 끝납니다.
1/4분위가 400초 이고 2/4분위가 480초입니다.
7950X 솔로의 연산시간이 현재 연산시간이 400초이기에 필터링 시간을 합치면 약 480~500초으로 2/4분위에 겨우 있는 수준입니다.
즉, 반수이상이 연산하다가 다음 블럭을 맞이하게 됩니다.
이를 개선하기 위해서는 cado-nfs를 C/S 로 구성하면 됩니다.
3-2) CPU + GPU성능이 떨어지는 환경에서 사용하는 방식입니다.
GPU의 성능이 그리 좋지 않을경우입니다.
첫번째 후보자는 GPU에서 후보자 색출(CPU의 수준의 필터링 시간이 약 100초 걸림)하기 어렵기에 일반적으로 CPU에서 필터링됩니다.
그리고 두번째 후보자부터는 GPU에서 색출된 유력한 후보를 사용하기 시작합니다.
3-3) CPU + GPU 성능이 좋을 경우
첫번째 후보자를 GPU에서 후보자 색출이 되었다면 CPU ECM 후보색출 프로세스를 중단시키고 cado-nfs로 전환합니다.
첨언으로 여기서 제가 배포한 프로그램에 포함된 GPU서버 구동 프로그램을 GPU 연산서버라고 했습니다.
이유는 위에서 보았듯이.. GPU 연산시간이 다음 후보자 연산하기 전까지 쉽니다.
이를 다른 마이너가 활용하는 것이 좋지 않을까에서 시작된건데요.
결론적으로 GPU 연산서버를 구축하여 다수의 마이너가 접속할 수 있도록 설계 되어 있습니다.
다음에는 블럭타임과 CADO-NFS의 C/S 구성에 대한 이야기를 할께요.
프로그램은 일전에 링크 걸어 놨어요.
https://www.ddengle.com/mining/19551677