d라이브러리









슈퍼 컴퓨터 성능이 궁금해? 원주율 계산에 도전해 봐!

 

1940년대 컴퓨터가 개발되면서 손으로 원주율(파이π) 값을 찾는 시대는 끝이 났죠. 지난 8월 스위스 연구팀이 소수점 아래 약 62조 8000억 번째 자리까지 찾아내면서 가장 정확한 π값 기록을 다시 세웠습니다. 이제 π값을 정확하게 찾는 일은 슈퍼컴퓨터의 연산 능력을 평가하는 하나의 방식으로 자리 잡았습니다. 슈퍼컴퓨터가 어떻게, 그리고 얼마나 빠르게 π값을 찾아내는지 알아볼까요?

 

종전 기록보다 3배 빨리 π값 찾았다

 

지름이 1cm인 원의 둘레는 얼마나 될까요? 이 질문에 대한 답이 바로 ‘원주율(파이π)’을 의미합니다. 동서양의 수학자들은 수천 년간 π를 찾기 위해 노력해 왔습니다. 이동에 쓰는 수레의 바퀴 둘레나 건축용으로 넣을 원형 돌을 만들 때처럼 실생활과 밀접한 관련이 있는 값이기 때문이죠. 현재는 우주 탐사선이나 위성의 궤도와 같은 과학 연구나 항공 분야에서 소수점 아래 십여 번째 자릿수 수준으로 정확도를 높인 π값이 사용되고 있습니다.

 

 

기존에 알려져 있던 π값의 최고 기록은 소수점 아래 50조 번째 자리였습니다. 티모시 멀리컨이 2020년 1월 계산용 서버 4개와 320GB(기가바이트) 램(RAM), 총테라바이트는 1조 바이트)의 하드디스크를 보유한 개인용 고성능 컴퓨터를 303일 동안 작동해 얻은 결과이죠.

 

하지만 지난 8월 하이코 롤케 스위스 그라운뷘덴 응용과학대학교 교수팀은 “약 108일 9시간 만에 멀리컨의 기록을 넘어섰다”며 “최종적으로 62조 8318억 5307만 1796번째 자릿수까지 알아냈다”고 밝혔습니다. 중앙처리장치(CPU) 2개와 1TB 램, 16TB 용량의 하드디스크 38개 등을 탑재한 슈퍼컴퓨터를 사용했습니다.

 

롤케 교수팀이 사용한 슈퍼컴퓨터의 연산 성능이 멀리컨의 컴퓨터보다 3배 정도 빨라진 것입니다. 하드웨어만 놓고 보면 롤케 교수팀이 활용한 슈퍼컴퓨터의 장치별 성능이 더 높습니다. 그러나 멀리컨과 롤케 교수팀 모두 소프트웨어에 적용된 세부적인 π값 연산 알고리듬을 명확하게 공개하지 않았기 때문에, 위의 결과는 하드웨어와 소프트웨어의 성능을 종합해 평가한 결과입니다.

 

롤케 교수는 “π값 자체를 정확하고 빠르게 구하는 것이 기본 목표다”며 “그 과정에서 슈퍼컴퓨터의 물리적 크기를 최소화하면서 성능을 극대화할 수 있는 연산 알고리듬을 찾고 있다”고 설명했습니다. 임현식 동국대학교 물리반도체과학부 교수도 “슈퍼컴퓨터의 성능은 CPU 등의 장치뿐만 아니라 연산속도가 빠르면서도 오류를 발생시키지 않는 알고리듬에 좌우된다”고 말했습니다.

 

 

π값 연산 알고리듬의 핵심은 무한급수

 

슈퍼컴퓨터는 ‘병렬 컴퓨팅(parallel computing)’이라는 연산 방식을 사용합니다. TV 리모컨에 건전지를 양옆으로 나란히 끼워 넣는 것처럼 슈퍼컴퓨터는 하드웨어인 CPU 여러 개를 병렬로 연결해 완성하기 때문이죠. 하나의 큰 계산을 여러 개의 CPU로 나눠 작동시킨 뒤, 그 결과들을 모아 최종적인 답을 찾는 거예요(하단 박스 참조).

 

병렬 컴퓨팅이 가능한 알고리듬을 만드는 가장 좋은 방법은 무한급수를 활용하는 겁니다. 흔히 숫자로 이뤄진 항을 나열한 것을 수열이라 하며, 그 수열의 모든 항을 덧셈이나 뺄셈으로 연결한 것을 급수라고 합니다. 이중 항의 개수가 무한히 많은 것을 무한급수라고 부릅니다. 무한급수에 포함된 수많은 항을 10개 또는 100개씩 분리한 다음, 병렬로 연결된 CPU에 각각 넣으면 좀 더 빠르게 계산할 수 있습니다.

 

원주율 계산에 쓰는 무한급수 식은 1400년경 인도의 수학자 마다바가 아크탄젠트(arctan(x)) 급수를 발견하면서 속속 등장하기 시작했습니다. 수학에서 아크탄젠트 함수는 삼각함수의 하나인 탄젠트함수의 역함수(tan-1(x))를 의미합니다. 곧 삼각함수와 원주율 사이의 관계식을 찾은 것으로 볼 수 있죠.

 

1671년 영국의 수학자 제임스 그레고리는 마다바의 발견 사실을 모른 채 같은 급수를 찾아냈습니다. 또 5년 뒤인 1676년 독일 수학자 고드프리트 라이프니츠가 변수 x에 1을 대입해 아래 식 ❶과 같은 초기 수준의 원주율 계산식을 고안했습니다. 아크탄젠트 급수는 현재 라이프니츠 급수로 불리고 있습니다.

 

 

 

LG 사이언스랜드 홈페이지에 따르면 라이프니츠 급수의 첫 항부터 1000만 번째 항까지의 합을 1개의 CPU로 구하면 약 19.8초가, 6개의 CPU로 병렬 컴퓨팅하면 약 5.7초가 걸렸습니다. CPU를 무한히 늘리면 더 빠르게 처리할 수 있지만, 라이프니츠 급수를 적용한 연산 알고리듬은 1000만 번째 항까지 계산해도 π값이 소수점 아래 7번째 자리까지만 정확하게 나오는 한계가 있었습니다. 더 정확하고 빠르게 π값을 구할 수 있는 무한급수를 찾아 알고리듬에 적용해야 했던 이유입니다.

 

아래 식 ❷와 같이 1706년 발표된 존 마친 공식을 적용한 알고리듬을 사용하면 6개의 CPU를 병렬 연결해 1000만 번째 항까지 계산하는 데 약 5초가 걸렸으며, 소수점 아래 1만 8177번째 자리까지 정확한 값을 얻을 수 있었습니다.

 

 

이후 1915년 인도의 천재 수학자 스리니바사 라마누잔이 무한급수인 초기하급수를 개발해 알고리듬 성능을 더 높였습니다. 현대적인 π값 연산 알고리듬 중에는 1987년 미국 수학자 데이비드 추보스키와 그레고리 추보스키 형제가 라마누잔의 식을 변형해 만든 공식을 적용한 것이 가장 빠릅니다.

 

대표적인 π값 계산 소프트웨어, y-크런처

 

π값을 구하기 위해 무한급수를 쉽게 적용할 수 있는 소프트웨어가 개발돼 있습니다. 바로 사용자 필요에 따라 다양한 수학 상수를 구할 수 있도록 돕는 ‘y-크런처(cruncher)’입니다. y-크런처는 현재 미국 시장조사업체 시타델 시큐리티즈(Citadel Securities)에서 소프트웨어 개발자로 근무 중인 알렉산더 이(Alexander Yee)가 2009년 노스웨스턴대학교 재학 당시 만들었습니다.

 

y-크런처는 소수점 아래 수조 번째에 이를 만큼 정확한 π값 계산에 적용돼 왔습니다. 비교적 최근의 사례만 꼽아보면 구글 클라우드 개발자인 이와오 엠마 하루카는 2019년 클라우드 컴퓨팅 기술을 바탕으로 20여 개의 엔진 클러스터에서 y-크런처를 121일간 작동한 끝에 소수점 아래 31조 4159억 2653만 5897번째 자리까지 확인했습니다. 앞서 나왔던 멀리컨과 롤케 교수팀 모두 추보스키 공식과 y-크런처 소프트웨어를 이용해 π값을 계산했습니다.

 

멀리컨은 직접 운영하는 웹진 비트 앤 바이트 기고문에서 “원하는 수준의 π값을 찾기 위해 가장 먼저 y-크런처를 만든 이(Yee)에게 이메일로 연락했다”며 “y-크런처의 최적화 기능을 활용해 최종 출력값을 만들 수 있는 컴퓨터의 성능까지 추정할 수 있었다”고 설명했습니다.

 

여러 연구팀이 슈퍼컴퓨터를 이용해 π값의 소수점 이하 수십조 자리까지 구하지만, 이 정도로 정확한 값이 우리 생활에 필요한 것은 아닙니다. 오히려 다른 계산을 복잡하게 만들어 연산 속도를 지연시킬 수 있기 때문이죠.

 

롤케 교수는 “π값을 계산하는 경험을 이용해 슈퍼컴퓨터의 연산 속도를 최적화할 수 있을 것”이라며 “방대한 양의 자료를 처리해야 하는 유전체 분석이나 유체역학, 지질학 등의 분야를 연구하는 데 도움을 줄 수 있을 것”이라고 말했습니다. π값 구하기 경쟁으로 더 유익한 연구에 활용될 수 있는 슈퍼컴퓨터가 하루빨리 도입되길 기대해봐야겠습니다.

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2021년 10월 수학동아 정보

  • 김진호 기자 기자
  • 참고자료

    김용운 ‘수학대사전(2010)’, LG 사이언스랜드
  • 일러스트

    유두호
  • 디자인

    유두호

🎓️ 진로 추천

  • 수학
  • 컴퓨터공학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?