Blog

  • cloudflared proxy-dns

    Mikrotik 공유기의 DoH를 이용하고 있으나 간혹 에러가 로그에 기록된다. 사용에 문제가 있지는 않다. 추정 가능한 원인이은 동시에 여러 DNS 쿼리가 발생하는 것에 대하여 공유기가 제때에 처리를 못하기 때문이다. 그래서 가장 쉽게 DoH를 설정하는 방법으로 cloudflared 의 proxy-dns 기능을 이용하였다. 공유기가 아무리 특정 목적에 최적화되었다고 하지만 DoH 과정의 복잡한 과정까지 처리하기엔 모자란게 아닐까 생각했다.

    늘 하던대로 Docker 환경에서 별도의 컨테이너를 만들어서 실행하기로 한다. DNS는 UDP 53를 이용하지만, 이 포트만을 이용하는게 아닌 것 같다. 생각해보면 HTTPS를 이용하니까 443 포트도 이용할 것이다. 그래서 -p 가 아닌 –net=host로 지정했다.

    sudo docker run -id --restart always --net=host --name doh debian:latest

    우선 github에서 최신 버전을 찾아서 다운 받는다. Debian이니까 편하게 deb 을 받아서 dpkg 로 설치한다. 이러면 chmod보 적당한 path에 이동시키는 것도 하지 않아도 된다.

    wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
    dpkg -i cloudflared-linux-amd64.deb

    다음으로 실행. 마지막에 &는 빼도 되지만, 도커에 접근해서 무엇인가 설정을 바꾸기 위해서는 &를 이용해서 백그라운드에서 실행하는게 좋다.

    cloudflared proxy-dns --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query --address 0.0.0.0 &
  • NASDAQ ticker list

    찾아보니 역시 공식 홈페이지에서 제공하는 것이 있다.

  • Chamfer distance, CPU or GPU

    여러 객체 각의 chamfer distance를 구하는 중이다. CPU로 구하는 방법도 있고, GPU로 구하는 방법도 있다.

    적어도 내가 사용하는 범위 내에서는 CPU로 하는 것이 좋다.

    • GPU로 할 경우 계산 속도가 일정하지 않다. 상당히 편차가 크다. 빠른 것은 CPU보다 훨씬 빠르고 느린 것은 훨씬 느리다. 5500을 사용하는 입장에서 6배 정도의 속도 향상을 기대해야 한다. 정말 이건 애매하다.
    • GPU 여러 개를 가지고 있지 않은 이상 동시에 여러 계산을 진행할 수 없다. 속도 향상 여지가 적은 편이다.
    • 3070으로는 간혹 메모리 부족 오류가 생겨 계산 자체가 진행이 안된다. 수 만 번 진행해야 하는데 프로그램이 종료되는 오류는 피해야 한다. 메모리가 큰 3090 같은 것을 이용한다면 큰 문제가 없을 것 같다.
    • CPU를 사용해야 하는 작업을 동시에 진행하는 경우라면 GPU로 진행해도 괜찮다.

    위에 내용은 지난 번에 남긴 것이다. 다시 시도해보니 GPU다 더 빨랐다. 그것도 충분히 말이다. 그래서 다시 정리했다.

    • GPU로 계산할 때 계산 시간이 다르게 보였던 것은 GPU 계산 전에 있는 preprocessing 과정에 걸리는 시간이 모두 달랐기 때문이다. 사전에 preprocessing을 한 파일을 만들어 둔 상태에서 다시 계산하니 상당히 빨랐다. CPU로만 chamfer를 구현하면 3일 정도 걸렸다. GPU로 Hausdorff와 같이 계산해도 7-8시간 걸린 것 같다. 이것도 CPU로 일부 계산한 증례를 포함한 것이다.
    • 3070의 8GB VRAM의 한계가 아쉽다. 우선 float32를 사용하면 OOM를 쉽게 접한다. float16으로 계산하면 OOM 빈도가 줄어든다. 이럴 경우만 CPU를 이용하도록 했다. 몇몇 OOM 인 경우를 봤더니 상당히 체격이 길쭉했다. 즉, vertices가 많으면 OOM이 생길 가능성이 높다. 상당히 말이다.
  • 변호사 논증법

    논리적 토론을 하기 위한 기본 상식에 대해서 설명이 잘 되어 있다.

    저자의 정치관이 꽤 드러난다. 불편한 사람도 있을 수 있다.