기탑재 개념의 변화

Featured image

Covid19 덕택에 집에 반강제로 갇히게 된 이후로 하루의 대부분을 컴퓨터와 보낸다. 물론 이전에도 하루의 대부분의 시간을 컴퓨터와 보내왔지만, 더 많은 시간을 컴퓨터와 같이 보내고 있다. 사실 스마트폰이며 티비며 컴퓨터가 없는 곳은 없으니까 눈떠서 잠들 때까지 컴퓨터와 같이 보내고 있는 시절이긴 하다만.

지금 ‘컴퓨터와 시간을 보낸다’는 말은 ‘옛날 방식의 콘솔 작업을 하고 있다’는 것이 더 맞을 듯하다. 그러면 ‘요즘 방식의 콘솔작업은 뭔가?’하는 질문이 떠오르게 되는데, 아직은 음성인식이라든가 뇌와의 직접 통신은 아직 어려운 시절이니까 컴퓨터에게 나의 정신 세계의 흐름을 알릴 수 있는 방법은 오직 ‘옛날 방식의 콘솔작업’, 즉, 디스플레이를 바라보며 키보드를 두들기는 방법 밖엔 없는 것 아닐까? 아직 키보드를 두들겨서 생각을 기록/전달하는 방법보다 더 빠른 방법은 없는 것 같다는 나의 결론이다. 스마트폰이나 태블릿의 터치 스크린으로 전달하는 방법은 아무리 숙달했다고 하더라도 키보드만큼 빠르지 못하니까.

집에 갇히게 되기 몇달 전에 우연히 AMD의 threadripper가 200불대로 떨어졌다는 기사를 보고, ‘아 재미삼아 이걸로 홈 PC를 만들어볼까?’하는 생각을 해봤다. AMD가 그 동안 이미지가 안좋았다가 뭔가 달라지고 있구나 처음 느끼던 시점이었다. 때마침 주변 동료가 AMD CPU로 PC를 새로 바꿨다는 이야기도 듣고 해서 충동적으로 나도 PC를 바꿔야겠단 생각을 했다.

그때까지 쓰고 있던 PC는 노트북용 CPU가 박힌 소형 베어본 PC였다. 사실 그 PC를 구입할 시점엔 내 주변에서 데스크탑을 쓰는 사람들이 거의 없었고, 대부분 랩탑을 선호했다. PC 성능이 워낙 좋아져서 이제 더이상 덩치크고 시끄러운 조립 데스크탑을 써야 할 이유가 없어졌다고 하는 게 맞을 것 같다. 뭐랄까 시대에 뒤쳐지는 그런 느낌? 그런데 시대가 또 바뀌어서인가 랩탑이나 소형 베어본에서는 기대하기 어려운 수준의 컴퓨팅 파워를 요구하는 응용프로그램들이 많이 늘어났다. 매 장면을 새롭게 3D 랜더링을 하는 게임들이 아주 보편화되었고 한 OS 위에서 다른 OS의 응용프로그램들을 돌려야 되는 일도 많아졌다. 물론 이것 저것 다 포기하면 (욕심을 버리면) OS 하나만으로도 차고 넘치고, 빠른 걸 요구하지 않으면 랩탑으로도 대부분 해결된다고 볼 수도 있지만.

막상 PC를 바꾸려고보니 CPU 성능이 너무 좋아진 반면 가격은 엄청나게 내려가서 예상했던 지출의 절반으로도 충분히 좋은 PC를 조립할 수 있었다. 그러니까 실패해서 맘에 안드는 결과가 나왔더라도 그냥 다 털어버려도 신경쓰이지 않을 수준이었으니까 AMD CPU로 덤벼볼 수 있었다. 지금은 충분히 잘한 결정이다라고 생각하지만.

바꾸고 나서 느낀 점은 이거다. PC 성능이 좋지 못하면 이것 저것 해보고 싶은 욕구가 생기지 않는다. 그래서 그 안에 갇히게 된다. 다시 말해서 PC가 벅벅거리는 꼴을 보기 싫으니 더 이상 뭔가를 해보려고 하게 되지 않는다는 것이다. 느려터져도 상관없이 거기에 매달려서 뭔가 나오기를 기대하고 있는 사람들도 종종 보긴하지만, 나는 그런 것은 도저히 보지 못한다. 그러니까 뭔가 새로운 것이 있다라는 이야기를 들어도 PC 성능이 좋지 못하니까 선뜻 시도해보려고 하지 않는 것이다. 이것은 마치 치아 건강이 좋지 못하면 맛이 좋은 음식이 나왔다고 해도 감히 먹어볼 시도를 하지 않는 것과 같다고나 할까? 치아 건강은 싑게 되돌릴 수 없다고 하더라도 컴퓨터 성능은 약간의 금전을 투여하면 쉽게 얻을 수 있는 세상인데 왜 재미를 포기했을까 하는 깨닫음도 있었다.

사실 일터에서 사용하는 PC도 2020년 현재 성능이 안좋다고는 할 수 없는 i7-8700의 브랜드 완제품 데스크탑 PC다. 이 지역 회사들에서 선호하는 완제품 PC는 대부분 lenovo다 무슨 이유에서인지는 모르지만, HP라든가 다른 메이커도 있지만. 이 PC를 쓰고 나서 느낀 것은 CPU 성능과 소프트웨어 기술이 비약적으로 향상되면서 CPU의 크기라든가 전체의 크기와 상관없이 그 자체의 역할이 무엇이냐에 따라서 서버냐 아니냐가 결정이 되거니와, 같은 CPU안에서 돌고 있는 태스크라고 하더라도 서버와 클라이언트 태스크가 수 없이 많고 등등 예전의 개념들이 다 무용지물되어버린 세상에서 살고 있구나 하는 것을 계속해서 깨닫게 되는 것이다.

무슨 말이냐면, 서버는 반드시 엄청나게 좋은 성능의 CPU를 달고 있어야만 하는 것이고 고성능의 OS를 가지고 있어야 되고, 성능이 떨어지는 CPU에서는 서버 OS를 돌릴 수 없고 등등의 말도 안통하는 옛날 개념들 말이다.

지금은 아무리 성능이 떨어지는 CPU라고 하더라도 돌릴 수 없는 OS도 없고 시간 제한이 따라붙는 고속의 신호처리/그래픽 작업을 빼고는 돌릴 수 없는 응용프로그램이란 게 없다. 또 서버팜에 들어있는 서버들 중에서 도입시에는 최고가였던 물건이라도 3-4년 정도 된 것은 이젠 더 이상 서버라고 불리기 뭐할 만큼의 수준의 성능을 가진 물건으로 전락한다. 예전보다 더더욱이나 ‘Carpe Diem’이 와닿는 시절인 것이다. 인건비가 워낙 높은 세상이다보니까 그런 저성능의 서버도 여전히 서버팜에서 존재하고 서버답지 못한 성능을 보여주고 있는데다가 그 서버위에서 돌고 있는 OS는 안정성의 문제를 이유로 십수년전에 나온 커널 위에서 돌고 있기도 하다.

또 CPU의 가상화 기술 덕택에 어떤 CPU위에서는 어떤 응용프로그램만 돌아간다라는 그런 개념도 다 무의미해졌다. x86위에서 원시시대의 애플 컴퓨터를 애뮬레이션 할 수 있듯이 ARM위에서 x86용 OS를 굴리는 것도 흔한 일이고 같은 CPU안에서 여러 개의 OS를 동시에 굴린다거나 같은 OS라도 다른 종으로 여러 개를 동시에 굴릴 수 있다. 단지 얼마나 빨리해낼 수 있느냐만 문제일 뿐. 내가 CPU를 설계하고 그것을 거의 실시간으로 시뮬레이션하면서 가상환경에서 테스트할 수도 있고, 동시에 돌릴 수 있는 경우의 수는 단지 성능과 테스트할 수 있는 장비의 수에 결정될 뿐. 못할 것/안되는 것(?)이란 것은 없다.

그냥 된다, 못할 게 없지 않을까 하고 생각하는 것과 실제로 돌아가고 있는 것을 눈으로 보는 것은 다르다. 이렇게 이 분야가 빠르게 발전해서 생각으로 머물던 모든 개념들이 하나 둘 씩 실현되고 있는 시절임에도, 이 세상의 다른 구석은 그런 것과 무관하게 돌아가고 있으니까 역시나 세상은 단순한 방법으로 생각해선 이해할 수 없는 곳이다.

계속해서 생각을 늘어놓았는데, 집에 갇혀있는 동안 수도 없이 학습한 그 개념의 변화는 다음과 같이 요약이 될 수 있을 것 같다.