软件工程核心问题: 如何保证每个人的工作可以整合成一个高质量大型软件系统?
三要素:
方法:如何做?
工具:用什么做?
过程:怎么做?
软件开发方法:
结构化:数据流图 + 数据字典
软件复杂性度量:
指令:源程序行数
统计:操作符和操作数的总次数
结构:程序控制流的拓扑结构
软件建模: UML+ RUP
UML建模:
需求: 用例图
静态:
动态:
RUP: 用例驱动,体系结构为中心,基于组件,迭代开发
软件体系结构:
系统组件结构(静态)
组件之间关系(动态)
组件与环境的关系(I/O,环境感知)
4+1 View
Logic View
Process View
Physical View
Development View
Scenarios View
软件体系结构描述语言ADL
分布式计算
性价比
可靠性和可用性
定义属性
物理资源: PE 计算单元
逻辑资源
消息通信
协作
资源共享
互斥
选举
通信时延
容错性
模型:
时间模型
逻辑时间
状态模型
进程模型
容错模型
综述《并行算法研究方法学》,计算机学报,2008
摘要:
并行算法是计算机科学中重要的研究内容,已有几十年的发展历程.回顾一下其研究历程,既有高潮也有低谷,究其原因是,它没有形成自身的一套研究方法学.为此文中提出并行算法研究要建立起一套完整的“理论?设计?实现?应用”的学科体系,也就是所谓的并行算法研究的生态环境.只有这样才能够保持并行算法研究稳定、可持续发展,并使得并行算法的研究成果更加实用,从而更富有生命力.
并行计算模型
并行随机存取(PRAM)模型
根据处理器对共享存储单元同时读、同时写的限制,PRAM 模型可分为:
① 不允许同时读和同时写的PRAM 模型
② 允许同时读但不允许同时写的PRAM 模型,
③ 允许同时读和同时写的PRAM 模型.
主要问题:
(1)问题的可并行化
(2)并行复杂性理论
并行步骤:
划分(Partition)、通信(Communication)、组合(Agglomeration)和映射(Mapping)
个人点评:
本文没有举MapReduce为例子进一步分析。
https://blog.sciencenet.cn/blog-468147-432741.html
上一篇:
读博三大理论下一篇:
Game Semantics linear logic