UDN
Search public documentation:

SwarmKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

언리얼 스웜(Swarm)

문서 요약: 언리얼 엔진 3 용 대규모 어플리케이션 및 태스크 분산 시스템 언리얼 스웜에 대한 고급 및 기술적 개요서입니다.

문서 변경사항: Derek Cornish 작성, Daniel Wright 지원, Richard Nalezynski? 업데이트, 홍성진 번역.

대상 독자

이 문서는 시스템의 고급 단계에 관심이 있는 분들, 그리고 레벨 디자이너나 아티스트는 물론 일반 사용자들을 대상으로 합니다.

언리얼 스웜이란?

자원이 많이 소요되는 어플리케이션은 흔히 프로세서 코어가 추가됨에 따라 완벽하게 성능이 배가되면서, 시스템이 이끌어낼 수 있는 처리능력을 모두 활용할 수 있도록 설계됩니다. 2코어에서 4코어로, 또는 4코어에서 8코어로 옮기는 것이 이들 어플리케이션에 놀라울만큼 유용한 이유입니다.

저희의 고품질 글로벌 일루미네이션 솔루션 언리얼 라이트매스는 계산량이 엄청난 어플리케이션의 좋은 예입니다. 심지어 8코어 시스템에서도 대형 레벨이나 복잡한 레벨의 라이팅을 리빌드하면 다른 작업을 못할 만큼 시간이 상당히 오래 걸립니다. 그래서 등장한 것이 언리얼 스웜입니다.

AgentInAction2.PNG

스웜 사용하기

대개의 경우 스웜은 자동으로 시작되어 태스크를 수행한 다음, 사용자의 개입이 전혀 없이 종료됩니다. 여러분이 라이트매스 라이팅을 빌드할 때 요구에 따라 에디터가 이를 시작할 수 있으며, Swarm Agent는 이를 가동한 에디터를 추적하여 에디터가 닫히면 스스로를 닫습니다. 어플리케이션에서의 기본 설정은 스웜 관리자에 의해 정해집니다. 아래의 FAQ 및 기타 문서에 답이 없는 질문이 있으신 경우, 스웜 관리자에게 도움을 요청하십시오.

스웜은 조용히 알아서 하게끔 설계되긴 했지만, 예외는 항상 있는 법입니다. 그러므로 FAQ를 소개합니다.

스웜 FAQ

왜 분배받지 못할까요?

원격 Swarm Agent가 잡을 거절하는 데는 몇 가지 이유가 있습니다. 그 중 가장 일반적인 것은 Agent 가 이미 다른사람의 일로 바쁘기 때문입니다. 또 한 가지 가능성은 Agent 가 그 시점에서 잡을 받아들이기에는 너무 바쁘다고 판단한 경우로, 흔히 머신이 컴파일이나 쿠킹 등 뭔가 자원 집약적인 다른 일을 하고 있는 것이 원인입니다. Agent 윈도우의 Swarm Status 탭을 보면, 여러분의 빌드에 도움이 될 가능성이 있는 모든 원격 에이전트의 목록을 확인할 수 있습니다. 그 가운데 하나가 현재 사용할 수 없는 것일 경우에는 흰 색 막대가 빌드의 나머지를 따라 틱하고 있는 것을 보게될 것이며, 막대에 마우스를 올리면 "Waiting for remote to become available(원격 에이전트가 이용 가능해지기를 기다림)" 라는 문구를 보게 될 것입니다.

가용 원격 에이전트를 살펴보는 보다 진보적인 방법은 Log 탭 아래 Network 메뉴에서 Ping Remote Agents 를 선택하는 것입니다. 그러면 원격 머신들 및 그 머신들의 현 상태 목록을 보게 될 것입니다.

Swarm Agent는 어떻게 시작하고 정지합니까?

Agent가 이미 실행되고 있지 않다면, 여러분이 에디터 내에서 라이트매스 라이팅을 빌드할 때 자동으로 시작합니다. 이 방식으로 에디터가 에이전트를 시작한 경우에는, 에이전트는 에디터에 주의를 기울이고 있다가 에디터가 닫히면 스스로를 닫습니다. 그렇지 않으면 에이전트는 언제라도 업무를 처리할 준비를 갖추기 위해 계속 실행 상태로 남아 있습니다.

에이전트가 실행되는 동안 에이전트 윈도우에서 ‘X’를 클릭하는 것은 오직 이 윈도우를 감출 뿐이라는 것을 명심하십시오(우리는 에이전트가 계속 실행되고 있기 원합니다). 그러나 에이전트 트레이 아이콘은 아직도 사용이 가능하며, 이것을 더블 클릭하면 윈도우가 다시 나타납니다. 에이전트를 수동으로 닫고 싶다면 에이전트 메뉴에서 "File" -> "Exit" 을 선택하거나 트레이 아이콘을 오른 클릭하여 "Exit" 을 선택하면 됩니다. 에이전트가 에디터에서 자동으로 시작된 경우에는 에디터를 종료할 때 에이전트도 스스로 종료한다는 것을 기억하십시오. 염려 마십시오. 만일 에이전트를 수동으로 종료한 다음, 또 라이트매스 라이팅을 빌드할 경우에는 에이전트가 즉시 다시 시작됩니다.

비주얼라이저에 있는 막대들은 무엇을 뜻합니까?

여러분 자신의 머신을 비롯하여, 여러분의 조명을 빌드하고 있는 각 머신에는 상태 및 진도를 나타내는 막대들의 세트가 있습니다. 각 머신은 일제히 집행되는 복수의 스레드를 가질 수 있습니다. 이것은 머신마다 여러 개의 가로 선들로 표시됩니다. 윈도우의 맨 아래에 각 색깔이 무엇을 뜻하는지 알려주는 범례가 제시되어 있으며, 막대 위에 마우스를 가져가면 더 자세한 설명이 나타납니다.

AgentInAction2Decorated.PNG

셋업 및 환경설정

Swarm Agent 설정

CacheFolder
Agent의 로컬 캐시 폴더 위치. 이것은 충분한 가용 공간을 가진 빠른 속도의 디스크에 있어야 합니다.
MaximumCacheSize
캐시 관리 루틴이 보유하고자 하는, 캐시의 최대 디스크 사용량. 기가바이트 단위.
MaximumJobsToKeep
모든 로그, 바이너리 및 출력 파일을 포함하여, 언제라도 유지할 수 있는 최대 업무의 수.
ShowDeveloperMenu
에이전트에서 DeveloperSettings 탭을 유효화 함. 개발자 및QA에게만 권장됩니다.
AvoidLocalExecution
이것을 True 로 설정하면 에이전트가 가능한 한 로컬 집행을 피하고 오직 원격 머신에만 태스크 스케줄을 예정하려고 하게 됩니다. 사용할 수 있는 원격 머신이 없을 경우에는 원격 도움 사용이 가능해질 때까지 로컬로 태스크를 예정합니다.
EnableStandaloneMode
업무를 원격 머신에 분배하는 것을 방지하고 로컬 전용의 집행을 강제합니다.
BringToFront
True 일 경우, 업무가 시작되면 에이전트 윈도우가 전면에 드러나고 Visualizer 탭이 선택됩니다.
TextFont
Log, Visualizer, 그리고 Settings 등 에이전트 윈도우의 탭에 사용되는 텍스트의 폰트.
Verbosity
Log 탭에 기록되는 내용의 상세도의 등급.

Swarm Agent 로깅

에이전트가 하는 모든 일들은 CacheFolder 내의 Logs 폴더에 있는 디스크에 기록되도록 기본 설정되어 있습니다. 모든 업무의 처음과 마지막에 새 로그가 시작되어, 로그의 일부 로컬 분할이 수행되도록 합니다. 에이전트 Log 탭으로의 기본 로깅 등급은 Informative 입니다. 디스크상 파일로의 기본 로깅 등급은 ExtraVerbose 입니다.