SMT는 되는 칩에서나 하는 것
처음 스레드 프로그래밍을 했을 때를 기억한다. 첫 인상은 신기했고, 다음으로 정말 다른 코어나 HT(하이퍼 스레드)에서 도는 게 맞나 궁금했고, 마지막으로 성능 개선이 이뤄졌는지 알고 싶었다.
컴퓨터공학이 아니라 프로그래밍 코딩 레벨에서 작은 데이터로 쪼개서 처리하면 최소한 인텔에서도 인텔이 설명하는 어떤 효과를 보긴 봤다.
하지만 빅데이터를 다루게 되면서 나는 HT가 도움되는 모양새로 도는 꼴을 거의 보지 못했다.
몇가지 의심되는 부분은 첫째로 작은 캐쉬들이었고, 둘째로 각 코어당 명령처리 단계가 알려진것과 다르게 링을 중심으로 반토막 나 있는 게 아닌가 하는 의심도 좀 생겼다.
물론 마이크로 프로세서와 제온같은 빅칩이 같지는 않다는 건 알고 있다.
하지만. 요컨데 IBM의 파워가 SMT의 정석이고, 이 수준일 때, 쓰레드 프로그램을 온전히 구현할 수 있다 가정하여 인텔에 대입해보면 아무래도 이런 프로세서로 SMT가 온전히 될 성 보이지 않았다.
무엇보다 2010년, 맥북을 사고 메모리 관련하여 파 내려가다 나는 이미 그 즈음 하트블리드 문제를 인식했었다. 그게 2011년 경이었다. 단지, 그걸 해킹-크래킹 레벨에서 어떻게 쓸 수 있을지 몰랐을 뿐이고 난 반대로 그걸 토대로 인텔 시스템하에서의 명령어 처리와 CPU, RAM 각각의 메모리 관리에 대해 파고 들었던 것이다.
그 결과 지금은 외부저장장치는 최종본 보관용도 외에 쓰지 않는 저장소로 취급하는 코딩을 하고 있다. 램에 매달리는 것도 그런 이유다. 이러니, 새로운 문제가 생기는데 이건 오늘 쓸 잡담은 아니다.
다만, 인텔이 계속 죽어라고 HT를 계선하고 앞으로도 개선할 것이고, 더 나은 HT를 제공하기 위해 프로시져와 스레드 메니저 같은 걸 만들어 내겠지만. 이 구닥다리 칩. P8600과 i5가 크게 다르지도 않을 뿐더러, 앞으로도 달라지기 어려울 이 아키텍쳐에선 죽어라 해 봤자 안 될거다.
슈퍼컴퓨터에서 AMD가 쓰이는 이유는 모르겠지만, 뭐 하나 좋은 점이 있긴 하겠으나 AMD64도 X86_64도 진저리가 난다.
그런 점에서 난 ARM이나 새로운 RISC프로세서에 희망을 걸어보고 싶다. 더 크고 빠른 메모리와 함께 말이다.