https://www.atlassian.com/git/tutorials/git-lfs Git LFS - large file storage | Atlassian Git Tutorial Git LFS is a Git extension that improves handling of large files by lazily downloading the needed versions during checkout, rather than during clone/fetch. www.atlassian.com 큰 파일을 반복적으로 수정하고 커밋하면 레포지토리 사이즈가 엄청 커지고 느려짐. .git에 모든 커밋들의 파일이 압축 저장되어 있기 때문. # git lfs 테스트 환경 * 깃 클라이언트 docker run -it gi..
go의 소개서 같은 책인데, go의 시스템 적인 부분은 없어서 아쉽다. 처음 go가 어떤거구나 볼 만데, 이미 책 발행일이 좀 지나서 예제 코드는 안돈다.ㅋㅋ 전문가를 위한~ 시리즈 같은 책이 있으면 보고 싶다. c -> cpp -> java -> python 순서로 언어를 접했던 내가 보기엔 현대적인 모습의 c 같았다. c 개발자가 개발에 참여했다고 하는데, python은 싫어, 하지만 c를 좀 python 같이 사랑받게 만들어보고 싶어! 쉽게 쓰고싶어! 라는 생각으로 만든 것 같다. go는 c를 python 처럼 쓰는 것 같은 느낌? 심지어 c를 연동하는 과정은 주석으로 c코드를 넣게되어있다. 클래스 개념은 명시적으로는 없고, c의 함수 포인터 처럼 쓴다. 타입을 변수명 뒤에 표현하는 부분이나, 접근..
교수님이 꽂혀있는 구조는 event manager.오래걸리는 작업은 큐에 넣어놓고 나중에 처리 가능할 때 작업하자 임. 구글 serving 코드에 util/http_net 폴더를 보시면 http 서버가 있음 얘는 libevent 를 사용함. 한 스레드에서 루프 돌면서 걸려있는 이벤트들이 발생하면 콜백을 불러줌. ev_dipatch를 하면 모든 이벤트 다 처리 할 때까지 돈다. thread_pool 하나를 두고 여기다가 ev_dipatch를 schedule 하며 cb 함수 안에서 로직은 이 thread_pool에 cb함수를 등록하게 되어 있다. 사실 libevent 에서 io, condition variable 에 대해서 이벤트를 만들 수 있으니 이 구조면 거의 event manager 와 같은 효과를 얻..
TFL-summaryTable of Contents1. TF/Develop/Mobile1.1. Introduction to TFL1.1.1. What does TFL contain ?1.1.2. Why do we need a new mobile-specific library?1.1.3. TFL developer preview highliths1.1.4. TLF architectures1.2. 모바일 구성을 위한 모델 준비1.2.1. What is up with all different saved file formats?1.2.2. How do you get a model you can use on mobile ?1 TF/Develop/Mobile1.1 Introduction to TFL임베디드 디바이스,..
TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems Table of Contents 1. 1. Introduction 2. 2. Programming Model and Basic Concepts 2.1. Operations and Kernels 2.2. sessions 2.3. variables 3. 3. implementation 3.1. Devices 3.2. Tensors 4. 3.1 single device execution 5. 3.2 Multi-Device Execution 5.1. Node Placement 5.2. Cross-Device Communication 6. 3.3 Distributed Exec..
분산 환경에서 'key-value' map 을 'key-value list'로 reduce 하는 과정map task를 수행하는 워커들(M)과 reduce task를 수행하는 워커들(R)이 있음맵 후 리듀스 워커에 할당은 해시 기반으로R에 따라 아웃풋(R마다 아웃풋 파일 하나)이 묶이는 것을 고려해 해시키를 조절 할 수 있다.마스터가 잡을 스케줄링하고 워커에 rpc 를 호출.대부분의 연산은 deterministic 해서 여러 번 수행되는 것은 문제가 아니다.gfs는 세 쌍의 데이터를 저장한다. 마스터은 이 데이터가 있는 혹은 가까이 있는 노드에 태스크 할당.로드 밸런싱 등의 이유로 태스크가 워커보다 많은 게 좋음.맵퍼는 data 가 16-64MB로 쪼개지게 선택.리듀서는 또 너무 많으면 리듀서 수많큼 너무..
https://github.com/bluca/valgrind-dpdk
* yahoo l3dsr https://github.com/yahoo/l3dsr리눅스 4.4에 빌드-(1년도 더 전에 마지막 업데이트여서.. 힘들었다... ㄱ-) * 구성 l3dsr다운 받으면 각 운영체제별로 컴파일 할 것, doc, vip 설정을 해주는 툴로 구성되어 있음. * 컴파일 해야할 것 - 해당 기능을 하는 커널 모듈 (kmod-xt) - iptables에서 해당 모듈을 바르게 부를 수 있도록 해주는 so 파일 (libxt_DADDR.so) * make 가이드 그대론 make가 안됨. - make 파일 기본 설정인 extension-1.4 / kmod-xt 사용 - fPIC 옵션이 있는데 이는 gcc 5 로 컴파일 못 함 -> gcc-4.9 사용 - make 하면 iptables.h 가 없다고..
0.dpdk 16.11 기준 lib/lib_ring/rte_ring.h ring queue이다.multi producer, multi consumer 에 대해서도 atomicity 보장을 이용해 lock 없이 동작한다.일반 ring에서의 producer, consumer가 multi 성격을 인정하면서producing/ consuming range 느낌으로.. ㅎㅎ head와 tail을 갖는다. 1번 consumer가 consuming에 뛰어 들어 cons.head를 움직이면2번 consumer가 consuming에 또 뛰어 들 수 있다.다만 1번 consumer가 먼저 종료할 때 까지 2번은 기다려야 한다. 1. multiwriter에 대해서 어떻게 safe하게 되는지는 아래 함수 하나만 보면 된다.아래..