매거진 nullpad

직렬성 있게 살아간다는 것

by 널하우스


상상을 해보자. 유동 인구가 많은 역세권의 카페. 당신은 그곳에서 바리스타로 일하고 있다. 맛과 품질이 괜찮다고 소문난 이곳은, 언제나 손님으로 북적인다. 그런데 오늘은 평소와 차원이 다르다. 당신의 파트타임 근무 시간에 맞춰 수십 명의 손님이 한꺼번에 밀려든다. 매장 주문, 앱 주문, 테이크아웃, 홀 서비스까지 폭주한다. 눈앞은 어지럽고, 머리는 아찔하다. 하지만 상상 속 당신은 현명해서 평정심부터 되찾는다. 커피를 한 잔 한 잔씩 만들고, 주문을 순차적으로 처리하기 시작한다. 그리고 무사히 이 상황을 통과해 낸다.


이 장면은 사실 우리가 매일 접하는 디지털 세계의 동작 방식과도 닮아 있다. 예를 들어 데이터베이스 시스템은 다수의 사용자가 동시에 접속해 정보를 요청하고 수정하는 상황을 맞닥뜨린다. 그런 혼란을 제어하고 일관된 결과를 보장하는 기술이 바로 병행제어(Concurrency Control)다. 병행제어의 핵심 목표는 직렬성, 즉 모든 요청을 동시에 받은 것처럼 보이더라도 결국 처리 결과는 하나씩 순차적으로 실행된 것처럼 보여야 한다는 원칙이다. 겉보기에는 여러 작업이 병렬로 진행되지만, 시스템은 그 안에서 정교하게 순서를 조율하며 충돌 없이 결과를 만들어낸다.


우리의 일상도 이와 크게 다르지 않다. 우리는 하루에도 수많은 '요청'들을 받는다. 가족의 부탁, 회사의 메일, 친구의 연락, 식사 약속, 운동 계획, 공부 일정, 전혀 관련 없어 보이는 일들이 동시다발적으로 쏟아진다. 우리의 뇌는 이 모든 요청을 병렬로 감지하지만, 행동은 하나씩밖에 하지 못한다. 그렇기에 우리는 알게 모르게 삶의 병행제어를 하고 있는 셈이다. 순서를 정하고, 우선순위를 고려하고, 맥락을 놓치지 않으려 애쓰면서 매일을 살아낸다.


이런 조율은 단지 하루치 할 일에만 국한되지 않는다. 인생에도 단기, 중기, 장기 계획이 공존한다. 단기 계획은 오늘의 일정, 할 일 목록처럼 지금 당장 처리해야 할 일들이다. 중기 계획은 학기 목표나 분기 성과처럼 어느 정도의 시간적 여유와 구조를 필요로 한다. 그리고 장기 계획은 삶의 방향, 직업적 성장, 인간관계의 본질에 대한 고민과 같은 크고 무거운 질문들이다. 이 셋은 나란히 병렬로 존재하지만, 우리는 그 안에서 일관된 실행 순서와 맥락을 정해야 한다. 단기 계획만 반복하다 보면 중기 목표는 허물어지고, 장기 계획은 흐릿해진다. 반대로 미래만 바라보다 오늘의 일을 등한시하면, 아무것도 실행에 옮기지 못한 채 시간을 흘려보내게 된다.


그러니 삶을 병행제어 한다는 것은, 결국 세 가지 층위의 시간 감각을 조율한다는 뜻이다. 지금 해야 할 일, 조금 이따 해야 할 일, 결국 도달하고자 하는 일 사이를 오가며, 스스로 삶의 직렬성을 만들어내는 일. 무작위로 몰려드는 요청들을 내가 정한 우선순위에 따라 순서화시키고, 그 실행이 나의 삶의 방향성과 충돌하지 않도록 조율하는 일. 데이터베이스처럼 완벽하진 않더라도, 충돌을 최소화하고 일관성을 유지하기 위한 작고 끈질긴 노력이다.


카페에서 수십 명의 손님을 차례로 응대하는 것처럼, 우리도 한 번에 하나씩 살아낸다.(살아낼 수밖에 없다) 오늘 하루를 정리하고 나면, 겉보기에는 정신없이 지나간 날처럼 여겨질지도 모르지만 자세히 보면 나름의 순서로 처리한 리스트가 남아 있을 것이다. 사후적으로 우리는 혼란 속에서도 일관된 흐름을 만들고 있다는 걸 깨닫게 된다. 그렇게 하루하루를 직렬성 있게 살아낼 수 있다면, 인생이라는 시스템도 안정적으로 우리의 쿼리(질의어)를 처리해 줄 것이다.

keyword
매거진의 이전글테토남, 에겐남의 본령