전체 글
-
방화벽부터 iptable까지Computer/네트워크 2022. 8. 7. 23:58
안녕하세요! 두루뭉실하게 알고있던 네트워크를 좀 더 이해하고 싶은 네린이입니다~ 오늘은 방화벽이 무엇인지부터 리눅스에서 방화벽의 역사와 대표적인 방화벽 프로그램인 iptable까지 한눈에 살펴보겠습니다. 방화벽(firewall)이란 방화벽이란 미리 정의된 규칙에 따라 들어오고 나가는 네트워크 트래픽을 모니터링하거나 제어하는 네트워크 보안 시스템입니다. 방화벽은 서로 다른 네트워크 간의 장벽처럼 존재하여 내부의 정보 자산을 보호하기 위해 신뢰할 수 있는 요청들만 내부 네트워크로 허용하거나 해로운 트래픽을 차단합니다. 방화벽은 여러 형태로 구현될 수 있는데, 접근 제어 목록(ACL)을 만들어서 특정 접근을 허용할 수도 있고 사용자 인증을 요청할 수도 있으며 주소를 변경하거나 데이터를 암호화하기도 합니다. 대..
-
MongoDB와 동시성 처리Developer 2022. 7. 10. 23:59
안녕하세요~ 오늘은 MongoDB 의 개념과 특징을 간단히 짚고, MongoDB에서 데이터의 동시성을 막기 위해 어떻게 동작하는지 확인해보는 시간을 가져보려고 합니다. NoSQL 먼저 MongoDB는 NoSQL 데이터베이스입니다. NoSQL은 non-sql, non-relational 이라는 의미로 데이터 집합 간의 관계를 정의하지 않는 데이터베이스로, 대용량의 데이터를 동시처리하는데 적합합니다. 기존의 관계형 데이터베이스 즉, RDB는 데이터를 테이블로 저장하면서 중복을 줄이고 데이터를 효율적으로 관리합니다. 그러나 RDB는 이런 테이블이 정의된 스키마에 맞추어 데이터를 저장해야 하기 때문에 사전에 테이블에 맞추어 데이터를 조작해야 합니다. 또한 필요한 데이터를 조회할 때는 여러 테이블을 조인해서 확..
-
Network Interface 파헤치기Computer/네트워크 2022. 6. 26. 23:56
안녕하세요~ 네트워크 공부를 시작한 네린이입니다 :_) 보통 네트워크 공부를 시작하면 헷갈리는 용어들이 굉장히 많습니다. 실제 장비들을 보거나 코드를 돌려보면서 학습하기 어렵다보니 특정 용어들은 직관적으로 이해하기도 쉽지 않고요. 그래서 오늘은 가장 기본적인 Network Interface 개념부터 관련된 용어들을 이해해보는 시간을 가져보겠습니다. Network Interface 먼저 Network란 두 대 이상의 컴퓨터를 연결해 통신하는 것을 일컫습니다. 그리고 Interface는 어떤 것들 사이의 소통을 위한 매개체 또는 프로토콜(약속, 규약)을 의미합니다. 그리고 Network Interface(NI)는 컴퓨터와 네트워크 사이의 상호 연결 지점을 의미합니다. 아래는 Network Interface에..
-
분산학습 대표 유형: DP vs MPAI/distributed 2022. 6. 12. 23:59
안녕하세요~! 오늘은 분산학습 시리즈 2번째로 분산학습의 대표 유형들에 대해 살펴보는 시간을 가지겠습니다. 분산학습을 잘 모르시는 분들을 위해 개괄적으로 설명할 예정으로 세부적인 개별 구현에 대해서 다루기보다는 각 유형의 컨셉에 대한 이해 그리고, 해당 기법과 관련된 용어들을 소개하는 것을 목적으로 하겠습니다. 지난 시간에 학습 데이터와 모델 사이즈가 점점 커지는 학습 트렌드를 설명하면서 여러 서버의 GPU들을 사용해 학습하는 분산학습(multi-node training)이 도래하게 되었다고 말씀드렸습니다. 하나의 GPU만 사용한다면, 모델이 logit을 계산하는 것부터 loss를 구하고 optimizer로 모델을 업데이트하기까지의 모든 metric 연산들은 GPU에 올려서 수행하기만 하면 됐습니다. ..
-
분산 학습과 집합 통신AI/distributed 2022. 5. 29. 13:39
안녕하세요~ 오늘은 분산학습이 등장하게 된 배경과 정의 그리고 실제 분산학습에서 Gradient 전달을 위한 통신 흐름을 소개해보고자 합니다. 개인적으로 작년에 분산학습이 무엇인지 빠르게 배우고 적용해보는 시간들이 많았습니다만.. 올해 들어 그런 기회가 없어 블로그로 제가 배웠던 내용들을 한곳에 모아보려고 합니다. 소개해보려는 순서는 다음과 같습니다. 1편: 분산학습과 집합통신 2편: 분산학습 대표 유형 (DP, MP, PP, Zero Infinity…) 3편: 분산학습 테크닉과 디버깅 노하우 학습 트렌드 분산학습이 무엇인지 알기 전에 왜 분산학습이 필요하게 되었는지 그 연유부터 알아야겠죠? 이는 DL 학습 트렌드를 찾아보면 한눈에 이해할 수 있습니다. 해당 그래프는 2018년부터 2022년 최근까지 좋..
-
글또 7기 다짐글카테고리 없음 2022. 5. 14. 17:33
📖 글또를 시작한 이유 작년 친한 지인으로부터 글또(글쓰는 또라이가 세상을 바꾼다)라는 모임을 알게되었다. 그리고 올해 7기를 모집한다는 소식을 듣자마다 바로 신청했다. 안그래도 요즘 직장에서 사내 블로그를 작성하면서 글쓰는 습관화에 대한 필요성을 많이 느꼈고 내게 둘도 없이 좋은 기회라고 생각했다. 📖 글또를 하면서 내가 달성하고 싶은 목표 글또는 5월 1일 OT를 시작으로 10월까지 약 6개월의 활동으로 이뤄진다. 우선적으로 달성해야 하는 목표는 2주에 한번 못해도 최소 10회의 블로그 글을 기재하는 것이다. 물론 이 과정에는 다른 참가자의 글을 읽으면서 배울점을 찾고 피드백하는 과정도 포함된다. 이번 기수를 무사히 졸업하기 위한 정량적인 목표가 존재하지만, 개인적으로 세운 목표는 다음과 같다: 1...
-
DevOps 란DevOps 2022. 4. 17. 14:19
DevOps 용어의 의미 2009 년, 벨기에의 소프트웨어 개발자인 Patrick Debois 에 의해 생겨난 용어다. DevOps는 개발(Development)과 운영(Operation)을 합친 단어로, 이 둘 사이의 사일로(분단) 현상을 해결하기 위한 방법론 또는 조직문화에 대한 방향성이다. DevOps 용어 자체는 직관적이지만, 정확히 DevOps가 무엇이냐는 질문에는 여러가지 정의가 혼용되어 어떤 것이 정확한 정의인지에 대해서는 논쟁이 계속이 이어지고 있다. 우선, 왜 DevOps 가 등장하게 되었는지 알아보자. DevOps 는 왜 등장하게 되었는가? 기술의 개발과 분업화로 큰 규모의 시스템을 다루는 여러 회사에서는 개발팀과 운영팀을 따로 두고 있다. 운영팀은 일상의 재해(e.g. 정전)에서도 서..