파이프라인 연산 사용량 해석
Resource Management는 프로젝트와 온톨로지가 사용한 연산 및 저장 자원을 보여 줍니다. 연산은 Foundry compute-seconds로 측정합니다. 이 값은 시계로 잰 실행 시간 자체가 아니라 할당 자원과 실행 시간을 반영한 작업량 단위입니다.
경과 시간과 할당 자원
경과 시간(wall-clock time)은 실제 시작과 종료 사이의 시간입니다. 동시에 여러 코어와 실행기를 사용하면 경과 시간 1초 동안 여러 compute-seconds가 발생할 수 있습니다. 예를 들어 코어 2개를 3초 사용하면 6 core-seconds입니다.
사용량은 CPU가 실제로 바빴던 비율보다 할당된 vCPU와 메모리에 근거합니다. 자원이 할당되어 있는 동안의 시작 준비, 입력 읽기, I/O 대기, 계산과 출력 및 정리 시간도 영향을 줍니다. 대기열의 전체 경과 시간과 자원을 실제로 할당한 기간을 같은 값으로 보지 않습니다.
일반적인 병렬 연산에서는 자원 단위당 다음 값으로 메모리와 코어를 함께 반영합니다.
자원 가중치 = max(vCPU 수, 메모리 GiB / 7.5)
연산 사용량 = 자원 가중치 × 할당 시간
기본 메모리 대 코어 비율은 코어당 7.5GiB입니다. 예를 들어 실행기 두 개가 각각 1 vCPU와 12GiB를 5초 사용하면 실행기 부분의 core-seconds는 10이지만 compute-seconds는 max(1, 12/7.5) × 2 × 5 = 16입니다. 메모리 요구가 CPU보다 큰 자원 비중을 차지하기 때문입니다.
실행 방식별 집계
| 방식 | 자원을 사용하는 구간 |
|---|---|
| 배치 | 스케줄 또는 수동 요청으로 자원을 할당받아 실행하고 반환할 때까지 사용합니다. 실행하지 않는 동안에는 그 배치 작업의 연산을 사용하지 않습니다. |
| 대화형 | 빠른 응답을 위해 대기 자원을 유지하는 백엔드에서 질의를 처리합니다. 질의별로 배분된 사용량을 프로젝트에 집계합니다. |
| 지속 실행 | 메시지를 받을 준비가 된 상시 작업의 실행 기간을 측정합니다. 데이터가 잠시 들어오지 않아도 자원을 계속 사용할 수 있습니다. |
배치에는 변환, Pipeline Builder, 저장된 Contour 데이터셋 빌드, Code Workbook, 온톨로지 및 시계열 동기화와 Data Health 검사 등이 포함됩니다. 대화형 사용에는 Contour 분석 및 미리보기, 온톨로지와 시계열 질의, Code Workspaces 등이 포함됩니다. 스트리밍과 상시 모델 처리에서는 지속 실행의 자원 유지 시간을 함께 봅니다.
리소스와 날짜별 확인
Resource Management에서 프로젝트와 리소스별 사용량을 조사합니다. 변환 작업의 사용량은 일반적으로 계산한 데이터셋 같은 지속적인 리소스에 귀속됩니다. 실행을 빨리 끝냈다는 사실만으로 사용량이 줄었다고 판단하지 말고 할당 자원과 실행 시간을 함께 비교합니다.
집계의 시각과 날짜 범위는 UTC를 사용하며 작업의 사용량은 완료한 UTC 날짜에 귀속됩니다. 여러 날짜에 걸친 작업도 종료 날짜를 기준으로 확인합니다.
저장 공간은 compute-seconds와 별도인 gigabyte-months로 측정합니다. 일반 Foundry 저장소의 데이터와 온톨로지의 인덱스 용량도 구분하므로 한 데이터셋의 파일 크기를 모든 자원 사용량과 동일하게 보지 않습니다.
애플리케이션별 범위
Code Repositories 사용량은 여러 출력의 비용 배분, CPU 및 GPU 계수와 정적 및 동적 실행기 계산 예제를 다룹니다. Foundry Streaming은 상시 처리와 주기적인 아카이브 작업을 구분합니다.
분석과 업무 처리에서는 다음 사용량도 함께 확인할 수 있습니다.
Code Workspaces와 Compute Modules도 각각의 실행 및 자원 할당 방식에 따라 사용량을 관리합니다. Spark 작업의 실행 시간과 분산 상태를 조사할 때는 Spark details의 지표를 이용합니다.