2017-03-31 15 views
0

Distributed Tensorflow에서는 "Between-Graph Replication"이라고하는 매개 변수 - 서버 아키텍처에서 작업하는 여러 클라이언트를 실행할 수있었습니다. 설명서에 따라분산 Tensorflow를 사용하여 단일 CPU 코어가 여러 클라이언트와 함께 작동 할 수 있습니까?

사이의 그래프 복제. 이 방법에서는 각/작업 : 작업자 작업에 대해 일반적으로 작업자 작업과 동일한 프로세스에 별도의 클라이언트가 있습니다.

일반적으로 클라이언트와 작업자는 동일한 프로세스에 있다고합니다. 그러나 그들이 동일한 프로세스에 있지 않다면, 고객 수는 직원 수와 같지 않을 수 있습니까? 또한 여러 클라이언트가 동일한 CPU 코어에서 공유 및 실행할 수 있습니까?

답변

1

클라이언트는 계산을 실행하기 위해 그래프를 정의하고 세션을 초기화하는 파이썬 프로그램입니다. 이러한 프로그램을 시작하면 작성된 프로세스가 분산 구조의 서버를 나타냅니다.

이제는 그래프를 만들지 않고 세션을 실행하지 않고 적절한 작업 이름 및 작업 색인으로 server.join() 메소드를 호출하는 것이 가능합니다. 이렇게하면 이론적으로 전체 그래프를 정의하고 해당 server.target과 세션을 시작하는 단일 클라이언트를 가질 수 있습니다. 이 세션 내에서 그래프의 일부가 자동으로 다른 프로세스/서버로 전송되고 계산을 수행합니다 (서버/태스크가 어떤 작업을 수행할지 설정 한 경우). 이 설정은 그래프 내 복제 아키텍처를 설명합니다.

기본적으로 단일 컴퓨터에서만 여러 대의 서버/프로세스를 시작할 수 있지만 실행중인 여러 프로세스 간의 컨텍스트 전환이 느려지므로 많은 병렬 처리를 얻지는 않습니다 하위. 따라서 서버가 관련이없는 작업을 수행하지 않는 한 이런 종류의 설정을 피하는 것이 좋습니다.

그래프 사이에는 모든 작업자가 자체 클라이언트를 보유하고 자체 세션을 실행한다는 의미입니다.