Study 3

연구 내용 정리

A. 실행 프로세스 (실험 하고자 하는 GPU/Model 조합 전부에 대해 각각 실행해야함) - compute time.py 1. compute time.py 파일을 실행하여 실험을 진행하고자 하는 GPU/Model 환경에서 각 배치 크기에 대해 compute time을 측정하여 txt 파일로 저장 (1, 10, 20 ... 등 일부 배치 크기에 대해서만 실행됨) - compute time predict.ipynb 2. compute time predict.ipynb 파일에 compute time.py에서 생성된 txt 파일을 업로드하여 실행한다. 1에서 측정된 일부 배치 크기의 compute time을 사용하여 regression 모델을 실행하고, 모든 배치 (1~100) 크기에 대해 compute t..

Study/Paper 2022.11.23

[Linux] eBPF의 활용 (BCC, bpftrace)

1. BCC BCC란? BCC는 성능 분석이나 네트워크 트레픽 제어와 같은 작업에 적합한 툴으로, 커널 tracing이나 manipulation하는 프로그램을 효율적으로 작성할 수 있도록 한다. BCC의 특징으로는 데이터를 수집하는 코드는 C로 작성하고, 프론트엔드는 파이썬으로 작성하여 프로그램을 구현한다는 것이다. BCC Tools BCC는 코드를 작성하지 않아도 기본적으로 제공하는 tool들이 있다. 위의 그림이 bcc에서 제공하고있는 기본 tool이다. system call interface, tcp.udp, filesystem 등 많은 영역에 대해 trace할 수 있는 툴을 제공하고 있다. Bcc에서 기본적으로 제공하는 툴을 활용하는것도 좋지만, 필요한 정보를 추출해주는 툴이 없거나 추가적인 정보..

Study/Linux 2022.08.25

[Linux] Extended Berkeley Packet Filter(eBPF)란?

ePBF란? BPF는 Unix계열 OS의 Kernel Level에서 Bytecode에 따라 동작하는 경량화된 Virtual Machine이다. 처음에는 packet filter라는 이름 그대로 Network Packet을 Filtering하는 Program 을 구동하는 용도로 사용되었다. 하지만 사용자가 원하는 Program을 언제든지 Kernel Level에서 구동할 수 있다는 장점 때문에 BPF는 꾸준히 발전하게 되었고, 현재는 다양한 기능을 수행할 수 있게 되었다. BPF가 다양한 기능을 수행하게 되면서 기존의 매우 제한적인 Resource들이 큰 걸림돌이 됐다. 이러한 문제점을 해결하기 위해서 Linux는 더 많은 Resource와 기능을 이용할 수 있는 Extened BPF, 즉 eBPF를 정의..

Study/Linux 2022.08.25