본문 바로가기

분류 전체보기16

Redis 소개 Redis는 요새 뜨고 있는 in-memory database platform이다 Redis는 "REmote DIctionary System"의 약자로 메모리에 모든게 저장되는 Key/Value Store이다. 비슷한 플랫폼으로 memcached가 있다, 인스타그램, LINE, stackoverflow, blizzard등에서 사용하고 있다고 한다. 특징 5가지의 데이터형태 지원 - string 512MB길이까지 지원 - Set: string의 집합 ( 태그 등 ) - Sorted Set: set에 score가 추가됨, 오름차순 정렬 - Hashes: field/value 쌍으로 이뤄진 테이블 - List: linked list Persistence - snapshotting(RDB): 모든 동작 정.. 2019. 10. 2.
mtrr 파일 수정해서 uncachable 영역 조정하기 컴퓨터를 부팅될 때 부트로더와 커널이 device tree를 읽고 memory mapped I/O(MMIO)를 정의한다. 그 중에서 I/O영역은 보통 uncachable 영역으로 잡는다. 글쓴이는 FPGA accelerator을 실험하기 위해서 vivado의 PCIe core ip를 사용하였다. vivado의 pcie core는 pcie의 BAR영역을 확장하여 FPGA의 axi bus에 mapping함으로써, FPGA accelerator를 마치 메모리 영역처럼 보이게 한다. 이 디바이스에 mmap을 하여서 메모리처럼 사용을 하고 싶은데. word(4byte)마다 pcie통신을 하니 데이터 transaction 자체의 오버헤드가 너무 커서 성능이 상당히 저하된 것을 확인할 수 있었다. ubuntu:/lf.. 2019. 7. 11.
Linux kernel boot parameter 리눅스 커널이 처음 부팅될 때, 입력되는 부트 파라미터 바꾸기 먼저 현재 설정 조회 cat /proc/cmdline 수정하기 sudo vi /etc/default/grub 안에 GRUB_CMDLINE_LINUX_DEFAULT="" 부분에 원하는 옵션 입력 sudo update-grub 2019. 5. 13.
OpenBLAS 중국과학원에서 open한 BLAS 라이브러리. 3level BLAS 최적화를 진행하였으며 GotoBLAS의 GEPP와 GEBP를 조금더 아키텍쳐 적으로 최적화 시킨 모델인듯 하다. Optimized assembly나 loop unrolling reordering parallel matrix multiplication등을 구현하여 성능 개선을 하였다. 첫번째 논문은 level3 gemm 개선을 위주로 작성하였고 [Model-driven Level 3 BLAS Performance Optimization on Loongson 3A Processor, 2012] 두번째 논문은 자동적으로 optimized code를 generation하는 기법(텟플릿 기반) 위주로 작성하였다. [AUGEM:Automatical.. 2019. 4. 8.