회의 ⇒ 회의에 대한 주제가 있고 그 외 연관된 주제가 나올 경우 ⇒ 새로운 회의로 잡기
동동 데일리 GOOD
우리가 갖는 데이터 구체화하기
GPU 서버 등록

// 서버 등록
SERVER NAME 서버 이름 (디폴트 이름은 랩이름 + 숫자)
COM: MEMORY SIZE,
COM: DISK SIZE,
GPU 보드의 성능 (TFLOPS)
GPU 모델명
GPU IP 입력? (추후)
----------------------------------------------------
GPU 보드 메모리 (GPU ram) (X) -------- 서버등록
서버 당 보드 개수 (X) 1:1
JOB에 필요한 데이터
기업 측에서 제시해준 데이터
JOB 예약 - REQUEST SHAPE
userId
jobName
serverId
dockerHubUrl
expectedTime
JOB 등록 페이지 등록 폼 (페이지)
GET
Response
[{
"gpuServerId": number,
"performance": number, // Gpu성능
"waitingJobCount": number, // 대기중인 Job 개수 (대기중인 JOB개수 & GPU 성능) (O) [OPTION] => 백엔드 기능 구현 필요
// 대기중인 Job 개수 + 현재 실행중인 Job 도 포함시켜야 할듯?? 내꺼를 실행시키기 위하여 남은 Job의 개수
잔여 실행 시간의 합계
}, ... ]
POST
Request
{
"jobName": string, // Job 이름
"gpuServerId": number, // Gpu서버
"jobEstimateTime": number, // Job의 예상 실행 시간 (hour단위) => 실제 실행 시간은 사용자의 예상 시간 * 0.9 or * 1.2 (O) [OPTION]
"dockerHubUrl": string // url. 실제 도커 허브 url 유효성 검증 X
}
Response
- status 201 ==> 예약완료
- header.location = /job/1
- body: N/A
response.body
{
"jobId": 1,
},
유저 ID (TOKEN -- 인증/인가)
TOTAL EPOCH
GPU 보드 ID (x)
----추가 정책 고려
관리자
Job 조회 페이지
GET /job/1
RESPONSE
단일 JOB findByJobId
{
"jobId": number,
"jobName": string, // Job 이름
"jobStatus": "WAITING" | "RUNNING" | "COMPLETED" | "CANCELED",
"gpuServer": {
}, // 할당된 Gpu서버
"예상종료시간": number,
"jobEstimateTime": number, // Job의 예상 실행 시간 (hour단위) => 실제 실행 시간은 사용자의 예상 시간 * 0.9 or * 1.2 (O) ~~[OPTION]~~
"dockerHubUrl": string // url. 실제 도커 허브 url 유효성 검증 X
"log": string,
}
findByGpuServerId
[{
...
}, ]
전체 JOB findAll === findAllByMemberId
[{
}, ...]
JOB ID
JOB STATUS => WAITING / RUNNING / COMPLETED / CANCELED
~~MEMBER ID~~
(FRONTEND ------- 시각화할 DATA라고 생각함)
JOB 진행 정보 === 통째 LOG 정보 (string)
CURRENT EPOCH
LOSS
ACCURACY
EPOCH 당 소요시간
최종 EPOCH 종료까지 남은 시간
RESPONSE
사용자 페이지 보여줄 데이터
(when, how)단일 job을 조회할 수 있을까?
유저 페이지 => JOB 예약 현황 => 특정 job 선택 GET



로그인/회원가입
회원가입
(고민필요) 매니저와 유저는 어떤 방식으로 가입할 것인가
USER와 MANAGER 모두 회원가입을 진행
MANAGER의 경우 별도의 초대 TOKEN값을 입력해야함 ⇒ 해당 초대 TOKEN은 미리 발급되어있는 상태
참고


MANAGER용 / USER용 회원가입 따로 생성하기
POST
{
...
memberType: MANAGER
}
로그인

GET members/me
GET members/me
{
Authorization: BAR
}
RES
{
memberType
}
GPU 서버 관리
GPU 서버 전체 조회 MANAGER | USER
GPU 서버 등록/삭제 MANANGER
개선사항
GPU 서버 상세 조회 MANAGER | USER
GET /api/labs/{labId}/gpus/{gpuServerId}
response
{
"diskSize": 0,
"gpuBoard": {
"id": 0,
"isWorking": true,
"modelName": "string",
"performance": 0
},
"id": 0,
"isOn": true,
"jobs": [
{
"id": 0,
"name": "string",
"status": "WAITING"
}
],
"memorySize": 0,
"serverName": "string"
}

(FE) GPU 서버 상세 조회에 보여줄 데이터 생각해보기 (Gpu 서버만을 위한 데이터 === 컴퓨터)
참고
