系统架构\并行计算
likelikebing
这个作者很懒,什么都没留下…
展开
-
CAP原则
1 CAP 理论Consistency(一致性),数据一致更新,所有数据变动都是同步的Availability(可用性),好的响应性能Partition tolerance(分区容错性)可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。1.1 Consis转载 2014-08-07 15:14:52 · 1165 阅读 · 0 评论 -
什么是IOC
版权声明:本文由冰云完成,首发于CSDN,作者保留中文版权。未经许可,不得使用于任何商业用途。欢迎转载,但请保持文章及版权声明完整。如需联络请发邮件:icecloud(AT)sina.com转载 2014-08-07 15:06:17 · 390 阅读 · 0 评论 -
多线程服务器的常用编程模型——陈硕
陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice2009 Feb 12 建议阅读本文 PDF 版下载: http://files.cppblog.com/Solstice/multithreaded_server.pdf 本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程模型,归纳了进程间通讯与线程同步的最佳实践转载 2014-08-13 10:12:55 · 2446 阅读 · 0 评论 -
多核与异步并行
原文发表于《程序员》杂志2012年第9期,文字略有修改。我们在设计多线程程序时往往有很多性能指标,例如低延迟(latency),高吞吐量(throughput),高响应度(responsiveness)等。随着多核处理器上CPU核数的日益增加,如何高效地利用这些计算资源以满足这些设计目标变得越来越重要。这次向大家介绍的异步并行就是一种帮助实现低延迟、高吞吐量和高响应度的并行编程技术。让我们转载 2014-08-13 09:23:52 · 571 阅读 · 0 评论 -
memory barrier
要了解如何使用memory barrier,最好的方法是明白它为什么存在。CPU硬件设计为了提高指令的执行速度,增设了两个缓冲区(store buffer, invalidate queue)。这个两个缓冲区可以避免CPU在某些情况下进行不必要的等待,从而提高速度,但是这两个缓冲区的存在也同时带来了新的问题。要仔细分析这个问题需要先了解cache的工作方式。 目前CPU的cache的工转载 2014-08-12 17:39:36 · 464 阅读 · 0 评论 -
并行编程中的“锁”难题
注:本文发表于《程序员》2011年第8期并行编程专栏,略有删改。在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。1. 用锁来防止数据竞跑在进行并行编程时,我们常常需要使用锁来保护共享变量,以防止多个线程同时对该变量进行更新时产生数据竞跑(Data Race)。所转载 2014-08-13 10:09:45 · 517 阅读 · 0 评论 -
为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)
最后一次修改:2010年11月11日本文所讨论的计算机模型是Shared Memory Multiprocessor,即我们现在常见的共享内存的多核CPU。本文适合的对象是想用C++或者Java进行多线程编程的程序员。本文主要包括对Sequential Consistency和Cache Coherence的概念性介绍并给出了一些相关例子,目的是帮助程序员明白为什么需要在并行编程时关注Sequ转载 2014-08-12 16:58:10 · 329 阅读 · 0 评论 -
谈一谈网络编程学习经验——陈硕
陈硕 giantchen@gmail.com blog.csdn.net/Solstice 2011-06-06 PDF 版下载:https://github.com/downloads/chenshuo/documents/LearningNetworkProgramming.pdf本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用Sock转载 2014-08-13 16:05:32 · 1686 阅读 · 0 评论