1. Homepage
  2. Programming
  3. System Programming (CSE4009 - 24448) - Project 2 - WL-Aware GC

System Programming (CSE4009 - 24448) - Project 2 - WL-Aware GC

Engage in a Conversation
Hanyang UniversityCSE4009CSE24448System ProgrammingWL-Aware GCCC++

System Programming (CSE4009 24448) CourseNana.COM

Project 2 WL-Aware GC CourseNana.COM

Overview CourseNana.COM

Goal
You observe how wear imbalance shortens the device lifetime
You modify the existing GC mechanism to take wear leveling into account
You explore the impact of varying a parameter of your modified GC mechanism CourseNana.COM

Outcome
Implementation of a new (WL-aware) GC mechanism
Evaluation of the modified GC mechanism (in terms of the device lifetime) CourseNana.COM

Submission
Write a team slide (in Korean or English) and submit it (in pdf format) with your code to LMS Deadline: by midnight on Dec. 10 (Sunday)
Each team has a individual meeting (evaluation interview) with me on Dec. 8, 11, 12, or 15 CourseNana.COM

Grading (a total of 50 points)
Slides and code: 20 points (the details can be found in the following slides) Interview: 10 points
Peer review: 20 points CourseNana.COM

WL-Aware GC (1) CourseNana.COM

WL mechanisms can be divided into two groups: dynamic and static WL
Static WL triggers explicit data movement operations, which may be challenging to you We will implement a simple dynamic WL mechanism CourseNana.COM

The current implementation of GC victim block selection
Line (a group of blocks from different LUNs) is the unit of GC
The line which include the minimum number of valid pages is selected as a victim lime Such a decision is to minimize the GC overhead (coming from the valid page migration) CourseNana.COM

However, doing so may not be a promising approach in terms of device lifetime CourseNana.COM

  • If cold data are accommodated in a few specific lines, they would not be selected as victim CourseNana.COM

    lines, since few page will be invalidated CourseNana.COM

  • However, the other lines will continue to be selected as victim lines, and their erase counts will increase CourseNana.COM

  • Consequently, the SSD can experience a wear imbalance across different lines
    How about modifying the victim line selection to consider wear-leveling? CourseNana.COM

WL-Aware GC (2) CourseNana.COM

Your can modify the GC victim line selection to be aware of wear-leveling CourseNana.COM

  • Each candidate line can be evaluate based on the following two criteria CourseNana.COM

  • (1) The number of valid pages CourseNana.COM

  • (2) The erase count CourseNana.COM

  • Considering both the criteria indicates that we want to select a victim line even if it can increase GC overheads (due to its many valid pages), since doing so can increase its erase count (for the purpose of wear-leveling) CourseNana.COM

    We can define a metric, “victim score”, which can be calculated as follows: CourseNana.COM

    victim score = (valid_page_count / pages_per_line)*𝛼 + (erase_count / MAX_PE_CYCLES)*𝛽 CourseNana.COM

    𝛼+𝛽=1 CourseNana.COM

    𝛼, 𝛽 determine which condition do you prefer? Do you want to highlight GC efficiency? Or, do you want to highlight the result of WL? CourseNana.COM

    By adjusting the those values, you preference can be reflected to the GC mechanism The line whose victim score is the minimum is selected as a victim CourseNana.COM

WL-Agnostic GC VS WL-Aware GC Existing victim line selection CourseNana.COM

Line 1
block block block block
CourseNana.COM

# of valid pages: 9 Erase count: 16 CourseNana.COM

Line 1 selected CourseNana.COM

Line 2
block block block block
CourseNana.COM

# of valid pages: 12 Erase count: 3 CourseNana.COM

Your modified victim line selection CourseNana.COM

Line 1 # of valid pages: 9 Erase count: 16 CourseNana.COM

block block block block CourseNana.COM

If 𝛼 = 0.5 and 𝛽 = 0.5 & MAX_PE_CYCLES = 64 Line 1: 0.5*(9/16) + 0.5*(16/64) = 0.406
Line 2: 0.5*(12/16) + 0.5*(3/64) = 0.398
Line 2 selected! (0.406 > 0.398) CourseNana.COM

Line 2
block block block block
CourseNana.COM

# of valid pages: 12 Erase count: 3 CourseNana.COM

Fixed Device & Workload Configuration CourseNana.COM

1GB (0.75GB, 25% OP) SSD Setting CourseNana.COM

Use this setting only
Assume
MAX_PE_CYCLES = 64 (when the erase count of any line reaches 64, your SSD is dead) CourseNana.COM

fio CourseNana.COM

The Contents of Your Slides CourseNana.COM

  • Your slides should include (i) code-level implementation, (ii) graphs, and (iii) the corresponding analysis CourseNana.COM

  • You execute the workload by varying 𝛼 & 𝛽 values
    (i)0&1,(ii)0.25&0.75,(iii)0.5&0.5,(iv)0.75&0.25,and(v)1&0 CourseNana.COM

  • [Graph 1] (X-axis) 𝛼 & 𝛽 pair VS (Y-axis) # of host write I/O requests CourseNana.COM

  • [Graph 2] (X-axis) line number VS (Y-axis) erase count CourseNana.COM

• • CourseNana.COM

Grading CourseNana.COM

A total of 50 points CourseNana.COM

Slides & code: 20 points CourseNana.COM

  • You’ll grade your team members (points 0~20), which is never known to them CourseNana.COM

  • After the submission, we’ll let you know how to do peer review CourseNana.COM

Extra Lab Sessions CourseNana.COM

For the team may suffer from securing computing resources, we’ll offer a limited number of lab sessions CourseNana.COM

You can use the machines in Building 311- Room 512 19:00 ~ 22:00 (3 hours)
On every Tuesday and Thursday
You should ask TA to access the room in advance CourseNana.COM

Only project-related activities are allowed Only class students can come and work CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Hanyang University代写,CSE4009代写,CSE24448代写,System Programming代写,WL-Aware GC代写,C代写,C++代写,Hanyang University代编,CSE4009代编,CSE24448代编,System Programming代编,WL-Aware GC代编,C代编,C++代编,Hanyang University代考,CSE4009代考,CSE24448代考,System Programming代考,WL-Aware GC代考,C代考,C++代考,Hanyang Universityhelp,CSE4009help,CSE24448help,System Programminghelp,WL-Aware GChelp,Chelp,C++help,Hanyang University作业代写,CSE4009作业代写,CSE24448作业代写,System Programming作业代写,WL-Aware GC作业代写,C作业代写,C++作业代写,Hanyang University编程代写,CSE4009编程代写,CSE24448编程代写,System Programming编程代写,WL-Aware GC编程代写,C编程代写,C++编程代写,Hanyang Universityprogramming help,CSE4009programming help,CSE24448programming help,System Programmingprogramming help,WL-Aware GCprogramming help,Cprogramming help,C++programming help,Hanyang Universityassignment help,CSE4009assignment help,CSE24448assignment help,System Programmingassignment help,WL-Aware GCassignment help,Cassignment help,C++assignment help,Hanyang Universitysolution,CSE4009solution,CSE24448solution,System Programmingsolution,WL-Aware GCsolution,Csolution,C++solution,