- 注册时间
- 2011-10-23
- 最后登录
- 2011-10-31
- 阅读权限
- 50
- 积分
- 619
- 精华
- 0
- 帖子
- 200

升级   23.8%
|
5、Amdahl定律跟Gustafson定律
这里咱们以S(n)表现n核系统对详细程序的加速比,K表示串行局部盘算时光比例。
Amdahl 定律的加速比:S(n) = 使用1个处理器的串行计算时间 / 使用n个处置器的并行计算时间,S(n) = 1/(K+(1-K)/n) = n/(1+(n-1)K)
Gustafson定律的加速比:S(n) = 使用n个处理器的并行计算量 / 使用1个处理器的串行计算量,S(n) = K+(1-K)n
艰深的讲,Amdahl定律将工作量看作1,有n核也只能分担1-K的工作量;而Gustafson定律则将单核工作量看作1,有n核就可以增添n(1-K)的工作量。这里没有斟酌引进分布式带来的开销,如网络和加锁。从性能价钱比的角度看,并不是越分布越好。
1、CAP实践
2000年Eric Brewer教学提出了有名的CAP理论,即:一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。2002年MIT的Seth Gilbert 和 Nancy lynch两物证明了CAP理论的准确性。根据CAP理论,一致性(C),可用性(A),分区容错性(P),三者不可兼得,必须有所取舍。因此系统架构师不要把精力挥霍在如何设计才干同时知足CAP三者的完善分布式系统,而是应该研讨如何进行取舍,满意实际的业务需求。
C: Consistency(一致性),任何一个读操作老是能读取到之前实现的写操作结果,也就是在散布式环境中,多点的数据是一致的;
A: Availability(可用性),每一个操作总是可能在肯定的时间内返回,也就是系统随时都是可用的;
P: Tolerance of network Partition(分区容忍性),在呈现网络分区(好比断网)的情形下,分别的系统也能畸形运行;
对于分布式存储系统而言,分区容错性(P)是基本需要,因而只有CP和AP两种抉择。CP模式保证分布在网络上不同节点数据的一致性,但对可用性支持不足,这类系统主要有BigTable, HBASE, MongoDB, Redis, MemcacheDB, Berkeley DB等。AP模式主要以实现"最终一致性(Eventual Consistency)"来确保可用性和分区容忍性,但弱化了数据一致性要求,典范系统包含Dynamo, Tokyo Cabinet, Cassandra, CouchDB, SimpleDB等。
跟着闪存时期的降临,五分钟法则一分为二:是把 SSD 当成较慢的内存(extended buffer pool )使用还是当成较快的硬盘(extended disk)使用。小内存页在内存和闪存之间的挪动对照大内存页在闪存和磁盘之间的移动。在这个法则首次提出的 20 年之后,在闪存时代,5 分钟法则依然有效,只不外适合更大的内存页(合适 64KB 的页,这个页大小的变更偏偏体现了计算机硬件工艺的发展,以及带宽、延时)。
根据数据构造和数据特色的不同,对于文件系统来说, 操作系统偏向于将 SSD 当作刹时内存(cache)来应用。而对数据库,倾向于将 SSD 当作一致性存储来用。
2、Eventual Consistency(最终一致性)
简而言之:进程松,成果紧,最终结果必需坚持一致性。
3、BASE理论
BASE,即Basically Availble(基础可用)、Soft-state (软状况)、Eventual Consistency (终极一致性)。BASE的英辞意义是碱,而ACID是酸,有点冰炭不洽的意思。
关联数据库的ACID模型领有高一致性和可靠性,损失可用性。ACID,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、长久性(Durability)。其中的一致性强调事务完成时,数据库处于一致的状态。对于良多利用来说,一致性请求可以下降,而可用性(Availability)的要求则更为显明。从而发生了弱一致性的理论BASE。 BASE模型反ACID模型,完整不同ACID模型,就义高一致性,取得可用性或牢靠性。它仅需要保证系统基本可用,支撑分区失败,容许状态在必定时间内不同步,保证数据到达最终一致性即可。BASE思维重要强调根本的可用性,如果你需要高可用性,也就是纯洁的高机能,那么就要以一致性或容错性为牺牲,BASE思惟的方案在性能上仍是有潜力可挖的。
4、I/O五分钟法则
1987年,Jim Gray 与 Gianfranco Putzolu 发表了"五分钟规律"的观点,简而言之,如果一条记载频繁被访问,就应当放到内存里,否则的话就应该待在硬盘上按须要再访问。这个临界点就是五分钟。看上去像一条教训性的法则,实际上五分钟的评估尺度是根据投入本钱断定的,根据当时的硬件发展水准,在内存中保持1KB的数据成原形当于硬盘中存储400秒的开销(濒临五分钟)。这个法则在 1997 年左右的时候进行过一次回顾,证明了五分钟法令仍然有效(硬盘、内存实际上没有质的奔腾),而这次的回想则是针对 SSD 这个"新的旧硬件"可能带来的影响。
从客户端考虑数据一致性模型,假设如下场景:
存储系统:它在实质上是大范围且高度分布的系统,其创立目标是为了保证耐用性和可用性。
进程A:对存储系统进行读写。
进程B和C:这两个进程完全独破于进程A,也读写存储系统。客户端一致性必须处理一个视察者(在此即进程A、B或C)如何以及何时看到存储系统中的一个数据对象被更新。
根据以上场景可以得到如下三种一致性模型:
强一致性:在更新完成后,(A、B或C进行的)任何后续访问都将返回更新过的值。
弱一致性:系统不保证后续访问将返回更新过的值,在那之前要先满意若干前提。从更新到保证任一察看者看到更新值的时刻之间的这段时间被称为不一致窗口。
最终一致性:这是弱一致性的一种特别情势;存储系统保证如果对象没有新的更新,最终所有访问都将返回最后更新的值。假如不产生故障,不一致窗口的最大值能够依据下列因素断定,比方通讯延迟、系统负载、复制计划波及的副本数目。
本文来自CSDN博客,转载请表明出处:
7、推举浏览
Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services:
Brewer's CAP Theorem:
Brewers CAP theorem on distributed systems:
Towards Robust Distributed Systems:
NoSQL数据库笔谈:
Visual Guide to NoSQL Systems:
6、摩尔定律
摩尔定律是由英特尔(Intel)开创人之一戈登?摩尔(Gordon Moore)提出来的。其内容为:集成电路上可包容的晶体管数量,约每隔18个月便会增长一倍,性能也将晋升一倍,当价格不变时;或者说,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上。这一定律揭示了信息技巧提高的速度。"Tape is dead, disk is tape, flash is disk, RAM locality is king." Jim Gray - 2006. 从系统Scale-up的角度看,破费大批的时间和精神来进步系统性能,如Cache,数据猜测与预取,数据部分性,并发性等,可能还不如裁减内存量、使用SSD调换传统磁盘来得直接和划算。计算机硬件的更新速度越来越快,成本也越为越低。作为一名系统架构师,应该充足考虑摩尔定律的影响,使用更经济、公道和简略的方式来实现系统性能目的。
客户端一致性模型的变体有:
因果一致性(Causal consistency):如果进程A告诉进程B它已更新了一个数据项,那么进程B的后续访问将返回更新后的值,且一次写入将保证代替前一次写入。与进程A无因果关系的进程C的访问遵照个别的最终一致性规矩。
“读己之所写”一致性(Read-your-writes consistency):这是一个主要的模型。当进程A本人更新一个数据项之后,它总是访问到更新过的值,毫不会看到旧值。这是因果一致性模型的一个特例。
会话一致性(Session consistency):这是上一个模型的适用版本,它把拜访存储体系的过程放到会话的高低文中。只有会话还存在,系统就保证“读己之所写”一致性,系统保障也不会连续到新的会话。
单调读一致性(Monotonic read consistency):如果进程已经看到过数据对象的某个值,那么任何后续访问都不会返回在那个值之前的值。
枯燥写一致性(Monotonic write consistency):系统保证来自统一个进程的写操作次序履行。要是系统不能保证这种水平的一致性,就十分难以编程了。 |
|