디시인사이드 갤러리

최근 방문

NEW

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

멀티스레딩(멀티코어)에 대한 (그나마)간략한 설명.araboja

제라스(209.205) 2020.04.28 17:14:18
조회 4084 추천 42 댓글 27
														

로갤에서 쿨타임마다 돌아오는 주제 중 하나가 드포 멀티스레딩에 대한 부분임


맨날 올라오지만 맨날 반응은 비슷한데 좀 아는 애들은 절대 안된다 고 모르는 애들은 넣어줄 수 있는거 아니냐 로 갈림

장난으로 왜 못넣냐 하는 나같은애들도 있는데 그건 넘어가고


그래서 이김에 한번 왜 적용하기 힘든지에 대해서 글 써보려고 함. 최대한 이해하기 쉽게 쓸꺼나 엄밀히 따지면 틀린부분이 있을수도 있음.

그런거 있으면 아는사람이 댓글에 달아주셈




먼저 기본적인것부터 집고 가자.


보통 게이머들이 멀티스레딩 이라고 부르는건 싱글코어(CPU)만 사용하는게 아니라 멀티코어(CPU)를 사용하는것을 뜻함.

하이퍼스레딩이니 뭐니 그런거 넘기고 1코어 = 1CPU라고 생각하는게 편하니 이 기준으로 설명하겠음.


CPU도 간단하게 집고 넘어가면 대부분 알겠지만 대부분의 연산을 하는, 사람으로 따지면 머리같은 부분임. 그냥 여러 사람이 존재한다고 이해하는게 편할듯

상식적으로 게임을 돌릴 때 머리 하나만 사용하는게 아니라 사람 여려명을 사용하게 되면 빨라지는게 당연하지 않겠음?

그러나 현실은 그렇지 않다 라는 거에서 매번 같은 상황이 발생하는거임


드포 이야기에서 나왔으니 드포를 예시로 들자. 애초에 로갤에서 다루는 다른게임 중 멀티코어가 그나마 필요한 게임은 카타클 정도밖에 없기도 하고




viewimage.php?id=3fb1d92de0&no=24b0d769e1d32ca73ded80fa11d028310c0dd27a92083f8186361ad12ee4c0ca60db8e8e69f243e7e3fec19f4aa100590d578d8b4aaad38121201efe3451ace5


갓-겜으로 거듭날 스팀 드포의 소개 페이지에서 가져온 스샷임


이 스샷에서 보이는것만 따져서 CPU가 어떠한 일들을 해야할까? 대충 나열해보자


개개인의 드워프마다 AI가 돌아가겠고

드워프가 상호작용 하고있는 물체에 대한 계산(나무를 베는데 얼마나의 시간이 걸리는지, 흘렀는지, 나무가 몇개나오는지 등등)

기본적인 환경에 대한 계산(나무 및 곡물이 자랄 시간인지, 물이 어디로 흐를것인지 등)

그래픽을 사용자에게 보여주기 위해 출력하는 일

BGM이나 효과음 등 소리에 대한 부분을 처리하는 일

등등등 사용자가 입력한것에 대한 처리 같은 기본적인 운영체제의 일이나 다른 세력이 뭘 하는지, 지하는 어떤지 같은 것들도 많음


지금은 저 일들을 하나의 CPU가 도맡아서 하고있고 나머지 CPU는 드포를 손도 안대고 있어서 느린거니 다른것도 일하게 하면 된다! 라는거지



viewimage.php?id=3fb1d92de0&no=24b0d769e1d32ca73ded80fa11d028310c0dd27a92083f8186361ad12ee4c0ca60db8e8e69f243e78e92c79b42a00153bb57bc6713518c7ecbe356a57337553bf3


짤 처럼 CPU가 3개가 있다고 가정해보자


드포에 멀티코어를 적용했다고 가정하고
1. 드워프만 다루는 CPU
2. 환경만 다루는 CPU
3. 그래픽 사운드 등을 다루는 CPU 

로 나눴다고 생각해보자


이상적인 부분은 각자 맡은 부분을 알아서 하는게 제일이지. 그럼 성능이 비약적으로 향상될 수 밖에 없음


하지만 드워프가 환경을 다루는 상황이 존재하겠지? 나무를 벌목한다던가 곡물을 수확한다던가

그럼 이제 여기서 버그가 터지게 되는데 나무를 벌목하는 상황을 예로 들어보자


만약 드워프가 나무를 벌목한 타이밍과 나무가 성장하는 타이밍이 겹치게 되면?
사람 한명은 '나 나무 다 벌목했음 ㅇㅇ' 이라고 주장하고 다른 사람 한명은 '나무가 더 성장했음!' 하고 주장을 하는데 누가 맞는걸까?

둘 다 자기가 맞다고 주장하게되고 보통은 그나마 누가 먼저 주장했냐에 따라 결과가 나뉨

1.나무가 잘렸음에도 불구하고 더 자란 나무가 새로 생기거나(먼저 자르고 나무가 성장해서 결국엔 성장한 나무가 남는경우)
2. 운이 좋으면 버그가 안일어날 수도 있겠지(나무가 먼저 성장하고 벌목되서 남아있는 나무가 없는 경우)


3번 CPU는 자기가 판단할 권한이 없으니 그냥 결과적으로만 보고 판단하기만 해서 처리하게 됨.

번외로 3번같은 경우는 다른애들이랑 부딪힐일이 없으니 많은 게임에서 이런 CPU만들어서 조금이라도 빨라지게 만듬)


물론 버그가 안일어나게 하는방법도 있음. 1번 CPU가 벌목을 하게 될 때 2번 CPU에게 메시지를 전달하면 됨

'나 벌목 시작할테니 나무 상태 건드리지 마. 다 끝나면 이야기 할테니 그때 나무가 벌목된 상태로 업데이트 하면 됨 ㅇㅇ'

이라고 하면 문제가 생기지 않겠지. 근데 메시지를 전달하는거 자체가 시간이 많이 소모되는 부분임(일 처리하는거에 비해 수백~수천배까지 시간이 듬)

이러한 메시지 전달이 매우 자주 일어나게 된다면 혼자 일할때보다 여러명이 일할 때 더 시간이 많이 필요하게 됨



다른 예시로 1번 CPU는 1,2,3번 드워프를 담당하고 2번 CPU는 4,5,6번 드워프를 담당하면 어떻게 될까?


그렇게되면 각각의 드워프가 길을 갈 때 경로가 겹치는지, 겹치지 않는지 계산하게 될 경우

1,2,3번 끼리는 경로가 안겹치게 하기가 쉬움. 왜냐? 같은 CPU에서 이루어지는 작업은 데이터를 공유하기 때문에 문제가 없음

하지만 1번 CPU는 4,5,6번 드워프가 현재 어디에 있는지, 뭐하고 있는지, 어딜 가려고 하고있는지 등등 데이터가 없음

불편해보이지만 컴퓨터 구조 상 어쩔 수 없으닌 불만있으면 죽은 폰노이만 깨워서 이따구로 디자인 했는지 물어봐야함.


이렇게되면 또 2번 CPU한테 물어봐야 하는데 드워프끼리는 계속 상호작용이 일어날것이니 계속 물어봐야함. 그러면 싱글코어보다 더 느려지는거임


마지막으로 가끔은 이런일도 있음.
1번 CPU가 어떠한 일 하다가 잠시 딴생각한 사이에 2번 CPU가 일이 진행되고 있지 않으니 자기가 그 일을 가져와서 처리하는 경우

이건 드포까지 갈 일도 없이 현실세계에서의 간단한 예를 들어보자


철수와 영희가 있고 인스턴트 커피를 타야하는 상황이라고 가정하면

철수가 커피를 까서 컵에 붓고 잠시 다른일을 하는 상황임. 그럼 영희가 볼땐 커피가 만들어지고 있지 않으니 자기가 커피를 타겠다고 커피타는일을 뺏는거임

그러면 영희는 지금 커피타는 일이 어느단계까지 진행되었는지 파악을 해야하고 커피를 넘겨받아야 하고 심지어 일 시작한지 얼마 안되서 가끔씩 해멤.

그럼 철수 혼자 커피타는것보다 시간이 더 오래 걸리겠지.



이렇듯이 멀티코어 프로그래밍은 만능 현자의돌이 아니라 잘못 사용하면 문제가 더 생겨버리는 원자력 같은 놈임.

제작자가 모든 상황을 예측할 순 없으니 버그가 생길 확률은 미친듯이 올라가고 잘못 사용한 순간 성능이 올라가는게 아니라 떨어질정도가 됨

추가로 게임만 문제가 아니라 OS(윈도우)가 멀티코어를 어떻게 운영하는지도 알아야하니 괜히 전문인력 데려와야한다고 하는게 아님.


그리고 멀티코어로 계획된 프로그램이 아니라 싱글코어로 계획된 프로그램을 멀티코어로 바꾸는건 새로 만드는것보다 몇배의 노력이 더 들어감

이런저런 이유들로 인해서 드포 제작자는 멀티코어를 조지는것보다 싱글코어를 효율적으로 조지는게 낫다고 생각한거겠지. 맞는 판단 이기도 하고



여기까지가 왜 사람들이 멀티스레딩(멀티코어)를 지원 하도록 안(못)하는 이유를 간략하게 써봤음.

하지만 모든 고난과 역경을 뚫고 스팀드포가 멀티코어를 지원할 수도 있으니 오늘부터 스팀드포 멀티코어 지원 기원 1일차다.



잘못된부분, 이상한부분 지적 받고 이해 안가는건 댓글 다셈. 나 안자면 대답해드림

추천 비추천

42

고정닉 8

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 여행 같이 다니면 고난이 예상되는 스타는? 운영자 25/04/28 - -
AD 작혼X페스나 헤븐즈필 콜라보 개시! 운영자 25/04/22 - -
공지 로그라이크 갤러리 이용 안내 [56] 운영자 16.04.08 89176 24
494955 지구랏 공략 남아있는거 있나? [1] ㅇㅇ갤로그로 이동합니다. 04.27 41 0
494953 ㄷㅈ) 요즘 돌죽 난이도 왤캐 높아짐? [5] 로갤러(121.149) 04.27 122 0
494951 ㄷㅈ) 뉴비 처음으로 조트의 룬 주움!!! [5] DD(133.203) 04.27 76 4
494950 ㅇㄹ)엘린 세이브파일 중 날짜수정 할려면 어떻게 해야하남? [2] 로갤러(61.97) 04.27 73 0
494949 ㄷㅈ 뉴비 이거 어떻게 줍는거냐 [7] DD(133.203) 04.27 100 1
494948 ㅋㄷㅋBN) 의사가 주는 퀘스트 원래 이런거임? [1] 로갤러(124.61) 04.27 60 0
494947 와로갤오랜만에욋더니탈리스만신기한거많아졋네 [4] 문어(117.111) 04.27 81 0
494946 ㄷㅈ) 뉴비 챗지피티랑 상담하면서 도전하는중 [11] DD(133.203) 04.27 98 0
494945 ㅌㅈ 밀리 많이하면 확실히 실력은 많이 느는 듯 [1] ㅇㅇ(220.90) 04.27 54 0
494943 ㄷㅈ) forgewright 최고기록 갱신됐네 [2] 로갤러(61.74) 04.27 98 1
494942 평타에 속성 부여 화염 연금 5렙 2중 마법 좋냐??? 로갤러(168.131) 04.27 40 0
494941 ㄷㅈ)놀아쉔 뉴비 결국 우샤브티한테 사망함... [5] ㅇㅇ갤로그로 이동합니다. 04.27 89 0
494938 ㄷㅈ) 야채우지안 + 렌딩조합 진짜 재밌네 [7] 로갤러(59.25) 04.27 112 1
494937 돌죽 지구랏 27층 완주 성공했는데 갑자기 급현타옴 [4] ㅁㄴㅇㄹ(211.226) 04.27 87 1
494936 ㄷㅈ)이새기 뭐임 [7] R-갤로그로 이동합니다. 04.27 96 0
494935 [ㄷㅈ] 하 시바 이거뭐냐 캐릭이 갑자기 찢어졌는데; [11] 성교머신갤로그로 이동합니다. 04.27 166 0
494934 ㅇㄹ)엘레멘탈스태프 어캐얻음? [3] ㅇㅇ(218.145) 04.27 103 0
494932 ㄷㅈ] 이건 그냥 열면 뒤진다는거지? [12] 성교머신갤로그로 이동합니다. 04.27 160 0
494931 ㄷㅈ)데몬스폰도 라브리스 안 쓰면 손해임? [4] 로갤러(58.77) 04.27 71 0
494929 ㅌㅈ 템포럴워든 에테폼 재앙 머갈가? [1] ㅇㅇ(220.90) 04.27 47 0
494928 ㄷㅈ)뉴비 첫클각 보이는거같은데 좀 도와줘 [5] ㅇㅇ갤로그로 이동합니다. 04.27 106 0
494926 ㅇㄹ) 커뮤글 볼때마다 이게 내가 하는겜이랑 같은겜인가 싶어지네 [5] 레후딥의수정창갤로그로 이동합니다. 04.27 194 0
494925 이겜 하는사람은없나 [2] ㅇㅇ갤로그로 이동합니다. 04.27 154 0
494924 ㅋㅌㅋ) 바퀴허브 어캐 고침? [1] ㅇㅇ갤로그로 이동합니다. 04.27 57 0
494923 ㅇㄹ)에헤카틀 생선 출하가격 증가 말그대로네 [4] 익스비갤로그로 이동합니다. 04.27 126 0
494922 무너 쉐싶 기준으로 아쿠아 루핀 하이브 다 별로네 [2] ㅇㅇ갤로그로 이동합니다. 04.27 54 0
494921 형들 타천사는 왜 동료 자꾸 때려? [4] 로갤러(180.69) 04.27 94 0
494918 엘린) 생선 토막 시스템 재밌네 [8] ㅇㅇ(106.101) 04.27 151 1
494917 돌죽 드라코 kim dragon으로 변하게 해줄때 됐다 ㅇㅇ(14.58) 04.27 75 0
494916 엘린) 복귀했더니 쥬아 신상이 상향먹었네 [1] ㅇㅇ(106.101) 04.27 122 1
494914 ㅇㄹ)물고기 등급 적용된 뉴슈퍼푸드 레시피 있냐 [5] Lasshole갤로그로 이동합니다. 04.27 97 1
494913 coq) 스포일지도 모르는데 황당하네 [2] 로갤러(211.184) 04.27 81 0
494912 ㅋㅌㅋ에서 좋아하는 아르카나 템 머방이갤로그로 이동합니다. 04.27 56 2
494909 ㄷㅈ) 내 기록 중 최단기록 나올뻔했는데 안일사했네 [11] 로갤러(106.71) 04.27 121 0
494908 ㅋㅌㅋ 개인적으로 좋다 생각하는 유틸들 [3] 머방이갤로그로 이동합니다. 04.27 110 0
494907 ㅋㅌㅋ 마법 간단 후기 [10] 머방이갤로그로 이동합니다. 04.27 155 0
494906 [공포] 2층 [2] 성교머신갤로그로 이동합니다. 04.27 121 0
494905 ㅋㅌㅋ 좀비 소환 해보니까 미묘하네 ㅇㅇ(58.237) 04.27 52 0
494904 ㅌㅈ) 엔딩 본 캐릭 무한의 던전 갔다가 전사하셨다.. [4] Tree_Leaf갤로그로 이동합니다. 04.27 112 0
494903 ㄷㅈ)미노전사 랜덤신단에 기도했다가 우스카요 됐는디 [4] ㅇㅇ갤로그로 이동합니다. 04.27 119 0
494902 선리스 시 한패 이거 dlc없이 본판으로만 하면 버그걸림? 로갤러(218.52) 04.27 34 0
494901 ㅌㅈ) 드워프 기사로 보통 엔딩 봤다 [24] Tree_Leaf갤로그로 이동합니다. 04.27 165 0
494900 무너 쉐싶 0.30 파워 나오는 듯?? 로갤러(180.229) 04.27 81 0
494899 이 짤 볼때마다 웃기네 [4] ㅇㅇ갤로그로 이동합니다. 04.27 189 2
494898 복커인데 감자넷왜뒤졌냐 [2] 로갤러(112.146) 04.27 133 1
494897 ㅇㄹ)생각해보니 유적털이 행운 30이 엄청 크구만 [2] 로갤러(218.237) 04.26 165 0
494896 ㄷㅈ) 아 또 죽었네 ㅋㅋㅋ 잘 컸었는데 아쉽다 [4] DD(133.203) 04.26 170 1
494895 신앙2개 가능한 샴쌍둥이 종족 생기면 재밌겠네 [6] ㅇㅇ(211.234) 04.26 137 0
494894 ㅇㄹ) 마우스 올리면 가이드에 직업까지 보여주는 모드가 있었음? [2] ㅇㅇ(211.210) 04.26 104 0
뉴스 한가인, 결혼 20년만에 ‘파격’ 헤어스타일…♥연정훈엔 “남자답지 못해” 디시트렌드 04.27
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2