"클라우드-IoT시대, 병렬 프로그래밍은 대세"

인텔 제임스 레인더스 SW담당 디렉터 인터뷰

일반입력 :2014/10/29 16:42

황치규 기자

28일 병렬 컴퓨터 프로그래밍을 주제로 인텔코리아가 개최한 SW세미나 현장. 국내 최대 규모 병렬 컴퓨팅 프로그래밍 커뮤니티인 PDC(Parallel Development Community)도 부스를 차렸다. 컴퓨터 화면에 뜬 내용을 보니 최근 PDC 회원수가 750명을 돌파했단다.

750명? 파이썬이나 자바 스크립트 같은 떠오르는 프로그래밍 언어 커뮤니티, 안드로이드 같은 모바일 관련 커뮤니니 개발자들이 수천명씩 몰려 있는 것와 비교해 750명은 적어도 너무 적어 보인다. 그러나 병렬 프로그래밍의 세계에선 750명은 꽤나 의미가 큰 숫자라고 한다.

병렬 프로그래밍이란 멀티코어 프로세서의 장점을 최대한 활용하는 프로그래밍 기법을 말한다. 개발자가 SW를 만들때부터 여러 개 프로세서 코어를 모두 활용할 수 있도록 설계하는 방식이다. 코어 하나를 고려한 SW개발과는 접근 방식이 다르다.

서버, 데스크톱 컴퓨터, 모바일 기기 할거 없이 멀티코어 프로세서가 대세로 자리 잡은 상황임을 감안하면 병렬 프로그래밍도 이미 대중화됐어야 정상 아닐까? 얼핏보면 PDC 회원 숫자 750명은 대단히 역설적인 숫자로 비춰진다.

그럼에도 현실속의 병렬 프로그래밍은 국내 개발자 생태계에서 예전부터 지금까지 계속해서 마이너다. 슈퍼컴퓨터 분야에서 일부 개발자들이 쓰고 있을 뿐이다.

기존 프로그래밍 기법에 익숙해진 개발자가 병렬 프로그래밍을 소화하기가 만만치 않다는게 가장 큰 이유다. 조금 오버하면 다른 세상에 온 듯한 느낌을 받는단다. 수치해석 등 개발자와 거리가 멀어보이는 듯한 분야의 지식도 요구된다. 다른 나라 상황도 마찬가지일까? 해외의 경우 한국보다는 상대적으로 병렬 프로그래밍 세계가 넓고도 깊다고 한다.

이같은 상황을 감안해 인텔코리아는 국내 병렬 프로그래밍 생태계를 확산시키는데 공을 들여왔다. 제온과 같은 간판 프로세서들의 파워를 극대화하려면 병렬 프로그래밍을 할 줄 아는 개발자들이 확 늘어나야 한다는 이유에서다. 28일 행사도 이같은 취지로 진행됐다. 이날 행사에선 인텔의 제임스 레인더스 SW 담당 디렉터가 직접 참석해 병렬 프로그래밍을 주제로 기조연설을 진행해 눈길을 끌었다.

레인더스 디렉터는 기조연설 후 기자와 따로 가진 인터뷰에서 슈퍼컴퓨터를 넘어 모바일과 사물인터넷(Internet of Things: IoT)에도 병렬 프로그래밍은 존재감이 더욱 커지고 있다면서 애플리케이션 성능 향상을 위해 보다 많은 개발자들이 병렬 프로그래밍을 받아들일 필요가 있음을 거듭 강조했다. 그는 또 해외의 경우 슈퍼컴 등 여러 분야에서 다양한 목적으로 개발자들이 병렬 프로그래밍을 채택한다면서 커뮤니케이션 기기 사용자 인터페이스(UI)나 음성인식과 같은 분야에서도 많이 쓰이고 있다고 전했다.

병렬 프로그래밍을 처음 접하는 개발자들이 생소하게 느낄 수 있다는건 인텔도 인정한다. 이에 인텔은 병렬 프로그래밍의 진입 장벽을 낮추는데 공을 들이는 모습이다. 병렬 프로그래밍을 쉽게할 수 있는 개발 툴 제공에 초점을 맞췄다. 대표적인 제품이 서버단 병렬 프로그래밍을 겨냥한 인텔 패러렐 스튜디오XE2015다.

레인더스 디렉터는 패러렐 스튜디오는 여러 프로그래밍 언어를 지원하고 병렬 프로그래밍을 쉽게 할 수 있는 많은 툴과 라이브러리, 컴파일러도 갖췄다면서 기존 방식대로 프로그래밍을 한 뒤 병렬 프로그램으로 전환하는 것도 가능하다고 덧붙였다.

툴이 편해졌다고 해서 개발자들이 병렬 프로그래밍을 하루 아침에 뚝딱 해치울 수 있는건 물론 아니다. 개발자들의 마인드 전환도 요구된다. 레인더스 디렉터는 개발자들이 애플리케이션을 만들 때 어떤 부분에서 병렬화가 필요한지 이해하는 것이 중요하다면서 데이터량이나 해야야할 일이 많다던지 처리 속도가 향상되어야 한다던지 등 병렬 프로그래밍을 어디서 어떻게 적용하는지 파악할 필요가 있다고 말했다. 또 웹에는 많은 자료가 있다면서 가능한 연습을 많이 할 것을 적극 주문했다.

레인더스 디렉터에 따르면 요즘 IT업계에서 화두로 부상한 빅데이터, 클라우드 컴퓨팅, IoT에서 병렬 프로그래밍이 갖는 전략적 가치는 점점 커지는 상황이다. 매출 데이터 및 웹 활동 분석, 금융거래 분석, 구매 패턴 공통점 찾기 등의 업무에 병렬 프로그래밍이 이미 많이 쓰이고 있다. 클라우드 서비스를 중심으로 수많은 모바일 기기들이 연결되고 있는 만큼, 병렬 프로그래밍은 클라우드 환경에서속도를 끌어올리는 첨병 역할을 할 수 있다. IoT 시대로 진입하면 병렬 프로그래밍의 필요성은 더욱 커질 것이란게 레인더스 디렉터의 전망이다.

이를 고려해 인텔은 모바일을 겨냥한 병렬 프로그래밍 확산에도 본격적인 시동을 걸었다. 선봉은 HTML5 개발자들을 위한 XDK다. XDK는 모바일 기이용 앱 개발을 위한 도구로 한번 개발하면 iOS, 안드로이드, 윈도 환경에 쉽게 배포할 수 있다. 프로세서에도 독립적이다. XDK는 조만간 IoT용 버전도 공개될 것이라고 한다.

관련기사

병렬 프로그래밍은 컴퓨터가 인간과 상호 작용을 제대로 할 수 있다는 점에서도 관심을 가질 필요가 있다.

레인더스 디렉터는 아직은 컴퓨터가 우리가 원하는 만큼의 성능을 내지 못하고 있다고 본다면서 컴퓨터가 사람을 제대로 이해하고 커뮤니케이션하려면 병렬 프로그래밍이 좀더 확산되어야 한다고 말했다.