基本信息
- 原书名:Software Pipelines and SOA: Releasing the Power of Multi-Core Processing
- 原出版社: Addison-Wesley Professional
- 作者: (美)Cory Isaacson
- 译者: 吴众欣
- 丛书名: 开发人员专业技术丛书
- 出版社:机械工业出版社
- ISBN:9787111305392
- 上架时间:2011-5-20
- 出版日期:2010 年6月
- 开本:16开
- 页码:242
- 版次:1-1
- 所属分类:计算机 > 计算机网络 > Web Server > SOA/SOC(面向服务框架)

编辑推荐
多核环境下的SOA解决方案。
解决应用程序的性能瓶颈,在任何SOA或高级计算程序中取得性能突破。
适合架构师,分析师开发者阅读。
内容简介
作译者
目录
序
前言
第一部分 管道理论
第1章 并行计算与商业应用 2
1.1 机械式解决方案:操作系统级
1.1 的并行计算方式 3
1.1.1 对称多处理 3
1.1.2 集群 3
1.2 自动化网络路由:预定逻辑下的
1.1 并行计算 3
1.3 网格计算:分布式并行计算 4
1.4 商业应用的并行计算 4
1.5 解决方案:软件管道 5
1.6 流体动力学 6
1.7 软件管道示例 7
1.8 小结 10
第2章 管道定律 11
2.1 CPU资源浪费问题 11
2.2 流体动力学 11
译者序
不过工作以后,又发现若干问题,学海无涯啊,学无止境,这些嘴上经常挂的话时时得以验证,将我的感觉也快磨迟钝了。不过我想一旦有所感受就要写出来与大家分享,否则我们就不能进步。以前与我合作翻译的朋友都转做其他事情,不过我还是愿意把信息从小受众转变成广域受众,因为我清楚自己做了些什么。
仅以此译稿献给我的老师、父母、爱人及可爱的女儿,她让我顺利升级,成为父亲!
我还希望我能把一本原创技术书籍在年底写出来,不知道我的孩子是否能给我充足的时间。
本书耗费了我大量的心力。翻译本书期间我体验了毕业、母亲住院、老婆怀孕与生产的若干经历,译者身心憔悴,若不是机械工业出版社陈冀康的督促与安慰,此书恐怕难以翻译成稿。
吴众欣
2010年于北京
前言
软件管道架构是一种新型架构,具体处理在多核时代使用并行处理方式所遇到的问题。它是一种新的解决问题方法。管道技术抽象出并行计算的复杂性,并使得利用新CPU处理能力解决商业应用成为可能。
我们主要是为软件架构师、应用开发人员以及需要高性能和可扩展商业应用的应用开发经理写本书。项目经理、软件质量保证专家和IT运营管理人员也会发现它很有用,但是本书的主要关注点是软件开发。我们的意图是使本书尽可能适合广大读者,提供开发工具让您可以快速学习,并将所学应用到自己的开发挑战过程之中。
本书分为4个部分,下面是我们在前言中要谈到的内容。
管道理论
管道理论部分是第1~5章,包括以下主题:
·管道如何工作,软件管道所包含的基本概念和基本理论
·管道能做什么
·应用软件管道的方法
·管道模式,包括适用于商业应用场景的软件管道的各种方案,为后面的章节中的示例打下基础
作为本书其余部分的理论基础,这部分的内容适用于所有读者。如果你是一个软件设计师或应用程序开发人员,你一定要学习第一部分的内容。如果你正在阅读管理角度的书籍,或者如果你的兴趣更为普遍不想涉及过多的技术细节,你也可以集中阅读本书的第一部分。
管道方法论
管道方法论部分,通过第6~13章的内容,演示了如何逐步使用软件管道优化周期(Software Pipelines Optimization Cycle,SPOC)方法来实现软件管道。为了说明该方法是如何工作的,我们用它来解决商业上的一些问题,用一个虚构的公司作为示例——管道银行公司(PBCOR)。每一章都展示一个新的步骤,然后告诉您如何在PBCOR示例中使用该步骤进行处理。
这部分内容会让刚刚开始阅读本书的读者感兴趣,包括项目经理。PBCOR示例给出了相当多的技术细节,因此,应用程序开发经理可能希望跳过这个更为复杂的示例。
管道示例
管道示例,通过第14~22章,包含我们为本书基于管道的参考框架开发的示例代码。我们已经为管道理论部分的每个主要管道模式开发了示例。你可以直接使用这些示例指导实际的应用程序。
这部分内容是针对软件架构师与应用程序开发人员的,他们直接参与管道实现。此外,IT运营管理人员阅读了配置过程的章节也会觉得很有帮助,它展示了实际应用组件如何不做更改就能改变应用程序的可扩展性。我们推荐您仔细地阅读这部分的前三章。这些基础内容包括第14章、第15章与第16章。在这些之后你可能更想看第17~22章的高级示例内容,它们更加集中适合于你的特定应用场景。
软件管道的未来
在最后一部分,我们来谈一下对软件管道架构未来的设想。仍然有很多领域等待我们的开发,我们希望这一部分将激励读者帮助此技术进入主流方向并向前发展。
Web站点
序言
一般来说,多核困境在各种编程语言范围内都有出现,如Java、C#、C++中等。这就是为什么各大技术厂商都投入大量的研究引领下一代的编程环境。但是对于那些已编写过的软件应该如何处理?任何软件应用的现实情况是,要从多核受益,应用程序必须编写为多线程处理方式,或者放置在能让它有效使用多线程的容器中。
虽然不存在“快捷”(随插随用)的解决办法,但在很多用例的情况下也有多个可用的开发工具和容器对多核困境有所帮助。然而,没有很多、很好的方法学来解决这一问题。在本书中,Cory Isaacson勾勒出了一个系统的、逻辑的迁移到多核平台的规划和执行方法。
这样的硬件发展趋势,将带来数十亿行代码的软件产业在构造上的变化、迁移、优化或重写,来充分利用多核硬件。具有实践性与符合逻辑性的方法会让转型平稳变化。
现在,并行计算已经从一个冷门(边缘案例)变成企业软件的共同要求,让应用能够并行运行,不再是最有经验的程序员的工作。本书描述了进行并行计算软件开发的几种主流技巧。
举个例子,如同你将数据和UI层(用户界面层,也称人机界面,是指用户和某些系统进行交互方法的集合)与主要商业逻辑分开一样,一门创建并行计算的技术是通过您的整个开发小组将并发模型与应用逻辑分开。这样做使开发者关注应用的功能性,而不必在设计时担心流程是否是多线程的。此外,它可以成为将现有的单线程应用迁移到多核环境下的有效方法。
另外,本书讨论了面向服务的架构和多核之间的连接的方法。最基本的方法是把您的应用程序作为服务集合并部署在可以运行多个服务实例的容器中。
使用将SOA与多核关联起来的方法,服务可以成为你并发模型的重要组成部分。通过将并发与应用程序逻辑相分离的方法,可以很便捷地将现有的应用程序移植到多核环境中,并更有效地构建新的并行应用程序。这样更容易重新配置(而不是重新编码)你的应用程序,此后还能继续优化它们,并迁移到新一代的硬件环境中去——从2个核与4个核到8、16、32 … 128以及更多核。在面向服务架构中设计企业应用服务,可以更加容易地将并发与应用程序逻辑区分开来,就可以让它们一道工作。
如果你有一个单机应用程序,它仍起作用并且你不想重写代码,就需要做些工作。如果你打算使用一个容器,需要确保它能满足您的业务应用需求,其中可能包括消息排序、插入与并入到业务流程中、人机交互和长期运行的需求。
在大多数并行计算方法中,传统的多线程编程方法是一种“线程级别”的方法。本书描述了一种"服务级别"的方法,它可以提供一种只花费较少的精力就能迁移到多核平台的方法,并且更容易配置。它只是补充而不是取代传统的线程级别的办法。
将你的工作迁移到多核环境下需要一些规划,但能完成比你想的还要多的工作。设计一种很棒的并发模型,让现有的应用程序可以继续为你多服务几年。本书为此尽力并提供一张漂亮的路线图。
Patrick Leonard
工程与产品策略副总裁
Rogue Wave Software
Pleonard@roguewave.com
媒体评论
——DAN MALKS, JackBe 工程合作公司副总裁