- Posted
- Filed under 살아가기, 생각하기
숨가쁘게 달려온 APSys 2012 워크샵이 끝났다. 워크샵에 첫 1저자 논문을 발표하기도 했지만, 워크샵의 운영 staff로 일한 첫 경험이기도 했기 때문에 아마 평생 두고 잊을 수 없는 워크샵이 되지 않을까 싶어 이렇게 글로 정리해본다.
APSys 워크샵은 올해로 3회째를 맞는 (아직은 작은?) 컴퓨터 소프트워어 시스템 전반을 다루는 학술대회이다. 먼저 워크샵에 대해서 간단히 설명하면, 전산 분야에서는 아직 진행 중이거나 초기 단계의 일이지만 주목할 만한 결과를 가지고 있을 때 논문을 내는 곳이다. 전산 분야에서는 논문 종류를 크게 proceeding으로는 학회(conference), 워크샵(workshop), 포스터(poster)로 나누고 그 외엔 journal 논문이 있다. 분야 발전 역사와 하드웨어의 기술발전 속도에 따라 같은 주제와 아이디어라도 금새 옛것이 되는 특성 상 논문 게재 승인이 나기까지 수개월 이상 걸리는 journal보다는 논문 제출과 리뷰 과정이 모두 deadline 기반으로 이뤄지는 학회/워크샵 논문들이 더 조명을 받는다. 학회 논문은 보통 영문 10pt 2 column으로 12~16 page 정도를 작성하고, 워크샵은 5~6 page, 포스터는 extended abstract 형태로 1~2 page를 작성한다. 포스터는 학회에 따라 proceeding에 실어주기도 하고 안 실어주기도 하는데, 리뷰 과정도 매우 단순화되어 있는 경우가 많다. 거의 '이런 일을 하겠다' 하고 찜하는 느낌이 강하다. 반면 학회 논문(conference full paper)은 리뷰 과정도 오래 걸리고 학회 심사위원들 중 한 명이 shepherd로 지정되어 해당 논문의 최종 버전(camera-ready version)이 나올 때까지 직접 논문 수정에 대한 제안이나 피드백을 중점적으로 주기도 한다. 따라서 일정 정도 이상의 완성도가 있는 논문이 나올 수밖에 없다. 이른바 "좋은" 학회에 full paper를 1저자로 1개라도 발표한다면 어지간한 미국 아이비리그 top school 진학이나 Microsoft와 같은 유명 기업체 연구소 취업 가능성이 매우 높아진다.
컴퓨터 소프트웨어 시스템은 매우 다양한 주제를 포괄하고 있다. 가장 전통적인 주제라고 할 수 있는 운영체제의 다양한 구성요소들에 대한 것부터 꼭 운영체제 커널이나 그 안에 들어가는 것은 아니지만 다른 응용소프트웨어를 만드는 데 기반이 되는 기술들 거의 모두가 포함된다고 할 수 있을 것이다. 세부적으로는 high-performance networking, memory management, 기존 소프트웨어 시스템의 multi-core scaling, SSD와 같은 새로운 하드웨어를 위한 filesystem, debugging을 쉽게 하기 위한 구조 설계 등을 예로 들 수 있겠다. 요즘 뜨는 주제로는 cellphone (보통 사람들은 smartphone이라는 용어를 더 많이 쓰지만) 환경에서 동작하는 프로그램을 제작하기 위한 API나 밑단 시스템 설계 등도 있고, power management(전원 절약)나 data center 관리에 대한 이슈도 많다. 이미 desktop/server 가상화 기술은 어느 정도 전통적인 주제가 되었고, cellphone 가상화도 이미 1~2년 전에 관련 연구들이 발표되었다.
APSys 워크샵의 모델은 유럽 지역을 중심으로 하는 EuroSys 학회이다. 이름에서 알 수 있듯이 APSys는 아시아-태평양 지역을 중심으로 한다. 물론 그렇다고 유럽 사람들이 논문을 내지 못하게 막거나 하지는 않지만 워크샵 개최지가 주로 아시아 지역이라는 것 정도? 아시아 지역에서도 경제력, 교육열, 방대한 IT 인프라를 바탕으로 컴퓨터 시스템 연구가 많이 이뤄지고 있으므로 나중에는 워크샵을 학회로 발전시킬 수 있지 않을까 싶다.
이번 워크샵에 내가 발표한 논문 제목은 "The Power of Batching in the Click Modular Router"로, Click 라우터라는 네트워크 장비를 소프트웨어로 구현하기 위한 프레임워크를 multicore 시스템에서 어떤 테크닉들을 적용해야 그 성능을 끌어올릴 수 있을 것인가에 대한 연구다. 제목이 말해주듯이 batch processing (여러 개의 작은 데이터를 모아서 한꺼번에 일괄처리하는 것)이 가장 주된 포인트이고, 그 외에 최근의 10Gbps 이상급의 네트워크 카드들이 지원하는 multi-queue 지원이나 multi-processor 시스템을 위한 NUMA 아키텍처에 대한 고려 사항 등이 들어간다. 사실 그러한 성능 향상 아이디어들 자체는 다른 연구에서 소개된 것이기 때문에 새로 만들어낸 것은 Click의 packet processing element들에 batching을 적용한 것이 전부이다. 허나 내 연구의 의의는 Click의 성능을 좋게 하기 위해 이런저런 시도들이 있었지만, 현재의 multi-core PC hardware에서 Click의 성능을 끌어올리기 위해 필요한 것들을 집대성해서 정리했다는 점이다. 앞으로는 이러한 테크닉 적용 과정을 자동화하거나 아예 Click 프로젝트를 fork해서 기존 Click 기반 application들의 수정 없이 그대로 성능이 향상되게 만드는 것이 하나의 목표라 할 수 있겠다. (그리고 현재 진행 중인 GPU 기반 packet processing 프레임워크인 nShader와 합치는?!) 원래 석사 졸업논문으로 했던 내용이지만, 석사 논문은 워낙 급하게 번갯불에 콩 구워먹듯이 쓴 거라 writing이 영 아니기도 하고 교내 졸업논문 심사위원 3분을 제외하고 이 분야의 다른 대가들에 의한 review를 받지 않았기 때문에 중간 milestone을 찍는 의미로 워크샵 논문으로 발전시키게 된 것이다. 아직 ACM copyright transfer 문제가 마무리되지 않아서 논문을 일반에 공개할 수 없으나 공개가 가능해지면 링크를 걸 예정이다.
Staff로 일한 경험 또한 이번 워크샵에서 잊을 수 없는 일이다. 그만큼 힘들기도 했지만, 실제로 학회나 워크샵이 어떤 방식으로 운영되는지 가까이서 알 수 있었다는 점은 나름대로 연구자로서 의미 있는 일이었다. APSys 홈페이지 자체는 몇달 전부터 Django를 이용해 뚝딱 만들어놓은 상태였기 때문에, 원래 처음에는 정산 업무를 줄이고자 이틀 정도 시간을 투자해 결제시스템을 붙이고 VISA invitation letter 같은 것도 하루에 한 번 정도 모아서 처리하면 되겠지- 라는 생각에 큰 무리 없겠다 싶어 워크샵 등록 업무를 맡았다. 뭐 사실 연구실에서 도와줄 사람이 별로 없기도 했고. (시스템 팀으로 워크샵 기간까지 실질적으로 도움을 줄 수 있는 사람은 나밖에 없었고, 소셜네트워크 팀한테는 아무래도 관심분야의 워크샵이 아니니까...) 그러나 실제로 일을 해보니 여러가지 문제와 상황에 부딪히게 되었다. 이런 비슷한 업무를 이 글을 보는 사람 중에 누군가 할 일이 있을지는 모르겠으나, 개인적인 기록 차원에서 정리해보았다.
등록 업무
국제 워크샵인만큼 다양한 나라의 사람들이 오게 된다. 유럽이나 미국 국적의 사람이 한국에 일시 입국하는 경우는 대부분 비자가 필요 없기 때문에 신경쓸 게 없는데, 문제는 중국과 중동 출신 사람들이다. 중국인들의 경우 2012년 7월 현재 제주도의 관광목적 입국 시에만 한국 비자가 면제되고, 한국 본토에 입국할 때는 비자가 필요하다. 또한 중동 사람들도 비자가 필요하다. 이런 사람들이 학회참석을 목적으로 한국에 오려면 이른바 '초대장' (VISA invitation letter)를 받아야 하는데, 학회 주최측에서 다음과 같은 정보를 채워 담당자 싸인이나 직인을 찍어 직접 스캔해 보내주어야 한다. (간혹, 국제특급우편으로 원본을 부치는 걸 요구하는 경우도 있다)
- 일단 기본적으로 어떤 내용을 다루는 학회이고 어느 날짜에 어디에서 하는 학회인지 설명하는 글이 들어있어야 하며, 우리가 이 사람에 대해 이러이러한 정보를 가지고 있고 신분이 확실한 사람이라는 것을 증명해주어야 한다.
- 입국 목적 : 논문이나 포스터 저자인 경우는 논문 발표를 할 것이라는 것을 명시해주는 것이 좋다. 그렇지 않다면 학회 참석이라고 씀.
- 초대받는 사람의 소속 기관
- 초대받는 사람이 필요한 여행 비용을 지원해주는 기관 : 보통 소속 기관과 동일하게 적으면 되지만, travel grant를 받는 경우 학회 주관단체 이름과 grant 액수를 적는다. 이번 경우에는 한국정보과학회로 적어주었다. (ACM으로 적어야 했나? ㅋㅋ)
- 초대받는 사람의 현지 주소 : 보통 초대받는 사람의 연구실·사무실 주소를 적는다.
- 국적
- 여권 번호와 유효기간
- 한국 내에서의 일정 : 일반적으로 예상 입국·출국 날짜를 써주면 된다. 꼭 100% 정확해야 하는 것은 아닌 것 같음.
- 학회 담당자 싸인 : 우리 경우엔 general chair인 문수복 교수님의 도장을 찍었다.
- 추가 서류 : business 목적으로 비자를 신청하는 경우 가끔 초청 기관의 사업자등록증을 요구하는 경우가 있다. 우리는 연구과제 신청용으로 가지고 있는 KAIST 사업자 등록증 스캔본을 보내주었다.
처음에는 우리 연구실이 주최했었던 PAM 2009 학회에서 썼던 양식을 그대로 썼는데, 여행 비용 지원 기관에 대한 란이 없었다. 요즘 들어 비자 주는 게 더 까다로워졌는지 몇몇 사람들이 한국대사관에서 빠꾸를 먹는 바람에 다시 써주면서 이런 것도 필요하다는 것을 알게 되었다.
비자 심사와 발급에 다소 시간이 걸리기 때문에, VISA invitation letter는 적어도 입국 전 2주 전까지는 보내주는 것이 좋다. 이번에 중국에서 논문 저자 중 한명인 어떤 교수님은 결국 비자 심사가 통과가 안 되어 입국을 못하는 사태가 발생했고, travel grant 발표가 좀 늦게 나오는 바람에 인도에서 오는 어느 학생은 연구실과 내 개인 휴대전화번호까지 알아내어 빨리 처리해달라며 실시간으로 국제전화를 하기도 했다. 학회 전주 금요일 오후(현지시간으로 대사관 직원 퇴근하기 1시간 전쯤)에 인도대사관에서 전화가 걸려와서는 travel grant를 무슨 기준으로 뽑는 것인지 등등에 대해 상세히 설명해주어야 했다.;;
등록 개시를 학회 시작 6주 전쯤 시작했는데, 처음 4주 정도는 널널했으나 마지막 2주 정도는 끊임없는 메일 때문에 낮시간에는 연속적인 집중 시간확보가 불가능했다. 아래의 민원과 합쳐서, 학회 개최 직전까지 주고받는 메일이 쓰레드로는 200개, 개별 개수로는 600통쯤 되지 않았나 싶다. 준비하는 논문이 있는 대학원생이라면 등록 업무 맡지 않는 것이 가장 좋다. (애초에 대학원생이 할 일이 아니다--시간 여유가 된다면 한번쯤 학회가 어떻게 돌아가나 경험해보는 의미는 있다. 하지만 절대 연구에 도움이 되는 짓은 아님을 말해두고 싶다. 흠... 그래도 굳이 장점을 꼽는다면 chair들과 메일을 자주 주고받게 되므로 좀더 친해질 수 있다는 거?)
카드 결제 시스템
등록 업무 중에서도 가장 중요한 것은 역시 수금(收金)이랄 수 있겠다. 예전 PAM 2009 때는 온라인 해외결제가 불가능하여 외국인들을 일일이 카드번호를 FAX로 받아두었다가 나중에 현장에서 카드결제를 하는 방식을 이용했다. 하지만 등록과정이 불편하고, 개인정보에 민감한 사람들은 카드번호 제공을 거부하는 경우도 꽤 있다는 것이 문제다. 이번에는 정보과학회에서 온라인 결제 대행업체(이쪽 업계 용어로는 payment gateway의 약자로 PG社라고 주로 부르는 듯) 2곳과 계약이 되어있다고 하여 이를 이용하게 되었다. 각 업체의 특징은 아래와 같다.
A : Windows IE 기반의 ActiveX 플러그인만 제공하지만, 해외카드의 달러화 결제가 가능하다.
B : cross-browsing 결제를 지원하지만, 해외카드 결제를 지원하지 않는다. 우리쪽 서버에 SSL 연결이 지원되어야 한다.
해외등록자들의 결제 문제 해결이 주 목적이었으므로 A를 선택했다. 하지만 거기엔 많은 문제점이 도사리고 있었다. orz
- 국내에서 해외카드 결제 받는 경우가 별로 없어서인지는 몰라도 호환이 안 되는 카드가 매우 많았다. 심지어는 똑같은 카드로 똑같은 PC에서 여러 번 재시도하는데 매번 에러메시지가 다르게 나온 경우도 있었다. MIT 모 교수님이 결제를 못하고 있는 걸 뒤늦게 발견(...)해서 식겁... 결과적으로 해외등록자의 절반 정도만이 온라인 카드결제에 성공했고, 나머지는 PAM 2009 방식의 현장결제로... ㅠㅠ
- 국내카드에서는 이른바 test mode가 지원되어 실제 결제 없이 연동 테스트가 되는데, 해외결제는 실제 해외에서 발급받은 신용카드로 실제 결제롤 시도해봐야만 100% 연동테스트가 가능하다는 문제가 있었다. 게다가 A사의 API는 test mode를 켜면 결제가 된 것처럼 작동하지만 실제로는 test mode라는 '오류 코드'가 리턴되기 때문에 성공한 경우에 대한 테스트가 되지 않았다. 그래서 초반의 해외등록자들은 본의 아니게 베타테스터가 되었다. (...)
- ActiveX만 제공된다는 것도 문제. 호주의 어느 연구소에서 오는 사람들이 좀 있었는데, 그곳은 IE 사용 금지인 환경이라 Firefox나 Chrome만 쓴다고 한다. 결국 그 중에 한 분이 교수님과 나를 수신인으로 하여 항의메일을 보내왔고, 이와 관련하여 향후 크로스브라우징 결제 시스템 구현이나 개인정보 송수신을 위해
*.kaist.ac.kr
도메인에 대한 SSL 인증서를 쓸 수 있음 좋겠다는 맥락과 마침 진행 중이던 연구실 서버 인증 통합 작업 맥락을 합쳐 썼던 내 트윗을 시발점으로 비공식적인(?) KAIST 내부 서버를 위한 SSL 인증서신청 서비스가 탄생하였다. (!) - 국내결제의 경우 대부분 문제 없었는데, 유독 서울대 모 연구실에서만 결제가 안 되어 단체로 11명이 현장결제. 결제플러그인에서 에러가 난다는데 내가 건드릴 수 없는 영역이라 어떻게 해줄 수가 없었다. 뭐랄까, 가장 "덜" ActiveX 친화적인 내 Windows 7 64bit PC에서 돌아가는 IE 9에서도 결제가 잘 되고 문제점 재현이 안 되니...;;
결론: 걍 다음부터는 (수수료 좀더 나오더라도) paypal 씁시다.
"민원" 응대하기
초반에는 VISA invitation letter 써주는 게 주를 이루지만, 후반으로 가면 별별 이메일이 다 날라온다. 대표적인 사례 몇 가지.
- 공항에서 포스터 잃어버렸어요! 한국에서 다시 인쇄하고 싶은데 가능할까요?
- 현수막 제작업체가 포스터 인쇄도 가능하다고 하여 학회 당일날 연결해줌. 베이징에 내린 60년만의 폭우로 비행기가 5시간 연착되었는데 그 와중에 포스터를 잃어버렸다고 함. (사실 나도 OSDI 2010 갈 때 아시아나 회원카드 만드는 부스에 포스터를 놓고올 뻔했던지라 뭐라 할 수가 없었다. ㅋㅋㅋㅋ ㅠㅠ)
- 나 vegetarian (lacto/ovo is ok)인데 식사 지원 되나요?
- 국제학회 준비하는 사람이라면 꼭 받게 되는 질문이 아닐까 싶다. 한국은 대표적인 "vegetarian unfriendly" 나라이므로 사실 마땅한 대처방법은 없으나, 그래도 호텔 정도 된다면 미리 몇명분은 vegetarian으로 준비해달라고 부탁을 시도해볼 수 있다. 이번 경우에 문제는, 딱 한 명만 명시적으로 이메일로 물어봐서 그 사람만 따로 고려해주면 되는 줄 알았는데, 인도에서 온 친구들 중 상당수가 알고봤더니 vegetarian이었다는 거. 혹시라도 독자 중에 이런 업무 맡는 분이 있다면 애초에 온라인 등록 화면에 옵션을 넣어두도록 하자. 참고로 lacto는 유제품 ok, ovo는 계란 종류 ok라는 뜻이며 vegetarian도 여러 등급이 있으니 주의할 것.
- 한국대사관에 이야기 잘 좀 해주세요~
- 같은 지역에서 오는 사람이고 똑같이 invitation letter를 써줘도 사람에 따라 어떤 경우는 더 까다롭게 심사하는 경우가 있는 것 같다. 중동 출신의 프랑스 유학생이었던 모 학생의 경우 주프랑스 한국대사관에 장문의 이메일을 써줘야 했고, 인도에서 오는 모 학생의 경우 주인도 한국대사관에서 직접 전화가 걸려오기도 했다.
- 홈페이지에 xxx 업데이트해주세요~
- 내 경우 홈페이지 관리를 함께 맡았기 때문에 vice chair로부터 많이 받았던 메일이다. technical program 업데이트, call for posters, submission guideline, 논문의 camera ready 버전 업로드, 슬라이드 업로드 등등의 업무가 있었다. 자체 제작한 Django 기반의 Markdown 포매팅을 지원하는 static page app을 이용해서 어렵지 않게 해결. copyright 문제로 논문 공개 시 비밀번호를 걸어달라는 요청이 있었는데, random word generator로 예측 불가능하지만 외우기는 쉬운(adj + noun) 비밀번호를 생성해서 사용하였다.
현장 세팅하기
그래도 연구실 사무원님이 실제 장소·버스 등의 각종 예약업무와 지정 숙박장소와의 커뮤니케이션 등을 맡아 해주셔서 많은 도움이 되었지만, 현장 준비는 누군가 따로 챙겨야 했다. 학회 전주 중반이 다 지나도록 아무도 이야기를 안 꺼내길래 내가 준비목록 리스트를 부왘 적어서 메일로 보냈더니 그제사 급하게 사람들이 할당되어 움직이기 시작했다.
- 자리배치 : 우리는 한 책상에 3명씩 총 8행 6열로 144명의 자리를 준비했다. 하지만 생각보다 사람이 많이 왔던 데다가 사람들이 앞자리는 잘 안 앉으려고 하는 습성(...)이 있으므로 바람에 나중에 추가로 뒤에 의자를 배치해야 했다.
- 포스터 배치 : 호암교수회관의 경우 이동식 칠판(부직포로 되어 있어 압정으로 종이 고정 가능한 것)들을 갖추고 있다. 학회장 홀 앞이나 홀 내의 빈 자리를 활용하면 된다.
- 학회장에 전원코드 설치하기 : 대여가 가능하면 좋고 아니면 직접 준비해야. 우리는 5구 24개 구입했으나 실제로는 이보다 조금 적어도 되었을 것 같다.
- 학회장 무선랜 지원 알아보기 : 호암교수회관의 경우 자체 무선랜이 있고 별도로 공유기를 설치해주는데, 자체 무선랜은 계정이 필요해서 공유기만 알려줬더니 100명이 동시접속하자 바로 먹통. 다행히 자체 무선랜 한 계정을 여러 사람이 로그인해서 써도 된다는 점을 발견하여 해결.
- 질의응답 마이크 : 내가 가본 OSDI/SOSP 모두 청중석 통로 중간에 스탠딩 마이크를 놓고 발표 끝날 때마다 사람들이 자유롭게 줄서서 질문할 수 있게 되어 있었다. 따라서 그 방식을 그대로 따랐음. 여기서는 무선마이크를 제공했는데 둘째날 첫 세션 후 마이크 배터리가 다 나가서 교체해야 하는 일이 있었으니 행사장소 staff와 항상 컨택할 수 있도록 해야 한다.
- 프로젝터는 미리미리 테스트. 노트북과 프로젝트 모두 별도로 대여. 보통 이런 학회는 각 세션마다 session chair가 발표자들을 불러서 미리 프로젝터 연동을 확인하고 문제가 있으면 chair 개인의 것 또는 행사장에서 대여한 노트북을 사용할 수 있게 준비하는 과정을 거친다.
- 발표자로서 준비할 때는 슬라이드에 파스텔톤 색깔을 가급적 쓰지 않는 것이 좋다. 프로젝터가 최신 DLP 타입이 아니라면 대개의 경우 색상이 많이 죽는다.
- 등록데스크 준비 : 등록자 명찰 준비하는 게 손이 많이 가는 작업이다. 이번엔 아이디어를 좀 써서 식사 티켓과 일정표를 뒷면에 붙여주었다. 정보과학회에서 현장결제 지원 나오시는 분께 등록자 목록도 잘 정리해서 드려야 한다. (잘못하면 첫날 아침에 그분이 멘붕하는 수가 있다)
- 식사 티켓 확인 : 식사장소에서 인원 확인해준다고는 하지만, 나중에 정확한 정산을 위해서 귀찮더라도 별도로 티켓을 받아두는 것이 좋다. 이번에도 첫째날 점심 때 예상보다 사람이 많아 뷔페 인원수를 급히 늘렸는데, 우리가 세어본 바로는 142명인가가 먹었는데 뷔페 측은 160명쯤 되는 거 아니냐라고 해서 역시 확인해두길 잘했다는 생각을 했다. 뷔페는 대개 실제 먹은 인원수가 아니라 미리 계약한 인원수만큼 돈을 내게 되어있지만 그래도 행여나 딴소리 못하게 막는 수단이 된다. 리셉션과 포스터세션의 경우 별도 음료수 쿠폰을 제공하여 역시 먹은 개수만큼만 정산하기로 한 상태다.
- 사실 이번에 예산 계획 세울 때 국내의 학회 상부상조 관행에 따라 국내등록자들 중 상당수는 등록만 하고 실제로 참가는 안 하는 사람이 많을 것으로 예상하여 식사 인원수를 등록 인원수의 70% 선으로 잡았는데, 거의 빠지지 않고 다 와주시는 바람에(...) 좀 모자랐다. 쉬는 시간의 커피와 다과도 꽤 모자랐음. 식사는 보통 당일에 10~20% 정도 인원수를 늘릴 수 있지만 사전에 정확히 파악하고 있는 것이 좋다. 게다가 이번엔 온라인 등록 없이 현장에서 바로 등록한 경우도 30명 가까이 되어 더욱 예측이 힘들었다.