일반 PC를 네트워크로 연결해 슈퍼컴퓨터를 구축하는 방법은 무엇일까?

일반 PC를 네트워크로 연결해 슈퍼컴퓨터를 구축하는 방법은 무엇일까?

한패,

나는 여러 대의 컴퓨터를 가지고 있는데, 일부는 새 것, 일부는 오래된 것입니다(1979년에 2Kbytes RAM을 갖춘 첫 번째 컴퓨터부터 수집했습니다). 컬렉션이 점점 거대해지고 있지만, 이 질문의 목적은 제가 항상 슈퍼컴퓨터의 힘, 또는 적어도 대형 기계의 힘을 좋아했다는 사실과 관련이 있습니다.

나는 더 강력한 기계를 얻기 위해 기계를 결합하는 아이디어에 대해 생각해 본 적이 있습니다. 나는 LAN(근거리 통신망) 1Gbit apeed를 실행합니다. 여기에는 4.8Ghz 수냉식 냉각기에서 실행되는 Intel i7 2600k 4대가 있고 각 컴퓨터에는 16Mb RAM, SSD 및 일반 하드 드라이브가 탑재되어 총 30Tb의 공간(LAN의 총 공간)이 있습니다. ). 가상화에 대한 기사를 읽고 많은 비디오를 본 후 각 머신에 베어 메탈(유형 1) 하이퍼바이저를 설치한 다음 물리적 머신에 분산되는 가상 머신을 생성하여 Windows와 같은 운영 체제를 설치할 수 있는지에 대해 의문을 제기했습니다. 무엇보다도 CPU, RAM, 하드 디스크 등과 같이 많은 리소스가 필요한 소프트웨어를 실행합니다.

가상 머신이 단일 머신에 설치되어 있다고 "생각"하지만 실제로는 여러 노드(예: 클러스터)에 분산되어 있는 방식이 있을 것이라고 생각합니다. 가상 머신의 경우 시스템을 하나의 큰 머신으로 간주하지만 실제로는 공유 CPU, 공유 RAM 및 공유 하드 드라이브가 있습니다.

이 방법을 사용하면 OP를 설치하고 예를 들어 Adobe After Effects 또는 Adobe Premiere를 실행할 수 있습니다. 이는 실시간으로 미리보기를 만들거나 이점을 얻을 수 있는 복잡한 소프트웨어를 실행하기 위해 뛰어난 병렬 처리(또는 CPU 성능)가 필요합니다. 여러 프로세서에서. 많은 사람들이 병렬 처리를 위해 대형 멀티 CPU, 멀티 코어 제온 머신 구입을 제안할 것이라는 것을 알고 있지만 그렇지 않습니다...현재 기술로 PC를 연결할 수 있는 방법이 있어야 한다고 생각하고 싶습니다. 더 많은 계산 능력을 얻을 수 있습니다.

사람들이 Raspberry pi에 합류하여 YouTube에서 1테라플롭 정도의 "슈퍼컴퓨터"를 만드는 것을 봅니다. 그렇다면 LAN, RAM, 디스크가 있는 자체 기계로는 왜 이를 수행할 수 없나요? , 소프트웨어와 이를 수행하는 방법만 필요합니다. 그렇지 않습니까? 가능합니까? 어떻게 하나요?

감사해요

답변1

안타깝게도 현재로서는 여러분이 실행하고 싶은 '슈퍼컴퓨터'가 하드웨어나 소프트웨어 측면에서 아직 개발되지 않았습니다.

Hyper-V, VMware ESXi, XenServer와 같은 기존 가상화용 하이퍼바이저를 사용하면 단일 호스트 또는 클러스터에서 가상 머신을 실행할 수 있습니다. 하이퍼바이저는 하드웨어 CPU, RAM 및 스토리지를 가져와 VM을 실행하기 위한 가상 리소스로 "변환"합니다. 스토리지의 경우 데이터 전송에 대한 네트워크 연결을 사용하여 호스트 간에 미러링되는 공유 볼륨으로 구성할 수 있지만(예: iSCSI SAN, VMware VSAN, StarWind VSAN 등) 각 VM은 로컬 컴퓨팅 CPU 및 RAM만 사용합니다.

내 경험에 따르면 "슈퍼컴퓨터" 호스트 간의 통신을 제공할 수 있는 버스 유형이 없기 때문에 CPU, RAM 및 스토리지를 결합할 수 있는 소프트웨어나 하드웨어가 없습니다.

답변2

애플리케이션은 주어진 리소스를 효율적으로 사용하는 애플리케이션으로 제한됩니다. 모든 슬레이브 간에 작업 부하를 분할하는 방법을 아는 소프트웨어가 없으면 "슈퍼컴퓨터"에서 After Effects를 실행할 수 없습니다.

첫째, 필요한 소프트웨어가 없습니다. 필요한 가상화 소프트웨어를 구입하더라도(어떤 비용으로든 또는 회사에서 이를 판매할 의향이 있는 경우!) 일반적으로 거의 동일한 사양을 포함하는 클러스터에 대한 최소 요구 사항이 있습니다. 내가 찾을 수 있는 가장 가까운 것은 VMware ESXi입니다.

둘째, 컴퓨터가 서로 통신하면 성능상의 이점이 본질적으로 상쇄될 정도로 막대한 불이익이 있습니다. 네트워크를 통한 RAM 공유는 실행하기에는 너무 느리고, iSCSI를 통한 드라이브 공유는 예상만큼 안정적이지 않을 수 있습니다.

셋째, 이러한 일반 데스크톱의 전력 효율성은 너무 낮아서 한 달 정도 안에 이 "슈퍼컴퓨터" 구입 비용을 지불할 수 없습니다.

당신은 현재의 자원으로 돈을 벌고 싶지만, 이것은 그렇게 할 수 있는 방법이 아닙니다. 컴퓨터를 팔아 고성능 컴퓨터를 구입하세요. 심지어 골동품도 잘 팔릴 것입니다.

답변3

이것은 실제로 수행될 수 있습니다. 여전히 사용 가능하지만 무료인 AFAICS, Linux 패키지의 오픈 소스 포크를 기반으로 하는 ClusterKnoppix라는 Linux 배포판이 있었습니다.모식스.

관리 가이드에서:

MOSIX는 클러스터 및 멀티 클러스터 프라이빗 클라우드 내의 프로세스를 마이그레이션하여 로드 밸런싱을 제공하는 패키지입니다. MOSIX는 주로 집중 컴퓨팅에 사용되는 분산 동시 컴퓨팅을 위해 만들어졌습니다.

기능:

단일 시스템 이미지를 제공합니다.

– 사용자는 모든 노드에 로그인할 수 있으며 프로그램이 실행되는 위치를 알 필요가 없습니다.

– 특별한 라이브러리를 사용하여 애플리케이션을 수정하거나 연결할 필요가 없습니다.

자동 리소스 검색 및 작업 부하 분산.

하지만

모든 노드에는 x86 64(64비트) 아키텍처가 있어야 합니다. 동일한 노드의 모든 코어는 동일한 속도를 가져야 합니다.

따라서 귀하의 특정 요구 사항에 맞지 않을 수도 있습니다.

관련 정보