2009년 10월 10일
KGC 2009 (2)
강연날 당일 강연 자료는 여기에서 확인할 수 있습니다.
오신 분들께 다시 한번 감사드립니다. 예비 강연 때 여러 분들이 말씀해 주셔서 이전에 이야기했듯 그림을 좀 더 추가했습니다. 혹 질문이나 궁금한 점들이 있으시면 이메일이나 덧글로 남겨 주십시오. (이메일은 블로그 대문에 있습니다. RSS로 보시는 분들은 죄송하지만 제 블로그 메인 페이지로 이동하시면 보실 수 있습니다)
무겁고 난해한 주제라 짧은 시간에 얼마나 많은 부분들을 전달할 수 있었을까 내심 우려도 됩니다. 이해가 잘 되지 않는 부분들은 스피커의 역량이 주어진 시간에 전달하기에는 아직 부족함이 많기 때문이겠지요. 그래서 Gamasutra에 올라온 강연 내용의 이해에 도움이 될 만한 자료를 소개합니다.
Designing the Framework of a Parallel Game Engine
인텔의 연구원이 정리한 내용으로 게임 엔진에서의 병렬 처리에 대한 내용이고 엔진 아키텍처에 대해서 이야기하고 있습니다. 앞으로 더욱 많은 다양한 병렬 처리 엔진의 모델이 제시되겠지만 여러 자료들 중에서 전체 아키텍처를 조망하면서 디테일하게 설명해 놓은 자료로는 아직까지는 이 자료가 제일 돋보입니다. 게다가 마치 Nebula3를 설명하는 것이 아닌가 하는 착각이 들 정도로 Nebula3의 아키텍쳐와도 흡사한 점이 여럿 있습니다. 관심 있으신 분들은 꼭 한번 자세히 살펴 볼 것을 권해 드립니다. 자료 내용을 잘 이해하신 다음에 강연 내용을 참고로 실제 엔진 코드를 한번 보시면 더욱 좋겠지요.
작년에는 Nebula2의 게임(플레이)프레임워크에 대한 내용이었는데요, 그 강연 중에 이러한 구조는 멀티 코어 환경에도 잘 맞는다는 이야기를 잠깐 언급한 적이 있었는데 올해는 그 부분에 대한 내용을 좀 더 디테일하게 풀었다고 보시면 될 것 같습니다. 바꾸어서 이야기하자면 이전의 게임프레임워크가 다수의 게임 개발을 통해서 훌륭하다는 것이 증명되었기 때문에 이 디자인을 그대로 유지하면서 멀티 코어를 구현하는 것도 하나의 (Nebula3 개발시 아주 중요한!) 목표가 아니었을까 하는 추측을 조심스럽게 해봅니다. 병렬 처리를 위해 패러다임 쉬프팅이 불가피하다지만 가능하다면 이전의 개발에서 이미 검증된 방법이라면 유지하는 것이 좋겠지요. 게다가 사용하는 입장에서도 용이하도록 한다면 금상첨화이겠지요.
그리고, 강연에서는 렌더러 부분에서 게임 렌더러와는 별도로 디버거 렌더러를 만들어서 별도의 쓰레드로 병렬 처리하는 부분에 대해서 설명했는데 이러한 식으로 각 레이어의 병렬 처리 부분에서 새로운 병렬 처리 task로 추가, 확장하는 있는 처리들 중에서 렌더러와 관련된 것들은 이전 포스트에서 이야기했던 내용들을 참고 하시면 도움이 될 것 같습니다.
또 강연에서 이야기하지 못한 내용 중에서 중요한 것으로는 스케쥴러에 대한 것입니다. 더욱 효율적인 병렬 처리를 위한 스케쥴러는 Nebula3에서 앞으로 좀 더 연구해서 보강되어야 할 부분 중에 하나로 보입니다.
KGC 마지막날에 Intel에서 보내는 Visual Adrenaline의 병렬 처리와 관련해서 "Who Moved the Goal Post?"라는 제목의 흥미로운 메일을 받았습니다. 본문 중에 보면 OS와 관련한 내용이 나오는데 하드웨어와 마찬가지로 현재는 OS - 물론 MS 계열을 이야기합니다 - 간에도 쓰레드 처리 API들이 다르다는 것을 알 수 있습니다. 그러니까 멀티 코어를 이용한 병렬 처리 환경에서는 하드웨어, OS를 고려한 Scalability가 게임 엔진과 같은 범용적인 성격을 가진 소프트웨어에는 매우 중요한 요소라는 것도 알 수 있습니다. 이 부분이 암시하는 것이 결국 코어 개수, OS 별 튜닝 능력에 따라 성능의 차가 판이하게 틀릴 수도 있다는 이야기인 점을 감안하면 강연 때 프리젠테이션에서 보여 드린 뭉크의 절규가 결코 과장이 아니라는 점입니다...만 뭐, 이전에도 잘해 왔듯이 이번 변화에도 또 그레이트한 무엇인가가 나오지 않겠습니까. ^^
다시 한번 오신 분들께 감사드립니다. 아울러 훌륭한 행사를 위해서 KGC 준비에 힘써 주신 여러 관계자 여러분께도 감사의 말을 전합니다. 앞으로도 더욱 좋은 행사가 되길 개발자의 한사람으로 기원드립니다.
오신 분들께 다시 한번 감사드립니다. 예비 강연 때 여러 분들이 말씀해 주셔서 이전에 이야기했듯 그림을 좀 더 추가했습니다. 혹 질문이나 궁금한 점들이 있으시면 이메일이나 덧글로 남겨 주십시오. (이메일은 블로그 대문에 있습니다. RSS로 보시는 분들은 죄송하지만 제 블로그 메인 페이지로 이동하시면 보실 수 있습니다)
무겁고 난해한 주제라 짧은 시간에 얼마나 많은 부분들을 전달할 수 있었을까 내심 우려도 됩니다. 이해가 잘 되지 않는 부분들은 스피커의 역량이 주어진 시간에 전달하기에는 아직 부족함이 많기 때문이겠지요. 그래서 Gamasutra에 올라온 강연 내용의 이해에 도움이 될 만한 자료를 소개합니다.
Designing the Framework of a Parallel Game Engine
인텔의 연구원이 정리한 내용으로 게임 엔진에서의 병렬 처리에 대한 내용이고 엔진 아키텍처에 대해서 이야기하고 있습니다. 앞으로 더욱 많은 다양한 병렬 처리 엔진의 모델이 제시되겠지만 여러 자료들 중에서 전체 아키텍처를 조망하면서 디테일하게 설명해 놓은 자료로는 아직까지는 이 자료가 제일 돋보입니다. 게다가 마치 Nebula3를 설명하는 것이 아닌가 하는 착각이 들 정도로 Nebula3의 아키텍쳐와도 흡사한 점이 여럿 있습니다. 관심 있으신 분들은 꼭 한번 자세히 살펴 볼 것을 권해 드립니다. 자료 내용을 잘 이해하신 다음에 강연 내용을 참고로 실제 엔진 코드를 한번 보시면 더욱 좋겠지요.
작년에는 Nebula2의 게임(플레이)프레임워크에 대한 내용이었는데요, 그 강연 중에 이러한 구조는 멀티 코어 환경에도 잘 맞는다는 이야기를 잠깐 언급한 적이 있었는데 올해는 그 부분에 대한 내용을 좀 더 디테일하게 풀었다고 보시면 될 것 같습니다. 바꾸어서 이야기하자면 이전의 게임프레임워크가 다수의 게임 개발을 통해서 훌륭하다는 것이 증명되었기 때문에 이 디자인을 그대로 유지하면서 멀티 코어를 구현하는 것도 하나의 (Nebula3 개발시 아주 중요한!) 목표가 아니었을까 하는 추측을 조심스럽게 해봅니다. 병렬 처리를 위해 패러다임 쉬프팅이 불가피하다지만 가능하다면 이전의 개발에서 이미 검증된 방법이라면 유지하는 것이 좋겠지요. 게다가 사용하는 입장에서도 용이하도록 한다면 금상첨화이겠지요.
그리고, 강연에서는 렌더러 부분에서 게임 렌더러와는 별도로 디버거 렌더러를 만들어서 별도의 쓰레드로 병렬 처리하는 부분에 대해서 설명했는데 이러한 식으로 각 레이어의 병렬 처리 부분에서 새로운 병렬 처리 task로 추가, 확장하는 있는 처리들 중에서 렌더러와 관련된 것들은 이전 포스트에서 이야기했던 내용들을 참고 하시면 도움이 될 것 같습니다.
또 강연에서 이야기하지 못한 내용 중에서 중요한 것으로는 스케쥴러에 대한 것입니다. 더욱 효율적인 병렬 처리를 위한 스케쥴러는 Nebula3에서 앞으로 좀 더 연구해서 보강되어야 할 부분 중에 하나로 보입니다.
KGC 마지막날에 Intel에서 보내는 Visual Adrenaline의 병렬 처리와 관련해서 "Who Moved the Goal Post?"라는 제목의 흥미로운 메일을 받았습니다. 본문 중에 보면 OS와 관련한 내용이 나오는데 하드웨어와 마찬가지로 현재는 OS - 물론 MS 계열을 이야기합니다 - 간에도 쓰레드 처리 API들이 다르다는 것을 알 수 있습니다. 그러니까 멀티 코어를 이용한 병렬 처리 환경에서는 하드웨어, OS를 고려한 Scalability가 게임 엔진과 같은 범용적인 성격을 가진 소프트웨어에는 매우 중요한 요소라는 것도 알 수 있습니다. 이 부분이 암시하는 것이 결국 코어 개수, OS 별 튜닝 능력에 따라 성능의 차가 판이하게 틀릴 수도 있다는 이야기인 점을 감안하면 강연 때 프리젠테이션에서 보여 드린 뭉크의 절규가 결코 과장이 아니라는 점입니다...만 뭐, 이전에도 잘해 왔듯이 이번 변화에도 또 그레이트한 무엇인가가 나오지 않겠습니까. ^^
다시 한번 오신 분들께 감사드립니다. 아울러 훌륭한 행사를 위해서 KGC 준비에 힘써 주신 여러 관계자 여러분께도 감사의 말을 전합니다. 앞으로도 더욱 좋은 행사가 되길 개발자의 한사람으로 기원드립니다.
# by | 2009/10/10 11:36 | Conferences | 트랙백 | 덧글(0)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]