ORIGINAL FICTION
제31화 — 열이 먼저 온다
지난 화 끝부분 다시 보기
Helioxen의 첫 번째 고객은 거창한 연구기관이 아니었다.
구조해석을 대신해주는 작은 엔지니어링 회사였다.
자동차 부품과 산업장비 업체에서 도면을 받아, 하중과 진동을 계산해주는 곳.
직원은 스무 명 남짓.
사장은 대니얼보다 컴퓨터를 덜 믿었고, 계산이 늦어지는 걸 무엇보다 싫어했다.
“사흘 걸립니다.”
그가 말했다.
“뭐가요?”
“큰 모델 하나 돌리면.”
대니얼은 잠깐 말을 잃었다.
“사흘?”
“빠르면 이틀 반.”
대니얼은 작업실 구석의 계산서버를 봤다.
낡았다.
그렇다고 형편없는 장비는 아니었다.
문제는 일의 크기였다.
해석 모델이 복잡해질수록 계산시간이 길어졌다. 회사는 밤에 작업을 걸고, 다음날 아침 결과를 보고, 문제가 있으면 다시 돌렸다.
한 번 수정할 때마다 하루가 사라졌다.
대니얼에게는 익숙한 종류의 낭비였다.
시간이 계산장치 안에서 증발하고 있었다.
“얼마나 줄이면 돈을 내실 겁니까?”
사장이 웃었다.
“하루.”
“하루 안에 끝나면요?”
“지금보다 싸기만 하면.”
“반나절이면?”
“그건 더 좋고.”
“두 시간이면?”
사장이 웃음을 멈췄다.
“젊은 사장들은 다 그런 말 하더군.”
이선이 옆에서 대니얼의 팔을 살짝 잡았다.
더 말하지 말라는 신호였다.
대니얼은 입을 다물었다.
사장은 계산했다.
“우리 입장에서는 두 배 빨라져도 돈 냅니다.”
대니얼이 순간적으로 이해하지 못했다.
두 배.
그게 전부?
2046년의 기준으로는 너무 작은 목표였다.
그는 최소 열 배를 생각하고 있었다.
대니얼이 말했다.
“두 배면 충분합니까?”
“충분한 게 아니라 돈이 된다고.”
사장은 계산실을 가리켰다.
“사흘 걸리는 게 하루 반이면 설계 한 번 더 바꿀 수 있어. 고객한테 답도 빨리 주고.”
대니얼은 고개를 끄덕였다.
고객이 원하는 것은 미래의 슈퍼컴퓨터가 아니었다.
지금보다 하루 반 빠른 결과.
그 정도면 계약이 생겼다.
Helioxen으로 돌아오자 대니얼은 팀을 모았다.
“첫 고객 후보입니다.”
화면에 현재 시스템 사양과 작업량을 띄웠다.
엔지니어들이 질문했다.
“예산은요?”
대니얼이 숫자를 말했다.
표정들이 미묘해졌다.
“적은데요.”
“압니다.”
“원하는 성능은?”
대니얼은 잠시 망설였다.
처음 머릿속에 있던 숫자는 열 배였다.
그는 고객 말을 떠올렸다.
“최소 두 배.”
직원 하나가 바로 말했다.
“그 정도면 해볼 만합니다.”
대니얼의 자존심이 아주 조금 상했다.
너무 쉽게 들렸다.
“상한은요?”
“대표님.”
한 엔지니어가 웃었다.
“또 시작이네요.”
“뭘요?”
“최소라고 해놓고 최대 묻는 거.”
사람들이 웃었다.
대니얼도 결국 웃었다.
“좋습니다. 두 배부터.”
그들은 기존 서버를 그대로 복제하지 않았다.
여러 대의 범용 서버를 묶고, 작업을 나눠 보내는 소프트웨어를 개선했다.
대니얼이 가장 관심을 가진 건 그래픽 연산장치였다.
게임 화면을 빠르게 그리기 위해 병렬 계산을 수행하는 장치.
첫 삶에서는 과학과 AI 계산에 너무 당연하게 쓰였다.
2009년에는 아직 모든 산업용 해석코드가 자연스럽게 활용할 수 있는 도구가 아니었다.
대니얼이 말했다.
“일부 계산을 여기로 옮깁시다.”
팀장이 얼굴을 찌푸렸다.
“고객 코드가 안 맞습니다.”
“변환하면 되죠.”
“말은 쉽죠.”
“어려운가요?”
“대표님이 직접 해보시면 압니다.”
대니얼은 진짜로 했다.
이틀 뒤 후회했다.
코드는 돌아갔다.
속도도 빨랐다.
문제는 결과가 달랐다.
아주 조금.
공학계산에서는 아주 조금이 큰 문제일 수 있었다.
대니얼은 화면 두 개를 번갈아 봤다.
“오차가 왜 생기죠?”
엔지니어가 말했다.
“계산 순서도 다르고, 정밀도도 다르고, 기존 코드가 전제로 한 환경도 달라서요.”
“보정하면?”
“할 수 있습니다.”
“얼마나 걸립니까?”
“몇 주.”
대니얼이 입술을 다물었다.
몇 주.
그 순간 마음속에서 자동으로 D-Day가 줄었다.
엔지니어가 그의 표정을 봤다.
“싫으시죠?”
“좋아하진 않습니다.”
“그럼 CPU 클러스터부터 납품하고, 가속은 다음 버전에 넣죠.”
“몇 배?”
“두 배 조금 넘을 겁니다.”
또 두 배.
대니얼은 고개를 숙였다.
합리적이었다.
그런데 미래를 아는 자신의 눈에는 지나치게 느렸다.
“병렬로 합시다.”
“뭘요?”
“고객 납품용 안정버전과 가속연구를 따로.”
팀장이 잠깐 계산했다.
“사람 더 필요합니다.”
“뽑죠.”
첫 고객 미팅 다음날, 대니얼은 팀과 함께 고객이 실제로 쓰는 작업파일을 받아왔다.
샘플 하나가 아니라 최근 한 달치.
파일 이름부터 난잡했다.
`FINAL`.
`FINAL2`.
`FINAL_REAL`.
`FINAL_REAL_LAST`.
한 엔지니어가 웃었다.
“전 세계 공학회사가 다 똑같네요.”
대니얼도 웃었다.
2046년에는 데이터 형식과 버전관리가 훨씬 체계적이었다.
하지만 그 체계가 처음부터 있었던 건 아니다.
지금 고객은 자기 방식으로 살아남고 있었다.
팀은 파일을 돌려봤다.
일부는 정상.
일부는 라이브러리 버전이 달랐다.
어떤 모델은 메모리가 부족했다.
한 작업은 기존 장비에서는 느리지만 끝났는데, Helioxen 시험환경에서는 아예 죽었다.
대니얼이 말했다.
“우리 시스템이 더 좋은데 왜 안 돌아가죠?”
개발자가 바로 대답했다.
“더 좋은 시스템이 아니라 다른 시스템이라서요.”
그 말이 거슬렸지만 맞았다.
성능이 높다고 호환성이 따라오는 건 아니었다.
팀은 고객 작업을 세 종류로 나눴다.
바로 옮길 수 있는 것.
수정하면 가능한 것.
당장은 안 되는 것.
대니얼은 세 번째 목록을 보고 표정이 굳었다.
“이것도 해야 합니다.”
팀장이 말했다.
“첫 납품 후에요.”
“고객이 쓸 수도 있잖아요.”
“지금은 거의 안 씁니다.”
“거의가 0은 아닙니다.”
팀장이 한숨을 쉬었다.
“대표님.”
“네.”
“첫 제품에서 세상의 모든 파일을 지원할 수는 없습니다.”
대니얼은 반박하지 않았다.
대신 고객에게 직접 물었다.
정말 필요한가.
사장은 세 번째 목록을 보더니 말했다.
“이건 지난 반년에 두 번 썼는데.”
대니얼이 멈췄다.
“두 번.”
“응.”
“그럼 우선순위 낮춰도 됩니까?”
“당연하지.”
돌아오는 차 안에서 이선이 말했다.
“고객한테 물으면 5분인 걸 네가 하루 고민했네.”
대니얼은 창밖을 봤다.
“빠뜨리는 게 싫어서요.”
“빠뜨리는 것하고 순서 정하는 건 달라.”
그 문장이 남았다.
모든 걸 해야 한다.
하지만 모든 걸 지금 해야 하는 것은 아니다.
PROJECT 2046도 결국 같은 문제였다.
사십 년의 시간표에 수천 개 기술을 넣으려면 순서가 필요하다.
우선순위는 포기의 다른 이름이 아니라 실행의 조건이었다.
며칠 뒤 서버실 차단기가 한 번 내려갔다.
모두가 동시에 장비를 켠 순간이었다.
불이 꺼지고 팬 소리가 멈췄다.
대니얼의 몸이 굳었다.
2046년 통제실.
화면이 꺼지던 순간.
아무 소리도 없던 몇 초.
“대표님?”
누군가 불렀다.
대니얼은 현실로 돌아왔다.
“괜찮습니다.”
전기기사가 차단기 용량과 배선을 확인했다.
문제는 간단했다.
서버를 늘리기 전에 전력인프라를 봤어야 했다.
대니얼은 그날 냉각과 전력 설비를 별도 항목으로 뽑았다.
컴퓨팅 성능만 계산하던 계획표 옆에 처음으로 적었다.
Power
Cooling
Space
미래의 데이터센터가 거대한 이유를 알고 있었다.
그런데 머리로 아는 것과 자기 돈으로 차단기부터 바꾸는 건 전혀 다른 경험이었다.
“돈도.”
“씁니다.”
이선이 뒤에서 말했다.
“잠깐.”
대니얼이 돌아봤다.
“왜요?”
“첫 고객 하나 받자고 팀 늘릴 거야?”
“어차피 필요합니다.”
“그게 네가 제일 좋아하는 말이지.”
이선은 화이트보드에 적었다.
고객 1명
예상 매출
추가 인건비
장비비
“이거 보고도 뽑을 거면 뽑아.”
대니얼은 숫자를 봤다.
수익성만 보면 말이 안 됐다.
그러나 연구를 계속하면 다음 고객에도 쓸 수 있다.
플랫폼이 된다.
“한 명.”
대니얼이 말했다.
“두 명 말고 한 명만.”
이선이 고개를 끄덕였다.
“좋아.”
팀장은 말했다.
“그러면 가속연구 일정은 늘어납니다.”
“얼마나요?”
“대표님.”
“네.”
“그 질문 좀 그만하세요.”
회의실에 웃음이 터졌다.
대니얼도 웃었다.
“알겠습니다.”
그날 밤, 첫 시험용 시스템이 조립됐다.
팬이 돌고.
디스크가 올라오고.
여러 노드가 연결됐다.
대니얼은 서버실 안에 한동안 서 있었다.
처음에는 기분이 좋았다.
십 분쯤 지나자 생각이 바뀌었다.
“왜 이렇게 덥죠?”
엔지니어가 땀을 닦으며 말했다.
“계산하니까요.”
“냉각은?”
“기존 에어컨.”
“부족한데요.”
“그래서 아까 말했잖습니까.”
대니얼은 온도계를 봤다.
수치가 계속 올라갔다.
성능보다 먼저 벽에 부딪힌 것은 알고리즘이 아니었다.
열이었다.
대니얼은 웃음이 나왔다.
“좋네요.”
엔지니어가 황당한 표정을 지었다.
“뭐가요?”
“문제가 보이잖아요.”
“대표님은 진짜 이상합니다.”
대니얼은 부정하지 않았다.
2046년에 필요한 컴퓨팅을 생각하면 지금 서버실은 장난감이었다.
그런데 장난감도 열을 냈다.
성능을 올리면 전력이 필요하고.
전력을 넣으면 열이 나오고.
열을 빼려면 다시 돈과 설비가 필요하다.
기술트리는 화면 속 화살표보다 훨씬 더 현실적인 냄새를 가지고 있었다.
뜨거운 공기.
팬 소리.
그리고 전기요금.
다음날 아침 첫 시험서버가 과열로 자동정지했다.
대니얼은 검은 화면을 보고 말했다.
“좋습니다.”
팀장이 이번에는 화도 안 냈다.
“저 사람 누가 좀 고쳐주세요.”
이선이 대답했다.
“고치는 중입니다.”
대니얼은 냉각설비 견적서를 들었다.
첫 고객을 받기도 전에 또 돈이 나갈 곳이 생겼다.
그런데 이상하게도 기분은 나쁘지 않았다.
미래는 언제나 이런 식으로 만들어질 것이다.
한 병목을 풀면.
그 뒤에 있던 다음 병목이 모습을 드러낸다.
읽은 화로 기록했습니다. 다음 화는 바로 이어집니다.