2013.08.06 23:14

분산 처리를 위한 Paraller Python (이하 PP) 설치법 및 사용법


[ PP 다운로드 사이트 http://www.parallelpython.com/content/view/18/32/ ]


[ Master Server ]


root@k1rha:~/PYTHON/Parallel# unzip pp-1.6.4.zip 

root@k1rha:~/PYTHON/Parallel# cd pp-1.6.4.zip

root@k1rha:~/PYTHON/Parallel/pp-1.6.4# python setup.py install


설치를 하고나면 pp 패키지를 자유롭게 import 하여 사용 할 수 있다.



다수의 컴퓨터를 분산처리 하는 구조는 아래와 같다.


PPServer는 이미 Parallel Python 사이트에서 만들어놓은 프로그램을 사용하여 테스트 하였다.

각 Slave 컴퓨터에서는 ppserver를 동작 시킨다. 그리고 MASTER 서버는 자신이 연산할 함수를 각 서버에 분산시킨 뒤 그 결과값을 리턴 받는 식이다.


[ Client A ]

 # ppserver.py


[ Client B ]

 # ppserver.py


[ Client C ]

 # ppserver.py


[ Client D ]

 # ppserver.py


[ Master ]

# [병렬 처리할 프로그램].py

  #ppservers = ()   //같은 네트워크망이 아닐땐 요부분을 

   ppservers = ("[ A HOST IP ]:[PORT]","[ B HOST IP ]: [PORT]", )  //요렇게 고쳐준다..



[ 결과 화면 비교  1. 클러스터가 없을때 ]

 job count | % of all jobs | job time sum | time per job | job server

         9 |        100.00 |      15.5626 |     1.729183 | local

Time elapsed since server creation 8.8939139843

0 active tasks, 2 cores


root@k1rha:~/PYTHON/Parallel/pp-1.6.4/examples# 


[ 결과 화면 비교 2. 클러스터가 local 1개 remote 1개 총 2대일떄 ]

root@k1rha:~/PYTHON/Parallel/pp-1.6.4/examples# python sum_primes.py


Usage: python sum_primes.py [ncpus]

    [ncpus] - the number of workers to run in parallel,

    if omitted it will be set to the number of processors in the system

Starting pp with 2 workers

Sum of primes below 100 is 1060

Sum of primes below 200000 is 1709600813

Sum of primes below 200100 is 1711401118

Sum of primes below 200200 is 1713002400

Sum of primes below 300300 is 3716110510

Sum of primes below 200400 is 1716407615

Sum of primes below 200500 is 1717810714

Sum of primes below 300600 is 3723922172

Sum of primes below 400700 is 6478918307

Job execution statistics:

 job count | % of all jobs | job time sum | time per job | job server

         1 |         11.11 |       4.8824 |     4.882423 | 223.194.105.176:60000

         4 |         44.44 |      11.3776 |     2.844407 | 223.194.105.178:60000

         4 |         44.44 |       8.7561 |     2.189026 | local

Time elapsed since server creation 6.6827340126


[결론] 제공된 예제코드인데 좀 쥐꼬리만큼 빨라지는 기분... 생각만큼 절반으로 줄어들 순 없는것 같다. 


Posted by k1rha