2013-03-27 3 views
0

ipython 클러스터의 이상한 동작이 발생합니다. 계산이 끝났지 만 많은 결과가 클라이언트 (그리고 첫 번째 계산을 마친 후 유휴 상태에있는 엔진)에 도달하지 않습니다.ipython 0.13 zmq 오류

뭔가 의심 때문에 1) 시간에서 나는 다음과 같은 오류 볼 시간 zmq에 문제가 있습니다 :

File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/parallel/client/asyncresult.py", line 118, in get 
    if not self.ready(): 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/parallel/client/asyncresult.py", line 132, in ready 
    self.wait(0) 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/parallel/client/asyncresult.py", line 142, in wait 
    self._ready = self._client.wait(self.msg_ids, timeout) 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/parallel/client/client.py", line 1058, in wait 
    self.spin() 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/parallel/client/client.py", line 1015, in spin 
    self._flush_results(self._task_socket) 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/parallel/client/client.py", line 814, in _flush_results 
    idents,msg = self.session.recv(sock, mode=zmq.NOBLOCK) 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/zmq/session.py", line 642, in recv 
    idents, msg_list = self.feed_identities(msg_list, copy) 
    File "/data/misc/nano/python/env_stable/lib/python2.7/site-packages/IPython/zmq/session.py", line 673, in feed_identities 
    idx = msg_list.index(DELIM) 
ValueError: '<IDS|MSG>' is not in list 

Additionally IPython.zmq has two test failures: 

====================================================================== 
ERROR: test_send (IPython.zmq.tests.test_session.TestSession) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/clusterdata/python/env_stable/lib/python2.7/site-packages/IPython/zmq/tests/test_session.py", line 76, in test_send 
    socket = MockSocket(zmq.Context.instance(),zmq.PAIR) 
    File "/clusterdata/python/env_stable/lib/python2.7/site-packages/IPython/zmq/tests/test_session.py", line 34, in __init__ 
    self.data = [] 
    File "/clusterdata/python/env_stable/lib/python2.7/site-packages/zmq/sugar/attrsettr.py", line 38, in __setattr__ 
    self.__class__.__name__, upper_key) 
AttributeError: MockSocket has no such option: DATA 

====================================================================== 
ERROR: test_send (IPython.zmq.tests.test_session.TestSession) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/clusterdata/python/env_stable/lib/python2.7/site-packages/zmq/tests/__init__.py", line 108, in tearDown 
    raise RuntimeError("context could not terminate, open sockets likely remain in test") 
RuntimeError: context could not terminate, open sockets likely remain in test 

---------------------------------------------------------------------- 

내가 pyzmq 사용을 13.0.0 (PIP 설치로) 및 zeromq 3.2.2 , pyzmq의 설정으로 컴파일됩니다. 나는 ipython 13.1과 python 2.7.3을 사용한다.

무엇이 될 수 있는지에 대한 제안과 이러한 오류가 발생하는 이유에 대한 자세한 정보를 어떻게 알 수 있습니까?

업데이트 : 침체가 ipcontroller의 긴 작업 대기열로 인한 것으로 나타났습니다. ipcontroller는 100 % CPU를 사용하고 끔찍하게 지연되었습니다. 그것은 별개의 문제이지만, 위의 의견에 여전히 감사하겠습니다.

+0

MockSocket 버그는 테스트 자체에만 영향을 미치며 0.13.2 [릴리스 후보자] (http://archive.ipython.org/testing/0.13.2)에서 수정되었습니다. – minrk

+0

다른 오류는 무엇 일 수 있습니까? 또한 업데이트 당 ipcontroller는 대기열에있는 4000 개의 작업으로 지옥처럼 지체 될 것으로 예상됩니다 (몇 백분의 일이 지체되지 않는다면)? –

+0

분명히는 안되지만 시스템에 문제가 있다는 것을 의미하지는 않습니다. 많은 일을하는 경우 TaskScheduler.hwm을 큰 값으로 설정하는 것이 좋습니다. – minrk

답변

0

@ 답글로 @minrk 님이 응답했습니다. ZMQ 오류는 중요하지 않으며 성능은 스케줄링으로 인한 것이므로 TaskScheduler.hwm=0으로 설정하여 해결했습니다.