上一页 1 ··· 6 7 8 9 10
摘要: 前言缓存系统的基本单位是cache lines.cache line是由大量的两个连续字节组成,一般大小为32-256。而最常见的cache line大小为64个字节。术语伪共享(False Sharing)是描述多线程在同时修改同一个cache line中的独立变量时,无意识地影响彼此的工作。在cache line中的写竞争是唯一一个在SMP系统上实现一个可伸缩的并行程序的最重要限制因素。我曾听说伪共享被形容为无声的性能杀手,因为在看代码时不明显出现在你眼前。为了实现性能随线程数线性伸展,我们必须确保没有两个或以上的线程同时写入同一个变量或者cache line。两个线程同时写入同一个变量可 阅读全文
posted @ 2013-03-09 23:42 盖文 阅读(733) 评论(3) 推荐(1) 编辑
摘要: 在HPTS 2009上,ebay 架构师Randy Shoup又列出了五个lessions.它们分别是: 1 Expect (R)evolution 2 Dependencies Matter 3 Be Authoritative 4 Never Enough Data 5 Custom Infrastructure 我结合ebay以前的5个lessions,总结一下可伸缩性和高性能的系统架构的一些最佳的实践: 一 Partition Everything 在一个大型的系统架构和设计当中,我们会面临各种各样的挑战,而为了能使得系统具有良好的可伸缩性,我们就需要“切分系统的每个部分”,而这里的切 阅读全文
posted @ 2013-03-09 22:13 盖文 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1. 实现高并发,最好用类似lib-event的库,采用epoll这样的机制,服务器的处理进程最好和CPU核数一制2. 负载均衡,分布式缓存(读或写),可扩展,容错容灾,3. 分布式数据库,对实时性要求低的非结构化数据采用非结构化存储(NOSQL)4. 应用拆分,分离要求不同的模块5. 可用性,易于维护,配置统一管理 阅读全文
posted @ 2013-03-09 22:05 盖文 阅读(340) 评论(0) 推荐(1) 编辑
摘要: 高并发实时性负载均衡单点故障,容错,容灾能力可用性扩展性,伸缩性服务间同步和异步通讯 阅读全文
posted @ 2013-03-09 16:22 盖文 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 其实分解后还是背包问题先判断总和sum,如果为奇数则否如果为偶数,则问题转化为从数组中找出总和为sum/2的集合 阅读全文
posted @ 2013-03-09 14:54 盖文 阅读(182) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10