playXP

서브 메뉴

Page. 1 / 5878 [내 메뉴에 추가]
글쓰기
작성자 히카
작성일 2013-09-15 11:50:21 KST 조회 261
제목
재미없는 프로그래밍 이야기



http://minjang.egloos.com/1665441



팬티엄 4 CPU의 3.8Ghz를 기점으로 그 이상의 클럭은 나오지 않고 있습니다

그 이상의 클럭을 가정하면 발열량이 감당할 수 없는 수준이 되기 때문인데, 컴퓨터 제조사들은 결국 멀티코어라는 개념을 만들어내지요.


하지만 하드웨어적 발전은 소프트웨어적 발전에 선행하기 때문에 사용에서 여러 문제가 발생하는데

프로그램 자체가 멀티코어에 적합하지 않은 양식을 가지고 있을 경우 하나의 코어밖에 쓰지 않는단거에요

최근에는 멀티코어를 지원하는 프로그램들이 많아졌지만 몇년전만 해도 2.0Ghz의 듀얼코어보다는 3.8Ghz의 싱글코어가 훨씬 성능이 좋게 뽑힌다고 싱글코어 우세론이 만연했었죠. 이런 문제는 특히 게임에서 두드러졌습니다. 특히 많은 CPU작업을 요구하는 심시티4 러시아워도 3Ghz싱글코어가 1.8Ghz쿼드보다 게임을 더 잘돌립니다.


최근에는 프로그래밍 입문서적에도 멀티쓰레딩의 개념을 찾아볼 수 있습니다. 쓰레드는 각 코어에 할당할 수 있도록 작업을 분할해놓은 단위로 보면 됩니다. 그러나 단순히 '작업을 나눠 놓으면' 작업이 더 빠른 속도로 이뤄지는게 아니라는 이야기가 이 포스트에서 다루는 내용입니다.


두 가지 이상의 작업이 한 자료를 참조하면 데이터베이스의 일관성을 유지하기 위해서 한 작업만이 데이터에 접근할 수 있습니다. 만약 두 쓰레드를 두 ATM으로 가정하고, 사람 두명이서 동시에 입/출금을 한다고 해보죠. 이때 DB에 접근제한을 해주지 않으면 이 두가지가 동시에 일어납니다.


<1번 ATM>

DB에 100만원 -> 10만원 인출함 -> DB 이제 넌 90만원임

<2번 ATM>

DB에 100만원 -> 20만원 입금함 -> DB 이제 넌 120만원임


그럼 DB에는 90만원이 적힐까요 120만원이 적힐까요? 이런 문제가 해결되기 위해서는 애초에 'DB에 얼마인지'를 알아낼때 접근 제한이 이뤄져야 한다는 이야기입니다. 1번ATM이 100만원을 읽어내는 순간 2번은 1번이 끝날때까지 뒤에서 대기하고 있어야 된다는 이야깁니다


하지만 이런 접근 제한이 다중 쓰레드의 작업의 성능 저하에 심각한 영향을 끼친다는겁니다. 자전거에서 페달을 꾸준히 밟듯이 루프를 도는 쓰레드 둘이서 같은 DB를 참조하면 당연히 대기시간이 길어질수밖에 없다는거죠. 간단하게 비유를 하면 "종이 자르는 일을 두 명이서 하는데, 가위가 하나밖에 없는 상황" 인겁니다.


즉 이러한 쓰레드의 의미는 '무조건 많은 인원이 빠르게 일을 할 수 있다'는 이야기가 아니라는 겁니다. 그리고 제가 이런 글을 왜 썼냐면... 그걸 모르겠네 헤헷

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 CvTale (2013-09-15 12:31:55 KST)
0↑ ↓0
센스 이미지
좋은이야기다
변이히드라 (2013-09-15 12:53:06 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
정리하자면 머리가 좋은 정도는 3.8Ghz로 제한되어 있고, 이것을 뛰어넘기 위해 멀티코어를 도입했고, 멀티코어라도 싱글코어가 더 빠르거나 효율적인 경우도 있다.(배치파일처럼 일괄처리같은 그런거?) 그 이야기인가요?
히카 (2013-09-15 14:32:08 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
머리가 좋은 정도라기보단 성능과 현실(발열)의 타협점이죠. 오버클럭이라는게 "야 발열은 내가 알아서 할테니까 클럭 올리셈" 이거든요. 막 액체질소 부으면서 오버하는게 발열을 없에서 성능향상을 도모하는겁니다.

그저나 어찌되었던 싱글코어가 효율적인 경우가 있는데, 과거에는 '멀티코어에 대응하는 프로그램이 없어서' 효율적인 경우가 대부분이었습니다. 그리고 현재에는 '멀티코어처럼 디자인했는데 가위 하나로 두명이서 쓰는 개념무 프로그래밍이라서' 가 그 이유의 대부분을 차지하고 있다는 이야기지요
로코코 (2013-09-15 14:52:10 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
멀티코어가 무조건 더 우세한 건줄만 알고 있었는데 ㅁㄴㅇㄹ
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.