|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1759537 |
25 |
2015-12
1759537
1 백메가
|
|
[필독] 처음 오시는 분을 위한 안내 (737) |
정은준1 |
2014-05 |
5233126 |
0 |
2014-05
5233126
1 정은준1
|
75357 |
멘붕중..CPU 세대차이? 잘못된 설정인지.. (20) |
Rainwalk |
2017-06 |
6427 |
1 |
2017-06
6427
1 Rainwalk
|
75356 |
초음파 측정할수 있는 어플 같은것 있을까요? (2) |
장동건2014 |
2017-06 |
4426 |
0 |
2017-06
4426
1 장동건2014
|
75355 |
컴퓨터 케이스에 있는 쿨링펜이 계속돕니다.. 나도돌겠습니다.. 도와주세요.. (1) |
에이블클래스 |
2017-06 |
3732 |
0 |
2017-06
3732
1 에이블클래스
|
75354 |
윈7 순정이미지 다운로드 가능한곳 있을까요? (18) |
김민철GC |
2017-06 |
8536 |
2 |
2017-06
8536
1 김민철GC
|
75353 |
부팅 가능한 유에스비 를 iso 이미지로 바꾸는 방법 아시는분 리플좀 부탁드립니다. (1) |
승후니도쿄 |
2017-06 |
3439 |
2 |
2017-06
3439
1 승후니도쿄
|
75352 |
SSD 120~128기가 중 가성비 좋은 거 추천 부탁드립니다. (9) |
두cpu |
2017-06 |
4389 |
1 |
2017-06
4389
1 두cpu
|
75351 |
[해결]narrow ilm 이라는 규격은 2011 과 2011 v3 에서 모양이 다른가요? (4) |
Tu7885 |
2017-06 |
3993 |
1 |
2017-06
3993
1 Tu7885
|
75350 |
램인식이 안되는것 같습니다....ㅠㅠ (18) |
고민형티버 |
2017-06 |
8710 |
0 |
2017-06
8710
1 고민형티버
|
75349 |
집 컴을 만들고 싶은데 보드좀 추천좀 1366소켓용 ^^ (9) |
페르세우스 |
2017-06 |
3515 |
0 |
2017-06
3515
1 페르세우스
|
75348 |
디젤차를 구입하는것은 위험(?)할까요? (28) |
NiteFlite9 |
2017-06 |
4778 |
0 |
2017-06
4778
1 NiteFlite9
|
75347 |
화면을 가려 죽겠어요. (2) |
이지포토 |
2017-06 |
3581 |
0 |
2017-06
3581
1 이지포토
|
75346 |
토렌트의 트래픽만 보고 구동 여부를 확인할 수 있나요? (6) |
윌라멧 |
2017-06 |
4335 |
0 |
2017-06
4335
1 윌라멧
|
75345 |
nvidia quadro 제어판에 maximus 구성은 어떤때 쓰는것입니까? (1) |
김진영JK |
2017-06 |
4866 |
0 |
2017-06
4866
1 김진영JK
|
75344 |
tyan 보드 수리회사 추천 부탁합니다... (4) |
다봉이 |
2017-05 |
3582 |
0 |
2017-05
3582
1 다봉이
|
75343 |
캐리어 에어콘 좋나요? (1) |
김건우 |
2017-05 |
4428 |
0 |
2017-05
4428
1 김건우
|
75342 |
VMware VSan 구성하려고 하는데, x86 서버에 HDD 3개, SSD 1개면 가능한가요? (2) |
준호 |
2017-05 |
5365 |
1 |
2017-05
5365
1 준호
|
75341 |
미크로틱 두개의 ap 하나라 합쳐서 사용하는 방법 있나요? (1) |
inquisitive |
2017-05 |
3676 |
0 |
2017-05
3676
1 inquisitive
|
75340 |
회사에서 30명 규모에 NAS 추천 좀 해주세요~ (1) |
하노김상고 |
2017-05 |
3785 |
0 |
2017-05
3785
1 하노김상고
|
75339 |
openVPN 서버를 데탑에 설치하면... (2) |
하셀호프 |
2017-05 |
3611 |
0 |
2017-05
3611
1 하셀호프
|
75338 |
하스웰 쿨러로 어떤게 좋을까요 ? 추천 부탁합니다. (7) |
몬스 |
2017-05 |
4709 |
0 |
2017-05
4709
1 몬스
|
씨피유가 세대가 올라갈수록 씨피유가 지원하는 명령어 셋이 계속 늘어갔고
영상쪽은 H264코덱도 씨피유 안에 하드웨어적으로 넣었다라고 봐야 하기에
클럭이 낮아도 최신세대 씨피유들은 특히나 영상쪽 처리가 무지 빠릅니다..
열마니 나고 전기 마니먹고 메모리 작은 것들은 이제 다 가따버리던지
박물관 컬랙션 해야 합니다..
그래도 코어가 많아서 조금은 인코딩에 더 낳겠지 했는데 완전히 틀린 생각이었네요. HDD가 SSD냐 SATA Raid 냐는 저정도 크기의 동영상이면 크게 상관이 없겠죠?
진정한 CPU 100프로는 컴파일.... 경험상 컴파일시에는 코어 많은 게 장땡이더라구요.
전자제품이 그렇게 시대에 역행하면... 인텔이 잘 나갈리가 없죠...
전기세 무서워 비록 저전력CPU들로만 해보았지만 그냥 내다 팔고, 카비CPU나 하나 더 사서 간촐히 만드는게 더 좋을듯 하네요. 흑흑
싱글보다 못하는 저녀석들은 뭐에 써야 아깝지 않을까요?? 전기도 많이 묵는데...^^
집에서는 X58 , 5590을 사용중에 있습니다만
(바꿀려고 눈치 보는 중)
듀얼 5690으로 16기가 12개 정도 풀뱅 해버리면 아직은 충분히 씁니다..
L5640은 그래도 웨스트미어라서 방어가 어느정도 되는군요. 50%이하 로드율에 1275L V3와 비슷하다면 싱글로도 비슷하다는 이야기인데..
웨스트미어급이면 아직까지는 그래도 쓸만하다? 결론이 나오는군요. 물론 세월은 무시 할 수 없고 10년이면 강산이 바뀌는 세월이라는데..네할렘이 2010년 웨스트미어가 2011년쯤 나온걸로 알고 있는데..하스웰은 2014년이죠?
웨스트미어-하스웰-카비레이크는 아직 쓸만하다. 는 결론..? 카이레이크 7600은 SMT가 없어서 인코딩은 하스웰과 크게 차이는 안날듯 하네요.
저도 서버로 사용하는게 i7-4765 4c8t인데
이전 시스템인 x5650듀얼과 제가 하는 인코딩범위안에선 비슷하더군요
그렇지 않아도....인텔 AMD 가 서로 코어수 전쟁 들어갔으니.....
구형 2CPU 제품과 신형 1CPU 코어수 다수 제품과의 성능차이.....전력차이는 더 커지겠죠...
일단, 멀티스레딩에서 제일 중요한 것은
1. 제대로 결과를 뽑아 내야 한다.
2. 노는 코어를 최소한으로 만들어야 한다.
입니다. 예를 들어 볼께요.
int sum = 0;
int array[4] = { 1, 2, 3, 4 }
for(int i = 0; i < 4; ++i)
{
sum += array[i];
}
위는 단순하게 수열의 합을 구하는 코드입니다. 쉽게 말해서 sum = 1 + 2 + 3 + 4 인 것이지요. 이것을 듀얼 코어 시스템에서는 다음과 같이 최적화할 수 있습니다.
int sum = getsum(array, 2) + getsum (&array[2], 2);
int getsum(int* array, int arraysize)
{
int sum = 0;
for(int i = 0; i < arraysize; ++i)
{
sum += array[i];
}
return sum;
}
getsum 함수는 따로 스레드 코드를 넣지 않았습니다만, 뭐 대충 스레딩 했다고 칩니다 ㅋ; (사실은 스레드 API말고도 두 코어 계산의 결과를 기다리는 코드도 있어야 합니다)
쉽게 말해서 sum = 1 + 2 + 3 + 4 였던 것을 sum = (1 + 2) + (3 + 4)로 바꾸고 (1+2)연산을 코어 하나에, (3+4)를 다른 코어에 할당해서 성능을 높인 것입니다.
위 코드를 보면 싱글스레드에 비해 2스레드로 돌린다고 성능이 두배 올라가지 않는 이유가 보입니다. 마지막 sum계산은 앞의 getsum(array, 2) 스레드와 getsum (&array[2], 2) 스레드가 둘 다 끝나기를 기다려야 하기 때문입니다. 반면 두 getsum() 스레드는 서로간에 간섭 없이 돌릴 수 있지요. 예로 든 코드는 결국 최후의 getsum() + getsum()연산은 동시성을 취할 수 없지만 복잡한 코드의 경우는 이렇게 동시성을 취할 수 없는 (즉 스레딩이 불가능한) 코드를 최소화 하는 것이 스레드 잘 쓰는, 그리고 코어 잘 쓰는 방법입니다. 그리고 CPU사용량 측정 방식은 한 스레드가 다른 스레드의 계산 결과를 기다리고 있어도 스레드가 사용하는 코어 사용량은 100%입니다. 아무 것도 안 하는 주제에 말이지요.
그럼 왜 멀티스레드가 아닌 멀티프로세스는 더 CPU를 잘 사용할 수 있나면, 보통 프로세스는 서로 간섭 없이 독립적으로 돌아가기 때문입니다. 물론 프로세스간 통신을 하는 API가 있긴 합니다만 비용도 비용이고 구현 난이도가 올라가기 때문에 프로세스간 통신을 많이 해야하는 경우는 두 프로세스를 스레드화 해서 돌리는 편이 낫기 때문입니다. 따라서 프로세스로 CPU코어의 사용을 분리하는 건 꽤 용도가 한정되어 있습니다. 보통 컴파일러가 그렇지요. 컴파일링은 obj파일을 만들 때 꽤 독립적으로 돌릴 수 있습니다. 그래서 컴파일이나 렌더링의 경우는 코어 개수에 따라서 수직적으로 성능이 올라갑니다. 그 외의 멀티 스레드 로직은 크든 작든 동시성 문제와 연산 순서 문제를 가지고 있으며, 덤으로 동시성과 연산순서 지정을 위해 사용하는 mutex에 관해서는 데드락과 같은 더 골치 아픈 문제도 가지고 있습니다. 또 그 외에도 CPU로 가면 컨텍스트 스위칭의 효율 문제도 있습니다. 컨텍스트 스위칭은 하나의 코어가 여러 개의 스레드 혹은 프로세스를 처리할때 어쩔수 없이 시분할 방식으로 코어가 여러 개의 프로세스를 돌아가면서 조금씩 처리하는데 이 때 프로세스를 교환하는 것을 말하고 이것이 비용이 꽤 비쌉니다. 그래서 mutex를 사용할 때 내가 쓸 만큼 쓰고 다음 프로세스로 코어 사용권을 넘기느냐, 아니면 차라리 조금 남았으니 내 꺼 다 처리하고 내 프로세스를 종료하는 것이 결과론적으로 더 코어를 잘 사용하는지를 판단해야 하는 것이고, 이것도 케바케이기 때문에 꽤 어려운 결정입니다.
그 외에도 멀티코어 시스템에서는 복잡하고 골치 아픈 이슈가 꽤 있습니다. 이 중 많은 부분은 유저가 걱정할 것 없이 커널이 최적화를 해 주고 그 외의 부분이 프로그래머가 고민해야 하는 부분입니다. 그래서 코어 많은 시스템보다 ipc가 높고 클럭 높은 시스템이 유리한 경우가 더 많다고 생각합니다. 가급적 쉽게 쓰고자 했는데 제가 말하고자 하는 바가 잘 전달될지는 잘 모르겠습니다. 그 점은 미리 죄송하다고 말씀드릴게요. ^^;
언젠가 궁금해서 여쭤보니, 멀티코어 퍼포먼스를 보존하는 프로그래밍은 프로그래머 직함 달고있다고 아무나 할 수 있는게 아니라고 답변들 해주시더라고요.
" 마지막 sum계산은 앞의 getsum(array, 2) 스레드와 getsum (&array[2], 2) 스레드가 둘 다 끝나기를 기다려야 하기 때문입니다."
==> 요 문장으로, 이해가 좀 되었습니다. 이런문제를 프로그래밍에서 해결하기가 그냥보기에는 불가능? 해 보이네요... 로직인데...
프로그래밍은 일자무식이지만, 덕분에 듀얼프로세스에 대해서 좀 더 이해가 되었습니다.
감사합니다.^^
저도 장터에서 x79 rampage 4 formula 와 2680 v2 ES 버전을 구입해 조립했습니다.
그런데 요놈이 win10은 잘되는데 win7은 설치가 안되서 지금 문의게시판에 글 올려 놓았습니다.
저는 포토샵위주로 작업하는데 포토샵도 코어 보다는 클럭빨이 중요하다고 하네요.. 해보고 아니다 싶으면 방출하려 합니다. ^^
마음의 위안이라도(인코딩 속도가 좀 빨라지면...) 삼을까 고민중입니다...ㅡㅡ;
그냥 장남감으로 쓰다 2011소켓으로 갈까 싶기도 한데, 이 장난감이 쓸모가 없어져서...흑