1. 创建图
matlab 中创建图是使用 plot() 函数。
根据输入的不同,plot 函数有不同的窗体。如果y是向量的形式,plot(y)则在y对应的轴上作出一个分段线状图。如果指定要求含两个向量时,则plot(x,y)作出一个y相对于x的图表。
1 | y=[1 2 10 4 5 3 2]; |
cighao@gmail.com
matlab 中创建图是使用 plot() 函数。
根据输入的不同,plot 函数有不同的窗体。如果y是向量的形式,plot(y)则在y对应的轴上作出一个分段线状图。如果指定要求含两个向量时,则plot(x,y)作出一个y相对于x的图表。
1 | y=[1 2 10 4 5 3 2]; |
disksim 模拟器的输出结果是保存在一个输出文件中的,输出文件中包含很多信息,有几万行,但是我们关注的信息是比较少的,如果每次查看输出结果的时候都要去从几万行信息里面找是很麻烦的,所以可以用 python 来写个脚本,利用正则表达式来找出我们关注的信息。
more >>前面介绍了在没有 copyback 情况下利用贪心算法来实现 GC。今天来介绍一下在没有 copyback 的情况下利用随机算法来实现 GC 操作。
接着理一理程序的流程:
ssd_activate_elem()
—> ssd_invoke_element_cleaning()
—> _ssd_invoke_element_cleaning()
—> ssd_clean_element()
—> (if no copyback)
—> ssd_clean_element_no_copyback()
—> (if达到gc条件)
—> (if随机算法)
—> ssd_clean_blocks_random()
前面介绍的大多都是 GC 操作的判断逻辑之类的,今天主要介绍在 ssdmodel 中是如何具体实现 GC 操作的。
在 ssdmodel 中实现 GC 的算法大概分为两种(准确的说应该是三种吧)。
除了这两种(或者三种吧)算法外,在 ssdmodel 实现中有 copyback 和没 copyback 的回收也是不一样的。
more >>看论文时整理的一些笔记,比较混乱,估计也只有自己能看懂吧。
数据组织方式:如果能提供一种有效的方式来组织 SSD chip 上的数据,不仅可以有助于负载均衡,对磨损平衡也能产生积极影响。
并行性:存储组件可以协调地组织在一起实现操作上的并行性。
写操作的顺序:解决 SSD 上小的随机的写操作是一个很棘手的问题。
负载管理:SSD 的性能是受负载影响的。比如,有些设计对连续的负载有很好的性能,但是对非连续的负载就不能体现出很好的性能,反之亦然。
more >>今天这篇文章主要介绍什么时候会触发 GC。
判断是否需要进行 GC 操作是分为两种不同的情况来判断的:有 copyback 和没有 copyback 。
在 ssd_clean.c
中的 ssd_clean_element()
函数中会根据是否有 copyback 来调用不同的函数区执行 GC 操作。
下面分别介绍在这两种情况下,达到什么条件时会触发 GC 操作。
more >>今天主要介绍后台 GC 操作与普通 GC 操作的区别。
普通 GC 是指当一个写请求到来时,如果这个 element 上没有空闲的 page 了或者空闲的 page 到达了预先设定的下限,那么就会触发相应的 GC 操作等 GC 结束后才会进行写入操作。很明显这是会影响响应时间的。
后台 GC 是指当 SSD 处于空闲状态时,来检查 SSD 是否是需要进行 GC,如果不需要就不用进行 GC 了,如果要的话就进行 GC,由于这个时候 SSD 是处于空闲状态,这个时候进行 GC 操作就不会影响 SSD 的响应时间了。
more >>当一个请求经过一系列的处理后最终会发送到 element 上去,在 ssd_media_access_request_element()
函数中会把一个请求拆分成以 page 为大小的小请求,然后把这些小请求加入到 element 队列中,然后调用 ssd_activate_elem()
这个函数让 element 处理请求。下面主要分析 ssd_activate_elem()
这个函数是怎么处理请求的。
关于 GC 操作的判断也是在这个函数中触发,这个函数中关于GC部分的内容前面已经介绍过了,不再重复。当没有进行 GC 操作且该 element 的请求队列中有请求时,会进行请求的处理。
more >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true
2022-02-28
#Database#论文阅读
2020-04-12
#SSD#NVMe
2019-11-20
#计算机#Tool
2019-10-25
#SPDK
2019-10-23
#SPDK
2019-10-22
#RocksDB
2019-09-29
#计算机#Linux IO
2019-09-26
#Cassandra
2019-09-22
#Cassandra
2019-09-19
#Cassandra
2019-09-03
#数据库
2019-04-24
#Neo4j
2019-04-21
#Neo4j
2019-04-21
#Neo4j
2019-04-13
#Neo4j
2019-03-29
#计算机#Tool
2019-03-21
#Neo4j
2019-01-13
#Matlab#画图
2018-11-20
#Tools
2018-09-29
#openstack swift#分布式存储#对象存储
2018-09-29
#openstack swift#分布式存储#对象存储
2018-09-29
#openstack swift#分布式存储#对象存储
2018-09-29
#openstack swift#分布式存储#对象存储
2018-09-29
#openstack swift#分布式存储#对象存储
2018-09-22
#openstack swift#分布式存储#对象存储
2018-07-20
#openstack swift#分布式存储#对象存储
2018-07-12
#openstack swift#分布式存储#对象存储
2017-03-20
#SSD
2017-02-27
#SSD#Disksim#flashsim
2017-02-27
#SSD#Disksim#flashsim
2017-02-27
#SSD#Disksim#flashsim
2017-02-21
#SSD#Disksim#flashsim
2016-12-10
#SSD#Disksim#flashsim
2016-12-06
#SSD#Disksim#flashsim
2016-11-22
#SSD#flashsim
2016-11-13
#SSD#flashsim
2016-11-11
#SSD#flashsim
2016-11-09
#SSD#flashsim
2016-11-08
#SSD#flashsim
2016-10-20
#算法
2016-10-20
#算法
2016-10-17
#算法
2016-10-07
#算法#数论
2016-08-23
#SSD#论文阅读#学术
2016-08-19
#SSD#论文阅读#学术
2016-08-04
#黑客
2016-07-20
#SSD#论文阅读#学术
2016-07-19
#SSD#论文阅读#学术
2016-07-09
#算法
2016-07-07
#黑客
2016-06-28
#SSD#Disksim
2016-05-31
#信号处理
2016-05-13
#Matlab#画图
2016-04-29
#Matlab#画图
2016-04-24
#Matlab#画图
2016-04-20
#Matlab#画图
2016-04-17
#Matlab#画图
2016-04-16
#Matlab#画图
2016-04-15
#SSD#Disksim
2016-04-14
#Matlab#画图
2016-04-13
#Matlab#画图
2016-04-12
#SSD#Disksim
2016-04-11
#Matlab#画图
2016-03-31
#SSD#Disksim
2016-03-30
#SSD#Disksim
2016-03-30
#SSD#Disksim
2016-03-29
#SSD
2016-03-29
#SSD#Disksim
2016-03-27
#SSD#Disksim
2016-03-24
#SSD#Disksim
2016-03-23
#SSD#Disksim
2016-03-23
#SSD#Disksim
2016-03-23
#SSD#Disksim
2016-03-22
#画图#Matplotlib
2016-03-19
#SSD#Disksim
2016-03-19
#SSD#Disksim
2016-03-19
#SSD#Disksim
2016-03-19
#画图#Matplotlib
2016-03-18
#SSD#Disksim
2016-03-17
#画图#Matplotlib
2016-03-16
#SSD#Disksim
2016-03-16
#SSD#Disksim
2016-03-16
#画图#Matplotlib
2016-03-15
#算法#排序
2016-03-13
#SSD#Disksim
2016-03-12
#SSD#Disksim
2016-03-06
#SSD#Disksim
2016-03-01
#Hexo
2016-03-01
#Python#爬虫
2016-02-26
#Python#爬虫#随笔
2016-02-23
#Hexo
2016-02-14
#Hexo
2016-02-04
#Java
2016-01-10
#Nodejs
2016-01-09
#Javascript#Web 前端
2015-12-18
#Ngrok
2015-12-17
#算法#排序
2015-12-13
#Hexo
2015-12-06
#Java
2015-12-05
#Python#爬虫
2015-12-04
#算法#模拟退火算法
2015-12-03
#算法#模拟退火算法
2015-11-30
#算法#粒子群算法
2015-11-30
#Hexo
2015-11-07
#算法#粒子群算法#二层规划
2015-11-03
#Matlab#遗传算法#算法
2015-11-02
#Javascript#Web 前端
2015-10-11
#算法#C语言
2015-09-09
#SSD#Disksim#Ubuntu
2015-08-31
#SSD
2015-08-27
#Ubuntu
2015-08-22
#Python#爬虫#正则表达式
2015-03-29
#Python#端口扫描
2015-03-29
#Mysql