2009-10-06 6 views
2

예를 들어 비디오 게임과 같은 일상적인 응용 프로그램에서 컴퓨터 클러스터를 사용하는 방법을 아는 사람이 있습니까?컴퓨터 클러스터를 일반적인 일상적인 응용 프로그램에 사용할 수 있습니까?

컴퓨터 클러스터 용으로 특별히 설계되지 않은 응용 프로그램을 클러스터에서 실행할 수 있고 성능이 향상되는 컴퓨터 클러스터를 구축하고 싶습니다. 한 가지 용도는 비디오 게임이지만, 가상화 된 컴퓨터의 대규모 네트워크를 실행하는 데 향상된 컴퓨팅 성능을 활용하고 싶습니다.

답변

3

단일 코어 용으로 작성된 프로그램이있는 경우 4 코어 프로세서에서 실행하면 도움이되지 않습니다 (단 하나의 코어 만 해당 프로그램에만 적용될 수 있음). 예를 들어,이 컴퓨터의 여러 코어에서 Visual Studio를 컴파일했지만 링크가 하나의 코어에서 수행되었습니다 (그리고 성가신 속도가 느립니다). 여러 코어를 사용하려면 여러 코어를 사용하거나 여러 개의 별도 프로그램을 실행할 수있는 무언가를 실행해야합니다.

클러스터는 이와 비슷합니다. 시스템 간의 모든 통신은 명시 적이며 프로그래밍해야합니다. 클러스터로 수행 할 수있는 작업이 있지만 (Google의지도 축소 알고리즘 참조) 특수 프로그래밍 및 작업이 필요합니다.

일반적인 클러스터는 시스템을 전문화하는 데 사용됩니다 (예 : 데이터베이스 서버와 웹 서버 중 하나 일 수 있음). 많은 수의 프로그램을 동시에 실행하는 데 사용됩니다.

7

특히 비디오 게임의 경우에는 도움이되지 않습니다. 클러스터를 중심으로 구축해야합니다. 클러스터가 작동하지 않습니다.

비디오 게임은 입력 및 응답에 50 밀리 초 미만의 응답 시간이 필요하며 네트워크 전파는 사용자가 볼 수있는 성능 향상을 파괴합니다. 반면에 비디오 처리는 본질적으로 병렬화를 목표로하므로 클러스터에서 큰 이점을 얻습니다. 사용자 입력이 필요 없으며 출력은 배치 프로세스 측면에서 측정됩니다.

0

유감스럽게도 운영 체제/소프트웨어 디자인을 염두에 두지 않으면 간단히 클러스터를 통해 프로그램을 연결하고 성능 향상을 기대하고 있습니다. 특히 비디오 게임은 그렇지 않습니다. 클러스터에서 실행중인 것에서 성능을 높이려면 프로그램해야합니다. 그렇지 않으면 성능이 저하되는 대신 성능이 저하됩니다.

1

여러 대의 컴퓨터에서 작동하도록 이미 설계된 경우가 아니면 클러스터에서 비디오 게임을 쉽게 실행할 수 없습니다. 나는 그런 게임에 대해 들어 보지 못했다. 가상 서버 팜을 만드는 데 많은 행운이있을 수 있지만 완벽하게 작동하는 것은 쉽지 않을 것입니다. 이것에 관심이 있다면 아마존의 EC2 서비스가 될 것입니다. 그들은 시간당 "대여"를위한 가상 머신을 제공합니다. 뒤에서 나는 이들 가상 머신을 모두 공급하고있는 거대한 클러스터를 가지고 있다고 가정합니다.