본문 바로가기

글로벌 네트워크

라즈베리 파이 클러스터, 두 번째 이야기

안녕하세요? 드디어(?) 비가 엄청나게 내리고 있습니다. 비 피해가 없을 만큼만 와야 할 텐데, 벌써 걱정이네요. 오늘은 지난 글에 이어 라즈베리 파이로 구현한 클러스터의 두 번째 이야기입니다.


서른네 번째 이야기: 라즈베리 파이 클러스터
작성일: 2013년 7월 2일
작성자: 배장열

=====================================================================================================
우선 다음은 우리가 구현할 클러스터의 유튜브 동영상입니다. 지난 글에서 소개했던 것입니다.


지금은 두 대로 클러스터를 구현하지만, 같은 방법을 적용하여 64대로 늘어난 것입니다.

준비 단계는 지난 글에서 간단하게 말씀드렸습니다. 오늘은 나머지 과정, 즉 MPI를 빌드하고, 다른 노드로 복제한 뒤, SSH를 사용하는 단계입니다.

원문(http://www.southampton.ac.uk/~sjc/raspberrypi/pi_supercomputer_southampton_web.pdf)에서는 8번부터 시작하는 과정입니다. 간단히 요약하면, 일단 패키지 리스트를 업데이트한 뒤, 프로그래밍에 필요한 언어인 포트란을 설치합니다. 주의사항을 정독하고, mpi가 담길 디렉터리를 만듭니다. 이 디렉터리에 mpi 소스를 다운로드하고 압축 파일을 풉니다. 설치용 디렉터리와 빌드용 디렉터리를 따로 만들어 작업하는 것이 여러모로 수월해진다고 하니 참고하시기 바랍니다. 그다음에는 mpi를 설정하고, 필요한 파일들을 설치합니다. mpi를 경로에 추가한 뒤, 간단히 설치 여부를 확인하고, 테스트도 합니다. 이상이 없다면 이 원본 SD 카드를 복사해야겠지요?

이제 다른 노드로 복제할 단계입니다. 라즈베리 파이를 종료한 뒤, SD 카드를 다른 데스크톱 PC나 맥 등에서 이미지 복사를 합니다. Windows PC에서라면 라즈비안 위지 이미지를 복사했던 프로그램으로 하실 수 있습니다.

지금까지 진행한 내용이 서버 클러스터를 구현하는 기본 골격입니다. SSH를 사용하는 마지막 단계는 간단하게 설정만 하는 과정이라 크게 신경 쓸 부분은 아닙니다. 원문(http://www.southampton.ac.uk/~sjc/raspberrypi/pi_supercomputer_southampton_web.pdf)의 설명대로 따라 하시면 되겠죠? 다만, 여러분이 사용하는 IP 주소로 바꿔 입력해야 하는 것만 놓치지 않으면 됩니다.

이쯤 해서 라즈베리 파이 클러스터의 핵심이라고 할 수 있는 MPI에 대해 간략하게 말씀드리겠습니다. MPI는 메시지 전달 인터페이스(Message Passing Interface)를 줄인 말로서, 분산 처리, 병렬 처리의 통신 표준 기술입니다. 병렬 처리에서 정보를 교환할 때 필요한 기본적인 기능들과 문법, 그리고 프로그래밍 API 에 대해 거시적인 테두리를 정해 주는 일종의 표준 라이브러리가 MPI인 것이죠(출처: 위키백과). 요즘 빅 데이터가 대세로 떠오르고 있는데, 이와 관련하여 기계 학습, 자연어 처리, 분산병렬 컴퓨팅 등 관련 기술이나 응용 분야가 함께 주목을 받고 있습니다. 이에 발맞춰 제이펍에서도 얼마 전 <머신러닝 인 액션>이라는 기계 학습 서적을 출간했습니다. 많은 관심 부탁드립니다.

pdf 원문을 여기에서 일일이 설명 드리기는 곤란하고요. 직접 한번 따라해 보시면 그리 어렵지 않게 슈퍼컴퓨터를 구현하실 수 있습니다. 물론 라즈베리 파이가 두 개는 있어야 하겠죠? 일단 구현부터 해보시고 관련 개념과 지식을 쌓는 것도 좋은 접근법이라고 생각합니다. 오늘은 여기까지입니다. 읽어주셔서 고맙습니다.
=====================================================================================================