cado-nfs 의 파라메터를 튜닝을 하고 그 결과를 객관적으로 측정하기 위해서는 동일안 숫자로 반복적으로 테스트 해봐야 합니다.
그러나 실제 fact0rn 채굴용 C/S 구조에서는 성능 테스트에 어려움이 있을 것으로 사료됩니다.
이에 제가 테스트하는 방법을 설명해 드릴께요
[클러스터 환경 설정(Open MPI)]
현 채굴용 C/S 구조에서 클러스터 구조로 바꾸어서 테스트하는 것이 편합니다.
1. 참여할 노드에 Open MPI 설치.
- 이미 기본 설치파일들은 예전 factorn 마이너 0.93버전부터 install.sh에 설치할 수 있도록 마련되어 있었기에 따로 설치할 필요는 없을거에요
2. 참여할 노드에 SSH 설정
https://computing-jhson.tistory.com/78
에서 1항과 2항을 참고하세요.
3. 참여할 노드의 cado-nfs를 MPI 환경에 적합하도록 재 빌드
마이너 1.03 버전부터 첨부된 install.cado-nfs.mpi.sh 을 실행하여 cado-nfs를 MPI 환경에 사용할 수 있도록 재 컴파일
[테스트 준비 (cado-nfs 성능 확인용)]
1. 참여할 클라이언트 노드의 마이너들을 모두 종료한다.
- 마이너 , cpu-ecm, cuda-ecm 및 듀얼마이닝 프로그램 모두 종료
2. 참여할 마스터 노드의 마이너를 종료한다.
- 되도록 블럭이 변경되는 시점에 종료
3. 파라메터 파일 복사
- 파라메터 튜닝이 목적이라면 cado-nfs/parameters/factor 폴더에서 테스트할 파라메터 파일을 복사한다.
예시) cp params.c115 params.test
4. bin 폴더의 cado-nfs 의 설정을 변경한다.
- 클러스터 셋팅에 맞게 설정합니다.
slaves.hostnames 에 클라이언트 노드 뿐만 아니라 마스터 노드까지 다 포함해야함
예시) ./cado-nfs.py --parameters ./parameters/factor/params.test $cand tasks.workdir="/tmp/c105/" slaves.hostnames=node3,node5,node6,node7,node8,node9,node16 --no-colors
[테스트 수행]
1. 테스트할 시료 숫자을 취한다.
- 저의 경우 finds.log, execute.log, centralmn.log 에서 시료를 가져옵니다.
2. 테스트 한다.
- bin 폴더에서 cadorun.sh 를 실행한다.
예시) bash cadorun.sh 606009274675398132746195250686681247790262824311178786045869272384735829181961126031245536203354394807429621282949393339 2
[ 테스트 예시 : (클라이언트 수에 따른 수행시간 분석 및 채산성 분석) ]
시료 : 5월 4일자 채굴이 되었던 숫자를 시료로 채택
606009274675398132746195250686681247790262824311178786045869272384735829181961126031245536203354394807429621282949393339
테스트 방법 : cadorun.sh 의 slaves.hostnames 의 노드수를 변경하면서 테스트
테스트 결과 :
셋트구성 | 연산시간(초) |
PC 1대 채산성 |
1(1M) | 1096.1 | 측정불가 |
2(1M+1S) | 603 | 0.04098 |
3(1M+2S) | 478.3 | 0.04579 |
4(1M+3S) | 426 | 0.05155 |
5(1M+4S) | 405 | 0.05051 |
6(1M+5S) | 395 | 0.04630 |
7(1M+6S) | 376 | 0.04810 |
8(1M+7S) | 379 | 0.04167 |
<블럭시간 히스토 그램>