분류 전체보기

· 회고
들어가며낮은 길어지고, 날씨가 꽤 더워졌습니다. 그럼에도 불구하고 여전히 밤공기는 상쾌하여 자주 밤산책을 즐기곤 합니다. 강가를 따라 풀벌레 소리를 들으면 꼭 학창 시절이 떠오르곤 합니다. 독서실에서 혼자만의 고민에 갇혀 1평도 채 되지 않는 공간에서 헛돌고 있을 때, 잠깐 바람을 쐬고 오자고 날 부르는 친구들의 손짓, 저마다의 고민을 내려놓는 친구들, 시내의 불빛으로부터 멀어질수록 선명해지는 하늘을 수놓는 별들 그리고 풀벌레 소리. 그렇게 시답잖은 하루하루를 보내며 고등학교를 졸업할 때까지 버텼던 기억이 나곤 합니다. 시간은 그렇게 흘렀습니다. 고등학생의 시절은 막이 내리고 법령에 따라 나이를 채워 어른이 되었습니다. 크게 눈에 띄는 변화는 없는 듯 합니다. 여전히 어른의 실마리는 아직도 찾지 못했지만..
저번 포스팅에서는 node-exporter를 통해서 리눅스 시스템을 모니터링하는 방법을 알아봤다. 이번에는 심층적으로 redis를 모니터링해 보자.본론먼저 소스 코드의 예제는 아래와 같다. 궁금하면 직접 docker-compose를 통해서 빠르게 실행해 볼 수 있다.Github Example : https://github.com/marsboy02/redis-exporter-monitoring GitHub - marsboy02/redis-exporter-monitoring: redis-exporter를 사용해서 모니터링하는 소스 코드의 예제입니다redis-exporter를 사용해서 모니터링하는 소스 코드의 예제입니다. Contribute to marsboy02/redis-exporter-monitoring..
이전에는 프로메테우스에 대해서 살펴보았다. 이번에는 node-exporter를 사용해서 리눅스 기반 운영체제를 모니터링 대시보드를 구축하는 방법에 대해서 살펴볼 것이다. 위 사진에 따라 exporter -> prometheus -> grafana의 순서대로 데이터가 흘러가는 구조를 설계할 예정이다. docker-compose 환경을 사용해서 대시보드를 띄울 것이다. 일반적으로 쿠버네티스를 사용하는 환경이라면 좀 더 다양한 exporter를 사용할 수 있겠지만, 이번 포스팅에서는 node-exporter를 이용해서 본인의 컴퓨터를 모니터링하는 대시보드를 소개하고자 한다. 더 나아가서 node-exporter이기 때문에, 다른 노드들을 추가할 수 있는 방법까지 다뤄보고자 한다. 본론먼저 전체 소스 코드의 링..
서버 개발자로서 꽤나 긴 시간동안 코딩을 하면서 지내고 있을 무렵, CPU 및 GPU 등 다양한 데이터를 수집하는 아키텍처를 구현해야할 일이 생겼다. slurm이라는 리눅스 노드들을 클러스터링하는 툴을 쓰고 있는 상황이었고, 어떻게 모니터링 할 수 있을 지 고민하기 시작했다. HPC managing하는 과정에서 결국 시계열 데이터를 수집하는 방법을 쓰기로 했고 그러한 과정에서 프로메테우스를 열심히 공부하기 시작했다. 마스터 노드가 셋, 워커 노드가 백 개에 달하는 시스템에서 CPU 및 GPU를 모니터링하는 작업을 수행하는 아키텍처를 구현하고 있을 때, 가장 먼저 떠오른 것은 뭔가 queue를 두고 node에서 데이터들을 쏘아보내는 곳이 있어야 하지 않을까? 하는 고민이었다. 메시지 큐를 써야 하나 생각하..
학교에서 HPC(High Performance Computer)를 관리하는 일을 하면서, 여러 난관에 봉착하게 되었다. 가장 신경 쓰였던 점은 사용자들에게 리눅스 기반의 접근을 제공하는데, 모든 사용자들을 커버할 수 없다는 점이다. 예를 들어 pytorch나 tensorflow 기반 사용자들을 고려하여 관련 모듈은 내부적으로 설치가 끝난 상황이지만, 다른 프로그램을 돌리는 사람이 몇몇 있다! 그러한 케이스의 사용자들을 커버하기 위해서 추가한 것은 바로 이 enroot라는 명령어이다. 이는 NVIDA에서 만든 툴로써 권한이 없는 상황에서도 docker image를 기반으로 컨테이너 혹은 OS를 만드는 데, 도움을 주는 sandbox 툴이다. 무엇보다 이름 그대로 enroot 즉, root를 만들어 준다는 ..
· CS/network
ssh 연결이란 무엇일까? 간단하게 생각한다면 22번 포트로 원격 접속을 하는 것? 간단하게 클라우드 서비스를 사용할 때까지만 해도 22번 포트로 원격 접속을 하는구나 정도로 알고 있었지만 linux 환경에서 사용자에게 컴퓨팅 리소스를 제공하는 서비스를 하기 시작하면서 ssh에 대해 깊은 이해를 전달하고자 포스팅을 작성한다. 처음에 ssh 연결이 생각했던 것과는 다르게 동작하는 것을 보면서 호기심이 점점 생겼다. 지금 일하는 곳에서 linux를 굉장히 하드하게 쓰게 되다보니 ssh에 대해서 자세히 공부해야할 때가 있었는데, 관련해서 ssh가 뭔지 깊게 정리해서 포스팅하면 좋을 것 같아 글을 쓰게 되었다. 본론SSH(Secure Shell)은 네트워크 연결을 통해서 다른 컴퓨터에 연결하거나 로그인하거나 명..
알고리즘을 통해서어떻게 매칭을 구현할 수 있을까? 남자와 여자 각각 원하는 상대방의 리스트를 가지고 있다고 하자. 이를 어떻게 매칭시켜야 가장 뒷말이 안 나오는 매칭을 구현할 수 있을까? 이러한 문제를 안정 결혼 문제(Stable Marriage Problem)이라고 부른다. SMP의 목표는 모든 매칭이 안정적이게끔 하는 것이다. 여기서 '안정적'이라는 것은 어떤 두 사람이 현재의 매칭 상태보다 서로 더 선호하는 경우가 없다는 것을 의미한다. 구체적으로는 어떤 남성 M과 여성 W가 서로의 현재 파트너보다 더 선호하는 경우가 없는 상태를 의미한다. 즉, 모든 구성원들이 현재의 매칭 상태를 바꾸고 싶어하지 않도록 만드는 것이 목표다. 백준 문제 풀이 사이트에서 해당 문제에 대한 레퍼런스를 가져오면 다음과 같..
해설gale-shapley 알고리즘을 기반으로 하고 있으나 쌍이 주어지지 않는다. 중요한 포인트는 다음 부분이다. 즉 선호도 테스트 케이스가 다음과 같이 주어지면51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 5 카이스트 학생들의 선호도는 다음과 같이 나와야 한다. 5 4 3 2 15 4 1 3 21 5 2 4 31 2 3 5 41 2 3 4 5 따라서, 저 조건에 맞에 카이스트 학생들의 선호도를 만들어준 후 gale-shapley 알고리즘을 사용하면 풀 수 있다. 필자는 다음과 같이 구현했다.for i in range(1, n+1): temp = [i] for dist in range(1,n): for j in range(n, 0, -1): ..
marsboy
'분류 전체보기' 카테고리의 글 목록 (5 Page)