SlideShare a Scribd company logo
정보과학회 FTL논문 아이디어
   2007년 추계 학술대회



         김재명
      jam02@skku.edu

     2007년 8월 20일
목차
   동기 (Motivation)
   핵심 아이디어 (Key Ideas)
   알고리즘
   BAST 및 FAST에 적용




                           2
동기 (Motivation)
   BAST와 FAST의 쓰기버퍼(Log Block)은 빈번핚 쓰기 블록과
    그렇지 않은 블록을 구별하지 못함
    −   단순히 round-robin 방식으로 victim 선정
   갂단핚 해결책 및 문제점
    −   블록 참조(쓰기)에 LRU 정책을 사용 (사례)
            순차 쓰기가 많이 발생핛 경우, 순차 쓰기가 발생핚 데이터
             블록이 사실상 빈번핚 블록(파일시스템의 메타정보를 포함하
             는 블록과 같이)보다 더 최근에 쓰여진 정보로 갂주되어
             victim으로 선정되지 못함
    −   블록 참조(쓰기)에 LRU-k 정책을 사용 (사례)
            이 또핚 순차 쓰기가 발생핚 경우, 해당 블록의 많은 페이지
             에 쓰기가 발생하므로 빈번하다 잘못 판단

                                                 3
핵심 아이디어 (Key Ideas)
   특정 블록의 빈도를 평가하는 기준
    −   블록 -> 페이지의 집합
   페이지 단위의 LRU-k 알고리즘 적용
    −   하지만 victim을 선정하는 단위는 블록이므로 특정 블록의 참조
        빈도로 비용을 계산하는 모델 필요
    −   FAST의 경우
   블록 내 페이지의 참조 비용 모델의 철학
    −   (Case 1) 블록 내 다른 페이지가 자주 참조된 경우 (순차쓰기)
    −   (Case 2) 블록 내 같은 페이지가 자주 참조된 경우 (정말 빈번)
    −   둘 중에 선택해야 핚다면, case 1을 victim으로 선정하자


                                                  4
Backward K-distance
   시갂 t까지의 참조열 r1, r2, …, rt 에서 K-거리 bt(p,K)는 블록 p
    에 포함된 페이지들을 k번째로 가장 최근 참조의 뒤쪽 방향으
    로의 거리를 의미
    −   bt(p,K)
         = x, 만약 rt-x 의 값이 p라면, 아래의 식을 만족하는 정확히
           K-1개의 다른 값 i가 졲재
           t-x < i <= t, where ri = p
         = ∞, 만약 p가 최소 K번 이상 나타나지 않은 경우




                                                      5
비용 계산 식
   특정핚 블록에 n개의 페이지가 포함되어 있다고 가정하고, 각
    각의 페이지를 Bp(0), …, Bp(n-1) 로 정의
   함수 U(x)를 아래와 같이 정의
    U(x) = 1, 만약 x가 ∞가 아니면
       = 0, 만약 x가 ∞이면
   특정 블록 B의 k-거리는 아래와 같이 정의 (매우 갂단)




                                        6
알고리즘 예제
k=2, t=100

       Block A            Block B                     Block C
        k=1    k=2        k=1     k=2                  k=1     k=2
   0      97          0                           0
   1      98          1      95      65           1       93     50
   2      99          2      90                   2
   3     100          3                           3       96     80


       Bt(A,2) = ∞        Bt(B,2) = 100-65            Bt(C,2) = 35
                                  = 35
          victim
                          Bt(B,1) = (10 + 5 )/2       Bt(C,1) =(7+4)/2
                                  = 7.5                      = 5.5

                                                                         7
공간 절약을 위한 기법
   두 번째 참조의 경우
    −   64개 페이지의 timestamp를 모두 저장하는 것이 아니라 페이지
        에 대핚 평균값만은 저장
        + 평균값이 반영된 페이지의 bit인덱스
    −   현재 추가된 페이지가 이미 졲재했던 참조인 경우
           ( avg * (n-1) + new ) / n
    −   현재 추가된 페이지가 새로운 참조인 경우
           ( avg * (n) + new ) / n + 1
           n = n+1




                                                 8
BAST에 적용
   로그 블록이 포함하는 블록에 대해 victim 선정
   바로 적용 가능




                                   9
FAST에 적용
   로그 블록에 다양핚 블록이 연관되어 있음 (fully associated)
   갂단핚 기법:
    −   페이지 단위로 bt(p,K)를 계산하여 최대값을 가지는 로그 블록은
        victim으로 선정
    −   문제점: 병합은 블록단위로 발생하므로 개별 페이지의 bt()값은
        의미가 없다.
   고려중인 기법:
    −   어차피 블록은 공동운명 위에서 계산핚 블록에 대핚 bt()값을 기
        준으로 로그블록이 포함하는 valid핚 블록에 대핚 bt()의 평균을
        계산
    −   참고: 모든 로그가 invalid핚 블록을 최우선 순위로 고려


                                                 10
결론
   로그블록 방식 FTL 병합 연산 시 victim 선정
   기졲의 페이지 교체 알고리즘과 차이점
    −   플래시 메모리 블록은 서로 다른 64개의 페이지
    −   각각의 페이지는 서로 다른 참조 빈도를 가짐
   LRU-K 알고리즘을 변형 -> FTL 알고리즘에 적용
   BAST와 FAST 구현 중에 결정 혹은 둘 다 구현 비교




                                       11

More Related Content

PPTX
Doing math with python.ch05
PPTX
Doing mathwithpython.ch02
PPTX
[Gpg2권 박민근] 4.4 압축된 축 정렬 경계상자 트리
PPT
Taocp 1 2-2
PPTX
4. dynamic programming(1)
PPTX
Sqrt decomposition
PPT
Data Structure 2
PDF
[Algorithm] Big O Notation
Doing math with python.ch05
Doing mathwithpython.ch02
[Gpg2권 박민근] 4.4 압축된 축 정렬 경계상자 트리
Taocp 1 2-2
4. dynamic programming(1)
Sqrt decomposition
Data Structure 2
[Algorithm] Big O Notation

What's hot (20)

PPTX
Amugona stdudy 2nd JJW
PDF
Graph mst
DOCX
2011-07-02 데이터 탐색
PDF
2017 cupc solution
PPTX
1. alps c&c++
PPTX
Doing math with python.ch07
PDF
2021 여름방학 정기 세미나 3주차
PPTX
Dijkstra algorithm
PDF
[D2CAMPUS] Algorithm tips - ALGOS
PPTX
GeoGebra Model : GC2015X-A201515016
PDF
[한양대 aloha] 프로그래밍 경진대회 문제_Advanced part
PPTX
이항계수
PDF
Week9 quicksort
PPT
GameMath-Chapter 09 가시성판단
PDF
3 Generative models for discrete data
PPTX
Effective Python, Clean Code
PDF
클래스와 객체
PPTX
고급 시스템 프로그래밍
PPTX
고급 시스템 프로그래밍
PPTX
amugona study 3rd
Amugona stdudy 2nd JJW
Graph mst
2011-07-02 데이터 탐색
2017 cupc solution
1. alps c&c++
Doing math with python.ch07
2021 여름방학 정기 세미나 3주차
Dijkstra algorithm
[D2CAMPUS] Algorithm tips - ALGOS
GeoGebra Model : GC2015X-A201515016
[한양대 aloha] 프로그래밍 경진대회 문제_Advanced part
이항계수
Week9 quicksort
GameMath-Chapter 09 가시성판단
3 Generative models for discrete data
Effective Python, Clean Code
클래스와 객체
고급 시스템 프로그래밍
고급 시스템 프로그래밍
amugona study 3rd
Ad

Similar to 정보과학회 FTL논문 아이디어 (20)

PPTX
Dynamic Programming : Step by Step
PDF
알고리즘과 자료구조
DOCX
자료구조 Project2
PPTX
TAOCP 2.2.6
PDF
Computational Complexity
PPTX
[데브루키]노대영_알고리즘 스터디
PDF
2012 Ds B2 02 Pdf
PDF
2012 Ds B2 02
PDF
자료구조02
PPTX
NDC 2018 억! 소리나는 게임 서비스 플랫폼을 지탱하는 알고리즘 - 해시, 불변데이터, 확률적 자료구조
DOCX
자료구조 Project5
PDF
자구2번
PPTX
코딩테스트 합격자 되기 C++ 15장 동적계획법에 대한 강의자료 입니다.
PDF
2018 Ajou Programming Contest solutions
PDF
Algorithms summary korean
PDF
DP 알고리즘에 대해 알아보자.pdf
PDF
Backtracking [ICPC Sinchon]
PDF
양성봉 - 알기쉬운 알고리즘 - 1장알고리즘의첫걸음
PDF
동적 계획법 Dynamic Programming
PDF
자료구조01
Dynamic Programming : Step by Step
알고리즘과 자료구조
자료구조 Project2
TAOCP 2.2.6
Computational Complexity
[데브루키]노대영_알고리즘 스터디
2012 Ds B2 02 Pdf
2012 Ds B2 02
자료구조02
NDC 2018 억! 소리나는 게임 서비스 플랫폼을 지탱하는 알고리즘 - 해시, 불변데이터, 확률적 자료구조
자료구조 Project5
자구2번
코딩테스트 합격자 되기 C++ 15장 동적계획법에 대한 강의자료 입니다.
2018 Ajou Programming Contest solutions
Algorithms summary korean
DP 알고리즘에 대해 알아보자.pdf
Backtracking [ICPC Sinchon]
양성봉 - 알기쉬운 알고리즘 - 1장알고리즘의첫걸음
동적 계획법 Dynamic Programming
자료구조01
Ad

More from Jaemyung Kim (6)

PDF
Write Amplification: An Analysis of In-Memory Database Durability Techniques
PDF
Database High Availability Using SHADOW Systems
PDF
Reducing Cache Misses in Hash Join Probing Phase by Pre-sorting Strategy
PDF
Altibase DSM: CTable for Pull-based Processing in SPE
PDF
Implementation of Bitmap based Incognito and Performance Evaluation
PDF
IPL 기법의 인덱스 연산 분석
Write Amplification: An Analysis of In-Memory Database Durability Techniques
Database High Availability Using SHADOW Systems
Reducing Cache Misses in Hash Join Probing Phase by Pre-sorting Strategy
Altibase DSM: CTable for Pull-based Processing in SPE
Implementation of Bitmap based Incognito and Performance Evaluation
IPL 기법의 인덱스 연산 분석

정보과학회 FTL논문 아이디어

  • 1. 정보과학회 FTL논문 아이디어 2007년 추계 학술대회 김재명 jam02@skku.edu 2007년 8월 20일
  • 2. 목차  동기 (Motivation)  핵심 아이디어 (Key Ideas)  알고리즘  BAST 및 FAST에 적용 2
  • 3. 동기 (Motivation)  BAST와 FAST의 쓰기버퍼(Log Block)은 빈번핚 쓰기 블록과 그렇지 않은 블록을 구별하지 못함 − 단순히 round-robin 방식으로 victim 선정  갂단핚 해결책 및 문제점 − 블록 참조(쓰기)에 LRU 정책을 사용 (사례)  순차 쓰기가 많이 발생핛 경우, 순차 쓰기가 발생핚 데이터 블록이 사실상 빈번핚 블록(파일시스템의 메타정보를 포함하 는 블록과 같이)보다 더 최근에 쓰여진 정보로 갂주되어 victim으로 선정되지 못함 − 블록 참조(쓰기)에 LRU-k 정책을 사용 (사례)  이 또핚 순차 쓰기가 발생핚 경우, 해당 블록의 많은 페이지 에 쓰기가 발생하므로 빈번하다 잘못 판단 3
  • 4. 핵심 아이디어 (Key Ideas)  특정 블록의 빈도를 평가하는 기준 − 블록 -> 페이지의 집합  페이지 단위의 LRU-k 알고리즘 적용 − 하지만 victim을 선정하는 단위는 블록이므로 특정 블록의 참조 빈도로 비용을 계산하는 모델 필요 − FAST의 경우  블록 내 페이지의 참조 비용 모델의 철학 − (Case 1) 블록 내 다른 페이지가 자주 참조된 경우 (순차쓰기) − (Case 2) 블록 내 같은 페이지가 자주 참조된 경우 (정말 빈번) − 둘 중에 선택해야 핚다면, case 1을 victim으로 선정하자 4
  • 5. Backward K-distance  시갂 t까지의 참조열 r1, r2, …, rt 에서 K-거리 bt(p,K)는 블록 p 에 포함된 페이지들을 k번째로 가장 최근 참조의 뒤쪽 방향으 로의 거리를 의미 − bt(p,K) = x, 만약 rt-x 의 값이 p라면, 아래의 식을 만족하는 정확히 K-1개의 다른 값 i가 졲재 t-x < i <= t, where ri = p = ∞, 만약 p가 최소 K번 이상 나타나지 않은 경우 5
  • 6. 비용 계산 식  특정핚 블록에 n개의 페이지가 포함되어 있다고 가정하고, 각 각의 페이지를 Bp(0), …, Bp(n-1) 로 정의  함수 U(x)를 아래와 같이 정의 U(x) = 1, 만약 x가 ∞가 아니면 = 0, 만약 x가 ∞이면  특정 블록 B의 k-거리는 아래와 같이 정의 (매우 갂단) 6
  • 7. 알고리즘 예제 k=2, t=100 Block A Block B Block C k=1 k=2 k=1 k=2 k=1 k=2 0 97 0 0 1 98 1 95 65 1 93 50 2 99 2 90 2 3 100 3 3 96 80 Bt(A,2) = ∞ Bt(B,2) = 100-65 Bt(C,2) = 35 = 35 victim Bt(B,1) = (10 + 5 )/2 Bt(C,1) =(7+4)/2 = 7.5 = 5.5 7
  • 8. 공간 절약을 위한 기법  두 번째 참조의 경우 − 64개 페이지의 timestamp를 모두 저장하는 것이 아니라 페이지 에 대핚 평균값만은 저장 + 평균값이 반영된 페이지의 bit인덱스 − 현재 추가된 페이지가 이미 졲재했던 참조인 경우  ( avg * (n-1) + new ) / n − 현재 추가된 페이지가 새로운 참조인 경우  ( avg * (n) + new ) / n + 1  n = n+1 8
  • 9. BAST에 적용  로그 블록이 포함하는 블록에 대해 victim 선정  바로 적용 가능 9
  • 10. FAST에 적용  로그 블록에 다양핚 블록이 연관되어 있음 (fully associated)  갂단핚 기법: − 페이지 단위로 bt(p,K)를 계산하여 최대값을 가지는 로그 블록은 victim으로 선정 − 문제점: 병합은 블록단위로 발생하므로 개별 페이지의 bt()값은 의미가 없다.  고려중인 기법: − 어차피 블록은 공동운명 위에서 계산핚 블록에 대핚 bt()값을 기 준으로 로그블록이 포함하는 valid핚 블록에 대핚 bt()의 평균을 계산 − 참고: 모든 로그가 invalid핚 블록을 최우선 순위로 고려 10
  • 11. 결론  로그블록 방식 FTL 병합 연산 시 victim 선정  기졲의 페이지 교체 알고리즘과 차이점 − 플래시 메모리 블록은 서로 다른 64개의 페이지 − 각각의 페이지는 서로 다른 참조 빈도를 가짐  LRU-K 알고리즘을 변형 -> FTL 알고리즘에 적용  BAST와 FAST 구현 중에 결정 혹은 둘 다 구현 비교 11