Python SCOUP (소프트웨어)

Python SCOOP (software)
파이썬 스쿠프
원저작자마크 파리조와 야닉 홀드
개발자야닉 홀드와 올리비에 가뇽
안정된 릴리스
0.7.1 / 2014년 3월 17일, 8년 전(2014-03-17)
저장소
기입처파이썬
운영 체제POSIX 준거
플랫폼크로스 플랫폼
유형분산 컴퓨팅 프레임워크
면허증.LGPL
웹 사이트www.pyscoop.org

SPOOK(Scalable Concurrent Operations in Python)는 이기종 워크스테이션 그리드에서 슈퍼컴퓨터에 이르기까지 다양한 환경에서 동시 작업을 분산하기 위한 Python 소프트웨어 모듈입니다.

프로세스 및/또는 시스템 간에 작업(미래라고 함)을 캡슐화하고 배포하기 위한 구성 요소로 öMQGreenlet 패키지를 사용합니다.이 인터페이스는 PEP-3148 프로포절에서 영감을 받았습니다.

SPOCK는 사용 가능한 모든 하드웨어 리소스를 사용하여 느슨하게 결합된 많은 작업을 수행해야 하는 과학 애플리케이션을 대상으로 합니다.이러한 리소스는 SSH를 통해 액세스할 수 있어야 합니다.

역사

SPOOK는 University Laval의 Computer Vision and Systems Labal에서 Yannick Hold와 Marc Pariseau에 의해 시작되었습니다.진화 알고리즘 개발을 위한 DEAP 프레임워크의 현재 권장되지 않는 DTM 모듈에 대한 반복 단계입니다.DTM이 통신에 MPI를 사용한 반면, SPOCK는 öMQ를 사용합니다.

네트워크 토폴로지

SPOCK는 브로커 아키텍처를[1] 사용하여 미래를 배포합니다.이것은, 「브로커」라고 불리는 중앙 요소에 근거해, 종업원에게 작업을 디스패치 합니다.이 패턴과 마스터/슬레이브 토폴로지의 주요 차이점은 미래 오리진에 있습니다.브로커 아키텍처에서 Future는 마스터/슬레이브 아키텍처의 마스터가 아닌 토폴로지의 주변부에 있는 워커에서 발생합니다.이것에 의해, 종업원의 장해에 관한 신뢰성이 향상해, 브로커의 범용 기능에 의해 일반적으로 퍼포먼스가 향상됩니다.그리드에 라우팅하기 위해 미래를 시리얼화하거나 시리얼화 해제할 필요가 없기 때문에 워크로드가 네트워킹 또는 프로세스 간 I/O로 구성되고 CPU 처리 시간이 거의 없습니다.그러면 브로커 토폴로지의 병목 현상이 줄어듭니다.

브로커 아키텍처는 모든 작업자에게 필요한 연결은 1개뿐이므로 네트워킹 패브릭과 요소를 완전히 분산된 토폴로지만큼 강조하지 않습니다.

첫 번째 병렬 "Hello, world!" 예는 다음과 같이 구현됩니다.

부터 퍼내다 수입품 선물  방어하다 hello_world(가치) -> 스트레이트:     돌아가다 "미래에서 온 안녕 세계 #{}".포맷(가치)  한다면 __name__ == "_메인__":     return_values = 선물.지도(hello_world, 범위(16))     인쇄물("\n".합류하다(return_values)) 

레퍼런스

  1. ^ "ZeroMQ - The Guide, Pieter Hintjens". iMatix Corporation. Retrieved 4 October 2012.

외부 링크