EDISON 시뮬레이션 실행 과정
EDISON에서 시뮬레이션 실행을 하게 되면, 아래와 같은 과정을 거친다.
렌덤한 simulation id와 job id를 생성하고 시뮬레이션을 실행한 유저 스토리지 jobs 폴더안에 simulation id로 폴더를 생성하고, 시뮬레이션 id 폴더안에 job id 폴더를 생성한다.
- /~특정 위치 ~/[user id]/jobs/[simulation id]/[job id]
- abc라는 유저가 있고 시뮬레이션 실행 시 랜덤하게 생성된 simulation id가 4a9f07a-0f33-4729-8981-5c6f4893c8a4, job id가 0edc91c9-5e1b-45b2-841a-3b77e63930a5.job 라면
- /~특정 위치 ~/abc/jobs/4a9f07a-0f33-4729-8981-5c6f4893c8a4/0edc91c9-5e1b-45b2-841a-3b77e63930a5.job/ 폴더가 생성이 된다.
이후 실행 파일을 새롭게 생성한 폴더에 복사하며, 실행 파일 이외에 같은 폴더에 있는 파일이나 폴더를 심볼 링크를 걸어준다.
- 이후 앱 등록과정에서 한번더 설명이 있겠지만, 이러한 과정을 거치므로, 앱 등록시 업로드하는 압축 파일에는 실행에 필요한 파일 이외에
result
,input.dat
등의 파일이나 폴더가 들어가 있으면 안된다.
- 이후 앱 등록과정에서 한번더 설명이 있겠지만, 이러한 과정을 거치므로, 앱 등록시 업로드하는 압축 파일에는 실행에 필요한 파일 이외에
- 만약에 심볼링크 걸린 파일중
simrc
라는 파일이 있으면,source simrc
명령을 수행하여simrc
안에 있는 커멘드를 실행한다.- 시뮬레이션 실행시 export PATH가 필요하거나 LD_LIBRARY_PATH 경로 설정이 필요한 경우 simrc 에 관련 정보를 작성한다.
- 이후 입력된 입력 포트 정보를 바탕으로 시뮬레이션 실행 커멘드를 수행한다.
- 수행이 완료된 이후에는 result 폴더를 압축하고 시뮬레이션 실행 프로세스를 종료한다.
module avail
mpich, openmpi등을 사용하는 하고자 하는경우 module avile
명령을 통해 관련 내역을 확인 할 수 있으며, module load [모듈 명]
명령어를 통해 해당 모듈의 PATH를 자동으로 추가해준다.
오픈소스가 필요한 경우
개발하는 앱이 실행 or 개발 시 다른 오픈소스가 필요하다면, Bulb 서버에 접속해 /SYSTEM/폴더에 접근 해보자. EDISON에서 제공하는 오픈 소스들이 설치되어 있는 경로이며, PATH 설정 또는 LD_LIBRARY_PATH 설정을 통해 이를 이용할 수 있다.
/SYSTEM/ 폴더에 없는 오픈소스의 경우 EDISON 관리자에게 요청하면 된다.