欢迎来到天天文库
浏览记录
ID:22202546
大小:65.50 KB
页数:11页
时间:2018-10-27
《如何利用缓存理论来分析网购物流的未来》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、如何利用缓存理论来分析网购物流的未来时了,所以我们希望我们每次取数据时数据都在内存里,减少硬盘的访问。操作系统有一个很重要的任务一一调整内存屮的数据,冃的在于减少用户使用电脑时因读取硬盘而造成的延迟和卡顿。调整一般发生两种情况下,一个是电脑闲置的时候,提前将用户可能会用到数据搬到内存中;另一个就是置换的时候,加载用户所需数据的同时,舍弃那些比较不可能被访问的数据。计算机科学里把访问数据时数据刚好在内存里的概率成为命屮率。为了提升用户体验,减少等待,就得提高命中率,选择合适的内存置换(淘汰)算法就显得
2、至关重要,内存置换算法是指在发生置换操作时,应该淘汰内存中的哪些数据,来放置新的数据,常用的算法(别怕,都很简单)冇:1、先进先出算法(FIFO,FirstInFirstOut)淘汰最先进来的数据,这个算法非常简单,这样做的道理是最先进来的数据可能己经用过过时了。对于一次性或短期使用的数据,非常合适,但对于长期使用的数据,就不合适了。这个算法命中率并不高,常常被提起主要是用来衬托其他算法的优越性,有点类似奥特曼的小怪兽。2、最久没访问算法(LRU,LeastRescentlyUsed)淘汰内存屮最久
3、没有被用到的数裾,这个就比FIFO合理多了,最久没被访问,可能真的是过时了。从逻辑上来说是相对合理的,而且比较简单,现在流行的操作系统大多都使用它或它的变种。当然,这个算法对于那种需要被周期性访问的数据就不合适了。3、最不频繁算法(LFU,LeastFrequencyUsed)淘汰内存中在最近一段时间内使用频率最低的数据,这个又比LRU更合理了,就是保留最近最常用的数据,剔除最不常用的蛀虫。它并不是操作系统的宠儿,因为它计算量比较大,自身会消耗一些内存,对于操作系统这样的惜时(内存)如金的家伙是不可
4、接受的。4、智能算法(AI)我定义的一类算法,它泛指通过机器学习算法依据各种历史数据,计算各个数据未来一小段时间内将会被访问的概率,保留概率高的,淘汰低的。举个例子,假设你白天使用电脑工作,晚上使用电脑娱乐,那么AI算法可能会在白天尽量在内存中保留工作相关的数据。比如一些word文档及办公软件的数据,而到了晚上,工作相关的数据则优先被淘汰,内存中常驻游戏,影音之类的数据。再比如,操作系统检测到了我刚刚下载了一部电影,那么这吋应该将这部电影的数据及播放器的数据加载到内存中,其他类型的则可能被淘汰。AI
5、算法的计算量显然很大也很复杂,入不Y操作系统的法眼,但在很多情况不却非常好用。再介绍一个概念:多级缓存,后面将会用到。其实在电脑中,内存并不是读取速度最快的存储介质,还有更快的,叫CPU缓存。如果你看CPU的参数,经常能看到(1_1八2八3缓存,他们共同组成CPU缓存),它是CPU的一部分,你们在看CPU规格时常常会看到,它离CPU计算核心更近,访问速度更快,但容量更小。CPU缓存和内存的关系与内存和硬盘的关系是一毛一样的。其实CPU缓存中还能细分,“L1缓存”是“L2缓存”的缓存,“L2缓存”是“
6、L3缓存”的缓存,“L3缓存”是内存的缓存,如下图所示,这样不断嵌套的缓存结构就叫多级缓存。缓存还有另外一个作用,缓冲。计算机屮的例子不太好说,举个拉面店的例子。有个拉面店只卖一种拉面,顾客时多时少,有时一次性来好几个人,师傅现做的话肯定有顾客等很久,如果提前做很多的话乂有可能做多卖不出去,那么师傅想了这么一个策略,提前做好一些拉IM,放在一个固定的桌子上,如果桌子上的拉面达到2碗,师傅就慢着点做,如果一直没卖出去,桌上的面达到4碗,就完全不做了,如果某个时段生意旺卖很快,桌上的面可能会少于2碗,或
7、者卖完,甚至还有人等,那么师傅就要幵足马力做面了。那么,这里就把桌子当作缓存,通过缓存策略,给师傅一定的缓冲时间,一定程度上抵消人流波动带來的影响。缓冲可以从两个角度解释,一个是任务发送者,另一个是任务处理者。在发送者和处理者之间设置缓存,来协调任务发送速度与处理速度不一致。当任务发送速度人于处理速度时,任务在缓存中堆积,发送者减慢发送速度,处理者提高处理速度;如果缓存中任务非常少了,则提高发送速度,减慢处理速度。如果处理是一次性的,缓存能减少处理的频率。举个例子:垃圾桶是一种缓存,如果家里没有垃圾
8、桶,我们一旦有垃圾就得扔到外头的垃圾桶,垃圾桶的存着可以减少我们处理的频率。产品例子缓存理论不仅在计算机领域应用广泛,而且在生活和产品中也常常用到。我们先对理论进行抽象:缓存納存,泛指那些使用方便又非常有限的容器。硬盘,那些使用不方便但容量非常大的容器。数据,放在容器屮的物体。算法,上面的算法大多都是说怎么淘汰,而下面往往说的是怎么保留,怎样选择,其实木质是一样的。从保留数据的角度重新解释上面的算法:FIFO,保留最后进入内存的;LRU,保留最近用过的;LFU,保留近
此文档下载收益归作者所有