포스테키안

2017 겨울호 / 세상 찾기 Ⅰ / ONOS Build 2017 해커톤 대회 우승기

2018-01-17 76

세상 찾기 Ⅰ / ONOS Build 2017 해커톤 대회 우승기

최근 국내의 많은 기업과 기관에서 실제 코딩 능력과 협업을 평가하는 해커톤 대회를 개최하고 있습니다. 해커톤이란 해커(Hacker)와 마라톤(Marathon)의 합성어로 마라톤을 하듯 일정시간 동안 쉬지 않고 집중적으로 아이디어와 생각을 기획하고 작업하는 대회를 뜻합니다.  저를 비롯한 컴퓨터공학과 DPNM 연구실 소속 동료(이도영, 최준묵, Tu Van Nguyen)는 최근 열린 ‘ONOS Build 2017 해커톤 대회’에서 우승하는 영예를 안았습니다. 해커톤 대회란 무엇인지, 그리고 어떤 과정으로 진행됐는지 그 이야기를 해 보고자 합니다.

157-14-1

SDN기술의 핵심,
ONOS(Open Network Operating System) 플랫폼

‘이동통신사 요금은 왜 이렇게 비싼 걸까?’ 이것은 아마 많은 사람들이 의문을 가지는 부분이 아닐까 합니다. 포항공대 대학원에 진학하여 컴퓨터 네트워크 관련 전공을 공부하다 보니 약간이나마 그 의문점이 해소되었습니다. 물론 각 통신사의 치열한 마케팅 비용이나 통신사 내부 사정까지는 잘 모르지만, 한 가지 확실한 것은 통신사 또한 장비를 구매해서 설치하고 고장나면 비용을 지불해서 수리를 맡기는 고객의 입장이기도 하다는 것입니다.

오늘날 유튜브와 같은 비디오 스트리밍 서비스, 빅데이터 등의 등장으로 네트워크가 처리해야하는 데이터 크기는 기하급수적으로 늘어나고 있는 반면, 네트워크 장비는 주로 고가의 외산이며 전국에 걸쳐 설치되어 문제 발생 시 관리자의 수동 개입을 필요로 하는 경우가 많습니다. 이러한 문제점을 해결하기 위한 방안으로 최근 SDN(Software-Defined Networking) 이라는 새로운 네트워킹 패러다임이 주목 받으며 활발히 연구되고 있습니다.

고가의 네트워크 장비에 대한 의존성을 극복하기 위한 SDN 기술의 핵심으로 ONOS(Open Network Operating System) 플랫폼을 들 수 있는데, 이는 SDN 기술의 핵심인 컨트롤러의 하나로서, ‘네트워크의 두뇌’라고 생각할 수 있습니다. 또 다르게는 컴퓨터의 각종 자원들을 사용자나 프로그램이 쉽게 사용할 수 있도록 조율하는 컴퓨터 운영체제와 비슷한 역할을 한다고 생각할 수 있습니다. 이러한 ONOS를 이용한 해커톤 대회가 개최된다는 소식을 듣게 되었고, 관련 연구를 진행하던 저희들도 대회에 참여하기로 했습니다.

ONOS Build 2017 해커톤 대회

157-14-2
157-14-3
이미지 출처 : https://news.samsung.com/global/photo -onos-build-2017-migration-to-an-open-and-fle xible-network

저희 팀이 참석한 해커톤 대회는 ONOS Build 2017 행사와 함께 진행되었습니다. 미국 실리콘밸리에 위치한 Open Networking Foundation에서 주최한 이번 행사는 삼성전자 R&D 캠퍼스에서 열렸습니다. 실제 ONOS 플랫폼을 개발하고 관리하는 전문가들이 직접 방한해 관련 기술을 발표하고 논의하는 자리였던 만큼 공부하는 학생 입장에서 충분히 의미 있는 시간이었습니다.

행사의 일환으로 진행된 해커톤 대회는 주최 측에서 제시한 큰 주제 및 요구사항을 바탕으로 구현(코딩)하는 방식으로 이틀에 걸쳐 진행되었습니다. 팀 리더로 참석한 저뿐만 아니라 다른 동료들 역시 해커톤 경험은 전무해서, 막연히 ‘열심히 코딩해보자!’가 주된 전략이었습니다. 하지만 프로그래밍 경험이 있는 분들은 다들 아시겠지만 설계가 부실한 프로그램은 어떻게 구현해도 잘 동작하지 않습니다(특히나 시연할 때). 미비한 설계로 인해 낭비되는 시간이 늘어나자, 코딩을 중단한 후 다 같이 설계를 위한 미팅에 들어갔습니다. 프로젝트의 규모에 비해 주어진 시간이 길지 않았기 때문에 문서화 된 설계는 할 수 없었습니다. 각자가 분담해서 개발하는 부분이 나중에 하나로 합쳐져야 했기 때문에 이를 위한 인터페이스 설계가 더 중요했습니다.

이 지점에서 소프트웨어공학에서 다루는 에자일(Agile) 방법론에 대한 지식이 많은 도움이 되었습니다. 해커톤 심사는 처음부터 모든 것이 완벽한 완성품을 개발하는 것이 아니라, 제한 시간 안에 개발해서 큰 문제없이 동작하고 그 과정에서의 아이디어를 평가하는 데 기준을 두고 있습니다. 그래서 저희는 에자일 방법론에서 제시하는 요소들을 참고했습니다. 물론 저희가 전문적인 개발자는 아니기 때문에 흉내내는 수준이었지만 그래도 기반 전공지식이 유용하게 사용될 수 있음을 느꼈습니다. 해커톤에 참석한 (산업계/학계) 총 4팀 중 학교와 연구실을 대표한다는 각오로 가장 오랜 시간 동안 대회 장소에 남아 열심히 개발을 진행했습니다. 이때는 대학원생 특유의 강인한 체력(?)이 밑바탕이 된 것 같기도 합니다. 대회 마지막 한 시간은 각 팀별로 심사위원 앞에서 진행경과 보고와 시연을 하게 되는데, 저희 연구실 팀이 가장 우수한 완성도를 보여 수상과 함께 150만 원의 상금을 받게 되었습니다. 이틀이라는 짧은 기간에 대한 결과물로 큰 상금을 받아 어떻게 사용하면 좋을지 팀원들과 이야기를 나눈 결과, 평소에 저희 연구실 지도교수님이신 홍원기 교수님께서 본 해커톤 대회와 관련이 깊은 연구 주제를 지도해 주셨다는 점, 그리고 다른 공모전에 참가해서 받은 상금을 기부한 연구실 선배들의 선례를 참고해서, 저희 역시 받은 상금을 학과에 기부해서 보다 의미 있는 일을 하기로 결정했습니다.

해커톤은 힘이 들긴 했지만 단기간에 최대한의 능력을 쏟아 부어 급성장하는 부분 역시 분명히 있습니다. 평소 일상에서 벗어나 해커톤이라는 새로운 시도를 통해 상금보다 값진, 앞으로 갈 연구자의 길에 좋은 자양분이 될 소중한 경험을 할 수 있는 기회였습니다. 학생 여러분들도 기회가 된다면 끝나고 푹 쉬자는 부담 없는 생각을 가지고 참석해 보았으면 좋겠습니다.

157-14-w
글_정세연 컴퓨터공학과 DPNM 연구실 석사과정