体系结构小组展示
第一次讨论
第一次讨论内容:
1、每个人提出可以展示的点,讨论可行性
2、整理出完整的展示思路,确定每一部分的细节
3、确定工作分配
4、确定后续时间节点安排
重点在于第一点,相当于是一个头脑风暴的过程
解释一下,我们小组的题目是cache算法,大家需要提前查询资料,整理能够拿来展示的知识点。知识点一定要适合拿来课堂展示,不要直接一段FIFO、LRU的算法简介甩过来,大家都学过了,没人愿意看。
以下几点属于适合展示的知识点,满足其一即可:
1、属于考试的重难点,可以帮助大家理解并复习。
2、知识点很新颖,有趣。
3、有详细的发展脉络可以逐步展开,或是对于已经学过的算法的改进。例如:先是一个大家熟知的算法,然后改进一个点,再改进一个点,每一步引入新的东西,获得最终的优秀性能。
4、算法有代码实现,且易于进行性能比较。
大家就多搜索,然后看到有意思的知识点就记录下来,不一定成体系,零散的也行
跟cache相关的都行
不要被局限在替换算法上了
还有实现其他功能的算法
讨论时间就定在明晚,找个大家都在的时间客厅讨论就行,大概就十点或者十一点
Collection
替换算法
随机算法
FIFO
First In First Out,先进先出
使用队列实现
LRU
Least Recently Used,剔除掉最近最少使用的数据
双向链表
实现:https://www.cnblogs.com/wyq178/p/9976815.html
2Q
用一个简单的LRU list作为frequent 队列
需要提前确定Kin和Kout参数
LFU
Least Frequently Used,淘汰访问次数最低的
ARC
adaptive replacement cache
自适应,低成本,集合LRU和LFU的优点
写操作
写直达法
写回法
标记法
其他
ZFS ARC
https://blog.csdn.net/WSKINGS/article/details/46416451
Adjustable Replacement Cache,读缓存淘汰算法
会根据工作流自适应调整I/O操作对高频使用或最近使用的资源分配
被淘汰的数据以及其分类(高频还是最近使用)会被记录进幽灵链表,如果发生幽灵命中,就增加这一分类的cache大小。
允许把一些页面锁住不被淘汰
☆面试题
基础概念
数据结构
如何实现
一篇有意思的文章:https://blog.csdn.net/ymq267/article/details/84827991?spm=1001.2101.3001.4242
面向经典面试算法题的LRU Cache实现文章:(双向链表和HashMap)头条、脉脉必考题
https://blog.csdn.net/sihai12345/article/details/109465630
https://www.cnblogs.com/kubidemanong/p/10669805.html
https://zhuanlan.zhihu.com/p/34133067
实验
https://blog.csdn.net/qq_36306833/article/details/95307274?dist_request_id=&depth_1-

浙公网安备 33010602011771号