Rescale Software Publisher(베타)로 자신의 소프트웨어 가져오기 – 시작 가이드

살펴보기

Rescale은 베타 릴리스에서 Rescale Software Publisher를 제공하게 되어 기쁘게 생각합니다. 우리는 고객이 이 새로운 기능을 시험해 보고 피드백을 제공하는 것을 환영합니다. 관심이 있으시면 Rescale 계정 팀에 자세한 내용을 문의하십시오.

Rescale Software Publisher는 조직이 자신의 소프트웨어를 Rescale 클라우드 플랫폼으로 가져올 수 있는 새로운 제품 기능입니다. 고객에게 다음과 같은 이점을 제공합니다.

  • Rescale의 소프트웨어 카탈로그에 주문형 게시 - 다른 팀이 귀하의 요청을 처리할 때까지 기다리지 않고 빠르게
  • 이제 Rescale에서 사용할 수 있는 다양한 소프트웨어(귀하가 개발한 맞춤형, 독점, 상업용, 오픈 소스 및 개인용 유틸리티)를 가져올 수 있습니다.
  • 사용하기 쉽고 고급 IT 기술, 코딩 또는 인프라에 대한 특별한 클라우드 관리자 액세스가 필요하지 않습니다.
  • 모든 기업에 대한 중앙 집중식 가시성, 액세스 및 관리 HPC 소프트웨어 애플리케이션 및 패키지

Rescale Software Publisher에서는 다음과 같은 새로운 기능이 강조됩니다:

  • 샌드박스는 게시 전에 소프트웨어를 설치하고 테스트하는 임시 작업 환경인 게시자가 도입한 새로운 개념입니다.
  • 명령줄 인터페이스는 기존 인터페이스를 확장합니다. rescale-cli, 새로운 'spub' 게시 명령을 수행하는 옵션입니다.   
  • 또한 이 문서의 뒷부분에서 설명하는 소프트웨어 게시 시 새로운 표시 설정도 있습니다. 기본적으로 게시된 소프트웨어를 다른 사람과 공유할 준비가 되면 다음에서 공유할 수 있습니다. 작업 공간 수준 또는 모든 작업공간에 표시되는 조직 수준에서.

아래 다이어그램은 게시 프로세스의 개요를 보여줍니다.

Rescale Software Publisher의 현재 베타 버전에는 알려진 제한 사항과 누락된 기능이 있습니다. 이 내용은 이 문서의 끝부분에 설명되어 있습니다.

사전 요구 사항 :

  • 로그인하는 사용자에게는 작업공간 수준 또는 조직 수준에서 관리자 역할 권한이 필요합니다.
    • 조직 관리자는 조직 내 모든 작업 공간에 게시하고 가시성을 설정할 수 있습니다.
    • 워크스페이스 관리자는 자신이 관리하는 워크스페이스만 게시하고 공개 상태를 설정할 수 있습니다.
  • 귀하의 회사/조직이 Rescale Software Publisher에 접근할 수 있도록 하려면 Rescale의 누군가가 필요합니다. 이는 신규 베타 고객 사용자를 위한 온보딩 프로세스의 일부입니다. 자세한 내용은 Rescale 팀에 문의하세요.
  • 현재 베타 버전에서는 Linux OS에서 실행할 수 있는 소프트웨어만 게시할 수 있습니다. Windows OS에서는 자체 출판이 지원되지 않습니다.

UI 액세스:

관리자로서 관리자 포털로 이동하면 상단에 "도구" 메뉴가 표시됩니다. 거기에서 "소프트웨어 게시자"를 선택하십시오.

관리 포털에 이 새로운 도구 메뉴가 표시되지 않으면 Rescale 사용자 계정에 필요한 권한이 구성되어 있지 않을 수 있습니다.

로컬에 게시된 소프트웨어 목록이 표시됩니다. 아니면 비어 있을 수도 있습니다. 초기 릴리스 버전에는 현재 열을 검색하거나 정렬하는 옵션이 없습니다. 긴 목록에서 소프트웨어를 찾으려면 페이지에서 브라우저 찾기/검색 옵션을 사용하십시오.

새로운 소프트웨어 타일

새 소프트웨어를 게시하려면 목록 테이블 위의 "+ 소프트웨어 추가" 버튼을 선택하세요. 또한 버전을 생성하기 전에 먼저 소프트웨어 타일이나 분석을 생성해야 합니다. CLI는 예외입니다(아래 CLI 섹션 참조). 해당 소프트웨어에 대한 버전 이름이 아직 존재하지 않는 한 원하는 버전 방법을 선택할 수 있습니다. (예 – “1.0”, “2a”, “버전1”, “20” 등)

구성 섹션에서 카탈로그에 추가할 새 소프트웨어의 이름과 설명 필드를 입력합니다. 배치를 선택하거나 워크 스테이션 게시할 소프트웨어의 경우, 게시된 소프트웨어의 의도된 사용이 작업 또는 대화형 워크스테이션을 통한 경우입니다. 썸네일 이미지는 선택사항입니다. 크기는 100K 미만이어야 합니다.

다음은 초기 소프트웨어 타일을 생성한 후 버전을 게시하기 전 UI의 예입니다.

새로운 소프트웨어 버전

소프트웨어 타일을 추가하면 하나 이상의 버전을 게시할 수 있습니다. 목록에서 생성한 소프트웨어 타일을 선택한 다음 "버전" 아이콘을 클릭합니다. "+ 소프트웨어 버전 추가"를 선택합니다. 왼쪽에 "버전 속성", "샌드박스 설정" 및 "하드웨어 설정"에 대한 세 가지 선택 옵션이 있는 새 창이 나타납니다. 버전 속성 페이지부터 필수 필드를 입력합니다. 선택적으로 게시된 소프트웨어가 작업의 일부로 실행될 때 참조할 수 있는 환경 변수를 제공할 수 있습니다.

이제 “샌드박스 설정” 페이지로 이동합니다. 이 페이지에서 소프트웨어를 업로드하고, 운영 체제를 지정하고, 소프트웨어에 MPI 종속성이 있는지 여부를 표시할 수 있습니다. 프로젝트 필드는 선택 사항이며 게시하려는 현재 작업 영역이 프로젝트 선택을 요구하도록 구성된 경우에만 필요합니다. 샌드박스 크기의 경우 소프트웨어를 설치하고 테스트하기에 충분히 크지만 사용하지 않는 공간을 낭비할 정도로 너무 크지 않은 크기를 선택하십시오.

이 페이지에는 버전 속성 페이지의 명령과 다른 선택적 명령 필드가 있습니다. 이는 소프트웨어가 업로드된 후 소프트웨어 설치를 자동화하는 스크립트를 실행하기 위한 것입니다. 이 명령 필드를 비워 두면 샌드박스에 대화형으로 액세스하여 게시하기 전에 필요한 명령과 구성을 수행할 수 있습니다.

현재 샌드박스 환경 생성에는 Linux OS 배포판만 지원됩니다.

그런 다음 "하드웨어 설정" 페이지로 이동합니다. 여기에서 다양한 프로세서 중에서 선택할 수 있습니다. core 사용 가능한 유형을 지정하고 샌드박스에서 실행할 코어 수도 설정합니다.

만들기

모든 페이지의 샌드박스 정보를 모두 입력했다면 '생성' 버튼을 클릭하세요. 새 샌드박스를 만들기 전에 모든 페이지를 검토할 수 있는 옵션이 있습니다. 새로운 "상태" 창이 나타나는 것을 볼 수 있습니다. 왼쪽에서 선택하면 샌드박스 생성 진행 상황을 모니터링할 수 있습니다.

최근활동

샌드박스 설정이 완료되면 새로운 SSH 섹션이 나타나고 상단에 새로운 "연결" 버튼도 표시됩니다. 샌드박스가 생성된 후 샌드박스에 직접 연결할 수 있는 방법에는 여러 가지가 있습니다.

  • "연결" 버튼을 선택하여 DCV 데스크톱 에뮬레이션
  • "작업" 섹션 아래를 클릭하여 브라우저 내 SSH 연결
  • 로컬 워크스테이션에서 SSH 연결. 이는 제품 설명서의 '아래'에서 다루는 고급 옵션입니다.로컬 워크스테이션에서 SSH".

이 예에서는 “Connect(연결)” 버튼을 선택하여 계속 진행합니다. 가상 데스크탑 환경은 아래 Rescale Workstations를 사용하고 있습니다. 셸/CLI 옵션에 대한 터미널 창에 액세스하려면 하단에 있는 터미널 에뮬레이터 버튼을 선택합니다.

새 샌드박스를 생성할 때 소프트웨어를 업로드하도록 선택한 경우 소프트웨어는 지정된 마운트 베이스 또는 마운트 지점 경로 위치에 배치되어야 합니다. 파일을 업로드할 때 TAR 파일의 자동 압축 풀기 및 추출을 선택하는 옵션이 UI에 있습니다.

이 대화형 모드에서는 샌드박스에 로그인하고 SSH 또는 터미널 세션을 통해 명령을 수행할 수 있습니다.

당신은 실행할 수 있습니다 git() 테스트 데이터와 같은 소프트웨어나 기타 자료를 검색하기 위해 샌드박스에서 직접 다음은 HPC 소프트웨어 패키지(SU2)에 대한 튜토리얼 데이터를 검색하는 예입니다.

또한 다음과 같이 소프트웨어를 Rescale 샌드박스 환경으로 이동하거나 전송하는 다른 옵션도 있습니다. sftp().

게시하기 전에 소프트웨어를 테스트하는 것이 좋습니다! 다음은 대화형을 통한 예입니다. 모델 샘플 테스트 시작:

게시이다.

게시할 준비가 되면 게시하기 전에 마운트 지점 베이스 아래에 필요한 모든 소프트웨어 파일을 복사하거나 이동해야 하며, 소프트웨어를 실행하는 데 필요하지 않은 임시 파일을 정리/제거해야 합니다.

UI에서 상태 페이지 하단에 있는 '게시' 버튼을 선택하세요. 페이지 상단의 상태 값이 "게시 중"으로 변경된 후 나중에 "완료 중"으로 전환되는 것을 볼 수 있습니다.

주의사항: 이 소프트웨어 버전을 사용할 수 있도록 하기 위해 뒤에서 여러 단계를 수행하므로 이 단계는 몇 분 정도 걸릴 수 있습니다.

소프트웨어 버전 게시 작업이 완료되면 버전 상태가 "완료됨"으로 업데이트된 것을 볼 수 있습니다.

시정

게시된 버전을 볼 때 "가시성" 열도 있습니다. 소프트웨어가 처음 게시된 후 단계 간에 소프트웨어를 승격하기 위해 관리자가 설정할 수 있는 여러 가시성 설정이 있습니다. 그것들은 다음과 같습니다:

가시성 설정/단계상품 설명
초안새 버전 게시 세션을 시작하는 초기 상태입니다. 이 게시 상태에는 샌드박스가 존재합니다. 물리적 스냅샷은 아직 존재하지 않으며 소프트웨어는 조직의 Rescale 카탈로그에 표시되지 않습니다.
관리자 비공개이 게시 단계에서 물리적 스냅샷이 먼저 생성됩니다. 샌드박스가 제거됩니다. 소프트웨어는 카탈로그의 관리자만 보고 액세스할 수 있습니다.
작업 공간 비공개이는 게시된 소프트웨어 버전을 다른 사람과 공유할 수 있는 옵션 중 하나입니다. 게시된 소프트웨어의 가시성을 Workspace Private으로 승격하면 선택한 명명된 작업 공간에서 해당 소프트웨어를 사용할 수 있습니다. 조직 관리자 권한이 있거나 공유하려는 워크스페이스에 대한 워크스페이스 관리자여야 합니다.
조직 비공개이는 게시된 소프트웨어 버전을 다른 사람과 공유하는 또 다른 옵션입니다. 게시된 소프트웨어의 가시성을 Organization Private으로 승격하면 모든 작업 공간에서 조직의 모든 구성원이 소프트웨어를 볼 수 있습니다.

UI에서 기본적으로 항상 "Admin Private"으로 시작하는 초기 상태에서 게시된 소프트웨어의 가시성을 설정하는 방법은 다음과 같습니다. 버전 -> 상태 페이지에서:

관리자 비공개

귀하의 소프트웨어가 초기 상태로 게시되면 Admin Private, 관리자인 귀하 및 게시된 작업 공간에 대한 적절한 액세스 권한이 있는 다른 관리자는 작업 생성 시 Rescale 소프트웨어 카탈로그에서 이 새로운 소프트웨어 타일 또는 버전에 액세스하고 사용할 수 있습니다. 이 단계의 가시성은 관리자에게만 제한됩니다.

새로 게시된 타일의 세부정보:

이 소프트웨어 버전이 제대로 작동하는지 테스트하고 확인한 후에는 이제 조직의 다른 사람들과 공유할 수 있습니다.

REMINDER: 게시된 소프트웨어를 다른 사람에게 제공하기 전에 항상 테스트하고 검증하십시오!

새로 게시된 버전을 다른 사람과 공유하려는 경우 두 가지 공개 옵션이 있습니다.

  • 특정 작업공간에 버전 공개 공개(작업공간 비공개)
  • 조직의 모든 작업공간에 대한 공개 가시성(조직 비공개)

작업 공간 비공개

버전 페이지에서 방금 게시한 버전 번호를 선택합니다. 페이지 상단의 "완료됨" 상태 옆에 있는 메뉴를 선택하고 "워크스페이스 프라이빗"을 선택하여 게시된 소프트웨어 버전의 가시성을 이름이 지정된 작업공간 목록으로 승격시킵니다. 왼쪽에서 "허용된 작업 공간"을 선택하고 이 소프트웨어 버전을 공유하려는 작업 공간을 선택하십시오.

관리자로서 액세스할 수 있는 작업공간만 선택할 수 있습니다.

조직 비공개

게시된 소프트웨어 버전의 공개 상태를 "조직 비공개"로 변경하는 방법에 대해 이전에 설명한 것과 유사한 단계를 수행합니다. UI에서 이 옵션을 선택할 수 있으려면 조직 관리자 역할에 있어야 합니다. 사용자에게 작업 영역에 대한 관리자 액세스 권한이 부여된 경우 게시된 소프트웨어의 공개 상태를 조직 비공개로 설정할 수 없습니다.

명령 행 인터페이스

게시자는 새로운 인수/옵션인 'spub'를 통해 Rescale CLI에서 액세스할 수 있습니다. 먼저 사용자로 최신 CLI 패키지를 다운로드하여 로컬 시스템에 설치해야 합니다.

제품 UI 내 오른쪽 상단의 계정 로그인 메뉴에서 "사용자 프로필 설정"을 선택하세요. 그런 다음 왼쪽 레일에서 “API”를 선택합니다. API 키가 아직 생성되지 않은 경우 지금 "+ API 키 추가"를 선택하여 생성하세요. 게시를 위해 CLI를 사용할 때 이 키 값을 제공해야 합니다.

같은 페이지의 CLI 섹션에서 "베타 릴리스" 탭을 클릭하고 CLI를 실행할 플랫폼을 선택합니다.

CLI 설치 - Mac

UI에서 CLI 파일을 다운로드하면 Mac OSX용 *.dmg 파일로 패키지됩니다. 해당 파일을 열어 설치 프로세스를 시작하세요. 제공된 지침을 따르십시오.

Rescale CLI는 기본적으로 /applications/Rescale CLI에 바이너리 "rescale-cli"로 설치됩니다. 이 디렉터리를 PATH에 추가하거나 설치된 디렉터리 위치 내에서 rescale-cli를 실행할 수 있습니다.

TIP: Rescale API 키 값과 소프트웨어 타일 이름을 복사하여 CLI와 함께 사용할 수 있는 편리한 위치에 붙여넣습니다.

CLI 설치 – Windows

UI에서 CLI 파일을 다운로드하면 Windows x64용 *.exe 파일로 패키지됩니다. x86. 해당 파일을 열어 설치 프로세스를 시작합니다. 제공된 지침을 따르십시오.

Rescale CLI는 기본적으로 C:\Users\[사용자 이름]\AppData\Local\rescale-cli에 바이너리 "rescale-cli.exe"로 설치됩니다. 명령 프롬프트 또는 Windows Powershell에서 명령을 실행합니다.

CLI 사용

Rescale CLI에는 다양한 클라이언트 플랫폼 간의 구문 사용 차이가 없습니다.

Rescale CLI 사용 시 몇 가지 시작 팁:

  • 각 게시자 명령은 "rescale-cli -X" 구문으로 시작됩니다. https://yourplatform.rescale.com 스푸브… 귀하의 조직이 호스팅되는 Rescale 플랫폼에 맞게 URL을 조정하세요.
  • 각 명령줄 실행에는 Rescale API 키가 포함되어야 하며 일반적으로 "-p 형식의 명령 끝 부분입니다.정말LongHexaDecimal값> ".
  • 소프트웨어 타일 또는 버전에서 작업하려면 "tile" 인수를 사용하여 spub하십시오. spub에서 사용할 "버전" 옵션은 없습니다.
  • spub 하위 명령과 해당 옵션은 모두 "-h" 또는 "-help"를 통한 도움말 옵션을 지원합니다.

다음은 개체 또는 "명사"와 동작 또는 "동사"라는 범주로 분류된 하위 명령과 옵션을 보여주는 요약 표입니다. 로그 옵션은 동사로 적합하지 않습니다.

루트 명령:최상위 하위 명령:객체 수준 인수/옵션/매개변수(명사)조치 수준 인수/옵션/매개변수(동사)
rescale-cli스푸브타일만들
모래 상자게시
도움명부
잇다
로그
업로드 파일
일시 중지 | 재개하다
완료
삭제 (나중에!)

spub의 명령줄 인터페이스에는 상황에 맞는 도움말 정보가 있습니다. 예를 들어 '타일'에 대한 일반적인 수준의 도움말 콘텐츠를 볼 수 있고 "타일 생성"과 같이 타일이 지원하는 특정 인수에 대한 자세한 도움말 콘텐츠를 볼 수 있습니다.

다음은 지원되는 두 가지 기본 개체 옵션(타일 및 샌드박스)에 대한 도움말의 샘플 출력입니다.

% ./rescale-cli -X https://platform-stage.rescale.com spub -h 사용법: Rescale 클라이언트 앱 spub [-h] {tile,sandbox} ... 위치 인수: {tile,sandbox} 명명된 인수 : -h, --help 이 도움말 메시지를 표시하고 종료합니다. % ./rescale-cli -X https://platform-stage.rescale.com spub 타일 -h 사용법: Rescale 클라이언트 앱 spub 타일 [-h] {create, 게시} ... 위치 인수: {create,publish} 명명된 인수: -h, --help 이 도움말 메시지를 표시하고 종료 % ./rescale-cli -X https://platform-stage.rescale.com spub sandbox - h 사용법: Rescale 클라이언트 앱 spub sandbox [-h] {connect,list,logs,resume,sunsp,terminate,upload-file} ... 위치 인수: {connect,list,logs,resume,suspens,terminate,upload- file} 명명된 인수: -h, --help 이 도움말 메시지를 표시하고 %를 종료합니다.

작업 또는 동사인 명령줄 옵션에 대한 도움말 컨텍스트도 있습니다. 다음은 타일 옵션과 함께 사용되는 "만들기"에 대한 도움말을 보여주는 한 가지 예입니다.

% ./rescale-cli -X https://platform-stage.rescale.com spub 타일 create -h 사용법: Rescale 클라이언트 앱 spub 타일 create [-h] [--visibility {admin-private,workspace-private,organization -private}] [-s 설정-파일] [--silent-mode] [-f INPUT-FILE-PATHS [INPUT-FILE-PATHS ...]] [-fid INPUT-FILE-IDS [INPUT-FILE- IDS ...]] [-p API-TOKEN] 명명된 인수: -h, --help 이 도움말 메시지를 표시하고 종료합니다. --visibility {admin-private,workspace-private,organization-private} admin-private|workspace- 개인|조직-개인 -s SETTINGS-FILE --silent-mode -f INPUT-FILE-PATHS [INPUT-FILE-PATHS ...] -fid INPUT-FILE-IDS [INPUT-FILE-IDS ...] creds : -p API-TOKEN, --api-token API-TOKEN 인증에 사용할 Rescale API 토큰 %

spub CLI를 통해 기존 소프트웨어 타일이나 새로운 타일에 대해 새 소프트웨어 버전을 생성하면 일련의 프롬프트에 대한 답변을 제공하라는 메시지가 표시됩니다.

  • 소프트웨어 코드
  • 소프트웨어 이름
  • 소프트웨어 설명
  • 소프트웨어 버전 이름
  • 소프트웨어 버전 코드
  • 소프트웨어 마운트 베이스
  • 소프트웨어 명령
  • 추가할 환경 변수 수
  • 샌드박스 코어 수
  • 샌드박스 OS 제품군
  • 샌드박스 배포판
  • MPI 유형
  • 설치 명령
  • 설치 볼륨 크기(GB)
  • 설치 마운트 지점

UI를 통해 볼 수 있는 것보다 더 많은 옵션이 있습니다. 이러한 CLI 생성 프롬프트에 대한 몇 가지 참고 사항은 다음과 같습니다.

  • 소프트웨어 코드, 소프트웨어 버전 코드는 제품 내부에서 사용되는 값입니다. 게시자는 해당 값을 가져와 고유하게 만듭니다. 나중에 CLI에서 이러한 항목을 제거할 수도 있습니다. 지금은 다음 필드 쌍에 동일한 값을 제공할 수 있습니다.
    • 소프트웨어 코드 = 소프트웨어 이름
    • 소프트웨어 버전 코드 = 소프트웨어 버전 이름
  • 설치 마운트 지점은 소프트웨어 마운트 베이스에 사용되는 값과 동일할 수 있습니다. 샌드박스의 소프트웨어를 마운트 베이스와 다른 디렉토리에 설치하려는 경우에만 설치 마운트 지점에 다른 값을 제공하십시오. 소프트웨어 버전의 최종 게시에 사용되는 소프트웨어 마운트 베이스이므로 게시하기 전에 소프트웨어가 샌드박스의 이 마운트 베이스 아래에 배치되어 있는지 확인하십시오.

다음은 spub create 명령의 출력 예입니다.

you@rescale.com@You Rescale CLI % rescale-cli -X https://platform-stage.rescale.com spub tile create -p 0000f4861c760156b87b94c664f026141dcb3ddf 

2023-04-17 16:45:12,391 - Authenticated as dfierro@rescale.com

소프트웨어 코드를 입력하십시오:

You-spub-tst01-SU2

소프트웨어 이름을 입력하십시오:

You-spub-tst01-SU2

소프트웨어 설명을 입력하십시오:

My software description for this version

소프트웨어 버전 이름을 입력하십시오:

1.0

소프트웨어 버전 코드를 입력하십시오:

1.0

소프트웨어 마운트 베이스를 입력하십시오:

/software/spubtst/SU2 

소프트웨어 명령을 입력하십시오:

echo test software command

추가하려는 환경 변수의 수를 입력하세요.

0

샌드박스 코어 수를 입력하세요.

4

샌드박스 월타임을 입력하세요.

24

샌드박스 OS 제품군을 입력하세요.

linux

샌드박스 OS 배포판을 입력하세요:

linux8

샌드박스 mpi 유형을 입력하거나 아무것도 입력하지 않으려면 비워 두십시오.

none

설치 명령을 입력하십시오:

echo test installation command

설치 볼륨 크기를 GB 단위로 입력하십시오.

5

설치 마운트 지점을 입력하십시오:

/software/spubtst/SU2

2023-04-17 16:50:03,017 - Sandbox: Syncing software

2023-04-17 16:50:03,668 - created dev analysis wQVseb

2023-04-17 16:50:04,107 - created dev analysis version iXVkhb

2023-04-17 16:50:04,108 - created dev analysis version iXVkhb env

2023-04-17 16:50:04,130 - Uploading Files

2023-04-17 16:50:04,136 - Uploading: /var/folders/vx/6777877n4p517_ymy_224gwc0000gn/T/rescale-cli-work8858473315941349202/settings.json

2023-04-17 16:50:04,137 - Uploading settings.json:

2023-04-17 16:50:05,290 - ##############################| 848B / 848B         

2023-04-17 16:50:08,285 - Sandbox: Saving Sandbox

2023-04-17 16:50:11,586 - Sandbox Ysnugb: Saved

2023-04-17 16:50:15,455 - Sandbox Ysnugb: Waiting for status INSTALLATION_COMPLETE

2023-04-17 16:51:15,840 - Sandbox Ysnugb: Status - SANDBOX_STARTING

2023-04-17 16:52:16,237 - Sandbox Ysnugb: Status - SANDBOX_STARTING

2023-04-17 16:57:18,232 - Sandbox Ysnugb: Status - INSTALLATION_COMPLETE

2023-04-17 16:57:18,232 - Sandbox creation completed.

Please perform any manual installation steps on the sandbox before running `spub tile publish --sandboxId Ysnugb` to publish the software.

Sandbox connection info can be retrieved with `spub sandbox connect --sandbox-id Ysnugb`.

you@rescale.com@You Rescale CLI %

소프트웨어 이식성 및 도우미 기능

자신의 소프트웨어를 Rescale 플랫폼으로 가져올 때 가장 좋은 방법은 소프트웨어 애플리케이션, 패키지 또는 도구를 최대한 이식 가능하게 만드는 것입니다. 이는 Rescale 플랫폼이 관리형 컴퓨팅 클러스터에서 실행되는 소프트웨어가 기본 하드웨어 및 운영 체제에서 분리되도록 설계되었기 때문입니다. 이를 통해 고객은 고성능 컴퓨팅 워크로드를 실행하기 위해 핵심 하드웨어 옵션과 대상 환경을 선택할 때 유연성을 극대화할 수 있습니다. HPC 소프트웨어가 기본 운영 체제와 너무 얽혀 있거나 다른 하드 코딩된 종속성이 있는 경우 시간이 지남에 따라 소프트웨어 솔루션이 더욱 취약해지며 OS 패치와 같은 간단한 업데이트로 인해 소프트웨어를 매번 다시 설치하고 테스트해야 할 수도 있습니다. 그러한 변화가 일어나는 시간.

이것이 Rescale 샌드박스가 보안상의 이유로 루트 사용자 계정이나 sudo 액세스와 같은 슈퍼 유저나 관리자 권한을 허용하지 않도록 설계한 이유입니다. 그러나 이러한 높은 액세스 권한 없이도 Rescale이 제어하는 ​​호스팅 환경 내에서 소프트웨어를 성공적으로 설치, 실행 및 테스트할 수 있습니다. Rescale은 생성된 모든 샌드박스와 함께 소프트웨어를 설치하고 테스트하는 데 도움이 되는 유틸리티 세트를 제공하므로 이식성이 뛰어나고 유연합니다. 이러한 도우미 기능은 yum install 에서 python pip 까지 일반적으로 루트 또는 sudo 액세스가 필요한 많은 일반적인 설치 명령 및 패키지를 처리합니다. 다음은 게시된 소프트웨어의 이식성을 보장하고 권장 모범 사례를 따르는 데 사용할 수 있는 Rescale 도우미 기능 및 유틸리티에 대한 개요입니다.

Spub 도우미 유틸리티 사용

높은 수준에서 샌드박스의 운영 체제(OS) 이미지는 설치된 소프트웨어를 실행할 클러스터를 나타냅니다. 그러나 플랫폼에서 소프트웨어를 게시하고 실행하기 위한 Rescale 디자인은 기본 OS에서 게시하는 소프트웨어를 분리한다는 점에 유의하는 것이 중요합니다. 게시된 소프트웨어와 OS는 하나의 볼륨이나 스냅샷으로 함께 저장되지 않습니다. 이 디자인은 리스케일 카탈로그에 게시된 소프트웨어의 이식성을 극대화하여 게시된 소프트웨어가 다양한 하드웨어 플랫폼 및 환경에서 실행될 수 있도록 하기 위한 것입니다.

어떤 위치에서든 파일을 직접 추가하고 수정할 수 있는 운영 체제 내 루트 또는 관리자 권한이 있는 전용 로컬 환경에서 HPC 소프트웨어 패키지, 애플리케이션 및 기타 지원 도구를 설치, 구성 및 실행하는 데 익숙한 많은 사용자는 다음이 필요합니다. Rescale 플랫폼에서 소프트웨어를 사용할 수 있게 만들 때 접근 방식을 조정합니다. Rescale 플랫폼에서 소프트웨어를 퍼블리싱할 때 주요 패러다임 전환은 모든 종속성이 소프트웨어의 마운트 지점 또는 마운트 베이스라고 불리는 지정된 디렉토리 영역 내에 자체적으로 포함되도록 소프트웨어를 패키징해야 한다는 것입니다. Rescale 카탈로그에 게시된 소프트웨어는 이식 가능해야 하기 때문에 다양한 하드웨어 코어 유형 및 심지어 다른 CSP에 걸쳐 작업을 실행하도록 선택할 수 있습니다. 모범 사례로서 OS 영역에서 직접 파일을 설치하거나 수정해서는 안 됩니다. . 게시된 소프트웨어의 이식성을 보장하기 위해 마운트 베이스 디렉터리 아래 일관된 위치에서 사용할 수 있는 컴파일러 및 MPI 라이브러리와 같이 Rescale이 자동으로 제공하는 몇 가지 일반적인 소프트웨어 종속성이 있습니다. 또한 다음과 같은 Spub 도우미 도구는 Rescale 플랫폼에 소프트웨어를 게시하는 사용자에게도 제공됩니다. 이에 대해서는 나중에 자세히 설명합니다.

소프트웨어를 업로드, 설치, 구성 및 검증하기 위해 가상 샌드박스에서 작업할 때 전체 VM은 게시 시 저장되지 않습니다. 대신 마운트 기본 볼륨 및 관련 환경 설정의 스냅샷이 캡처됩니다. 이는 설치의 이동성에 영향을 미치므로 주의해서 처리해야 합니다. 일반적으로 모든 필수 바이너리, 스크립트, 라이브러리 등이 소프트웨어에 대해 지정한 마운트 베이스 아래에 있는지 확인하는 것이 좋습니다.

예를 들어, 경로가 "/software/my-great-software"를 마운트베이스로 사용하면 다음과 같이 보일 수 있습니다.

  • /software/my-great-software
  • /software/my-great-software/bin
  • /software/my-great-software/scripts
  • /software/my-great-software/lib

휴대용 설치를 보장하고 사용자의 부담을 덜어주기 위해 Rescale은 UI에서 선택한 마운트 베이스에 설치를 지시하도록 기본적으로 사전 구성 및 설정되는 다양한 도우미 기능을 제공합니다. 이러한 기능에는 접두사가 붙습니다. spub_* 터미널에서 나열하고 설명할 수 있습니다. 클러스터 명령으로 spub_helper_list. 그만큼 spub_help 함수는 새로운 도우미가 추가됨에 따라 항상 최신 명령 세트를 갖게 됩니다.   
이러한 spub 도우미 기능의 위치는 생성된 모든 게시자 샌드박스의 기본 위치에 설치됩니다. 이 디렉토리는 /program/sxp-interactive/util , 로 지칭 SPUBUTILS 이 문서에서 참고할 수 있습니다. 다음은 내용의 디렉토리 목록입니다.

다음 파일을 보면 사용 가능한 spub 도우미 기능에 대한 개요가 제공됩니다. 

> $SPUBUTILS/spub_helper_list | more

도우미 기능을 대화형으로 실행할 때 현재 셸에 PATH를 추가하거나 환경 변수를 설정하는 등 설치 프로그램에서 수행해야 하는 작업이 있는 경우가 많습니다. 이는 셸의 메시지를 통해 사용자에게 알려집니다. 예를 들어 

************************************************** ***************

*********************** 중요한 **************************

************************************************** ***************

계속하기 전에 셸에서 다음 명령을 실행하세요.

    소스 /program/my-great-software/venv/bin/activate

내장된 도우미를 사용해야 하는 경우를 강조하는 몇 가지 사용 사례가 있습니다. 

: spub_yum_install 

일반적으로 yum, dnf와 같은 타사 패키지 관리 시스템을 사용하는 경우 시스템 수준에서 설치하도록 설계되었습니다. 이를 위해서는 클러스터에 대한 관리자 권한이 필요하며 게시된 분석으로 전달되지 않는 위치에 설치된 라이브러리를 배치합니다. 모방한 래퍼 yum install rpms를 다운로드하여 마운트베이스 아래에 설치하는 기능이 제공됩니다. 달리는 것보다 sudo yum install cowsay 도우미와 함께 명령은 다음과 같습니다 spub_yum_install cowsay 

실행 후 메시지를 받을 수 있습니다. spub_yum_install 셸에서 환경 변수를 내보냅니다. 제공된 지침을 따르십시오.

파이썬: spub_add_python_venv

일반적으로 여러 외부 패키지(예: numpy, pandas 등)가 필요한 Python 코드를 실행할 때 가상 환경을 만드는 것이 좋습니다. Rescale 게시 샌드박스에서 이를 수행하려면 유틸리티가 필요합니다. spub_add_python_venv 사용되어야한다. 그러면 버전을 선택하여 Python 가상 환경이 설정되고 샌드박스가 게시될 때 pip를 통해 설치된 모든 패키지를 사용할 수 있는지 확인됩니다. 

참고: 항상 source 마지막에 제공되는 명령 spub_add_python_venv 완료:

>source /{YOUR_MOUNT_BASE}/venv/bin/activate

어떤 이유로든 이 도우미 기능을 실행하는 데 문제가 발생하는 경우 다음을 실행하여 취소할 수 있습니다. spub_remove_venv 그리고 다시 시작하세요. 샌드박스 내에서 이 명령을 한 번만 실행하면 됩니다.

알려진 Python 제한 사항이 있습니다. spub_add_python_venv 저장소에 수동으로 추가된 비표준 패키지 설치를 지원하지 않습니다. 이러한 Python 패키지의 해결 방법은 샌드박스의 소스 코드에서 빌드하는 것입니다.

GCC: spub_update_gcc

기본 버전은 gcc 현재 게시자 샌드박스 머신 이미지에 제공되는 이미지는 상당히 오래되었습니다. 최신 버전으로 업그레이드하려면 spub 유틸리티 spub_update_gcc를 사용하세요. 현재 이 spub 도우미 기능에서는 버전 7 또는 8만 지원됩니다. 최신 버전이 필요한 경우 샌드박스 환경 내에서 수동으로 설치해야 합니다.

모든: spub_validate

소프트웨어가 올바르게 구성되었는지 확인하기 위해 샌드박스가 계속 실행되는 동안 몇 가지 작은 테스트 사례를 실행하는 것이 좋습니다. 바이너리가 실행되고 모든 라이브러리가 발견되면 게시할 준비가 된 것입니다. 최종 준비가 완료되면 확인spub_validate 환경 변수가 있는지 확인하는 데 도움이 되도록 제공됩니다. PATHs 향후 Rescale 클러스터로 전달되지 않는 홈 디렉토리를 참조합니다. 이는 결국 무해할 수 있지만, 반면에 스크립트/라이브러리 등의 위치를 ​​마운트 베이스로 이동하는 등의 작업을 통해 해결해야 할 수도 있습니다. 예를 들어

[uprod_eqrCUc@ip-10-25-10-6 ~]$ spub_validate 

현재 환경 설정 추출 및 저장

::: 경고: 이 샌드박스에 임시 $HOME을 참조하는 ENV VAR이 정의되어 있습니다. 

          이름: BAD_VAR

          값: /enc/uprod_eqrCUc/foo

환경을 확인한 후 이 샌드박스를 게시할 수 있으며 향후 Rescale 작업에서 이 환경이 다시 생성됩니다. spub_validate 실행 결과는 지정된 소프트웨어 설치 지점 아래의 $MOUNT_BASE/rescale 디렉터리에 기록됩니다. 생성된 파일은 XNUMX개입니다.

  • command_history.txt – 쉘 내에서 실행되는 모든 명령을 캡처합니다.
  • draft_env.sh – 세션이 조기 종료된 경우 중간 파일, 다음 로그인 시 재개
  • rescale_env.sh – 이 파일에는 점진적으로 추가되거나 수정된 ​​ENV만 나타납니다. Rescale이 생성하는 기본 ENV는 이 파일에 포함되지 않습니다.

다음은 성공적인 결과의 예시입니다. spub_validate 달리다 :

이 예의 지침은 게시자 UI에서 직접 테스트하고 검증 중인 소프트웨어 버전에 새 환경 변수 이름과 값을 추가하는 것입니다.

Rescale 클러스터에서 최적으로 실행되는 방식으로 빌드하도록 설계된 패키지 설치 프로그램인 다양한 도우미 기능이 있습니다. 이는 다음의 명명 규칙을 따릅니다. spub_add_<pkg>, 예를 들어 spub_add_R. 사용자 입력으로 재정의할 수 있는 기본 버전이 명시되어 있습니다. 패키지를 구축하는 것 외에도 추가 R 라이브러리 설치와 같은 작업이 올바르게 저장되고 게시된 분석에서 사용 가능한지 확인하는 방법에 대한 지침을 제공합니다. 

일반적인 질문

  • 샌드박스의 기본 버전이 아닌 특정 버전의 Python을 설치해야 하는 경우 어떻게 해야 합니까?

사용법 - spub_add_python_venv 도우미 기능을 사용하면 샌드박스 환경에 설치하려는 Python 버전을 지정할 수 있습니다. 가장 먼저 표시되는 프롬프트는 다음과 같습니다.

성공하면 마운트 기본 디렉터리에 Python 버전이 설치되었다는 메시지가 표시됩니다.

Installed Python-3.8.16 to /{YOUR_MOUNT_BASE}/pyenv/versions/3.8.16

중요: 이 파일의 소스를 얻으려면 이 도우미 기능 실행 마지막에 제공되는 지침을 따르십시오.

>source /{YOUR_MOUNT_BASE}/venv/bin/activate
  • 샌드박스 내에서 직접 루트 또는 sudo 사용자 액세스가 필요하지 않고 Python pip 설치를 어떻게 수행합니까?

먼저 다음을 사용하여 게시자 샌드박스 내에서 Python 가상 환경을 만드는 방법에 대한 위의 예를 따르세요. spub_add_python_venv . 그런 다음 나중에 source 명령을 실행하십시오.  source /{YOUR_MOUNT_BASE}/venv/bin/activate  . 이러한 단계를 완료한 후에는 현재 PATH에서 참조하는 Python 바이너리와 도구가 다음 위치에 있는지 확인할 수 있습니다. /{YOUR_MOUNT_BASE}/venv/bin .

bash-4.2$ source /program/SWBASEDIR/venv/bin/activate
(venv) bash-4.2$ which pip
/program/acecast2/venv/bin/pip
(venv) bash-4.2$ which python
/program/SWBASEDIR/venv/bin/python
(venv) bash-4.2$ 

달리는 것도 잊지 마세요 spub_validate .

이제 다음과 같은 pip install 명령을 실행할 수 있습니다.

핍 설치 <pkg-name>

  • 최신 버전의 gcc를 어떻게 구하나요?

위의 도우미 유틸리티를 참조하세요. spub_update_gcc

  • 를 사용하는 동안 스푸브* 도우미 기능을 사용할 때 "장치에 남은 공간이 없습니다"라는 오류 메시지가 나타납니다. 어떻게 회복하나요?

1GB 크기의 샌드박스를 생성한 경우 Python pip 설치를 실행하면 샌드박스 디스크 제한 크기에 도달할 수 있습니다. 현재 샌드박스의 디스크 크기를 동적으로 늘릴 수 있는 방법은 없습니다. 해결 방법은 이 게시 세션을 취소하고 샌드박스 디스크 크기가 더 큰 새 소프트웨어 버전을 생성하는 것입니다.

"를 실행할 수 있습니다.df -H” 명령을 사용하여 MOUNT BASE 디렉터리 아래의 사용 가능한 공간을 확인하세요.

고급 사용 사례

MPI

원하는 분석에 MPI가 필요한 경우 추가로 고려해야 할 사항이 있습니다. 빌드 샌드박스의 UI를 통해 선택할 수 있는 사전 구성된 MPI 버전이 여러 가지 있습니다. Rescale은 일반적으로 최신 또는 최신 버전을 구성합니다. 이상적으로 이는 대부분의 애플리케이션에 적합하며 많은 최신 MPI가 이전 버전과 호환된다는 점을 명심하십시오. 또한 다양한 버전에 걸쳐 ABI 호환성이 있으며, Rescale은 ABI 호환 MPI(예: MPICH)로 컴파일된 코드와 함께 사용할 수 있는 Intel MPI를 제공합니다. 소스에서 또는 Spack과 같은 패키지 관리 시스템을 통해 MPI를 설치할 수 있지만 이는 권장되지 않습니다. 

샌드박스의 MPI 버전을 선택하면 설치를 가능한 한 이식 가능하게 유지하는 데 도움이 되는 일부 Rescale 제공 MPI 래퍼 스크립트가 추가됩니다. mpirun 명령은 별칭이 지정되어 있으며 기본적으로 소프트웨어가 향후 실행되는 하드웨어 유형에 따라 필요한 라이브러리와 플래그를 추가합니다. 이 추상화를 그대로 유지하는 것이 좋습니다. 이는 PATH가 기본값과 다른 mpirun을 가리키도록 명시적으로 설정되지 않는 한 발생해야 합니다. 이는 또한 Rescale HPC에서 게시한 소프트웨어와 자체 게시된 분석 전반에서 표준 동작을 유지하는 데 도움이 됩니다.  

소스에서 코드를 컴파일하는 경우 적절한 MPI 위치에 대한 구성을 가리켜야 할 가능성이 높습니다. MPI 버전에 관계없이 위치는 환경 변수 MPI_ROOT에 저장됩니다. 전통적인 make 패러다임의 구성 단계는 다음과 같습니다.  

      $./configure --with-mpi=$MPI_ROOT --prefix=/program/my-great-install … 

인텔 컴파일러

Rescale은 /opt/rescale/oneapi 아래에 샌드박스 OS의 일부로 Intel oneAPI 툴킷을 제공합니다. Publisher를 사용하여 새 버전의 소프트웨어를 게시할 때 이 옵션을 선택할 수 있습니다. 샌드박스 버전 페이지에서 MPI 버전으로 "Intel MPI 2019"를 선택하세요. PATH 내에서 인텔 컴파일러 구성 요소를 사용할 수 있게 하려면 샌드박스 내에서 다음 파일을 소싱해야 합니다.

  • source /opt/rescale/oneapi/setvars.sh

또는 컴파일러 아티팩트에 대한 절대 경로 이름을 사용할 수 있습니다.