계산용 클러스터 (cluster) 구축 후 병렬 프로그램 실행 중 네트워크 카드가 다운되버리네요.
안녕하세요. 옵테론 2218 cpu를 이용해서 계산용 클러스터를 구축하려고 합니다. 실험실에서 수치 모델 수행을 위해서 사용할 예정이지요.
문제는 MPICH2 설정 및 간단한 테스트(cpi 실행)까지 다 끝내고 실험실에서 사용하는 모델을 수행했더니, 네트워크 카드가 다음과 같은 메세지를 보이고 다운되어 버립니다.
Jun 13 19:08:48 cn1 kernel: NETDEV WATCHDOG: eth0: transmit timed out Jun 13 19:08:48 cn1 kernel: eth0: Got tx_timeout. irq: 00000036 Jun 13 19:08:48 cn1 kernel: eth0: Ring at 7e746000: next 3462234 nic 3461978 Jun 13 19:08:48 cn1 kernel: eth0: Dumping tx registers Jun 13 19:08:48 cn1 kernel: 0: 00002036 000000ff 00000003 01a003ca 00000000 00000000 00000000 00000000 Jun 13 19:08:48 cn1 kernel: 20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Jun 13 19:08:48 cn1 kernel: 40: 0420e20e 0000a855 00002e20 00000000 00000000 00000000 00000000 00000000 Jun 13 19:08:48 cn1 kernel: 60: 00000000 00000000 00000000 0000ffff 0000ffff 0000ffff 0000ffff 00000000 Jun 13 19:08:48 cn1 kernel: 80: 003b0f3c 40040001 00000000 007f0020 0000061c 00000001 00200000 00007fc0 Jun 13 19:08:48 cn1 kernel: a0: 0014050f 00000016 78483000 000092d6 00000001 00000000 8700cccd 00000429
이렇게 다운되기 전에 ifconfig -a 명령으로 확인하면
eth0 Link encap:Ethernet HWaddr 00:30:48:78:B9:74 inet addr:10.1.1.4 Bcast:10.1.1.255 Mask:255.255.255.0 inet6 addr: fe80::230:48ff:fe78:b974/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5127872 errors:8 dropped:0 overruns:0 frame:8 TX packets:4907564 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1121084976 (1.0 GiB) TX bytes:1151089269 (1.0 GiB) Interrupt:22 Base address:0x4000
와 같이 RX packets 에서 errors가 나타납니다. (mpiexec, mpirun을 실행했을 때 나타남)
처음에는 특정 노드에서만 문제가 발생하여서 랜선의 문제인가 싶어 랜선을 교체해 보기도 했습니다만, 여전히 문제가 발생하였고, 테스트를 진행하다 보니 특정 노드의 문제가 아니더군요. 또한 문제가 발생하는 노드가 정해져 있지도 않았으며, 2개의 노드로 병렬프로그램을 수행했을 때, 한 노드에서만 문제가 발생하더군요 (다른 노드는 정상). 즉, 한번은 첫번째 노드에서 문제가 생겼다가, 다른 한번은 두번째 노드에서 문제가 생기는거죠.
이유를 몰라 이렇게 조언을 구합니다.
현재 구축된 시스템의 간략한 개요는 다음과 같습니다.
- 각 노드 구성
하드웨어 : AMD 2218 x 2, 4GB RAM, 2 Gigabit NIS
소프트웨어 : Fedora core 6, MPICH2-1.0.5p4, PGI compiler
총 3개의 노드가 구성되어 있으며, eth0 : 10.1.1.[123]로 MPI 계산용으로 네트웍을 구성하고, eth1 : 10.1.2.[123]로 NFS용으로 네트웍을 구성해 놓았습니다.
사용하고 있는 허브는 3com 3c16478 입니다.
메인보드가 어떤 제품인지요?
아마 nforce계열 보드는 아닐지 모르겠군요. 최근 해당 이슈의 대부분이 nforce 계열 보드의 Ethernet 디바이스인 forcedeth 쪽에서 많이 일어나는지라;; 일단 해당 이슈 자체가 드라이버 문제입니다. -_-a
http://www.nvidia.com/object/linux_nforce_1.21.html
nforce 계열 리눅스 드라이버입니다.
OS 배포판을 위 드라이버를 지원하는 배포판 중에서 어플리케이션 사용이 가능하신 배포판으로 변경하시고 해당 드라이버를 설치해 보실것을 추천드립니다.
RHEL 구매가 어려우신 상황이라면 CentOS같은 대안을 찾아보시는 것이 좋겠네요.
====================어흥====================
짖지마시고 말씀을 하세요.
메인보드가 nforce 쪽 맞네요.
ydhoney님. 막 확인해보니 메인보드가 nforce 쪽 칩샷을 사용한 보드군요. LAN도 nVidia MCP55 Pro Chipset 이군요. 제가 서버 구성을 위해 사용한 베어본이 A+ Server 1021M-T2V (http://www.supermicro.com/Aplus/system/1U/1021/AS-1021M-T2V.cfm) 이거든요.
일단 방향은 잡은 듯 합니다. 감사합니다.
fedora core 5로 다시 설치를 해볼까 생각 중입니다.
그런데 한가지 의문인 것이, 만약 네트워크 드라이버의 문제라면 아예 네트웍이 안되어야 하지 않을까요? 현재 제가 가진 문제는 되다가 병렬 프로그램을 수행하면 문제가 발생하고 있거든요.
흠...일단 보드쪽 공급 업체를 통해서도 한번 문의를 해봐야겠습니다.
해당 드라이버가
해당 드라이버가 아주 없는게 아니라. 현재 리눅스에 포함된 드라이버가 최근에 재출시된 forcedeth 칩셋과의 호환이 제대로 이루어지지 않아 일부 TX 패킷 송수신에 영향을 미치는 관계로 그렇게 되었습니다. 그것도 무조건 모든 통신에서 다 그런것도 아니고 무슨 뭔가 계산값이라고 불릴만한 것만 드나들면 아주 난리를 칩니다.
일단 드라이버는 반드시 설치를 해야 한다는것을 감안하시고, 배포판을 바꾸시는걸 "적극적" 으로 추천드리고 싶습니다.
그럼 수고하세요. :-)
====================어흥====================
짖지마시고 말씀을 하세요.
댓글 달기