여러 사용자가 강력한 워크스테이션 리소스를 공유하는 가장 좋은 방법은 무엇일까요?

여러 사용자가 강력한 워크스테이션 리소스를 공유하는 가장 좋은 방법은 무엇일까요?

따라서 설정, 정확한 요구 사항, 시도한 옵션 목록을 설명한 다음 언급된 접근 방식 중에서 더 나은 접근 방식인지 아니면 최선의 옵션인지 물어보겠습니다.

그래서 우리는 기계 학습 연구자 그룹이고 매우 강력한 워크스테이션 기계와 기타 강력한 기계를 보유하고 있으며 모두가 하나를 가지고 있습니다.

필요하다:

모든 사용자가 동시에 워크스테이션에서 작업하는 경우 GPU는 주어진 시간에 모든 활성 사용자에게 효과적으로 또는 균등하게 할당됩니다. (RAM은 걱정할 만큼 크며 일반 하드 드라이브를 사용해도 괜찮습니다.) (일종의 GPU 가상화?) 2~3일 안에 설치하고 실행할 수 있는 방법을 찾고 있습니다.

모든 시스템에서 작동하는 OS는 Ubuntu 16입니다.

제안:

  1. 워크스테이션에 각 사용자당 하나씩 여러 가상 머신을 설정하고 현재 머신을 통해 SSH를 설정합니다. 다른 운영 체제에서 가상 머신을 실행하는 것은 많은 오버헤드처럼 보이며 소프트웨어 라이선스보다 더 많은 하드웨어에 이를 지출하는 것이 좋습니다. VMWare ESXI 베어메탈은 옵션인 것 같습니다.
  2. 여러 사용자가 동시에 사용할 수 있는 다중 좌석 접근 방식은 각 좌석에 키보드, 마우스 및 그래픽 카드 세트가 필요하지만 디스플레이 전용 GPU가 매우 강력하지만 이는 단지 하나의 좌석과 여러 좌석에 불과합니다. 좌석당 하나가 필요합니다. 단일 그래픽 카드(xephyr)로 실행 속도가 느리더라도 여전히 사용자에게 컴퓨팅 GPU를 효율적으로 배포해야 합니다.
  3. 여러 사용자가 SSH를 통해 여러 가상 터미널에 연결합니다. 컴퓨터 가격이 비싸고 이를 사용하여 여러 사용자가 컴퓨터를 공유하던 시절에는 Unix에 여러 개의 가상 터미널이 만들어졌습니다. 여전히 GPU를 가상화할 수 있는 방법이 필요합니다. 그러나 모든 것이 순조롭게 진행된다면 사용자가 4명이고 컴퓨팅 GPU가 2개이므로 계속 작업할 수 있으므로 코드(Tensorflow)를 통해 각 프로그램을 GPU에 수동으로 할당하여 동시에 두 개의 프로그램을 실행할 수 있습니다. 이 방법은 물리적 GPU 2개를 가상 GPU 4개로 가상화할 수 있는데, 이것이 가장 좋습니다(Nvidia vGPU 제외).
  4. rCUDA, 요청 양식이 전송되었습니다. 기다리다.
  5. Apache Mesos와 같은 일부 클러스터 관리 시스템. CMS는 단일 컴퓨터 또는 여러 컴퓨터를 고려하지 않기 때문에 클라이언트 간에 리소스를 가상화하고 효율적으로 할당할 수 있습니다.
  6. LTSP, 자세히 연구하지 않았습니다.

이제 저는 위의 많은 조언이 순진하게 들릴 수 있다는 것을 알고 있으므로 귀하가 알고 있는 내용을 바탕으로 조언을 제공해 주시기 바랍니다. 질문에 모호한 내용이 있으면 지적해 주시면 명확하게 설명하겠습니다.

답변1

가장 좋고 쉬운 솔루션은 Jupyter Notebook(다른 시스템에서 코드 실행) + SSH(액세스 + 데이터 전송 프로토콜 사용) + TF를 사용하여 GPU 할당입니다.

관련 정보