(1/n)“학”
전북대학교 컴퓨터공학부 이문근 교수
지금까지 10개의 담론을 게시했다.
이중 4개가 교수의 이기“학”의 관점에서 논하다 보니,
좀 지루한 감이 있어,
원래의 취지인,
“학”의 관점으로 되돌아가,
담론을 계속하고 자 한다.
이 단론에서의 1/n“학”에 대해 논한다.
1. 들어가는 글
일반적으로,
독재적인 권력은 중앙집중적이며,
민주적인 권력은 지방분권적이다.
이는, 필자가 주장하는,
독재적인 교육은 중앙집중적이며,
민주적인 교육은 지방분권적이라는 말과 같고,
그래서,
독재적인 교육은 획일적이고,
민주적인 교육은 다양해진다는 말과 같다.
이번 담론에서는,
우리 대학이 처한, 중앙집권적 교육의 한 예를 다루어 보고자 한다.
2. 1997년 자연대 컴과: Spark Machine
필자는 1996년 우리 대학에 부임했다.
처음,
한국에서 대학을 경험한 적이 없어서,
우리 대학의 생활은 모든 것이 낯설었고,
우리 대학의 교육 환경은, 필자가 경험한 미국의 대학과 자주 비교가 되었다.
특히, 열악한 전산 환경은 정상적인 컴과 수업을 진행하기가 어려울 정도였다.
이러던 중, 아마도, 그 다음 해인 1997년경에,
정부의 외국 차관(?)에 의해서 수입된 교육 기자재 중,
2대의 Spark Machine, 즉 Unix 계열의 Work Station이 컴과에 배정되었다.
아마도, 필자의 기억에, 당시 1대의 가격이 1억대를 웃도는 고가의 장비였다.
필장의 입장에서 볼 때,
이는 가뭄의 단비와 같았다.
즉,
컴과의 수업에서 요구되는 실습을 수행할 수 있는 최적의 Work Station이 나타난 것이었다.
하지만,
Spark Machine이 학부에 도착한 첫날,
필자의 기대는 산산조각이 나고 말았다.
왜냐하면,
2대의 Spark Machine을, 당시 같은 과의 원로 교수 였던, 두 분이,
자신들의 실험실로 하나씩 나누어 가졌기 때문이었고,
필자는 이 Spark Machine을 전공의 실습용으로 사용할 수 없었기 때문이었다.
당시, 교육용 공공 기자재가,
원로 교수 실험실의 실험용 기자재로 둔갑한 것도 이상했지만,
그러한 기자재를 학부생들이 실습을 위해서 사용할 수 없다는 것은 더 이상했다.
하여튼,
복잡한(!) 과정을 통해서,
1대의 Machine는 서버(Server)실에 보관 및 관리를 하기로 하였고,
다른 1대의 Machine은 그 원로교수의 실험실에서 보관 및 관리하는 조건으로;
다음과 같이,
본격적으로 학생들에게 실습을 하기 위한 준비를 시작할 수 있었다.
첫 번째,
(정확히 기억은 나지 않지만)
2대의 Spark Machine의 이름을 각각 (건지산의) 건지와 (모악산의) 모악이라고 명명하고,
이 서버에 모든 학생들의 계정(Account)를 만들고,
적절한 Disk Space, 즉 Quota를 할당해 주었다.
두 번째,
Account를 가진 학생들에게,
E-Mail과 Homepage를 제공했다.
세 번째,
Machine을 사용하기 위한 Unix 교육을 기본적으로 시켰다.
그리고, 난 다음,
이 건지와 모악 서버를 통해서,
각 언어, 즉 C와 C++ 등의 언어를 포함해서,
Unix 운영체제(OS: Operating Systems)를 위한 Unix Programming,
나아가,
TCP/IP에 기반을 둔 Network Programming 등의 실습을 수행할 수 있었다.
이 파급 효과는 대단했다.
학생들이 그 비좁은 실험실에서 넘쳐나기 시작했다.
학생들이 곳곳에서,
서버에서 수행하는 과제에 대해 삼삼오오 토론을 하는 모습은 흔한 풍경이 되었다.
또한, 학생들이 과제를 수행하다가 궁금한 점이 있으면,
연구실로 찾아오는 것도 빈번했다.
심지어는,
당시 홈페이지라는 개념이 한국에 막 소개되던 시기여서,
한 여학생은 KAIST의 학부생과 Homepage를 통해서 알게 되었고,
이후, 몇 년의 연애 끝에 결혼한 경우도 있었다.
당시,
한국의 IMF에 의한 구조조정이 극에 달하는 상황이었음에도 불구하고,
2~3년의 이러한 실습과 개발 과정을 거친 학생들이
서울에서 기대 이상으로 직장을 구하는 것을 목격하게 되었다.
해마다, 년초가 되면,
서울에 직장을 잡았다는 제자들이 찾아와서,
의기양양한 모습으로, 자신을 자랑하던 모습에 나름 보람을 느끼기도 했었다.
특히, 제자들이,
자신들이 직장을 잡을 수 있었던 가장 큰 이유 중의 하나는,
바로,
Spark Machine의 Unix 환경에서 수행했던 과제들이었고,
직장에서 수행하는 업무도 이의 연장선상에 이루어지는 일들이라고 했을 때는,
필자의 보람은,
Spark Machine을 원로 교수들로부터 교육을 위해서 회수해 오는 과정에서 겪었던
불안(?)과 불편(?)은 감수할만 한 것이었다고,
나름 자신을 위로해 보기도 했었다.
필자는, 전공 수업을 진행하면서, 학생들에게 이런 자신감을 심어주기 위해 노력했었다.
“여러분들은 KIAST 학생들보다 뛰어난 능력을 가질 수 있습니다.”
“여러분들이 지금 배우고 있는 것은, KAIST 학생들도 따라 올 수 없는 정도의 수준입니다.”
“여러분들이 서울에서 직장을 잡으면, KAIST 학생들 이상의 업무를 수행할 수 있습니다.”
그리고, 당시, 실질적으로,
그 수준 이상의 교육과 실습을 수행했다고, 필자는 자신있게 말할 수 있다.
그 연장선상에서,
제자들이 근무하는 직장에서,
제자들의 상관들이,
학과사무실에 전화를 해서,
예비졸업자들을 추천해달라고 했었다고,
당시 조교선생이 자랑스럽게 이야기를 하는 것을 듣을 때, 교육자로서의 자부심을 느끼곤 했었다.
3. 미국 대학의 전산 관리 방법
필자는 운이 좋아
최초의 컴퓨터인 ENIAC을 만든 대학교의 대학원에 진학하게 되었다.
UPenn의 경영대학원을 Wharton School이라고 하듯이,
ENIAC을 만든 대학을 Moore School이라고 했다.
이 대학에 진학하게 되었을 때, 가장 인상적인 것 중의 하나는,
학생들에게 Gradient라고 하는 서버의 Account를 제공하는 것이었다.
그리고, 모든 수업의 모든 과제는 이 서버를 통해서 이루어졌다.
학부때, IBM 서버를 통해서, Unix를 접했고,
Unix의 TCP/IP를 통해서, 병렬 프로그램 (Concurrent Program)을 과제로 수행한 바가 있어,
Gradient 서버를 큰 문제없이 사용할 수는 있었지만,
하나의 서버를 통해서,
수행하는 과제가, 사용자 이상의 준-관리자의 입장에서 Unix의 전문가가 되어야 한다는 것은, 결코, 쉬운 일은 아니었다.
심지어,
Unix에서의 Script 코딩과,
관리자(Admin) 입장에서의 Unix에 대한 이해는,
효율적인 서버 활용 뿐만 아니라,
서버 내의 필자 자신의 자료에 대한 안전을 위해서, 필수적이었다.
그리고,
나중에 필자가 석사 후에 근무하던 직장에서 필요했던,
가장 기본적인 지식이 바로,
이러한 Unix에 대한 지식이었고,
이러한 Unix에 대한 지식 없이는,
다음 단계의 DEC의 Vax OS에 대한 지식을 습득하기도 어려웠다.
당시, 학생의 입장에서 바라보는,
대학원에서의 전산 관리는 매우 체계적이었다.
대학교는 자체적인 전산실을 가지고 있었다.
당시 세계 최고의 슈퍼컴 중의 하나라고 하는,
Thinking Machine의 Connection Machine도 전산소의 한 부서에서 관리하고 있었다.
필자는 당시, 석사논문으로,
이 Connection Machine을 활용한
EPL 등식언어(Equationa Language)의 병렬 컴파일러를 위한 분석 방법을 제안한 바는 있었지만,
이 Machine을 직접 사용한 바는 없었다.
그 이유는,
이 기계를 사용하려고,
사용한 시간만큼의 비용을 지불해야 했는데,
당시, 필자가,
학교의 연구원이나, 지도교수의 경제적인 지원이 없는 상태여서,
이 Machine을 사용하는 것은 무리일 수밖에 없었기 때문이었다.
하여튼, 대학교는 자체적인 전산소를 운영하고 있었다.
하지만, 특이한 점은,
각 단과 대학은 그 단과 대학에서 관리하는 전산소가 있었고,
각 전공은 그 전공에서 관리하는 전산소가 있었다.
즉,
필자가 속한,
School of Engineering and Applied Science 대학에는 그 대학의 전산소가 있었고,
필자가 속한,
Computer and Information Science 과에는 그 과에 해당하는 전산소가 있었다.
학과에 소속된 전산소는,
당연히 위계상, 대학에 소속이 되어 있지만,
기본적으로,
학부와 대학원의 모든 공용 및 실험실의 컴퓨터와 네트워크, 소프트웨어 및 시스템은,
전공 전산소에서 모두 관리했다.
만약 어떤 교수나 실험실에서 서버나 시스템을 구입하면,
기본적으로, 학과에 소속된 전산소에서 직접 그 서버와 시스템을 관리했다.
특정한 실험실의 경우,
자체적인 관리인을 고용을 해서 관리를 할 수도 있겠지만,
기본적으로, 교육과 연구를 위해서 구입한 모든 컴퓨터와 시스템은,
이 전산소의 관리인이 책임을 지고 관리를 하는 것을 원칙으로 했다.
만약 컴퓨터와 시스템에 문제가 있으면,
관리인이 바로 와서 문제를 해결해 주었다.
교수와 학생들은,
매뉴얼(Manual)대로,
그 컴퓨터와 시스템,
즉 여기에 설치가 되어 있는,
교육과 연구를 위한 SW를 잘 사용하기만 하면 되었지,
불필요하게,
해당 SW가 설치되어 있는,
Hardware나 OS나 시스템을 모두 이해해야 할 필요는 없었다.
이런 점은,
우리 대학과 비교를 해 보았을 때,
이러한 전산소의 관리 서비스가 없기 때문에,
실험실의 대학원 학생들이,
거의 컴퓨터와 시스템을 운영하기 위한 만능인이 되어야 하는 상황과 비교가 된다.
하여튼, 이 외에도,
Moore School의 전산 관리 체계에는 또 다른 여러 특이한 점을 확인할 수 있었다.
첫 번째는,
전산 관리자가 전공 교수 회의에 참석하여,
전공의 교육 및 연구를 위한 컴퓨터와 시스템에 대한 관리 및 사용 방법을 꾸준히 제공한다는 점이었다.
즉, 학과의 전산시스템에 대한 결정권도 가지고 있었다는 점이었다.
두 번째는,
(가장 중요한 점일 수도 있겠지만)
전산 관리자의 연봉이 교수의 연봉보다 높았다는 점이었다.
필자는, 1996년 임용 후,
우리 대학교 전산소의 역할을 자주 접하게 되었다.
단적으로 말하자면, 우리 대학교 전산소는 중앙집권적이다.
공대에는 공대만의 전산소가 없다.
각 학부에는, 더욱 더, 전산소가 있을 이유도 근거도 없다.
연구실이나 실험실 컴퓨터에 문제가 생기면, 거의 자체적으로 해결을 해야 한다.
전산소의 업무는,
교내 전산망 관리,
학교 메일 서버 및 교내 대학 소속 서버들 관리 및 운영,
교내 실험실 서버의 IP 및 권한 관리 등이다.
그리고, 아마도, 전산소가 관리하는 가장 심각한 문제는,
Network Traffic이나, Mail Server 문제나, 학교 망과 서버의 안전일 것이다.
하지만, 사실, 어떤 면에서, 학교의 통신망도,
통신망 회사들에 의해서 사실 다 구축되고 관리된다고 봐도 무리가 없다.
학기 초나 입학 시기나, 요즘 같은, 비대면 수업 때를 보면,
우리 대학의 전산망의 문제점에 많은 문제점이 있음을 확인할 수 있다.
그런데도, 어떤 면에서,
이런 전산“권”을 각 대학이나 학부에 이전하지 않고,
중앙집권적으로 대학전산소가 모두 통제하는 것을 보면,
나누어서 해결할 수 있는 문제들을,
모아서, 더 큰 문제로 만들고 있는 것은 아닌가 하는 생각이 들기도 한다.
하여튼, Moore School에서의 경험은,
우리 대학의 전산 정책과 제도를 객관적으로 평가할 수 있는 기회를 만들어 주었다.
추후에, 기회가 되면, 다른 담론에서,
전문가의 입장에서, 이에 대한 문제점들을 상세히 논할 기회가 있으면 좋겠다.
4. 전자정보공학의 전산정책
필자가 이전 담론에서 여러 번 거론한 바와 같이,
자연대의 컴과가 공대의 전자정보공학부로 통합되었고,
이를 위한 BK21사업이 수행되었다.
필자는, 당시,
사업단 실행위원회 기초산학팀에서 업무를 수행하고 있었다.
당시, 기초산학팀에는,
34명의 교수와 420명의 학부 학생들을 위한 전산시스템 구축에 대한 논의가 있었다.
필자는,
미국에서의 경험과
자연대 컴과에서 수행한 바 있는,
Spark 계열의 서버들과 이들을 연결하기 위한 NFS를 제안했고,
이를 위해,
사업단에서 전문 전산관리인을 고용하자고 제안을 했다.
특히, 이렇게 할 경우,
컴과에 수행한 바와 같이,
1) n대의 Spark Machine을 학부를 상징하는 이름들로 명명하고,
2) 이를 NFS로 묶어,
3) 서버에 모든 학생들의 Account를 만들어, Quota를 할당해 주며,
4) 학부 고유의 E-Mail과 Homepage를 제공하고,
5) 학생들에게 Spark 용 Unix 교육을 의무화하며,
6-1) 서버에서 각 언어, 즉 C와 C++ 등의 언어를 포함해서,
6-2) Unix OS를 위한 Unix Programming,
6-3) TCP/IP에 기반을 둔 Network Programming 등의 실습을 수행할 수 있을 뿐만 아니라,
6-4) 각 전공에서 요구되는 다양한 Package들을 설치해서 각 전공 학생들이 전공에 해당하는 실습을 수행할 수 있다고 했다.
특히, 사업단의 예산으로,
그리고 목적에 부응하게,
7) 전문 전산관리자를 고용하자고 했다.
그런데, 기초산학팀에서는,
이런 Work Station 급의 서버나 학부 전용 전산소에 대한 생각은 조금도 없었다.
필자를 제외한, 기초산학팀의 다른 교수들은,
PC로 사업단의 모든 교육과 실습을 수행할 수 있다고 했다.
“세상에, PC라니!”
당시, 필자는 너무 어이가 없어서,
사업단장을 찾아가서,
서버의 중요성과 전산소의 중요성을 강조하며,
학부생들의 교육 및 실습을 위해서, 절대적으로, 혁신적인 결정을 해야 한다고 주장했다.
하지만, 말, 한마디, 먹히지, 않았다!
사실 당연히 해야 할 일들을,
각 전공별로 예산을 1/n로 나누거나,
실습실을 PC들로만 가득 채워 놓고,
그것도,
학부의 동아리나 대학원생들을 동원해서, 관리하는 정도의 사업단이라면,
사실, 필자가,
학생들의 학습권을 위하여,
관련 교수들과 논쟁을 벌이는 것이,
과연 어떤 의의가 있는지, 스스로, 의문을 가지는 것은,
결코, 우연은 아니었을 것이다.
아마도, 사업단장과의 회의가, 사실상, 사업단과의 마지막 관계였다.
이후, 필자는 사업단에서 더 이상 일을 하지 않았다.
(사업단에 대해서, 할 말이 많으나, 이 담론에서는 이 정도만 하겠습니다.
기회가 되면, 다른 담론에서 더 자세히 논할 수 있을 것이라고 생각합니다.)
5. 나가는 글
필자는 능력이 없어서, 연구 과제도 없다.
하여, 가끔, 조달청과 같은 기관에서 전문평가위원으로 활동을 하곤 한다.
그러다 보면, 정부나 기관의 다양한 최신 IT 시스템을 접하게 된다.
심사 과정에서,
이러한 시스템의 Architecture를 구성하는, 핵심 서버들이, 주로 Unix 계열임을 확인하게 된다.
만약, 20여년 전에,
전자정보공학부에서,
Spark 계열의 서버들을 중심으로
학부 전산소를 구축하고
전문 관리인을 두어,
1) n대의 Spark Machine을 학부를 상징하는 이름으로 명명하고,
2) 이를 NFS로 묶고,
3) 서버에 모든 학생들의 Account를 만들어, Quota를 할당해 주며,
4) 학부 고유의 E-Mail과 Homepage를 제공하고,
5) 학생들에게 Spark 용 Unix 교육을 의무화하며,
6-1) 서버에서 각 언어, 즉 C와 C++ 등의 언어를 포함해서,
6-2) Unix OS를 위한 Unix Programming,
6-3) TCP/IP에 기반을 둔 Network Programming 등의 실습을 수행할 수 있을 뿐만 아니라,
6-4) 각 전공에서 요구되는 다양한 Package들을 설치해서 각 전공 학생들이 전공에 해당하는 실습을 수행했었다면,
이후,
이러한 전산환경에서 교육과 실습을 한 후에, 졸업했었을,
많은 학부학생들의 미래가,
좀 더 도전적이고, 더 전문화되었을 것이라는 생각이 드는 것은,
단순히, 필자만이 아니기를 진심으로 바랄 뿐이다.
(2022/4/29; 금)