클러스터 노드 갯수 / 성능향상 한계는?
글쓴이: kakalot81 / 작성시간: 월, 2008/10/06 - 12:45오후
클러스터링에 대해 공부하는 학생입니다.
이 분야로 논문을 적고 있는데요, 클러스터 내의 노드의 갯수를 늘여주면 성능이 향상됨은 분명합니다.
하지만 어디선가(정확히 기억이 안나네요ㅜㅜ) 하위 노드의 갯수가 몇개 이상이 되면 성능향상 효과가 미비하다고 들은 기억이 있는데요. 관련 정보를 찾아 볼려고 해도 검색어가 애매해서 찾기가 어렵네요.
몇 개 이상의 노드가 성능향상 효과가 없는지? 또 그 이유는 무엇인지 궁금하네요.
여러분들의 상식 선에서라도 대답해 주시면 감사드리겠습니다.
Forums:
노드 수의 제곱근에
노드 수의 제곱근에 비례해서 커진다는 소리를 대학원에 있을 때 들어본 적이 있습니다.
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
이유라면 간단할
이유라면 간단할 겁니다.
클러스터링에서는 각 노드를 관리해야 하는데 이 노드를 관리하는 데에 드는 비용(CPU 타임 및 네트워크 부하, 관련 자료구조 용량)에 비해 노드를 하나 추가함으로써 얻어지는 이득이 적어지기 때문이죠.
물론 그 관리하는 방법에 따라서 그 성능의 감소의 폭은 달라질 수 있습니다.
여전히 TOP100에 등장하는 슈퍼컴퓨터들도 다들 여러개를 연결해서 만드는 것들이니까요.
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
리눅스 클러스터의 성능 저하
정확하게 몇 개의 노드를 연결했을 때부터 성능이 저하되는지는 잘 기억이 나지 않습니다만, 32개였는지 64개 였는지 잘 기억이 나질 않는군요. 물론 전체 노드에 하나의 애플리케이션을 돌렷을 경우에 그렇겠죠.
통상 슈퍼컴관련 업계에서 리눅스 클러스터의 그러한 한계를 극복하기 위해 여러가지 노력을 합니다. 그 노력의 대부분은 노드간 커뮤니케이션 성능 향상이 주 목적이구요. TOP500에 올라와 있는 시스템들은 그러한 노력으로 노드간 커넥션 부분을 Infiniband 또는 10G Ethernet 스위치 등을 사용합니다.
특히 클러스터에서 MPI 작업을 주로 돌리는 경우 중에서도 커뮤니케이션 의존적인 작업들인 경우에는 노드간 커뮤니케이션 네트웍의 성능이 전체 성능을 좌우합니다.
여러 BMT 관련 데이터를 찾아보시면 리눅스 클러스터의 경우 노드의 수가 선형으로 증가하면 성능도 선형으로 증가하지만 어느정도 향상되면 그 때부터는 증가하지 않거나 오히려 떨어지는 경우도 볼 수 있습니다.
댓글 달기