본문 바로가기

[ATC'17] iJournaling: Fine-Grained Journaling for Improving the Latency of Fsync System Call filesystem 동기화 작업은 현재 journaling 기술의 compound transaction 방식으로 지연 될 수 있다. fsync()는 특정 file에 대해 durability를 보장하는 시스템 콜 이다. 현재 JBD2 동작은 특정 file에 대해 fsync가 호출하면 compound transaction에 대해 commit 요청을 보낸다. compound transaction은 fsync가 호출된 파일의 데이터 및 메타 데이터 뿐만 아니라 다른 파일의 메타데이터와 데이터도 포함한다. 따라서, JBD의 fsync()는 durablilty를 요청받지 않은 데이터와 메타데이터까지 저널 영역으로 commit을 완료해야 하므로 latency가 길다. 따라서, 기존 JBD2의 동작은 fsync-int.. 더보기
Buffer Overflow # 버퍼 오버플로우 (Buffer Overflow - BOF 공격) - 메모리 오류를 이용하여 시스템의 프로그램 실행 흐름을 공격자가 원하는 방향으로 제어하거나, 공격자가 원하는 악성코드를 실행 시키는 공격 방법이다. 1. 스택 오버플로우 정의 - 메모리 영역 중 local value나 함수의 return address 가 저장되는 스택 영역에서 발생하는 오버플로우이다. 스택은 스택프레임을 통해 처리가 되는데 스택프레임에 할당된 버퍼(변수)의 크기 보다 더 큰 데이터가 입력될 경우 인접한 메모리의 데이터가 삭제 되거나 공격자가 원하는 코드를 실행할 수 있다. 스택 메모리 상에서 이러한 오류를 이용한 공격방식을 스택 오버플로우 공격이라 한다. 해결방법 - 데이터의 크기를 검사하지 않는 라이브러리 함수를 사.. 더보기
[FAST'20 summary]DC-Store: Eliminating Noisy Neighbor Containers using Deterministic I/O Performance and Resource Isolation When sharing storage in multi-container environment, a write-intensive container can be a noisy neighbor for other read-intensive containers. there are two type of noisy which are foreground noisy and background noisy. Foreground noisy is conventional noisy sound issued by Application’s writes operation. Background noisy is unexpected noisy sound caused by OS management of metadata. DC-store Suc.. 더보기
[xv6]Homework 1: boot xv6 Boot xv6 xv6 환경 세팅 호스트 OS Window 10 (64bit) 가상 머신 VMware Workstation 14 게스트 OS Ubuntu 14.04 컴파일러 Gcc version 4.4.7 게스트 OS의 가상머신 qemu version 2.1.2 xv6 프로젝트는 "make" 커맨드를 이용해서 빌드하고, "make qemu" 커맨드를 이용하여 부팅한다. Exercise : What is on the stack? (스택에 어떤 것이 있는가?) 스택 포인터는 bootasm.S에서 부트 로더의 시작 주소로 초기화된다.(그림 2) call bootmain 인스트럭션이 실행 되면 eip에 저장되어있는 다음 인스트럭션 주소가 스택에 저장되고 eip에는 bootmain 함수의 주소가 들어가면서 프로그.. 더보기
[USENIX ATC 2019] Cognitive SSD: A Deep Learning Engine for In-Storage Data Retrieval 개 요 본 논문에서 소개하는 Cognitive SSD는 SSD에 인지력을 제공하여 에너지 효율이 있는 스토리지 내부 데이터 탐색을 수행한다. Cognitive SSD는 인지력을 주기 위해 DLG-x accelerator라고 하는 하드웨어 유닛을 SSD 내부에서 추가하여 비정형 데이터(unstructured data)에게 deep learning 과 Graph search를 수행하도록한다. Unstructured Data 비 구조적 데이터(unstructured data)를 그대로 해석하면 "미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 구성되지 않은 정보"다. 그러나 어떤 형태의 구조를 가진 데이터일지라도 그 구조가 당면한 처리 작업에 도움이 되지 않는다면 여전히 구조화되지 않은 것으로 특정지어.. 더보기
[VMware]Error: Cannot open the disk. Module Disk power on failed. Failed to start the virtual machine. \ 해결책 VMware로 가상 머신을 실행하다가 호스트 PC에서 파워가 꺼져버리게 된다면 위와 같은 오류가 발생할 수 있다. 이때, disk 경로로 가서 *.lck 폴더를 삭제하면 문제는 해결된다. 원인분석 가상머신은 실제 디스크가 아닌 가상 디스크를 사용한다. 에러 메시지에 써 만약에 여러 개의 가상머신이 가상 디스크를 동시에 읽고 쓴다면 크래시 일관성(crash-consistency)[1]이 발생할 수 있다. 그래서 VMware Workstation에서 lock file[2]들을 이용하여 이 문제를 보호한다. VMware Workstation에서 사용하는 locking 방식은 리눅스와 윈도우에서 각각 다르게 적용하기 때문에 각 운영체제에 파일을 공유하는 시스템일 경우에는 보호가 안된다. 따라서 윈도우.. 더보기