Skip to content

기글하드웨어기글하드웨어

인터넷 / 소프트웨어 : 윈도우즈, 리눅스, 기타 운영체제, 각종 어플리케이션, 프로그램, 소프트웨어, 인터넷, 인터넷 서비스에 대한 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

Extra Form
참고/링크 https://gigglehd.com/gg/6999694

※ 주의사항

이 매뉴얼을 부주의하게 따라했다가 발생하는 어떠한 피해도 저는 책임질 수 없습니다. 이 매뉴얼의 전체 내용은 오직 방열판과 쿨링판이 장착된 라즈베리 파이 4 모델 B 메모리 4GB 제품에서만 테스트되었습니다. 방열판 등 적절한 쿨링 대책이 없는 상태에서 CPU에 장시간 부하를 주는 것은 결코 권장할 수 없습니다. 또, 이 매뉴얼을 통해 실행하는 연산은 상당히 많은 메모리와 SD카드 용량을 점유합니다. 이 매뉴얼을 실행한 결과는 긍정적인 것도 부정적인 것도 모두 스스로 책임지는 것입니다. 또한, 이하 내용은 라즈베리 파이와 리눅스 등을 어느 정도라도 이미 만져본 사람이 읽는 것을 상정하고 서술했습니다. 따라서 기초적인 부분은 그냥 생략하고 넘어갈 수 있다는 점을 양해해 주십시오. 이 매뉴얼에서 설명한 프로젝트에 참여하기 위해서는 64비트 플랫폼이 필수적이므로, 이 문서의 내용은 모두 64비트 기준으로 작성되었습니다.

신종 코로나바이러스가 미쳐 날뛰는 이 시국에, 인류의 모든 파워를 한데 모아 원기옥으로 역병을 한 방에 물리칠 수 있으면 얼마나 좋을까요? 안타깝게도 역병을 직접 물리치는 원기옥 같은 건 이 세상에 존재하지 않습니다만, 전염병과 싸우는 과학자들을 간접적으로 도우는 원기옥은 실제로 존재합니다.
 

단백질이란 지구상의 모든 생물을 구성하는 고분자 유기물질로, 이는 온전한 생물로서 인정받지 못하는 기생 나노입자인 바이러스 또한 마찬가지입니다. 과장 좀 덧붙여서 단백질 속에 생명의 모든 신비가 녹아 있다 해도 과언이 아니죠. 하지만 이를 분석하는 것은 대단히 까다로운 일입니다. 사실, 단순한 분자를 시뮬레이션하는 것만으로도 엄청난 컴퓨팅 파워가 필요합니다. 하물며 거대한 생체분자인 단백질은 어떻겠습니까.
 

하지만 지금 전세계를 덮친 신종 코로나바이러스와 싸우려면 어쨌거나 이 바이러스가 가진 단백질을 분석하여 이 녀석과 효과적으로 결합할 수 있는 분자를 찾아내는 것이 필요합니다. 이는 신약이나 백신 개발에 중요한 단서가 될 수 있지요. 이러한 시뮬레이션에 필요한 연산능력을 원기옥처럼 십시일반으로 모으자는 것이 바로 Rosetta@home 프로젝트입니다.
 

프로젝트 이름에 ‘@home’이라는 게 붙은 것은 이 프로젝트가 BOINC라는 분산 컴퓨팅 플랫폼에 기반하고 있기 때문입니다. 혼자서 풀려면 슈퍼컴퓨터로도 답이 안 나올 문제를 최대한 잘게 쪼개어 여러 사람의 컴퓨터가 나누어 풀도록 하는 것이 바로 BOINC 플랫폼입니다. 하지만 BOINC 자체는 플랫폼일 뿐이고, 연산 프로그램 자체는 각 프로젝트에서 자체적으로 개발한 것입니다. 대다수의 @home 프로젝트는 x86 프로세서를 사용하는 개인용 PC를 대상으로 개발되었기 때문에, ARM 아키텍쳐를 쓰는 라즈베리 파이나 스마트폰 등과는 큰 인연이 없었습니다. 그러나, 최근 들어서 ARM 아키텍쳐를 함께 지원하는 @home 프로젝트가 점차 늘고 있는데 Rosetta@home도 거기에 동참했지요.
 

Rosetta@home을 라즈베리 파이에서도 돌릴 수 있다는 뉴스를 여기서 봤는데, 정작 구체적인 설치나 실행 방법 같은 것은 무슨 1시간이 넘는 동영상 1개밖에 자료가 없더군요. 뉴스의 영문 원문을 뒤져봤지만, 거기에도 자세한 문서화는 나중에 하겠다는 말밖에 없었습니다. 누가 외국인 둘이서 별 재미없는 말이나 하는 이해도 잘 안 되는 동영상을 1시간 넘게 진득하게 보겠습니까. 그래서 동영상 보기는 일치감치 때려치우고, 공개된 정보를 조합해서 직접 놀고 있는 제 라즈베리 파이 4B에서 이걸 돌려보기로 했습니다. 밤잠이 안 와서 슬금슬금 하다 보니, 어느 순간 되겠다 싶더니만 정말로 잘 돌아가더라고요. 사실 문서 찾기만 힘들다 뿐이지, 방법 자체는 어려운 것이 없었습니다. 그래서 안 그래도 부족한 한국어 문서를 보충하는 의미로 직접 매뉴얼을 작성합니다.
 

시놉시스 :

  1. 라즈베리 파이 4B에 우분투 리눅스 서버 버전을 설치한다.
  2. 우분투 리눅스에 Docker를 설치하고 설정한다.
  3. Docker를 통해 boinc-client:arm64v8 이미지의 컨테이너를 띄운다.
  4. 라즈베리 파이 외부에서 BOINC Manager를 실행하여 라즈베리 파이로 접속한다.
  5. BOINC Manager에서 Rosetta@home을 라즈베리 파이에 실행시킨다.

알 거 아시는 분들은 위 내용만 봐도 대충 어떤 식으로 하면 되겠구나 하는 것을 느끼실 겁니다. 진짜 이 시놉시스만 찾으니까 끝이더라고요. 저는 기존에 BOINC 프로젝트 경험이 없어서 조금 헤매었지만, 이것도 경험이 있으셨던 분들이라면 헤맬 필요도 없었을 겁니다.
 

Docker를 쓰는 것에 대해 조금 부연설명을 하겠습니다. 사실 이 작업은 Docker를 쓰지 않고도 할 수 있는 일이긴 합니다만, 개인적으로는 Docker를 쓰는 편이 좀 더 깔끔하게 느껴지더라고요. 혹시 Docker를 안 쓰고 BOINC를 직접 리눅스에 바로 설치하여 돌려보신 분이 계실지 모르겠는데, 제가 직접 그렇게 해 봤더니 뭔가 설정하는 게 좀 까다롭고 의도대로 잘 안 되는 것이 많았습니다. 그런데 Docker를 적용하니 그런 문제가 모두 사라지더군요. 또한 이렇게 하면, 이 글이 라즈베리 파이에 Docker를 설치하려는 사람에게도 도움이 될 수 있다는 장점이 있습니다. Rosetta@home 자체는 리소스를 꽤나 잡아먹기 때문에 라즈베리 파이 4B 모델이 아니면 돌리기 힘들 것 같지만, Docker 자체는 그보다 사양이 낮아도 설치할 수는 있으니까요.
 

혹시나 Docker를 통해서 연산을 돌리면 성능이 떨어지지나 않을까 걱정하시는 분도 계실 것 같은데, 리눅스 환경에서 Docker 컨테이너가 돌아갈 때는 어떠한 가상화 기술도 작동하지 않습니다. 오직 Docker를 Windows나 macOS에서 사용하려고 할 때만 가상머신이 돌아가는데, 이는 Docker가 기본적으로 리눅스에서 제공하는 각종 기능에 깊이 의존하고 있으므로 가상머신 안에서라도 리눅스를 띄워야 하기 때문입니다. 기술적으로 봤을 때, 리눅스 안의 Docker 컨테이너는 다른 일반 리눅스 프로세스와 완전히 똑같습니다. 따라서 네이티브 리눅스 환경에서 Docker를 사용한다면, 가상화 오버헤드에 의한 연산능력 저하는 사실상 없습니다.
 

Docker가 가상화를 쓰지 않는다는 것은 성능상으로는 장점이지만, 신경써야 할 부분도 있습니다. 원하는 애플리케이션의 이미지를 Docker Hub에서 끌어다 올 때 CPU 아키텍쳐가 맞는지 신경써야 한다는 것이지요. 이걸 신경쓰지 않고 기본값으로 된 이미지를 끌어다 오면, x86용으로 컴파일된 바이너리가 ARM 아키텍쳐인 라즈베리 파이에서 돌아갈 리가 없으니 컨테이너가 제대로 실행이 안 되어 무한재시작하는 현상이 발생합니다. 뭐, 이 정도는 Docker 써보신 경험이 있는 분이라면 다들 아시리라 믿습니다.
 

그러면 준비물부터 확인해보도록 하죠.
 

하드웨어 준비물 :

  • 방열판 등이 갖춰진 라즈베리 파이 4B 4GB 모델
  • 최소 16GB 이상의 용량을 지닌 microSD
  • 라즈베리 파이에 지속적으로 전원 공급을 해줄 어댑터
  • 인터넷 접속 회선, 인터넷 공유기, 랜선
  • microSD를 PC에서 읽고 쓰게 해줄 리더기
  • 라즈베리 파이를 외부에서 조작할 PC (운영체제는 Windows, Linux, macOS 중 하나)

하드웨어 준비물은 라즈베리 파이 보유자라면 사실상 누구나 다 가지고 있을 만한 내용이군요. 라즈베리 파이 자체와 SD카드 용량 정도만 확인하고 넘어가도록 합시다.
 

소프트웨어 준비물 :

  • 라즈베리 파이 4를 위한 64비트 우분투 리눅스 이미지
    https://ubuntu.com/download/raspberry-pi
    저는 우분투 리눅스를 라즈베리 파이 4에 설치하기로 결정했습니다. 이왕이면 현재의 최신 LTS 버전인 20.04로요. 사실 그 이전 버전에서도 안 될 것은 없을 것 같지만, 직접 해보지는 않았습니다. 참고로 다른 리눅스나 32비트 버전은 이 매뉴얼에서 다루는 범위를 벗어나므로, 추후 진행을 보장할 수 없습니다.
     
  • 리눅스 이미지를 SD카드에 기록할 수 있는 소프트웨어
    https://www.balena.io/etcher/
    저는 Balena Etcher를 선택했습니다. 쓰기 편하고, 멀티플랫폼 지원이라 OS를 안 가려서 좋거든요. 굳이 다른 소프트웨어를 사용한다고 해도 말리지는 않겠습니다.
     
  • SSH 접속을 위한 클라이언트
    https://www.putty.org/
    Linux나 macOS라면 따로 구할 필요 없이 기본적으로 내장되어 있는 것이 SSH 클라이언트입니다만, Windows는 그렇지가 않지요. 최신 윈도우 10에서는 [선택적 기능 추가]를 통해 명령행에서 사용할 수 있는 SSH 클라이언트를 설치할 수 있다지만, 어쨌거나 기존에 쓰던 게 없으면 준비를 해야 한다는 건 변하지가 않습니다. 제가 윈도우에서 작업한다면 예전부터 쓰던 PuTTY를 쓸 것 같군요. 여기서 SSH 클라이언트 사용법까지 일일히 설명하지는 않겠습니다.
     
  • BOINC 소프트웨어
    http://boinc.berkeley.edu/download.php
    지금 우리가 하려는 것은 BOINC 기반 연산작업을 라즈베리 파이에서 돌리려는 것이지만, 이걸 제어할 PC에도 BOINC 소프트웨어를 설치하긴 해야 합니다. 여기에 포함되어 있는 [BOINC Manager]를 통해서 작업 지령을 내리는 것이거든요. 참고로 macOS 환경에서 brew를 쓰신다면 이것도 brew cask로 설치됩니다.

준비물이 모두 모였으면, 이제 시작해보도록 하지요. 자잘한 건 생략하고 넘어갑니다.

  1. 맨 먼저, 공유기 관리자 페이지에 접속해서 라즈베리 파이의 내부 IP 주소를 수동으로 고정 설정해 줍니다. 이는 추후 라즈베리 파이에 원격으로 편리하게 접속하기 위한 것입니다. 저는 라즈베리 파이의 IP 주소를 192.168.0.200으로 고정해뒀습니다. 이 IP 주소는 이제 라즈베리 파이를 가리킵니다.
     
  2. 준비한 라즈베리 파이용 64비트 우분투 리눅스 이미지를 microSD에 플래싱합니다. 이 과정이야 라즈베리 파이 가지신 분이라면 다들 한번쯤 해보셨을 테니 자세한 설명은 생략합니다.
     
  3. 플래싱을 마친 microSD를 라즈베리 파이에 넣고, 랜선을 통해 라즈베리 파이와 공유기를 연결시킨 다음 전원을 꽂아 부팅을 시킵니다. 모든 것이 잘 되었다면, 라즈베리 파이를 하드웨어적으로 만질 일은 더 없을 것입니다. 방열판과 냉각팬도 문제 없는지 봐 주는 게 좋겠죠?
     
  4. 이제 외부에서 조작할 차례입니다. SSH로 라즈베리 파이에 접속해 봅시다. 캐노니컬에서 받은 우분투 리눅스 이미지의 초기 계정명은 ubuntu, 패스워드도 ubuntu입니다. 제가 접속할 주소는 192.168.0.200이니까, 리눅스나 macOS에서 터미널을 사용한다면 다음과 같은 명령어로 접속할 수 있겠죠. 첫 접속이라고 키 저장할까 물어보는 것은 알아서 합시다. 이전에 같은 IP 주소로 라즈베리 파이에 SSH 접속한 적이 있으면 에러가 날 수도 있는데, 알아서 ~/.ssh/known_hosts 파일에서 해당 부분을 지워줍니다. 윈도우에서 PuTTY를 쓰는 경우에 대해서는 이하 생략합니다.

    ssh ubuntu@192.168.0.200

  5. 첫 접속이면 관리자 계정 패스워드 바꿔야 한다면서 바꿀 패스워드를 물어볼 것입니다. 보안상의 이유로 짧은 관리자 패스워드는 퉷퉷할 텐데, 나중에 sudo passwd 명령으로 바꾸면 짧은 패스워드도 받아줄 테니까 참고하시기 바랍니다.
     
  6. 먼저 기본적인 운영체제 업데이트부터 해 줍시다.

    sudo apt update && sudo apt full-upgrade

  7. 혹시 자기가 리눅스 처음 설치하면 꼭 빼놓지 않고 설정하는 게 있다 하면 설정해줘도 무방합니다. 반대로 말하면, 이 과정은 그냥 넘어가도 무방합니다. 저는 시스템 시간대를 서울로 맞추겠습니다.

    sudo timedatectl set-timezone Asia/Seoul

  8. 여기서부터는 Docker를 설치할 차례입니다.

    sudo apt install -y docker.io docker-compose

  9. 설치가 끝났으면, 몇 가지 설정을 해줄 차례입니다. 먼저, docker 관련 명령을 쓸 때 일일히 앞에 sudo를 입력하지 않게끔 하는 설정을 하겠습니다.

    sudo usermod -aG docker $USER

  10. 다음으로, 재부팅했을 때 Docker가 따라서 켜지도록 하는 설정을 하겠습니다.

    sudo systemctl enable docker

  11. 마지막 설정입니다. Debian 계열 리눅스인 Ubuntu에서 Docker를 통한 메모리 제한 설정이 제대로 먹히지 않는 문제를 해결해야 합니다. 다음 명령을 실행하여 부팅 옵션을 추가합니다.

    sudo sed -i "1 s/$/ cgroup_enable=memory swapaccount=1/" /boot/firmware/cmdline.txt

  12. 이제 Docker 설정까지 끝났습니다. 한번 시원하게 재부팅하겠습니다.

    sudo reboot

  13. 재부팅 명령어를 치면 즉시 SSH 연결이 끊길 것입니다. 한 30초쯤 기다렸다가 다시 SSH로 접속해 봅시다.

    ssh ubuntu@192.168.0.200

  14. 로그인하고 들어간 다음, 아래와 같은 명령어를 입력했을 때 잠시 뜸을 들이고 뭔가를 다운로드받더니 조금 있다가 영어로 된 환영 메시지를 출력한다면 Docker가 정상적으로 설치된 것입니다. 이제 정말로 Docker 설치가 끝났습니다!

    docker run hello-world

  15. 여기서부터는 Docker 자체가 아니라 BOINC 클라이언트를 설치하는 단계입니다. 먼저 디렉터리를 하나 만들어 봅시다. 이름은 boinc_client 정도로 하지요.

    mkdir boinc_client

  16. 방금 만든 디렉터리로 들어가서…

    cd boinc_client

  17. 파일 3개를 만들어야 합니다. 앞의 디렉터리 이름은 마음대로 지어도 괜찮지만, 이 파일들의 이름은 정해져 있기 때문에 여기 나오는 그대로 써야 합니다. 이 뒤에 나올 내용을 보고 어떤 파일은 어떻게 하면 이름을 바꿀 수 있겠다는 것을 이해하시는 분이라면 마음대로 하셔도 좋습니다만…

    touch docker-compose.yml global_prefs.xml cc_config.xml password.txt

  18. 편집 프로그램으로 docker-compose.yml 파일을 엽니다. 저는 복사-붙여넣기가 상대적으로 쉬운 nano를 사용하겠습니다. vim이 더 편하신 분은 그걸 쓰셔도 상관없습니다. 참고로 우분투 리눅스에서 vi 명령어는 기본적으로 vim에 연결되어 있더군요.

    nano docker-compose.yml

  19. 다음 내용을 모두 통채로 붙여넣기합니다.

    version: "2.4"
    services:
      boinc:
        image: boinc/client:arm64v8
        container_name: boinc
        network_mode: host
        pid: host
        restart: always
        mem_limit: 3200mb
        shm_size: 1600mb
        volumes:
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
          - /opt/appdata/boinc:/var/lib/boinc
          - ./global_prefs.xml:/var/lib/boinc/global_prefs.xml
          - ./cc_config.xml:/var/lib/boinc/cc_config.xml
          - ./password.txt:/var/lib/boinc/gui_rpc_auth.cfg:ro

  20. 내용을 저장하고 나옵니다. 참고로 nano에서는 [Ctrl] + [X]가 종료 단축키입니다. 변경사항을 저장할지 물어보면 [Y]를 누르고, 파일 이름은 바꾸지 않은 채 그대로 저장해 줍니다.
     
  21. 위와 같은 요령으로 global_prefs.xml 파일에는 다음과 같은 내용을 넣어줍니다.

    <global_preferences>
        <work_buf_min_days>0</work_buf_min_days>
        <work_buf_additional_days>0</work_buf_additional_days>
        <ram_max_used_idle_pct>80</ram_max_used_idle_pct>
    </global_preferences>

  22. 위와 같은 요령으로 cc_config.xml 파일에는 다음과 같은 내용을 넣어줍니다.

    <cc_config>
      <options>
        <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
        <max_file_xfers_per_project>4</max_file_xfers_per_project>
      </options>
    </cc_config>

  23. password.txt 파일에는 나중에 자신이 다른 시스템에서 접속할 때 사용할 패스워드를 넣어주면 됩니다. 저는 간단하게 1234를 넣겠습니다.
     
  24. 위 파일들을 막 수정하였으니, 아직 해당 파일들이 있는 디렉터리에 머무르고 있을 것입니다. 그 자리에서 바로 아래의 명령어를 실행합니다. 그러면 라즈베리 파이에서 모든 준비가 자동으로 진행됩니다. 이 명령은 해당 디렉터리에 있는 docker-compose.yml 파일의 내용에 맞춰 Docker 컨테이너에 필요한 파일을 다운로드하고, 설정을 적용하고, 백그라운드에서 실행시키라는 뜻입니다. 만약 docker-compose.yml 파일의 내용을 바꾸었다면, 이 명령을 다시 실행해 주면 변경 사항이 적용될 것입니다.

    docker-compose up -d

  25. 위 명령이 성공하고 나면, 이제 SSH에서 할 작업은 모두 끝났습니다. 원한다면 SSH에서 로그아웃해도 좋습니다. 이제 PC에서 BOINC 프로그램을 설치합니다.
     
  26. BOINC 프로그램을 설치하면 [BOINC Manager]라는 것이 추가되었을 것입니다. 이걸 처음 실행하면 마법사 창이 뜰 텐데, 이걸 그대로 따라가면 라즈베리 파이가 아니라 PC에서 Rosetta@home을 돌리게 됩니다. 일단 [취소] 버튼을 눌러 마법사 창을 닫아 줍니다.
     
  27. 마법사 창을 닫고 나서, 메뉴의 [보기]에서 [자세히 보기]라는 버튼을 클릭합니다. 그러면 숨겨져 있던 기능들이 펼쳐집니다. 이 상태에서 메뉴의 [파일]에 가 보면 [컴퓨터 선택]이라는 메뉴가 보일 것입니다. 그걸 누릅니다.
     
  28. [컴퓨터 선택] 창이 뜹니다. [호스트 이름]은 IP 주소를 입력하는 곳입니다. 저는 아까 전에 라즈베리 파이의 IP 주소를 192.168.0.200으로 고정했었죠. 그걸 그대로 넣어 줍니다. [암호]는 아까 전에 password.txt 파일에 넣었던 접속 패스워드인 1234를 넣어 줍니다. 그때 다른 패스워드를 넣었다면 거기에 맞춰서 바꿔 넣어주면 되겠죠.
     
  29. 이제 [확인] 버튼을 누르면… 짜잔! 다시 마법사 창이 뜰 것입니다. 혹시 실수로 닫았어도 걱정할 필요는 없습니다. 메뉴의 [도구]에서 [프로젝트 추가]를 누르면 다시 나타날 것입니다. [프로젝트]에서 [Rosetta@home]을 선택하고 [다음]을 누르면 회원가입을 하라고 뜰 것입니다. 이메일과 패스워드를 입력하고 나면, 이번에는 웹 브라우저 창이 떠서 추가 정보를 입력하라고 할 텐데 이건 마음대로 해도 됩니다.
     
  30. 회원 가입을 하고 나서 프로그램 창 상단의 탭에서 [태스크]를 눌러 보면 아마도 이미 자동으로 작업할 내용이 대기중이거나 시작하고 있는 것이 보일 것입니다. 일단 작업이 시작하고 나면, PC의 BOINC Manager를 종료해도 라즈베리 파이에서 계속 작업을 진행하고 새로운 작업을 다운로드받습니다.
     
  31. 제 라즈베리 파이 4B 4GB 모델 기준으로, 한번에 최대 작업 4종류가 동시에 진행됩니다. 4코어니까 이건 당연하지요. 하나의 코어에서 작업 한 단위가 끝나는 것은 대략 8시간이 채 안 걸리는 수준입니다. SSH에서 htop 명령으로 지켜본 결과, 작업을 시작하고 처음 2~3분은 CPU나 메모리 점유율이 오락가락하다가 그 뒤부터는 계속 99~100%의 CPU 점유율이 나타납니다. 메모리 사용량이 3 GB를 넘기면 자동으로 작업 하나 또는 둘이 종료되어 여유 메모리를 맞출 것입니다. 가용 메모리 용량이 약 3.7 GB인데, 메모리 사용량 제한이 없을 경우 시스템 메모리가 3.6 GB 이상 점유되면 microSD 읽기/쓰기 LED가 계속 켜져 있으면서 시스템이 거의 다운된 것처럼 굉장히 느려지는 현상이 발생하기 때문에 위 글에서는 이 사용량을 최대 80%로 제약하였습니다. 이는 기본적으로 제공되는 우분투 리눅스 이미지에 스왑 설정이 되어 있지 않을 때 발생하는 문제인데, 저는 microSD의 수명이 신경쓰여서 일부러 스왑 설정을 넣지 않았거든요. 메모리가 2 GB 이하인 모델에서는 위 설정이 제대로 작동할지 모르겠는데, 필요하다면 일부 설정 파일의 내용을 직접 고쳐야 할 수도 있겠습니다. microSD 용량은 리눅스와 Rosetta@home 프로젝트 통틀어서 약 9 GB를 조금 넘기는 수준으로 쓰고 있는데, Rosetta@home이 쓰는 건 약 4~5 GB 정도입니다.

이 정도 설명이면 관심있는 사람이 Rosetta@home을 라즈베리 파이에서 구동하기에는 충분한 것 같습니다. 제가 이걸 실제로 하고 나서 느낀 첫 감상은 ‘마치 조그마한 햄스터가 쳇바퀴를 열심히 돌리는 것 같다’는 것이었지만, 그 정도의 원동력일지라도 충분히 여럿 모이면 원기옥 충전에 많은 도움이 되지 않을까 합니다. “컴퓨터들아… 나에게 파워를 조금만 나눠줘!”라는 과학자들의 외침에 햄스터 한 마리(?)를 보내며, 이만 마치도록 하겠습니다.

 

부록 1 - 라즈베리 파이 오버클럭하기 :
 

라즈베리 파이가 4부터는 연산능력이 상당히 올라갔다고는 하지만, 그래도 이런 과학기술용 연산에는 성능이 모자란 것이 사실이긴 합니다. 그래서 저는 이걸 조금이라도 이를 보충해 보려고 오버클럭을 시도해 보았습니다. 참고로 오버클럭 역시 맨 위에 있는 주의사항의 경고가 다 적용되는 사안입니다.
 

우분투 리눅스를 돌리는 라즈베리 파이의 오버클럭 방법은 생각보다 간단합니다. 그냥 관리자 권한으로 /boot/firmware/usercfg.txt 이 파일의 맨 밑에다가 다음과 같은 내용을 추가한 뒤 저장하고 재부팅하면 됩니다. 관리자 권한으로 텍스트 파일을 편집하는 방법에 대한 설명은 생략합니다.

arm_freq=1800
over_voltage=4

arm_freq 항목은 원하는 CPU 클럭을 MHz 단위로 지정하는 것입니다. 참고로 라즈베리 파이 4의 기본 CPU 클럭은 1500 MHz(1.5 GHz)입니다. 외국 포럼에서는 보통 2000(2 GHz) 정도로 하던데, 제 경우에는 이렇게 하니까 Rosetta@home의 일부 연산이 오류가 뜨는 것을 목격하여 안정성을 위해 일부러 1800(1.8 GHz)으로 낮추었습니다. (추가: 지금 확인해 보니 이는 전원 공급이 부실했기 때문일 가능성도 있습니다.)
 

over_voltage 항목은 CPU에 얼마나 전압을 더 줄 것인지를 지정하는 값입니다. 라즈베리 파이 4의 기본 CPU 전압은 1.25 V인데, 해당 항목의 숫자가 1 올라갈 때마다 여기에 0.025 V가 추가됩니다. 저는 이 값을 2로 지정했으니까 0.05 V를 추가하여 1.3 V를 공급하는 것이죠. 이 값은 최대 6(=0.15 V를 추가하여 1.4 V)까지 줄 수 있는데, 외국 포럼에서 2 GHz로 오버클럭한 사람들은 이 값을 6으로 주고 있었습니다. 저는 1.8 GHz까지만 올렸기 때문에 일부러 전압을 조금 낮췄습니다.
 

제 라즈베리 파이 4B에서는 위와 같은 오버클럭 설정에서 안정성에 문제가 없었습니다. 따라서 이 설정값으로 계속 쭉 가려고 합니다. 그런데 Rosetta@home 연산 하나가 완료되는 데 걸리는 시간은 큰 차이가 없더라는 것이 함정. 이 오버클럭 설정을 적용한 후 Rosetta@home 연산을 통한 풀로드에서 측정한 온도는 약 74~76℃ 정도로, 오버클럭 전(64℃)의 수치에 비해 최대 12℃ 정도가 올라갔습니다. 참고로 이는 모두 방열판과 조그마한 쿨링팬을 장착한 상태의 결과값입니다. 쿨링 수단을 좀 보강해야 할 것 같네요.

 

부록 2 - Raspbian에서 64비트 활성화하기 :
 

이 글에서 설명하고 있는 절차의 핵심 과정 중 하나는 라즈베리 파이에 64비트 우분투 리눅스를 설치하는 것입니다. 왜 라즈베리 파이 재단에서 제공하는 라즈비안(Raspbian) 운영체제 대신 우분투 리눅스를 설치해야 하는 걸까요? 그건 바로 라즈비안이 기본적으로 32비트 운영체제이기 때문입니다. Rosetta@home 프로젝트에서 지원하는 ARM 아키텍쳐는 64비트뿐이기 때문에, 32비트 운영체제에서는 아예 돌릴 수가 없는 것이죠.
 

그렇다면 혹시 라즈비안에서 64비트 프로그램을 돌릴 수만 있다면 굳이 우분투 리눅스를 설치하지 않아도 되는 것이 아닌가 하는 생각을 할 수도 있을 것입니다. 실제로 최신 버전의 라즈비안에는 라즈베리 파이 3과 4에서 커널의 64비트 모드를 켤 수 있는 방법이 나왔지요. 하지만, 설령 64비트 모드를 켠다고 해도 기본적으로 라즈비안에서 제공하는 모든 앱들은 여전히 32비트입니다. 뿐만 아니라, 64비트 앱을 설치하려면 좀 더 까다롭고 복잡한 과정을 거쳐야 할 수도 있으며 32비트용 파일과 64비트용 파일을 모두 설치하느라 SD카드의 용량이 좀 더 점유될 수도 있습니다. 따라서 저는 이 방법을 권장하지 않으며, 시도해본 적도 없습니다. 그래도 실험적으로 이런 방법을 시도하실 분들을 위해, 핵심적인 부분에 대해서만 간략히 서술해 둡니다.
 

※ 주의! 이 방법은 우분투 리눅스가 아니라 Raspbian에 대한 내용입니다. 이 방법은 우분투 리눅스에서 시도할 수 없으며, 또 시도할 필요도 없습니다. 그리고 저는 이 방법을 직접 실행해본 적이 없습니다. 이걸 실행했을 때 기존에 잘 작동하던 것에 뭔가 문제가 생겨서 자신이 직접 해결해야만 할 수도 있습니다. 자신이 뭘 하려는지 알고 있을 때만 이 방법을 시도하세요.

  1. 먼저 최신 버전의 Raspbian인지 확인합니다. 이 방법은 오직 최신 버전의 라즈비안에만 적용됩니다.
     
  2. 관리자 권한으로 /boot/config.txt 파일을 열어, 맨 밑(또는 적당한 곳)에 다음 내용을 추가합니다.

    arm_64bit=1

  3. 파일을 저장하고 재부팅합니다.
     
  4. 터미널에서 uname -m 명령을 실행했을 때 aarch64라고 뜨면 성공입니다. 64비트 커널이 실행되고 있는 것이죠. 혹시 armv7l이라고 떴으면 이는 32비트 모드이므로 해당 설정이 제대로 적용되지 않았음을 뜻합니다.

 



  • profile
    title: 명사수poin_:D      збройовий завод 2020.04.05 20:30
    산딸기4B모델 와서 성능은 개선됫다 하지만 그레도 단독으로는 성능 많이 부족하지 않을까요?
  • profile
    쮸쀼쮸쀼 2020.04.05 20:38
    대신 큰 전기요금 부담 없이 언제나 계속 켜둘 수 있다는 게 장점입니다. 특히나 저는 라즈베리 파이를 구입한 후로 어쩌다 보니 한참 동안이나 놀게 하고 있던 상황이라서 말이죠. 한 8시간 지나면 작업이 4개씩 마무리되기도 하고요. 코인 채굴보다는 인류 공익에 좀 더 기여하는 방향 아니겠습니까.
  • profile
    title: 명사수poin_:D      збройовий завод 2020.04.05 20:41
    한대 셋팅하고 sd카드 복사기 돌린뒤 클러스터 구성해야 좀 볼만 하겠네요
  • profile
    쮸쀼쮸쀼 2020.04.05 20:45
    라즈베리 파이 여러 대로 미니 슈퍼컴퓨터를 만들거나 쿠버네티스도 돌린다는 짤을 어디서 보긴 했는데, 저는 1대밖에 없어서 그냥 얌전하게(?) 이것만 돌리고 있습니다.
  • profile
    ForGoTTen      결제중.... 2020.04.05 21:06
    해봤습니다. 한가지 팁이라면 Rosetta@home은 64bit CPU만 지원하고 31416포트가 manager접근을 위해서 필요합니다.
  • profile
    쮸쀼쮸쀼 2020.04.05 21:07
    네. 저도 그래서 64비트 한정으로만 글을 썼지요. 근데 저는 포트 쪽은 신경 안 썼는데 우분투 쪽에서는 안 막혀 있어서 그냥 되더라고요. 외부에서 접속하려면 포트 열어주는 게 필요할 듯 합니다.
  • profile
    쿠민      나나니지 // MacBook Pro (14", M3 Pro) 2020.04.05 21:14
    간단한 sftp + smb 서버로 쓰는 파이4에 시도해봐야겠군요...
  • profile
    쮸쀼쮸쀼 2020.04.05 21:26
    실제로 돌아가는 프로세스의 우선순위 자체는 낮게 설정이 되어 있긴 한데, 그것보다는 메모리를 많이 쓰는 것 때문에 다른 걸 이미 돌리고 있는 서버에서는 적극 추천은 못 하겠습니다. 이게 메모리가 모자라면 알아서 그만큼 멈추는지 직접 확인을 못 해봤거든요. Docker 자체에서 따로 메모리 제한을 걸 수 있긴 한데…
    참고 : https://docs.docker.com/config/containers/resource_constraints/
  • profile
    쮸쀼쮸쀼 2020.04.06 00:03
    이게 CPU나 메모리 제한 설정이 프로그램 자체가 아니라 Rosetta@home 홈페이지 계정 쪽 환경설정에 있네요. Manager 프로그램에서 설정을 덮어쓸 수도 있는 모양이지만요. 그렇다면 조금 안심이네요.
  • profile
    슬렌네터      Human is just the biological boot loader for A.I. 2020.04.05 23:54
    딸기컴도 없고 리눅스 모르는 컴맹이지만,

    노란 경고문을 보고선 왠지 모르게 하고싶은 욕구가 드는군요 ㅎ
  • profile
    쮸쀼쮸쀼 2020.04.06 00:10
    우와아아아앙? 청개구리 심보입니다?

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. 트위치의 공식 중단 안내 메일이 말투가 좀 미묘하군요

    '한국 트위치에서는 구매할 수 없습니다' 시청/방송할 수 없습니다가 아니라 구매할 수 없습니다군요. 방송이나 보는 것 자체를 딱히 막진 않을 것 같네요. 돈 안 되더라도 꾸역꾸역 방송하겠다면 그대로 두지 않을까... 수익 창...
    Date2024.02.28 일반 By낄낄 Reply3 Views642 file
    Read More
  2. 통신 데이터 무제한 사용자 핫스팟 용량 걱정없이 사용

    "위 참고 링크 확인" 저도 유투브 보다가 발견한건데 핫스팟 용량에 신경쓰이는 분들은 유용할 것 같습니다. 우선 저는 핫스팟을 많이 사용할 일이 거의 없어서 신경안쓰고 살았는데 병원에서 제대로된(속도 빠르고 안끊기는). 와이파이가...
    Date2024.02.11 일반 By아엠푸 Reply7 Views1668 file
    Read More
  3. 스욍 킥보드/자전거 고객센터는 report.swingmobility.kr 입니다

    시작하기 전에, 공유 킥보드, 공유 자전거라고 말하는 서비스들은 탈것을 공유하는 게 아니라 주차 공간을 무단 점유하는 강도들입니다. 부모님 집에 가니 주차장 입구에 공유 자전거가 한 대 세워져 있네요. 공유 킥보드 신고는 전에도 ...
    Date2024.02.10 일반 By낄낄 Reply9 Views583 file
    Read More
  4. 악성 애플리케이션 '모바일 부고' 간단히 살펴보기

    [잡담] 관련 글 - "피싱범은 사람새끼가 아닌가 봅니다." https://gigglehd.com/gg/bbs/15402284     나눔받은 LG V30에 설치해서 간단히 살펴봤습니다. 설치할 때에는 권한을 요구하지 않으나 옵션에서 저장소/전화/주소록/SMS 권한을 가...
    Date2024.02.07 일반 Bytitle: 컴맹임시닉네임 Reply4 Views509 file
    Read More
  5. 작업표시줄 코파일럿 버튼 제거하는 방법

      윈도우 설정 > 개인 설정 > Copilot 단추를 끔으로 변경하면 됩니다.   윈도우 업데이트 하니까 갑자기 생겼는데, 더 놀라운건 버튼에 우클릭이 안먹는다는겁니다. 와우!
    Date2024.02.07 일반 Bytitle: 흑우Moria Reply3 Views400 file
    Read More
  6. No Image

    쓸만한 이미지호스팅 서비스가 있을까요?

    기존에 NHN의 G2서비스를 이용하고 있었는데 해당서비스의 경우 따로 구매한 도메인을 연결하면 연결한 도메인에 대해서는 SSL 적용이 안되더라고요. 용도가 쇼핑몰 이미지용인데 그래버리면 크롬기반 브라우저에서 상품이미지가 안나오는...
    Date2024.01.31 일반 Bytitle: 명사수가네샤 Reply12 Views680
    Read More
  7. 간단하다! 맥타입을 사용한 가독성 개선

    저해상도에서는 윈도우 기본 클리어타입과 맑은 고딕이 더 좋은 가독성을 보여줄 수 있습니다.   기존에 FHD 디스플레이만 사용할때는 폰트 가독성에 대한 별 다른 불만이나 잡생각이 없었는데 최근 27" UHD로 바꾸니 윈도우 기본 클리어...
    Date2024.01.30 일반 By유입입니다 Reply1 Views979 file
    Read More
  8. 엣지 업데이트 하고나니까 코파일럿 여기저기 엄청 나오는군요.

    마우스로 드래그 하면 바로 나오는 미니메뉴에도 '코파일럿에 물어보기'가 나오는군요.       그래서 코파일럿에 물어보면     멀쩡하게 답변해줄 때도 있지만       뭐야?? 어쩌라고?    
    Date2024.01.20 일반 Bytitle: AI아무개 Reply11 Views1233 file
    Read More
  9. 사라 메이클레존, 비트코인의 익명성을 깨다

    나카모토 사토시가 논문을 던져놓고, 비트코인은 100% 범죄자와 그런걸 못 찾는줄 알았습니다. 그래서 실크로드같은 마약 판매 다크웹이 성행했었죠.   근데, 이걸 사라 메이클레존( https://smeiklej.com/ ), 유니버셜 칼리지 오브 런던...
    Date2024.01.19 일반 Bytitle: 폭8책읽는달팽 Reply9 Views1210 file
    Read More
  10. No Image

    LogoFail 취약점에 대한 바이오스 패치

    LogoFail 공격 : https://gigglehd.com/gg/soft/15264847   이번에 보니까 구형 칩셋들도 LogoFail에 대응하는 바이오스가 업데이트 되었더라고요.   ASUS, ASRock, MSI, Gigabyte 모두 다 올라왔으니 한번 확인해보시고 업데이트 해주시...
    Date2024.01.18 일반 Bytitle: 흑우Moria Reply2 Views539
    Read More
  11. No Image

    교육기관 이용자를 위한 Office 365 A1라이선스가 제한됩니다.

    이미 대다수 대학들이 이에 대한 대응으로 수료, 제적, 졸업생에 대한 라이선스 회수에 대해 공지를 한 상태였군요.   만약 대학 졸업 이후에도 학교 계정의 Office 365와 OneDrive 1TB 혜택을 보고 계신분들은 각 학교에 공지된 사항을 ...
    Date2024.01.17 일반 ByRespect Reply3 Views726
    Read More
  12. 유튜브 속도저하 원인은 구글이 아닌 애드블럭 자체 문제

      유튜브 속도저하 원인은 애드블럭플러스 신규 기능 때문이었고 유블럭과 같은 다른 차단기는 문제가 없음   댓글 삭제가 여러곳에서 일어나겠군요
    Date2024.01.16 일반 ByCaldigit Reply11 Views1528 file
    Read More
  13. No Image

    구형 IE를 쓰기 위한 여정

    1. 저번에 한번 윈10 LTSB 구형버전(2016, 1607)에서 안되는게 많다고 푸념을 했는데요. https://gigglehd.com/gg/1540441   그때 주신 댓글들이 많은 도움이 되었습니다. 일단 1607은 저때 얘기한 문제와 별개로 더 큰 문제가 있더라고요...
    Date2024.01.15 일반 Bytitle: 흑우Moria Reply0 Views565
    Read More
  14. 마소 로그인 이력 한번 까봤습니다.

      제가 한 두번의 로그인 제외하고는 다 실패입니다. 저는 미국이나 독일을 가본적이 없습니다.(아 명예 미국인을 2주마다 하기는 하지만)   어쨋든 로그인 실패하는 이유는 간단합니다 2FA 쓰거든요. 쓴지는 7년이상됩니다. 과거 윈10/...
    Date2024.01.13 일반 Bytitle: 가난한AKG-3 Reply4 Views719 file
    Read More
  15. 프린터는 작동하지만 드라이버는 제공하지 않습니다

    스마트폰과 태블릿이 보급된 지금 같은 세상이야말로, 빌 게이츠 말대로 사무실에서 종이가 사라져도 될 때라고 생각합니다만 그래도 종이가 필요할 때가 있습니다. 어디라고 말할 수는 없지만 갑자기 서류에 싸인해서 보낼 일이 생겼어요...
    Date2024.01.10 일반 By낄낄 Reply7 Views703 file
    Read More
  16. AI 벤치마크가 뭐 있나 찾아보는데

    1. 규격화된 프로그램이나 벤치가 없군요.스마트폰 빼고 PC 이야기입니다. openbenchmarking에서 배포하는 건 있지만 이것저것 준비할 게 많고, 리눅스 서버를 위한 테스트라는 느낌이 강하군요. 2. 3D마크 시리지의 개발사인 UL에서 다양...
    Date2024.01.08 일반 By낄낄 Reply8 Views647 file
    Read More
  17. No Image

    윈도우 LTSB/LTSC 버전의 단점

    리눅스의 LTS버전처럼 윈도우도 기능업데이트 없이 보안업데이트만 장기적으로 지원되는 LTSB, LTSC 버전이 있습니다.   어느정도냐 하면 2016 LTSB는 아직도 엣지가 없고 인터넷 익스플로러가 살아있습니다. 인터넷 익스플로러에서만 잘 ...
    Date2024.01.07 일반 Bytitle: 흑우Moria Reply8 Views1352
    Read More
  18. No Image

    시네벤치 2024가 실행되지 않는다면

    테스트용으로 받은 MSI 노트북에서 시네벤치 2024가 실행되지 않습니다. 똑같은 파일로 노트북 2개에선 안되고 2개에선 잘 되더라고요. 데스크탑은 뭐든 잘 됩니다. 파일을 새로 받고 다 해봐도 소용 없습니다. 원인은 파일 저장 경로에 ...
    Date2024.01.07 일반 By낄낄 Reply2 Views549
    Read More
  19. 카카오가 은근슬쩍 광고 넣는 건 참 잘해요

    언젠가부터 메일 목록이 거슬린다 싶었더니 위에 광고가 생겼고. 메일 보내고 나니 여기에도 광고가 뜨는군요. 두번째 광고는 광고가 뜬다는 것보다도, 카카오 자체광고도 아닌 구글 애드센스를 박아버리는 패기에 더 놀랬네요. 기글도 ...
    Date2024.01.06 일반 By낄낄 Reply2 Views744 file
    Read More
  20. No Image

    전화로 윈도우 정품인증 한번더 했다간 혈압 터질거 같습니다.

      ARS 전화가 사람을 짜증나게 하고 화나게 합니다.   기를쓰고 전화로 정품인증 안해줄려는 것처럼 메뉴를 꼭꼭 숨겼더라고요.   그것도 0도 날씨에서 덜덜떨면서 이짓을 할려니 화가 나네요. 예전엔 기업용 누르고 정품인증 누르면 바...
    Date2024.01.03 일반 Bytitle: 명사수AZUSA Reply5 Views1179
    Read More
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 65 Next
/ 65

한미마이크로닉스
MSI 코리아
AMD
더함

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소