[ Laboratory ]43 [SPDK] spdk 빌드 및 example 실행 원하는 디렉토리에서 깃 클론을 받아준다 깃 클론 링크 순서로만 진행해도 되고 뒤에 경로를 명시해줘도 된다 현재 위치에서 spdk 클론을 받아주었으니현재 디렉토리에서 ls -l로 확인해보면 spdk가 생성되었다 명시한 디렉토리에 spdk 디렉토리로 클론이 완료되었다이동해서 내부를 살펴보면 다음 사진과 같다다만 아직 build를 안 한 상황이라 디렉토리 목록에 build 디렉토리가 없다 build 전에 필요한 종속성과 의존성 패키지 관련 설치들을 진행해준다 이건 서브 모듈을 초기화 해주는 것 dpdk가 필수적으로 필요한 spdk는사진처럼 셋업 쉘 스크립트를 실행해서 환경을 설정해야한다 반드시 해야하는 부분은 아니지만 SPDK FIO 플러그인도 함께 빌드하지 않도록 설정했다 이제 빌드를 진행한 후 m.. 2024. 10. 10. [SPDK] blobfs/blobstore layer에서의 read 작업 처리 0. examplesexamples 디렉토리에서 hello_blob과 hello_bdev를 통해 확인하려고 했으나 예제 작동만을 위해 hello를 포함하는 함수들이 많았고 물론 내부 구현은 실제 작동에 사용되는 함수들로 구현되어 있겠지만실제 작동에 잘 사용되지 않는 함수도 포함되어 있어 이해하기 쉽게 헤더 파일을 기반으로 코드를 확인했다1. blobfs.c1-1. spdk_file_read_async()아직 spdk도 익숙하지 않고 커널 코드 분석도 익숙하지 않아서 헤더를 보고 read 작업이 본격적으로 시작되는 지점일 것 같은 함수를 찾아서탐색을 시작했다 예상했던 지점보다 조금 더 먼저 시작하는 것 같아서 조금 더 이전 함수로 올라가서 내려가는 방식으로 확인했다 blobfs/blobstore layer.. 2024. 8. 27. [SPDK] spdk_bdev_read() 작동 방식 desc 블록 디바이스 디스크립터ch io 작업에 사용할 채널buf 데이터를 저장할 버퍼offset 오프셋nbytes 읽을 바이트 수 cb 완료하면 호출될 콜백 함수 사용자가 spdk_bdev_read 함수를 호출하면블록 디바이스 디스크립터에서 블록 디바이스 구조체를 가져오고바이트 단위 오프셋과 크기를 블록 단위로 바꾸고변환을 실패하면 오류를 반환하고변환을 성공하면 spdk_bdev_read_blocks를 호출하여 읽기를 진행한다 spdk_bdev_read_blocks는블록 단위로 데이터 읽는 함수이며spdk_bdev_read_blocks_with_md 를 리턴한다 spdk_bdev_read_blocks_with_md 는메타 데이터도 함께 읽을 수 있는 함수이다 spdk_bdev_read_blocks.. 2024. 8. 26. [SPDK/NVMe] NVMe 마운트 방법 코어 128개가 있는 서버에 내가 사용할 NVMe 드라이브를 설치하게 되었다새로운 드라이브는 비어 있고 파일 시스템이 없는 상태이기 때문에마운트를 통해 파일 시스템을 생성하고 NVMe를 본격적으로 사용할 준비를 할 것이다 1. NVMe 연결 상태 확인새로운 NVMe가 시스템에 잘 연결되어 있는지를블록 디바이스의 계층 구조를 보여주는 lsblk 명령어로 확인해보았다 아니면 sudo fdisk -l 로 nvme 드라이브 목록을 확인해봐도 된다 설치한 nvme 드라이브는 대부분/dev/nvme0n1 이나 /dev/nvme1n1 과 비슷한 이름을 가지고 있다 lsblk로 확인해봤을 때nvme0n1 의 type 이 disk인 것만 보이고type 이 park 인 것은 보이지 않았다 즉, 제대로 연결되어 있기는 .. 2024. 8. 6. [FIO] Flexible I/O tester FIO 설치 방법 FIO = Flexible I/O testerread, write, IOPS, bandwidth 등의 성능과 관련된 실행 결과를 출력해주는 성능 측정 툴 특정 워크로드를 테스트하고 싶을 때 테스트를 위한 프로그램을 작성하기 어려워서 개발된 툴로테스트 워크로드를 정의하기만 하면 시뮬레이션 해볼 수 있는 것이 장점이다 사용자가 원하는 대로 io 작업 수행에 필요한 thread나 process를 생성할 수도 있고 다양한 테스트 워크로드를 job file 로 만들어 사용자가 원하는 환경에서 유연하게 테스트를 수행할 수 있다 FIO 설치 방법실험을 진행할 서버의 디렉토리에 fio 레파지토리 깃 클론을 받아준다 클론 후 ls로 확인해보면 fio 로 클론이 된 것을 확인할 수 있다 fio 디렉토리로 cwd 를 변.. 2024. 7. 31. [NAACL 2024/LG AI Research] Understanding the Capabilities & Limitations of LLM Understanding the Capabilities and Limitations of Large Language Models for Cultural Commonsense (LG AI Research and University of Michigan) 문화적 상식에 대한 LLM(거대 언어 모델)의 가능성과 한계 이해 0. 컨퍼런스와 저자 소개 NAACL = North American Chapter of the Association for Computational Linguistics = 북미컴퓨터언어학학회 = 컴퓨터언어학협회(ACL = Association for Computational Linguistics)의 주요 지부 자연어 처리(NLP = Natural Language Processing)와 컴퓨.. 2024. 7. 31. 이전 1 ··· 3 4 5 6 7 8 다음 728x90