CPU 또는 RAM을 공유하는 방법?


21

네트워킹에서 파일 (디스크 드라이버) 또는 데이터베이스를 공유합니다. 그러나 네트워크를 통해 어떻게 CPU 또는 RAM을 공유 할 수 있습니까?


3
이 작업의 문제점은 CPU와 RAM 사이의 나노초 단위 대기 시간과 비교할 때 네트워크 속도가 매우 느리다는 것입니다!
Phoshi

@Phoshi : 네트워크에 의해 지연 시간이 추가 된 경우에도 이러한 설정 디스크 기반 스왑보다 빠를 있습니다.
Piskvor

@Piskvor : 그러나 누구나 말할 수 있듯이 디스크 기반 스왑은 상당히 큰 성능 저하입니다!
Phoshi

@Phoshi : 동의합니다. 실제로는 최적의 솔루션은 "물리적 메모리 추가"입니다. 내가 말하는 것은 빠른 네트워크를 통해 빠른 장치 (예 : 램 디스크)로 페이징 아웃하는 것이 실제 디스크로 페이징 아웃하는 것보다 여전히 빠를 수 있다는 것입니다. 다시 말해, 실제 RAM보다 수십 배 느리더라도 실제 매체의 스왑보다 빠른 스왑 장치 일 수 있습니다.
Piskvor

1
@Piskvor : 완전히 그럴듯하고, 틀리더라도 확실히 같은 순서로되어 있기 때문에 최악의 경우에는 크게 나 빠지지 않을 것입니다. 더 많은 로컬 물리적 스토리지를 보유하는 것이 더 저렴하다고 생각합니다!
Phoshi

답변:


21

이렇게하려면 CPU / RAM 리소스에 액세스하는 프로그램이 해당 리소스에 액세스하도록 특별히 설계되어야합니다. 이러한 방식으로 설정된 시스템을 클러스터라고하며 리소스를 공유하는 일반적인 방법은 MPI (메시지 전달 인터페이스)라는 프로토콜을 사용하는 것입니다. 무료로 다운로드 할 수 있으며 Linux와 함께 사용하면 최소한의 비용으로 강력한 클러스터 (아마도 슈퍼 컴퓨터 일 수도 있음)를 얻을 수 있지만 MPI를 활용하도록 특별히 설계된 프로그램이 없으면 다시 쓸모가 없습니다. 좋은 클러스터 튜토리얼이 있습니다. 그래도 관심이 있으시면 확인하십시오.

편집하다:

클러스터를 설정하려면 여기 에서 자습서를 권장 합니다. 약 1 년 전에이 튜토리얼을 따라 클러스터를 만들었고 꽤 잘 작동했습니다. 튜토리얼은 약간 오래되었으므로 일부 파일은 튜토리얼이 말한 위치가 아닐 수도 있습니다 (때로는 파일이 다른 / 최신 Linux 배포판에서 이동하는 경우가 있습니다). Linux에 익숙하지 않은 경우 문제가되지 않습니다. 이 자습서는 이전 버전의 MPI를 사용하지만 최신 버전을 사용 했으며 쉽게 해결할 수없는 문제는 없었습니다. 현재하고있는 일에 따라 실제로 MPI를 활용할 수있는 프로그램이있을 수 있습니다. 범용 소스에서 다운로드 할 수있는 MPI를 활용하는 비디오 인코딩 및 숫자 처리 프로그램이 있다는 것을 알고 있습니다.


참고 문헌을 알려주십시오.
MJH

1
@ MJH 내 편집 답변을 참조하십시오.
ubiquibacon

thanks.but이 튜토리얼은 Linux에서 작동하며 Windows.also를 사용하므로 응용 프로그램은 MPI와 그 제약 조건으로 작성해야합니다.
MJH

3
@MJH Windows로 작업하려면 Windows에서 작동하는 MPI 라이브러리 만 있으면되지만 개념은 동일합니다. MPICH 는 Windows와 함께 작동하거나 동전을 떨어 뜨릴 경우 Windows HPC (MPI 전도성이 내장되어 있음)로 Windows 클러스터를 구축 할 수 있습니다. 이렇게하면 Windows를 사용할 수 있지만 MPI 용으로 작성된 프로그램을 계속 사용해야하지만 현재로서는 그 방법이 없습니다.
ubiquibacon

2
이 답변에 감사드립니다-추천 튜토리얼이 주소를 uiowa.edu/mihpclab/hpcSystsemTechnicalReport/로 변경 한 것 같습니다 ... Cheers!
sdaau

9

RAM 디스크를 사용하여 RAM을 공유 할 수 있지만 다른 컴퓨터의 RAM에있는 것을 제외하고는 일반 디스크를 공유하는 것처럼 보입니다. 한 컴퓨터가 다른 컴퓨터의 RAM을 마치 자체 RAM 인 것처럼 사용할 수있는 직접적인 방법은 없지만 다른 컴퓨터의 RAM을 사용할 수있는 방법이 있습니다. 다음 단락에서 더 자세히 설명합니다.

CPU 공유에 관해서는 가능하지만 단일 표준은 없습니다. 공유하고 다른 컴퓨터가 필요한 리소스를 가져갈 수는 없습니다. 대신 여러 대의 컴퓨터에서 동시에 작동 할 수있는 응용 프로그램을 특별히 설계해야합니다. 이것을 분산 컴퓨팅이라고하며 SETI @ Home, Einstein @ Home, Climateprediction.net 및 기타 여러 연구 프로젝트에서 사용합니다.

기본적으로 프로그램은 수행해야 할 작업을 분산시키는 하나의 중앙 서버가있는 방식으로 작동합니다. 네트워크의 컴퓨터는 중앙 컴퓨터에서 작업 단위를 다운로드하여 처리합니다. 그 후 중앙 컴퓨터는 클라이언트로부터 결과를 받아 하나의 일관된 결과로 병합합니다. 이 방법으로 컴퓨터는 네트워크를 통해 CPU 및 RAM 리소스를 "공유"합니다. 이것의 단점은 네트워크를 통해 작업 할 수있는 방식으로 프로그램을 작성해야하며 현재 분산 컴퓨팅은 컴퓨터의 일반적인 용도로는 충분히 인기가 없기 때문에 소수의 특수 프로그램 만 지원한다는 것입니다. 한편, 그것은 메인 프레임 컴퓨터에 대한 액세스를 얻는 것보다 많은 수의 개인용 컴퓨터 또는 플레이 스테이션 (3)을 얻는 것이 더 저렴하기 때문에 과학적인 목적으로 일반적으로 사용된다.


? 주 내 네트워크에 내 응용 프로그램에 대한이 소프트웨어는 외부 네트워크에 대한 필요없이 (예를 위해 난 내 PC는 칠일이 렌더링 것으로, 파일을 렌더링 싶지만 내 네트워크에이 공유하고 1 일 감소를 렌더링!.?
MJH

@MJH 불행하게도, 렌더링에 사용할 수있는 프로그램에 대해 들어 보지 못했습니다.
AndrejaKo

1
램 디스크를 공유하는 것은 다소 의미가 없습니다. 네트워크 연결 스토리지의 속도가 느려 램의 휘발성을 얻습니다
Journeyman Geek

1
@AndrejaKo 똑바로 비디오 트랜스 코딩의 경우 들어 본 적이 없습니다 (그러나 일부 인터넷 검색은 알파 / 베타에서 1 ~ 2 개의 프로젝트를 찾았습니다). 그러나, 3D 렌더링, 나는 한 하지 않는 90 년대부터 3D 렌더링 프로그램을 본 지원 네트워크 렌더링 .
Scott Chamberlain

5

네트워크에서 내 응용 프로그램을 공유하기위한 소프트웨어가 있습니까? 외국 네트워크가 필요하지 않습니다! MJH 3 월 12 일 11 일 1시 19 분

XY 문제에 빠졌다면 "CPU를 공유하고 컴퓨터를 램에 액세스하는 방법"에 대한 질문이 아니라 "ZZZZZ를 더 빠르게 사용할 수 있도록 여러 컴퓨터를 어떻게 사용할 수 있습니까?"

사용중인 소프트웨어 및 렌더링 대상에 따라 크게 달라집니다 ( 비디오 를 트랜스 코딩 하거나 3D 모델 / 비디오를 렌더링하고 있습니까?).

몇 가지 예를 선택하기 위해 무료 3D 소프트웨어 인 Blender분산 렌더링을 지원 하여 여러 컴퓨터를 함께 사용하여 하나의 출력을 생성 할 수 있습니다. 비디오 렌더링을하는 경우 빠른 인터넷 검색 을 통해 여러 컴퓨터를 사용하여 비디오 및 오디오 파일을 렌더링 할 수 있는 오픈 소스 프로젝트 MediaEncodingCluster 를 발견했습니다 .


5

CPU / RAM을 공유 할 수있는 유일한 운영 체제는 plan9입니다. 거의 모든 것을 내보내거나 마운트 할 수 있습니다. 이것은 물론 공연이 훌륭하다는 것을 의미하지는 않습니다.


0

네트워크를 통해 작업을 위해 CPU / RAM을 공유하는 것이 좋습니다. 현재 우리는 여전히 사고가 발생하는 상자에 프로그램을 유지하는 데 약간의 오래된 개념을 가지고 있지만 동일한 컴퓨터의 여러 CPU가 동일한 코드 스 니펫에 액세스 할 수 있습니다. 우리는 이와 같은 일을하는 하나 이상의 방법을 가지고 있습니다. 웹 페이지의 java는 서버와 클라이언트를 모두 사용하여 작동하지만 서버-클라이언트 방식으로 잠겨있어 작업을 수행합니다 (서버는 대부분의 데이터를 보유합니다). 여러 CPU가있을 때와 같은 방식으로 시스템에 작업을 할당 할 수 있어야하는 작업 (작업에 프로그램 스 니프 및 데이터 스 니프가 할당되어 있어야하는 시스템은 제외) 네트워크에 더 많은 부하를가합니다 작업 자체가 단순한 성격이 아니고 새로운 병목 현상이 발생할 수 있다면

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.