돈도 없고, 시간도 없음으로.....업습체로...
정리하여 POST 남겨봅니당...
0. 환경
- Ubuntu 16.04.4 LTS 32bit Server
- Python 3 이상
- MPICH & mpi4py 설치
1. aptitude를 통해 mpich 먼저 설치하고 / pip3를 통해 mpi4py를 설치
- 각 머신에 다 설치 해야 함
- 각 머신에 계정명하고 암호를 동일하게 하는게 편함
- 나의 경우는.....한대 세팅하고.......이미지 떠서, Clone 처리 하였음당....
- pip3 설치....스크립트
$ apt-get install libopenmpi-dev python3-pip
$ pip3 install mpi4py
2. 각 머신 Hostname & IP 변경 세팅
- 아래 그림 구성 참고 바람.......
- hostname 변경
. $ sudo vi /etc/hostname
. $ sudo vi /etc/hosts
- IP 변경
. $ sudo vi /etc/network/interfaces
# The primary network interface
#auto enp1s0
#iface enp1s0 inet dhcp
# 기존 DHCP 모드를 # 로 주석 처리
# 아래 내용 추가
auto enp1s0
iface enp1s0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
3. SSH 통신 키 교환
MASTER 머신에서 SLAVE 머신에게 일을 시킬려면......
통신이 되어야 겠지...
그럴려면....MASTER - SLAVE 간 키가 공유되어야 함.....
- MASTER 머신 e01 에 원격 접속
$ssh-keygen
$cd ~
$cd .ssh
$cp id_rsa.pub e01
- SLAVE 머신 e0? 에 원격 접속 (n번째 SLAVE 머신를 e0?로 표기함)
$ ssh-keygen
$ cd .ssh
$ cp id_rsa.pub e0?
$ scp SLAVE 머신 eI01의 IP:/home/작업계정/.ssh/e01 .
$ cat e01 >> authorized_keys
$ exit
- MASTER 머신 e01 에서 나머지 모든 SLAVE를 수용하는 작업
$ scp e0?의 IP:/home/작업계정/.ssh/e0? .
$ cat e0? >> authorized_keys
- MASTER 머신에 SLAVE 머신 정보 세팅
$ cd ~
$ vi machinefile
192.168.1.102
192.168.1.103
192.168.1.104
- 클러스터 연결상태 테스트 (MASTER 머신에서....실행....)
$ mpiexec --hostfile ~/machinefile -n 4 hostname
machinefile 의 hostname와 CPU코어수에 따라 hostname 출력 됨
-n 4 의 숫자를 적절히 변경하면 됨
4. 마스터 머신 잔 세팅
- /etc/hosts 파일에 SLAVE 호스트이름 다 입력....
- 혹시 몰라서....걍 해봤음.......
- 아래 그림처럼 실행하고자 하는 프로그램 파일이 각 머신에 다 있어야 함....
따라서......scp 스크립트 파일 생성......
$ cd ~
$ mkdir test-pg
$ vi sysfile.bat
scp -r /home/작업계정명/test-pg/* 각Slave의 e02:/home/작업계정명/test-pg/
scp -r /home/작업계정명/test-pg/* 각Slave의 IP:/home/작업계정명/test-pg/
이렇게 해 놓고.....
test-pg 폴더에 실행파일을 몰어 넣으면 됨 ...
5. TESTING 프로그램 작성
- 요것은 다음 POST에....자세하게.............쿨럭;;;;
- 간단하게는...
$ cd ~
$ vi test.py
import time
print (time.ctime())
a = 0
for i in range(1,1000000000):
a = a + i
print (a)
print (time.ctime())
time.ctime()
$ scp -r test.py 슬레이브 IP :/home/작업계정/
$ mpiexec.mpich --hostfile machinefile -n 4 python3 test.py
- 이렇게 하면 똑같은 작업은 4개의 병렬코아에......4번씩 실행....(쿨럭;;;;;;)
- 느낌적인 느낌으로 MPICH를 통해서 TensorFlow 돌리는건.....안 될 듯 . ㅜㅜ
'IT 유용한 TIP' 카테고리의 다른 글
노트북 업그레이드 레노버 ThinkPad e330 - CPU 교체 - 02 (0) | 2018.05.07 |
---|---|
노트북 업그레이드 레노버 ThinkPad e330 - CPU 선정 - 01 (0) | 2018.04.27 |
저작권 Free 이미지 - pixabay.com (0) | 2018.04.23 |
블로그 무료 이모티콘 (디셉님의 어밴드) - 티스토리 (0) | 2018.04.20 |
LG전자 울트라PC 15UD560류.....M.2 SSD 교체기 (0) | 2018.03.31 |
리눅스 클러스터링-Clustering 구축기 02 - 삽질기 (0) | 2018.03.26 |
리눅스 클러스터링-Clustering 구축기 01 (0) | 2018.03.12 |
[리뷰] LG전자 34UM59 모니터 3개월 사용기 - 21:9 모니터 사용기 (0) | 2018.03.05 |
[윈도우] 윈도우7 USB 부팅디스크 만들기 (0) | 2015.12.18 |
노트북, PC로 무선공유기 만들기 (0) | 2015.07.06 |