윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT

AMD 불도저 코어의 FPU는 FgMT로 작동

- 인터넷에서 불도저 코어의 FPU는 FgMT로 작동된다는 글을 봤다.

- 스레드 처리 기법 중 하나가 FgMT(Fine-grained multithreading)다. 가장 좋은 기법은 SMT(Simultaneous multithreading)나 SpMT 인데, 이걸 사용하지 않은게 좀 아쉽다.

- 불도저는 1개의 모듈에 2개의 정수 연산 유닛과 1개의 부동소수점유닛(FPU)이 있다. 정수연산 도중 부동소수점 연산 명령이 들어오면 부동소수점 유닛을 사용해 연산해야 하는데, FgMT를 사용한 경우 (특별한 스케줄링을 하지 않으면) 단일 스레드의 부동소수점 연산능력이 반으로 줄어든다.

- FgMT는 FPU를 하나의 정수연산유닛에서 2번 연속 점유할 수 없다는 의미. 1번정수유닛이 FPU를 점유하고 부동소수점연산을 하다가 일정시간이 지나면 2번 정수유닛에 FPU를 넘겨야 한다. 2번 정수유닛이 FP연산을 하던지 말던지 상관 없다. 무조건 점유권을 넘기고 만약 2번유닛이 사용하지 않는다면 FPU는 유휴상태가 된다. 싱글 스레드에서는 비효율적인 셈이다.

- 이 현상을 해결하기 CPU가 FgMT를 사용한 경우 스케줄러를 바꾼다. 쉽게 말해 단일 스레드만 부동산유닛을 사용하는 경우에는, 컨텍스트 스위치와 동시에 사용하는 정수유닛을 바꾸면 된다. 배럴 프로세싱이라고 한다.

※ [부동소수점연산을 하는 프로세스 P1 abcde]과 [정수연산만 하는 프로세스 P2 12345]의 경우, 쓰레드 처리기 T1, T2 가 있는 경우에 대해

         123456789 (시간)
FgMT-T1: a b c d e
FgMT-T2: 12345

SMT-T1:  abcde
SMT-T2:  12345

∴ FgMT를 사용하면 부동소수점 연산시 2배의 시간이 소모된다.

※ FgMT 기술을 사용한 CPU에서 배럴(Barrel) 프로세스 스케줄러를 적용한 경우

FgMT-T1: a2c4e
FgMT-T2: 1b3d5

∴ FgMT를 사용해도 OS의 스케줄러를 조절하면 SMT와 같은 효과를 가진다. FgMT를 사용했기 때문에 싱글스레드에서 SMT보다 성능이 나쁘다는건 결코 아니다.

- 문제는 윈도에서는 아직 이런식의 스케줄러가 구현되지 않았다고 한다. 모듈을 사용한 불도저를 정확히 인식해야 이런식의 스케줄링이 가능하다. 이는 윈도8부터 구현된다라고. AMD에서 괜히 윈도8 얘기가 나온게 아닌듯.

글쓴시간
분류 이야기

전력대란의 징조?

울진원전1호기: 직원실수(밸브 잠그지 않음으로 인한 복수기 고장)
고리원전3호기: 케이블손상

몇일동안 일어난 사고가 꽤 있네요. 이러다가 정말 전력 대란이 올수도 있다고 생각됩니다. 서버 운영하는 사람으로써 그런일은 일어나지 않았으면 하는데요. UPS(Uninterruptible Power Supply, 무정전전원공급장치) 싼거라도 구매해놔야 하려나요. 한 10만원이면 그나마 쓸만한거 살 수 있을듯 한데요. ㄲㄲ

사용자 삽입 이미지

APC Back-UPS BE700-KR. 전원이 차단되면, 100W 전력 소모시 30분정도 버텨준다. 판매가격은 15만원정도.

----

9.15 정전: http://windy.luru.net/1248

글쓴시간
분류 기술,IT

GPU vs CPU

GPU(Graphics Processing Unit, 그래픽 처리 장치)는 VGA용 프로세서입니다만, 요즘엔 벡터 기반의 병렬처리 프로세서를 말합니다. GPU기반 컴퓨팅은 nVidia 가 CUDA(Compute Unified Device Architecture)를 앞세워 주력으로 밀고 있는 분야죠.

사용자 삽입 이미지

nVidia의 GPU vs CPU 발표자료에서 발췌

CPU(Central Processing Unit, 중앙 처리 장치)는 범용 프로세서입니다. 그래픽처리도 가능하지만 그 이외의 것도 할 수 있고, 시스템 전반에 걸처 두루 사용됩니다.

요즘엔 슈퍼 컴퓨터를 설계할 때 GPU와 CPU를 모두 사용하는 추세입니다.

그런데, 요즘엔 GPU와 CPU가 서로의 영역을 넘보고 있네요.

nVidia 는 ARM과의 협력을 통해 GPU기반의 CPU용 명령셋을 만들고 있고, Intel 은 MIC(Many Integrated Core)프로젝트를 통해 GPU 영역인 병렬처리를 지원하려 하고 있습니다. (범용 명령을 수행하는 코어를 많이 넣는게 아니라, 단순한 명령(주로 벡터/행렬 연산)을 수행하는 유닛 수천개를 넣는 거죠)

기반은 다르지만, 결과적으로는 같은게 됩니다. 앞으로 누가 이길지는 모르겠네요. 인텔이 자금력이나 제조기술면에서는 유리해보이지만, nVidia 도 GPU 분야에서는 만만하지 않은 기술과 특허를 가지고 있으니까요. Intel 이 라라비를 포기한 이유가 nVidia 에서 특허 사용 허가를 내주지 않아서니까요.

글쓴시간
분류 시사,사회

한성주 비디오라고 불리는 영상들

언제나 말하지만.

- 이런거 배포하는 자는 법률을 어겼으니 처벌받아야한다.

- 이런거 찍는데 동의하는것도 바보인증이다. 할 수 있다면 다윈상이라도 주고 싶을 정도.

찍는다는건 공개를 전제로 한다는 생각. 물론 퍼블릭 도메인이 공개하는것과 개인적으로 소장하는건 다르지만, 이 세상에 완벽한 보안은 없으니 '본의 아니게 유출' 이라는것도 생각해야 한다. (이번 사건은 고의적인 유출이긴 하지만 말이다) 문제가 될 만한 사진이나 영상은 아까워하지 말고 아예 삭제하고, 아예 찍찌도 않는게 상책이다.

(이 블로그엔 그런 문제될만한 사진은 아예 없다. 찾아보지 말것)

글쓴시간
분류 생활,캐어
수돗물 냄새, 지오스민

겨울철에 취수장 근처에서 녹조가 발생해 수돗물에서 냄새가 난다고 하네요. 저도 맡아봤습니다. 온난화의 영향이라고는 하지만 그렇다고 해도 한겨울에 녹조는 좀 이상하네요. 문제 있는거 아니냐는 생각을 했는데 역시나 기사화되었습니다.

사용자 삽입 이미지

지오스민의 화학적 구조(출처: 위키피디아)


지오스민(Geosmin, C12H22O)이라는 악취성 물질이 이런 냄새를 냅니다. 이 물질은 시아노 박테리아나 액티노박테리아가 만들어냅니다. 이 박테리아들은 녹조를 발생시키죠.

지오스민의 냄새는 마치 하수구 또는 진흙을 맡는 듯한 냄새입니다. 상당한 악취를 풍기죠. 우리나라 수돗물 기준은 20ppt 미만입니디만, 5ppt 를 넘으면 사람이 냄새를 맡을 수 있다고 합니다. 사람이 이 냄새를 맡는 능력이 다른 동물보다 (심지어 개보다 더) 발달해 있어서 물을 찾기 쉬웠다고 합니다. 만약 많이 복용하면 복통을 일으킬 수 있습니다. 하지만 그 외에는 크게 해는 없는듯 하네요.

물론 흙냄새를 내면 전부 지오스민 냄새라는건 아닙니다. 파툴린(Patulin, 썩은 사과에 피는 곰팡이가 내는 독소물질)이라는 물질도 비슷한 냄새를 가지고 있습니다.

전 물에서 떫은 맛이 나거나, 흙냄새가 나면 아주 목마른 상태가 아니라면, 안마시는게 좋다고 생각합니다. 회사서도 생수 사마시고 있네요.
글쓴시간
분류 기술,IT

웹에서의 사용자 인증

OpenID, oAuth 에 이어 BrowserID 가 나온다네요. 웹 브라우저에 ID를 심는다는 겁니다. 파이어폭스를 만든 모질라에서 주도하고 있습니다. 브라우저ID는 이메일 주소 기반입니다.

사용자 삽입 이미지

브라우저아이디 로고

oAuth 는 인증 규약이라기 보다는 서비스 연동 규약입니다만, 어쨌든 '인증'하긴 하죠.

최근에 이런 사용자 인증 수단이 많이 생겨나네요. 사용자는 서로다른 웹 서비스를 사용하기 위해 여러개의 아이디를 가지고 있게 되는데, 이걸 통합하려는 움직임입니다. 저도 여러가지 아이디를 관리하려니 힘드네요. 각 사이트마다 아이디 생성규칙도 다르고, 패스워드 입력 규칙도 다르니까요. 그리 중요하지 않은 서비스(금융서비스를 제외한 서비스들)에 긴 패스워드를 사용하고 싶지는 않으니까요.

앞으로도 더 많은 인증 수단이 생길겁니다. 브라우저아이디도 기술 사양 보면 기존보다는 좋지만 그다지 편리해보이지는 않네요.

----

https://browserid.org/

이 컨텐츠를 보기 위해 올바른 패스워드를 입력해주십시오.

글쓴시간
분류 기술,IT

AMD FX 4100

신나게 까이는 CPU 중 하나. 우리나라 가격으로 12.7만원. 이 가격은 Core i3 2100 12.5 만원과 비슷하다. 단, 마더보드는 AMD가 가격 대비 기능이 훨~씬 좋다. 이 때문에 필자는 AMD 포기하기 힘들다.

                 AMD FX 4100  Intel Core i3 2100
모듈/코어수                2                   2
스레드수                   4                   4
공정                    32nm                32nm
인스트럭션    SSE4.2,AVX,AES          SSE4.2,AVX
기본클럭              3.6GHz              3.1GHz
터보클럭              3.7GHz                   X
최대클럭              3.8GHz                   X
메모리             DDR3-1866           DDR3-1333
최대메모리용량          32GB                32GB
L1 Data 레이턴시?          4                   4
L2캐시               2 x 2MB           2 x 256KB
L2캐시 레이턴시?          27                  10
L3캐시                   8MB                 3MB
L3캐시 레이턴시?          86                  26
TDP                      95W                 65W
------------------------------------------------
가격                  12.7만              12.5만

(레이턴시 정보는 정확하지 않을 수 있지만, 인텔의 L2, L3캐시 레이턴시가 AMD에 비해 현저히 낮다는 점은 확실하다. 레이턴시는 낮을수록 좋다 )

- FX-4100 은 CLMUL, AVX, XOP, FMA4, CVT16 명령셋도 지원한다.

- FX-4100 의 장점은 새로운 명령셋을 지원한다는 것과 8MB에 달하는 L3 캐시인데, 이걸 제대로 지원해주는 소프트웨어가 아직 없다는 단점이 있다. 윈도 8을 기다리는 중이다.

- 솔직히 말해 이렇게 까일 CPU가 아니라는 점을 말하고 싶다. L3 캐시가 8MB면 TDP 95W 가 나올 수 있기 때문이다.

- FX-4100의 문제는, 필자의 생각으로는 L2, L3 캐시의 레이턴시가 너무 높다는 점이다. 이게 성능을 다 갉아먹고 있는 셈이다. 암드에서도 이 사실을 알고 있을듯. 레이턴시가 인텔 수준이었다면 성능은 넘사벽이었을텐데 말이다. 쉽게 말하면 최적화가 덜 되어있다는 셈.

- 4100 CPU를 제대로 사용하려면 MS의 2645594, 2646060 패치를 적용해야 한다. (윈도 7용)

글쓴시간
분류 기술,IT

UnBuffered, Registered 메모리

DRAM과 같은 메모리의 특성상 데이터가 전달될때 순차적으로 전달되지 않는다. 이 시간이 매우 짧기 때문에 순차적으로 지연 없이 전달되는것 처럼 보일뿐이다. 메모리에는 CAS 레이턴시라는게 존재하기 때문에 지연이 있다.

이런 지연은 성능상의 문제도 있지만, 많은 메모리 모듈을 사용한 경우 각 모듈간의 동작에도 영향을 미치며, 메모리 모듈이 많아질 수록 지연으로 인한 타이밍 문제를 메모리 컨트롤러에서 제어하기 힘들어진다. 따라서 메모리 모듈에 일종의 버퍼를 두어 해결한다. 버퍼를 둔 메모리 모듈을  Registered 메모리 모듈(R-DIMM)이라고 부른다. 잘 안 쓰이지만 'Buffered 메모리'라고도 부른다. Buffered에 필요한 기법 중 하나가 Registered 이고, 이건 거의 산업 표준기술이다. 그렇지 않은 메모리 모듈은 UnBuffered 메모리 모듈(U-DIMM)라고 불린다. Register 외에 AMB(Advanced Memory Buffer, FB-DIMM 에서 사용되는 기술)방식도 있긴 하지만 어쨌든 이건 Buffered 메모리다.

버퍼를 가진 메모리 모듈과 그렇지 않은 메모리 모듈은 서로 호환되지 않는다. (전기적 신호가 다르다) 따라서 메모리를 구매할 때에는 주의해야 한다. (참고로 ECC 메모리와 Non-ECC 메모리는 호환되는 경우가 있다)

보통 서버급은 Registered-ECC 메모리를 사용하고, 데스크탑급은 UnBuffered-NonECC 메모리를 사용한다. 워크스테이션 급을 겨냥해서 UnBuffered-ECC 메모리도 있긴 한데, 잘 사용하진 않는다. 그런데 최근에 UnBuffered-ECC 메모리가 소량 풀렸다. 하나 사볼까 하지만 가격이 너무 비싸기 때문에 현재로써는 포기하고 있지만 메모리가 많아지면 많아질수록 ECC 여부도 무시할 수 없는 속성이기 때문에 계속 주시하고는 있다.

----

ECC vs Non-ECC: http://windy.luru.net/846
ECC 메모리 출시: http://windy.luru.net/1300