数据并行(精选12篇)
数据并行 篇1
并行计算是指同时使用多种计算资源解决计算问题的过程, 用多个处理器并发执行计算。数据压缩算法需要用大量的处理器来分析编码数据, 使其转换成更小的存储形式, 这样就迫切需要并行数据压缩技术来提高压缩速度和增大压缩比, 尤其是在信息量急剧增大的今天, 重要性不言而喻。本文主要是介绍了基于bizp2的并行数据压缩技术, 分析其如何实现快速数据压缩, 提出在CUDA架构上利用GPU实现基于bzip2的并行数据压缩, 以达到更快的压缩速度和更大的压缩率。
1 bzip2数据压缩技术
bzip2采用Burrows-Wheeler块排序文本压缩算法和Huffman编码方式压缩文件, 压缩率一般比基于LZ77/LZ78的压缩软件好得多, 其性能接近PPM族统计类压缩软件, 而且速度较快。本文采用开源的bzip2压缩工具, 相比其他工具, 采用BWT算法的bzip2压缩工具已经可以达到很好的效果。BWT算法它与以往所有通用压缩算法的设计思路都迥然不同, 其核心思想是对字符串轮转后得到的字符矩阵进行排序和变换, 大致分为3个步骤:1.排序变换;2.解压变换;3.输出原字符串。
为了提高压缩速度和压缩比, 文献[3]提出在共享内存架构上实施并行BWT算法。主要有两种并行化BWT算法的方法:1.并行排序算法, 因为在BWT算法中, 排序占用时间较长, 所以在并行机上实施排序算法能大大减少排序所占时间;2.使用更多的块, 由于BWT算法需要比输入数据多10倍的存储空间, 将数据拆分成很多独立的块, 各个块在并行机上独立压缩, 最后再实现各块的汇总, 这需要很大的内存空间。并行化BWT算法由此引发了pbzip2的提出。pbzip2也是采用把数据分成多个块的方法, 一次读入整块数据, 采用FIFO队列系统的生产者/消费者模型。队列的容量取决于pbzip2采用的处理器的数目, 这样可以很好协调速度和所需内存之间的关系, 同时pbzip2采用的BWT算法减小了块间通信对压缩速度的影响。文献[3]表明在多处理器系统上使用并行bzip2可以达到很好的压缩效果, 大大提高了压缩速度。
下面来看看串行bzip2和pbizp2的流程示意图如图1, 图2所示。
2 CUDA上实现数据压缩
2.1 CUDA上LZ77数据压缩
统一设备架构 (CUDA) 是NVIDIA公司提出的一个基于GPU通用计算的开发环境, 它针对GPU多处理单元的特性, 通过并行计算提高大规模运算的速度。CUDA架构的出现, 引出了在CUDA架构上实现数据压缩的研究, 试图利用GPU的特性, 提高压缩性能。目前, 已经实现了在GPU上JPEG的压缩, 主要是充分利用了CUDA架构的优势———在共享内存上进行大批量数据密集并行操作, 而它的瓶颈是执行控制逻辑和处理存在数据依赖时速度很慢。如果不能充分利用CUDA架构的优势, 在GPU上执行反而会降低压缩性能。因为JPEG图像压缩中各图像是独立的, 很少存在数据依赖问题, 这符合CUDA架构优势, 可充分利用CUDA在处理计算密集型方面的优势, 而且JPEG在GPU上编码后, 在CPU上执行Huffman编码, 这样GPU和CPU密切配合起来, 协同工作;无损编码在GPU上执行, Huffman编码在CPU上执行, 提高了压缩速度。这是并行计算技术的又一重大突破。
那么在GPU上实现数据压缩是否能比在多处理器的CPU上用pbzip2获得更好的性能, 目前已有众多科研者在研究这一问题。斯坦福大学研究者研究实现了用LZ77算法在GPU上的数据压缩, 可以达到比在多处理器上多线程CPU上并行数据压缩高4倍的压缩比, 但由于LZ77算法含大量的内存比较和I/O操作, 不符合CUDA的架构特性, 所以在GPU上执行数据压缩的速度不如CPU上。其中通过增加CPU和GPU间的内存带宽是更好发挥GPU特性的一种方法。
由图3和表1可以看出, 在CUDA上执行的LZ77数据压缩算法性能不如在CPU上并行压缩达到的速度快, 主要原因是因为算法中涉及到的控制分支结构和数据依赖本身决定了其不符合在CUDA架构, 不适合在GPU上实现提速。没有充分利用CUDA的强大的向量处理能力, 而在并行CPU上多线程处理能获得更块的压缩速度是因为各线程独立处理分支, 不用线程间通信引起的依赖关系。
2.2 CUDA上并行bzip2数据压缩
如今海量数据压缩, 需要更快的速度, 更高的压缩比, 那么既然在多处理器CPU上利用并行bzip2能达到很好的压缩效果, 能否在GPU上实施该并行数据压缩算法, 达到比多处理器CPU上并行bzip2更快的压缩速度和更高的压缩比。bzip2工具主要采用BWT算法和Huffman编码, 文献[3]BWT算法中都是将数据分成很多独立的块, 并不存在很多的数据依赖和控制结构, 所以在GPU上执行会比在多处理器的CPU上并行执行速度要快, Huffman编码由于算法中存在数据依赖和控制结构, 故选择在CPU上执行, GPU和CPU密切配合, GPU作为CPU的协处理器, 结合算法本身特性, 达到很好的数据压缩效果是可行的。经调研, 也有研究者在付诸实施, 但是还未实现。现阶段, 人们已经提出很多方法来实现高速数据压缩, 例如增加GPU和CPU间的内存带宽, GPU植入共享内存多处理器, 都能提高数据压缩的速度。
3 结束语
本文介绍了基于bzip2的并行数据压缩技术, 提出了在GPU上基于并行bzip2的数据技术以及其存在的问题, 接下来的工作是研究并行bzip2工具以及其中的算法BWT是否能充分利用CUDA架构在GPU上来优化数据压缩效果。若不合适, 能否改进算法, 使其充分发挥CUDA架构的优势。研究如何充分发挥GPU和CPU的特性, 达到比在并行多处理器CPU上实施并行bzip2更好的数据压缩效果。寻找适合CUDA架构的压缩算法, 期待达到比并行多处理器CPU数据压缩更好的压缩效果, 将此压缩技术运用到海量数据压缩中, 比如医学图像处理, 地震数据管理等。
摘要:在信息爆炸的今天, 提高海量数据压缩比和压缩速度已成为一种迫切需求。该文主要通过介绍数据压缩的背景知识、数据压缩的现状, 详细分析了基于bzip2的并行数据压缩技术及其并行实现高速数据压缩的算法, 提出在CUDA架构上利用GPU实现并行数据压缩的方法。结果表明, 该文提出的方法相对于在CPU上并行压缩, 虽然压缩速度降低但压缩比却提高了, 这体现了CUDA的优势和局限性。
关键词:并行计算,数据压缩,pbzip2,GPU
参考文献
[1]Wu Leiwen, Storus M, Cross D.CUDA WUDA SHUDA:CUDA Compression Project[D].Stanford University, 2009.
[2]Pankratius V.Parallelizing BZip2:A Case Study in Multicore Software Engineering[D].University of Karlsruhe, 2009.
[3]Jeff Gilchrist Elytra Enterpises Inc.Parallel data compression with BZip2[J].Computer, 2007
[4]DONG Luo.Study on application of parallel computation on CUDA[J].Information Technology, 2010.
数据并行 篇2
江苏公务员&国家公务员历年真题库
2015江苏公务员考试【行测技巧汇总】 2015江苏公务员考试【申论技巧汇总】 2015江苏公务员【公基知识汇总】 2015江苏公务员历年考情分析
江苏公务员考试网:据了解,职务与职级应该是相对独立、相对分离的。职务反映职级,职级对应一定的职务。从功能上来看,二者的区别在于,职务的设置给公务员带来权力以及责任 义务的承担,职级的设置给公务员带来物质利益以及职业尊严的满足。推行职务与职级的并行,实质是使职级真正成为公务员的一条独立的职业发展阶梯。那些不能 晋升职务的公务员,也可以通过晋升职级获得合理的待遇和尊严。
据统计,我国县、乡两级公务员占全国公务员总数近60%。受机构规格和领导职数的限制,县、乡两级绝大多数公务员退休之前都解决不了副主任科员的待遇。
目前全国约有省部级现职官员3000人,据估算,公务员队伍中能晋升到省部级的比例仅为万分之四。
有研究表明,从科员到县处级干部的升迁比例仅为4.4%,从县处级升迁为厅局级的比例更是低至1%。有的人工作几十年还是副科长。
根据有关统计,目前各地公务员工资的四个组成部分,职务工资约占20%,级别工资约占25%,地区附加津贴约占45%,各种补贴约占10%。职务工资比例虽不高,但由于地区附加津贴基本按照职务发放,所以实际占了近七成。
(本文来源于网络,仅供参考)
并行计算的未来 篇3
加州大学伯克利分校电气工程和计算机科学系的一队研究人员花了将近两年的时间来研究多核心以及将来的“很多核心”处理器可能的影响。在最近的一篇报告中, 他们指出了我们将面临的问题和机遇。
这一报告来得正是时候,今年2月,英特尔展示了一款其所开发的80核处理器芯片,该芯片是英特尔万亿次计算研究计划的一部分,每秒可以进行1万亿次浮点运算。尽管该芯片可能永远都不会投入量产,但是,它可以用来检测多核心计算的基本理念,从而有助于探索大规模并行计算的软件开发中的相关问题。
处理核心的增长
这可能跟一般的PC用户没有什么关系。将一个双核或者甚至是四核处理器装到PC的主板上,即使不做任何软件改动,也能产生额外的吞吐能力,这是因为操作系统负责为各个核心安排具体的任务,哪个核心有处理能力可用,它就会自动开始新的线程。对于普通用户,更多的处理核心仅仅意味着更好的性能。不过,随着处理核心增加到8个乃至16个,在常规的程序设计模型下所看到的多核心的好处就开始减少。无论你在什么时候同时运行Windows和几个应用程序,总有上百个线程处于活动状态,但其中的大多数并未做什么工作,因此,并行运行多个线程实际上并不能显著提升性能。例如,要想充分发挥8核或16核处理器的优势,就需要对一个游戏引擎进行相当大的重写,同时还需要一个独立的图形协处理芯片。
让未来的多核心处理器充分发挥性能并不像我们过去想的那样简单。
伯克利分校的研究报告从这样一个前提开始多核心芯片的开发不是由技术研究,而是由传统单核心处理器在设计的实用效率和经济上的限制推动的。 随着芯片几何尺寸的缩小,以及它们的复杂性和时钟频率的提升,功耗逐渐成为一个大问题,此外,还出现了其他一些难以解决的问题(比如由宇宙射线造成的软错误,以及由布线造成的信号延迟影响),这些都使得芯片的开发和调试缓慢而又困难。这也是为什么在很长一段时间里,处理器的性能都是每18月提高一倍,而在过去的五年中,处理器的性能收益呈现递减态势的原因。由于单核处理器的开发受阻,如果以目前的开发速度,单核处理器的性能每5年才能提升一倍。
与其前辈一样的芯片
多核心设计绕过了很多问题。使用更为简单,完全相同的处理核心使得处理器设计更容易也能可靠地进行构建。同时,也使得在不需要过多功率消耗的情况下,让性能改善成为可能。此外,多核心使得细微动态电压调整成为可能,这样就可以节省电能消耗。通过考察现有的研究,伯克利的研究小组得出结论,6到9阶段按序执行指令流水线可以使一般应用程序在性能和电力消耗上达到最佳平衡点,这就意味着可以使用30纳米制造工艺在单个芯片上集成~千个核心。这也许并不遥远,现在英特尔已经使用45nm工艺制造处理器,此外,思科公司已经使用1 30nm制造工艺制造出了一个188核心的专用通信芯片。在250MHz时,其功耗仅为35W,但却可以提供每秒500亿条指令的吞吐量。
混合和搭配
那么,一块拥有1000个相同的处理核心的芯片真能实现对硅的最有效利用,产生最大的吞吐量吗?事实是,到目前为止,我们只制成了双核或四核处理器,很快就将制造出8核的。将来,我们也许可以从大型计算机先驱吉恩·阿姆达尔在40多年前制定的理论中获得一些启示。他指出,所有软件都包含一些无法从并行处理中受益的串行处理,因此,添加一个大的处理器来加速顺序码处理,将产生较之10个小的并行处理核心更高的吞吐量。比如说,我们假设在一个100核处理器上,一个程序有10%并没有获得额外的速度提升。
用一个专门给那10%代码加速的单核心替换其中的10个核心,我们就可以得到一个效率要高得多的91核心处理器。
不过,现在这种异构型处理器还只是个研究计划,还未成为现实。因为,相同的处理核心在设计和构建上要容易得多,而且还能为软件提供一个标准的平台。 在异构型环境中,对多个执行线程进行优化太过困难以至于无法实现有效管理。 即便如此,阿姆达尔定律仍然对在微软和苹果公司的操作系统开发人员有一些启示,特别是在处理核心增加到8个以上以后。
关于多核心处理的其他一些关键问题包括,各个核心间的互连以及保证它们的数据提供的内存架构。
英特尔的万亿次研究芯片使用高带宽将它的80个核心连接起来,每秒可以将万亿比特数据从一个地方传输到另一个地方,然而,旧M的大规模并行蓝色基因/L巨型计算机将用于点对点通信的高带宽环形网络与适用于所有核心的集中通信树形网络结合在一起。此外,伯克利的研究团队还指出,还需要进一步研究以找出最优的通信架构,他们认为,可能会需要一个可重构的网络体系,以动态地适应当前运行的应用程序的通信要求。
多核心计算机的缓存
说到存储,芯片上嵌入的高速缓存对于多核心设计至关重要。英特尔的酷睿2双核(Core 2 Duo)处理器使用一个共享的高速缓存,可以根据需要动态分配给两个核心,而AMD的双核处理器则是为每一个核心配备了专用的高速缓存。伯克利的研究报告指出,未来可能需要将这两种不同的设计适当地结合在一起。
因为,某些应用程序可能需要为某个核心配备专用的高速缓存,而在多个核心间同时共享的可动态改变大小的高速缓存可能更适用于其他某些应用程序。然而,在任何情况下,都需要制定改进的缓存一致性协议,确保内存存取独立,同时,使处理核心的运算保持同步。
一个可能的解决方案就将是所谓的事务型内存,在这种安排下,多核心更新共享内存,但只在特定的事务完成后且不与其他处理器发生冲突的情况下,才执行该更改。如果事务失败或者发生冲突,那么,更改就被复原,同时共享内存被恢复到该事务执行前的状态。这一架构使得编程变得简单,但却是以执行时间和复杂的硬件实现为代价的。与此同时,在另一个领域的研究也正在继续。
在多核心处理器外部的RAM架构也取得了一些进展。随着处理器吞吐量的提升,芯片外RAM存取的性能损失也随之恶化到了几百个时钟周期。然而,你看看512M RAM(随机存取存储器)芯片的内部,那里有数百个存储体,每个都有几千比特宽。
使用新的封装技术,比如3D堆栈式封装,我们就可以提高RAM到处理器的传输带宽,甚至还可能将相当数量的RAM直接安装到处理芯片上,而不是像现在这样,将它们放到由相当缓慢的低速存储总线连接的不同的芯片封装中去。这一点对于多核心处理器的未来发展意义重大,因为,未来可能会需要几千个核心的处理器,这远远超出了当前的存储芯片的性能。
多核心处理器的编程
毫无疑问,任何硬件平台的性能都超不过运行在它上面的软件,因此,伯克利研究报告中有很大篇幅是关于现在还在发展阶段的多核心设计的软件开发。正如此前一样,其中还涉及到“不透明性”、从硬件中提取软件架构,这样,编程人员就不再需要知道处理器的复杂细节和“可见性”,这就使得所有硬件元件都可以对开发人员可见,从而,更容易开发出最优的软件。有趣的是,研究人员还指出,我们必须充分注意为并行多核心系统建立程序模型时的人的心理因素;减少错误;使开发方式符合人的思维,而不是适合硬件或一个系统平台的功能性模块。
如果不需要考虑计算任务到处理器的显式映射,编程人员就能将工作做的更好。因此,该报告建议,编程模型应当独立于目标系统中的物理处理器的具体数量,尤其是在处理核心不断翻倍的情况下。如果他们可以通过定点和浮点选择使用多种数据类型,比如单比特布尔型和大于128位的整型,那么他们就能更高效地工作。
对于操作系统,该报告建议,不必为大规模并行运算重写整个操作系统,而应该更多地发挥虚拟机和弹性图书馆的作用,这样可以确保只载入那些需要的应用程序。英特尔似乎已经意识到这一点,在其万亿次计划研究报告中就大量提到虚拟计算机。
伯克利的研究报告不针对初学者,其资料引用情况也表明,他们的研究重点是科学计算问题和数据捣弄而不是主流的商业应用和游戏。而且,人们也都承认,没有人会希望在桌子上放一台万亿次多核心系统。万亿次并不单单指的是浮点运算:它同时也指数据,也就是连接到互联网的计算机可能存取的万亿字节。多核心并行运算非常适合用于有效地处理大量数据、快速分类和数据挖掘,通过对处理器进行调整,从而得到更有效的结果。
高程图数据相似检测及其并行算法 篇4
关键词:相似检测,曲面插值,并行算法,C语言,绘图
高程数据文件给定了横纵坐标x、y及相应点的高程z,设A、B是程序的两个输入文件,B为网格化的大图,A是B的局部,A通过实际测量得到,两组数据中x、y坐标是不一致的,需要通过比较二者对应的地形起伏,检测相似程度,求出两组数据图高程差最小即最吻合时的坐标差,从而校正A或B的坐标。程序首先读出数据,因数据量太大,用Matlab不便于处理,选用C语言用动态分配存储空间的方法,通过指针操作数据。程序中需画数据图,粗略选取比较区域,作者选用了简单的Windows绘图功能,未用复杂的MFC,以达到快捷简便,提高可移植性的目的。
检测方法为,以B的高程数据为插值节点,在B图上某区域选出一点为起始点,对应A的起始点,按A的所有数据的坐标间距,作为所求插值点,通过曲面插值算法,求出各插值点的高程,设为C。比较A与C的相似度,即通过A与C对应点高程差的绝对值和来量化相似程度。在选定区域搜索最佳起始点,并不断缩小搜索区域和步长,找到绝对值和最小的对应起始点,即可算出所求坐标差。
程序中编写了一些辅助函数来估算数据及运算量的大小,通过绘图等人工干预的方法修改一些参数来提高搜索效率。确定大致的搜索区域后,如果步长缩小,曲面插值及相似比较的运算量也是很大的,又给出基于MPI的并行算法,提高了运算速度。
1 数据结构的选定
数据文件中一般存放3列数据,x、y、z,对于等距网格高程数据,程序读取文件可转换为仅存x、y起始值及一对网格间距值,所有z值存放到动态分配的一维数组,这样可节约存储空间并提高运算效率。所以选用如下定义的结构类型存储A、B、C的数据,sx、sy为起始点即图的最左上一点的坐标,wx、wy为经纬向网格间距,M、N为网格数量,也相当于数据矩阵的行、列数,pd指向顺序存储的高程值z。
首先通过辅助程序分析数据,并进行必要的整理,确定A、B的sx、sy、wx、wy、M、N等值,C的大小等同A,定义全局变量A、B、C并分配好高程值z的存储空间,读取数据并转换,程序如下:
2 程序流程及数据绘图
程序采用最简单的Windows编程结构,主函数Win Main()中建立显示一个窗口,并开始消息循环。在消息处理函数Wnd Proc()中通过按下字符键的消息WM_CHAR,选择调用读数、计算等各函数模块,在WM_PAINT消息下绘出通用的高程色标及提示信息。
操作流程一般为:先如上所述整理和读取数据,确定所搜区域的起始点和步长,建立二维数组FMin[][];调用曲面插值函数,由数据B算出C,再对A和C高程差绝对值求和,存入FMin,同时找出最小值。主要程序如下:
在某区域计算出一组数据后,根据需要,可通过发送按键消息,调用绘图函数,再确定新的搜索起点和步长,直至找到最佳位置。
其中,绘图用画点函数Set Pixel(),如图1~图3所示,高程h和颜色的对应关系用如下函数:
3 曲面插值算法
算法采用矩形域上分片双一次插值,计算公式如下:
其中τ、h为网格宽度,pij(x,y)是1,x,y,xy 4个函数的线性组合。插值曲面p(x,y)在整个区域上连续。相应代码如下:
4 并行算法
为了提高运算速度,采用基于MPI的并行程序在Linux环境下来计算,本问题数据传输不频繁,而运算量大,很适合并行计算。先预设搜索起始点值,对搜索区域按从进程数划块,交给各个从进程计算,各从进程计算分配给自己的区域后返回最小值及坐标点位,主进程接收各个最小值后再进行比较得出结果。程序中主进程通过MPI_Send()函数发送各块起始点纵坐标,接收数据用MPI_Recv()函数。通过MPI_Reduce()函数并设置MPI_MIN参数可归约由从进程送来的值,得到最小值,主程序代码如下。
编译和运行命令如下:
mpicxx-o kj AD kj ADmpi.cpp
mpiexec-n 8./kj AD
5 结语
以上并行程序通过输出运行时间的代码进行了测试,证明在实践中是有效的,并行运算速度跟进程数及CPU内核数有关。另外,在实际应用中,如果测量所得数据不全,需要先通过插值网格化再进行相似检测计算。如果是稀疏的数据,也可改变数据结构,通过指针取测量点的坐标和高程,由网格化的大图做插值后求高程差的绝对值和来检测。
参考文献
[1]黄友谦,李岳生.数值逼近[M].北京:高等教育出版社,1987.
系统并行上线总结 篇5
1、新版网站尽量在本地进行改版制作,如果需要在服务器上进行操作的,可以找一个临时空间,用自带的三级域名或绑定二级域名,旧版的网站一定不要有任何动作,等新版处理好之后,直接更换掉旧版网站。
2、如果改版过程中涉及更换域名,一定要把旧的域名向新域名做301重定向操作。因为这样能够很好的把以前积累的权重传递到新域名。并且301要一直做,最好 做1年以上,而且累积了一定时间的域名百度也会有个很好的评价的。如果用同一个域名改版网站,可以去百度投诉中心提交投诉,有很大几率能够当天更新快照。
3、在制作新版网站的时候,进行使用旧版网站上的标题、关键词和描述,本身来说,这3个地方对搜索引擎来说影响巨大,因此,在改版时尽量不要改动网站标题、关 键词和描述,这些地方的改动,会导致搜索引擎把你的的网站打入沙盒之中,将会在很长一段时间内,因重新考察你的站点而删除你网站的排名,无疑增加了你的运 营成本,也会造成客户的流失,流量直下!
4、界面和布局都可以全部更换,尽量和老网站的目录层级和结构差不多,百度非常喜欢结构和路径合理的网站
5、网站新版开发完成后,要上线测试,如果发现问题,立即进行修改。这个时候,老版的系统一定是同步运行的。你可以建一个二级域名指向新系统进行测试,也可以在老系统中发布通知,链接上新系统地址,让更多的老系统用户参与试用。
6、请注意将新系统站点根目录下的robots.txt改为拒绝所有搜索引擎扫描收录,原因很简单:新系统的测试域名以后会更改,并且很多页面seo可能没有考虑到位。
7、保持新系统与旧系统的url地址上的统一,特别是老版已经被收录的页面,如果不一致,将会造成新版上线后流量的大幅减少(我用urlReWrite可最大限度达到统一)。
8、新旧系统切换前,必须要做好网站地图,并要仔细检查页面中是否有死链。
9、发一份站点通告或帮助,向用户说明老系统中的功能,在新系统中怎样才能找到。
10、在新旧系统并行运行一段时间后,你可以确信新系统已经比较完美后,请找一个在线用户最少的时候,完成系统的切换(改虚拟主机映射即可,我在后面的文章中会介绍)。
11、在技术实现上,还有一个非常重要的问题,就是将新旧站点的域名信息,写到一个配置文件中,新系统中所用用到的地址信息,都从配置文件中读取,在新旧系统切换的时候,你将会发现这么做的好处是多么的有用。
12、一般改版后,搜索引擎都要重新对网站进行考察,原有的外链已经失效不起作用了,因此,新网站刚上线一定要更新些内容,高质量的内容再加上外链,内容的添加要循序渐进,一定要原创,让搜索引擎爬虫有一个通道能重新访问你的网站,增加蜘蛛访问你网站的频率。
13、最后,新系统成功切换替代老系统后,请给系统的每一个老用户发一封邮件,告诉他们站点已经更新,更新的亮点也要说明,“喊他们回家吃饭了”,呵呵。
不同的切换方式,决定了数据导入时注意事项的不同。
分步切换还是并行上线,是ERP系统上线时决策者必须做出的决策。分步切换和并行上线的优缺点分析
在新旧系统切换时,决策者通常有两种选择:分步切换和并行上线。
不论决策者选择何种方式,他都需要明白所选方式的优缺点,以采取合适的准备工作。
分步切换的优缺点
通常,分步切换的方法非常具有实际意义。
通常,企业可以让财务和库存管理两个模块先切换,随后销售、采购、生产等模块再跟进。这种方法至少具有以下一些好处。容易控制:
相对于所有模块一起切换的大兵团作战,这种方式更容易控制。而且财务和仓管部门一般较为严谨,第一个月先稳住这两个部门的阵脚,对于士气会是非常大的鼓舞。
速度加快:只有这两个模块进行切换,在操作上是大大简化了,系统操作的速度和质量将大大提高。对账简化:如果第一个月仍然并行,那么只有财务和库存管理的新系统和旧系统的对账就将大大简化,甚至可以用自动对账的工具从凭证直接核对。
期初订单:由于销售模块还没有上线,企业就不需要准备期初订单了,所有和期初订单有关的错误和问题也可以避免了。关注新订单、新流程:当其他模块跟进时,企业只关心崭新的业务,比如完全新的销售订单。我们可以直接用新的流程处理这些订单。而对于期初订单,实施者不需要关心处理它们的过程,而仅仅是在财务和库存管理上核算它就可以了,一段时间以后,它们的影响将自然地结束。
当然,分步切换做法的缺点也是明显的。
销售数据不完整:相当长一段时间内,有些信息会丢失或不完整,这主要和期初订单相关。比如获利分析的数据将不完整,和期初销售订单相关的获利分析数据就丢失了。不要低估这一点,因为上线后看不到完整的报表,会使不了解情况的领导们非常不高兴。因此这个问题一定要在使用前就明确说明。
切换期间拉长:这不能完全说是一种缺点,因为切换期拉长其实分散了工作量,也提高了成功率。但是对于某些条件好的公司,可能因为这一点而选择更快的全面切换方法。
更多的系统设置:比如要设置两套物料移动类型,一套是配合销售订单、采购订单和生产订单的,一套是独立的。权限也需要做相应的设置。
总而言之,对于实施困难大、订单执行周期较短的项目,考虑分步切换的方法会有不错的效果。
并行上线的不利因素 为什么并行是我国企业实施ERP时比较喜欢的一种上线方式? 理由只有两个字:风险。事实上,选择并行最主要的理由就是避免风险,而并行这种方式本身就会带来比较大的风险。并行对于系统切换不利的原因主要有:目的不明、工作量大、对账困难。目的不明:并行的目的实质上是对新系统的测试,但是用并行来测试系统无疑是非常昂贵的。同样性质的业务要重复地输入无数遍,最后查出的差异往往只是输入上的错误,对于系统验证是毫无帮助的。工作量大:并行无疑加大了所有系统用户的工作量。巨大的工作负荷加上对于新系统的陌生和恐惧,使得目标越追越远,最后不得不放弃。
对账难:对于两套有不同流程、不同概念的系统,即使不存在会计政策的变更,要完成对账的难度也是可想而知的。而且对账不同于审计,如果并行期以旧系统为准,那么新系统最终必须和旧系统完全一致才行,这样根本无法使用审计中的重要性原则,而只能是完全的核对。总之,并行的目的是防止失败的风险,而事实是它本身成为造成失败的最重要因素之一。如果采取不并行的上线方式,ERP的实施者需要采取更多的防范切换失败风险的措施,如测试和培训。
正如上面讲到并行的目的是对新系统的测试和验证,那么如果不并行就必须强化测试。实际上除了对于系统的测试,数据导入相关的测试也不容忽视。如果测试做得不充分的话,并行上线就容易演变成一次实际数据测试,虽然测得非常全面,但是成本太高了。
如果不并行,一定要非常关注切换前期的培训,特别是对系统实际使用者的培训。对于是否并行这个问题,目前业界仍然没有一个放之四海皆准的真理。但笔者希望,上面的分析能对决策有所帮助。
在商务印书馆实施管理信息系统过程中,是把分步切换和并行上线两种方式结合在一起了。商务印书馆是逐步上线一个个模块,而对于某个模块的上线却采用的并行的方式,如发行系统。
发行系统的切换特点是:风险大、要求效率高,准备必须充分。所以在正式切换之前,信息中心和实施厂商先期完成了详细的结构分析,在此基础上进行数据试转换,以保证数据切换的顺利和成功。在上线新的管理信息系统之前,商务印书馆已使用另一家公司的发行系统有3年时间,原系统积累了大量业务数据,发行业务人员在原系统基础上已能实现库房管理、批发管理、财务管理等工作。商务印书馆为新的发行系统上线确定了以下目标: 1.实现从原北大方正发行系统平滑过渡;
2.发行子系统与商务印书馆管理信息系统其他子系统实现无缝的信息共享和统一的业务操作,将本系统生成的数据自动传递给其他相关的子系统,避免数据的重复录入,保证数据的一致性和系统的应用效率。就新旧系统如何切换的问题,信息中心与发行部、实施厂商共同研究,提出三种解决方案。
第一,新旧系统实时并行。该方案要求发行部业务员同步使用新旧两套系统,系统风险性最小,可以通过新旧系统的对照来验证系统的可靠性,但业务员工作负担最大,同步工作要求严格。
第二,新旧系统分时并行。该方案要求发行部业务员使用新系统,次日由发行部指定专人将指定的业务区域的前一工作日的业务单据录入旧系统,这种方案对业务员造成负担相对比较小,系统风险相对比较低,但是由于业务员随时可以修改前几个工作日的单据,所以两个系统很难同步,同时库存数据也无法核对。
第三,完全抛弃旧系统。发行部用新系统开展业务工作,完全抛弃旧系统。这种方式相对人工成本小,但存在一定风险。发行部考虑到系统切换的风险性倾向于采用第一种方案,而实施厂商从系统实施的复杂度来考虑建议采用第三种方案。经信息中心与发行部、实施厂商三方协商,综合考虑各种因素,最终决定采用第二种方案。决定采用第二种方案后,商务印书馆对前期数据进行了准备。首先,发行盘库结束,由信息中心同步备份数据,以保证原始数据的安全性。其次,实施厂商在原来试转换的基础上,正式对商务印书馆原北大方正发行系统进行数据迁移。再次,实施厂商会同信息中心及发行部相关业务人员对系统切换后的数据准确性进行校验,并得出结论:对照新旧系统,数据能够保持一致。根据系统切换的第二种方案,发行部门正式使用新系统,经过三天的系统并行,对照新旧系统,数据能够保持一致,加之系统并行工作量过大,发行部门决定放弃旧系统,完全切换到新系统进行业务工作。经过近两个月的试运行后,发行子系统运行流畅,发行部所有的业务工作都在系统的支持下开展。
系统开发完毕,经过反复、周密的测试,由项目负责人将系统重新发布出去,但要尽量保证原有数据完整性,保证新旧系统切换过程中还影响业务部门使用。因此建议先期新老系统并行,待新系统稳定之后再关掉老系统。
五、系统切换
为了保证原有系统有条不紊的、顺利转移到新系统,在系统切换前应仔细拟定方案和措施,确定具体的步骤。系统的切换方式通常有三种,如图7-3-2所示。1.直接切换
直接切换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。用这种方式时,人力和费用最省,使用与新系统不太复杂或原有系统完全不能使用的场合,但新系统在切换之前必须经过详细调试并经严格测试。同时,切换时应做好准备,万一新系统不能达到预期目的时,须采取相应措施。直接切换的示意图如图7-3-2所示。(a)。
图7-3-2
系统切换的方式
2.平行切换
平行切换就是新系统和原系统平行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下原有系统。在平行工作期间,手工处理和计算机处理系统并存,一旦新系统有问题就可以暂时停止而不会影响原有系统的正常工作。切换过程如图7-3-2(b)所示意。
平行切换通常可分两步走。首先以原有系统的作业为正式作业,新系统的处理结果作为胶合用,直至最后原有系统退出运行。根据系统的复杂程度和规模大小不同,平行运行的时间一般可在2~3个月到1年之间。
采用平行切换的风险较小,在切换期间还可同时比较新旧两个系统的性能,并让系统操作员和其他有关人员得到全面培训。因此,对于一些较大的管理信息系统,平行切换是一种最常用的切换方式。
由于在平行运行期间,要两套班子或两种处理方式同时并存,因而人力和费用消耗较大,这就要时实现周密做好计划并加强管理。3.分段切换
这种切换方式是上述两种方式的结合,采取分期分批逐步切换。如示意图7-3-2(c)。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太大。
采用分段切换时,各自系统的切换次序及切换的具体步骤,均应根据具体情况灵活考虑。通常可采用如下策略:
(1)按功能分阶段逐步切换。首先确定该系统中的一个主要的业务功能,如财务管理率先投入使用,在该功能运行正常后再逐步增加其它功能。
(2)按部门分阶段逐步切换。先选择系统中的一个合适的部门,在该部门设置终端,获得成功后再逐步扩大到其它部门。这个首先设置终端的部门可以是业务量较少的,这样比较安全可靠,也可以是业务最繁忙的,这样见效大,但风险也大。
(3)按机器设备分阶段逐步切换。先从简单的设备开始切换,在推广到整个系统。例如对于联机系统,可先用单机进行批处理,然后用终端实现联机系统。对于分布时系统,可以先用两台微机联网,以后再逐步扩大范围,最终实现分布式系统。
总之,系统切换的工作量较大,情况十分复杂。据国外统计资料表明,软件系统的故障大部分发生在系统切换阶段,如图7-3-3所示。这就要求开发人员要切实做好准备工作,拟定周密的计划,使系统切换不至于影响正常的工作。
图7-3-3
故障发生时间
此外,在拟定系统切换计划时,应着重考虑以下问题:(1)系统说明文件必须完整;(2)要防止系统切换时数据的丢失;(3)要充分估计输入初始数据所需的时间,对管理信息系统而言,首次运行前需花费大量人力和时间输入初始数据,对此应有充分准备,以免措手不及。例如,对于一个5 000纪录的库存数据库,如果每条纪录含200个字符的描述信息,就意味着有1 000000字符必须通过键盘进入磁盘,即使操作员以每小时8 000个字符输入速度,对于一个规模较大的系统,输入初始数据所需时间也是非常可观的。
从旧系统向新系统的切换方式有三种:直接切换、并行切换和分段切换。211 直接切换
直接切换是在确定新系统试运行准确无误时,立刻启用新系统,终止老系统运行。考虑到新系统在测试阶段时试验样本的不完全性,所以这种方式一般适用于一些处理过程不太复杂,业务数据不很重要的场合或者老系统已完全无法满足需要的情况。212 并行切换
这种切换方式是新老系统并行工作一段时间,对照新老系统的输出,并经过一段时间的考验以后,新系统正式替代老系统。由于与旧系统并行工作,消除了尚未认识新系统之前的惊慌与不安。在银行、财务和一些企业的核心系统中,这是一种经常使用的切换方式。它的主要特点是安全可靠,但费用和工作量都很大,因为在相当长时间内系统要两套班子并行工作。213 分段切换
分段切换又称逐步切换、向导切换、试点过渡法等。它是以上两种切换方式的结合。在新系统全部正式运行前,一部分一部分地替代老系统。那些在转换过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行。这种方式既保证了可靠性,又不至于费用太高。但它要求子系统之间有一定独立性,对系统的设计和实现都有一定要求,否则就无法实现这种分段转换的设想。
第一种方式简单,但风险大,万一新系统运行不起来,就会给工作造成混乱,这只在系统小且不重要或时间要求不高的情况下采用。第二种方式无论从工作安全上,还是从心理状态上看均较好;缺点是费用大,系统太大时费用开销更大。第三种方式是为克服第二种方式缺点的混合方式,较大系统使用较合适,当系统较小时不如使用第二种方式方便。3 信息系统切换的难点
311 与新系统的模块功能集成度成正比的复杂性目前开发的信息系统多是分模块的集成系统。这些模块和功能之间是相互渗透和连贯的,在组织的日常运作和管理中,具有不可比拟的优点,但在系统切换时系统的模块和功能越多越复杂,系统切换的困难也就越大,而且难度成倍增加。正像2 条直线相交是1 个交点,3 条直线相交是3 个交点,4 条直线相交就是6 个交点一样,集成点会随着模块和功能的增加而成倍增加。而且即使使用同样的模块,不同的组织对其进行不同的配置时,其切换的流程、方式也会有所不同,因此很难得到普遍适用的规则。312 与旧系统的数据、流程割舍不断的牵连系统切换最重要的工作之一是数据转换。旧系统的数据一般质量较低也较分散,在向新的信息系统转换时,运作所需的大部分数据需要通过加工旧系统的数据获得,因此,系统切换的难度完全取决于旧系统的质量。这里的旧系统,不单指目前组织正在使用的计算机系统,也可以是过去手工操作的业务流程。旧的流程会影响新系统的初期数据,旧流程越不规范统一,系统切换时就越麻烦。313 人力、物力、财力的昂贵代价
系统的切换在时间上应有严格要求,在新旧系统切换过程中,组织或机构本身的业务活动是不能中断的,对于这段时间业务的记录是使用原来旧系统的一套方式,还是按新系统的要求来做? 这是一个艰难的选择。适合选择直接切换方式的情况并不多,但选择另两种方式,在某种程度或阶段上则意味着新旧系统会并行存在,所有相关人员的工作就会加倍,而两套数据或记录的“对接”问题更为复杂烦琐,系统的切换难度更大。314 人为习惯与思想阻碍
信息系统的切换不仅仅是系统项目开发组的任务,它涉及组织的许多部门和人员。一个信息系统的实施是否成功,取决于组织管理层的权威与能力,取决于部门间的责任与配合,也取决于整个公司的文化。而组织领导层的支持和理解,无疑是成功的前提条件。不幸的是,旧系统和旧流程很混乱的组织,在信息系统实施过程中项目组得到的支持往往也较少。另一方面人们内心深处都恐惧变化,尤其是这种变化的好处还未直接显现时。在信息系统切换阶段,这种变迁会使组织员工面临一些工作和心理上的负担,低落或抵触情绪会造成时间或数据质量的失控,无论哪种情况,对于系统切换而言都是致命打击。4 成功进行系统切换的关键要素 411 细致的规划
系统切换是信息系统实施阶段一个关键步骤,要有专门的班子来讨论和制定切换计划,包括切换的方式,切换的起点和期限,切换的步骤和进度控制,资源的配置和人员职责,初期数据的准备工作等。计划必须经过审定并形成文档,以备查考。412 领导的重视
信息系统的开发是为了配合组织实现其目标,而组织的领导者作为组织目标的决策者,应对新的信息系统的实施给予相当的重视并提供良好的系统切换条件和环境,更重要的是要学习和理解信息系统所带来的先进的管理思想和方法, 布置良好的合作与分工,同时对新信息系统的实施充满信心。413 人员的培训
所有的信息系统都是人机系统,人是起决定作用的因素。在信息系统开发的整个阶段都必须进行人员的培训,但在新旧系统切换时的人员培训尤其重要。一是这个阶段属“混乱”时期,仅仅经过试验性测试的信息系统还未进入实战状况,旧的一套系统又还没退役;二是这个阶段参与人员最多,包括新系统开发者、管理者、使用者。不进行必要的人员培训必然导致系统切换的失败。
414 组织的重构
新信息系统的实施可能会对组织的机构提出一些要求,包括合并或新增一些机构,并且需要改变原有的管理规则与制度,改变原来的工作模式,创建面向新系统的业务流程和相关制度,包括组织文化,以减少新旧系统之间的冲突与错位。415 数据的完善
为了使系统能够完好运行,数据必须完整、准确、一致、及时。新系统涉些及哪数据? 原有中需要改变、补充或完善的数据是什么? 分别来源于哪些部门或功能?切换工作的延误与“瓶颈”最终都会归集于数据的整理、变换工作。416 前期工作的质量
“时尚”与“工艺”并行 篇6
探究该学院珠宝首饰设计专业一直以来稳妥发展的根本原因,莫过于工艺实验教学体系的完善和技术实践的应用,金工基础工艺室、珠宝首饰工艺室、首饰珐琅与铸造工艺室、首饰精密仪器工艺室、珠宝鉴定实验室,构筑了学科坚实的工艺发展平台,使学生不仅在工艺实际操作中增强了设计实践的能力,更重要的是教师们对于金属锻造、镶嵌、铸造等工艺的科研成果,形成了行业内强劲的核心竞争力。这样的实验创新平台,吸引了珠宝行业在工艺制作以及设计开发上,向本专业寻求帮助。例如,2003年与施华洛世奇有限公司合作进行施华洛世奇珠宝ACESSERY的开发设计;2006年、2008年为爱慕内衣有限公司进行“爱慕金质镶宝石文胸”“爱慕铁质仿古束胸”的设计及研究合作。当设计华丽并且镶嵌宝石的金属胸衣穿在模特身上亮相“时装周”时,产生了强烈的视觉冲击力。首次全金属胸衣的打造引来行业赞叹一片。在这里,对金工技术的教学而形成的深度工艺开发,从而形成创新机制的作用,是显而易见的。另外,由于装饰专业在木纹金属、褶皱、锤压等手造表面装饰的设计及工艺的领先研究,使得教师们能自觉主动地、满怀信心地接受专业的挑战,因此受邀担任了多家国内顶级珠宝企业的设计及工艺顾司,并尝试在上述工艺中寻求设计的商业应用的值,与批量生产科学、合理地结合,并在市场中尝试推广。事实证明,技术深度研发的能力是完成上述课题的有力依托。对特定工艺技术探究能力的培养,还使教研室的老师们有能力先后承担了“唐代錾刻技法在现代金属工艺作品中的应用”、“铸胎珐琅工艺研究”、“宝石款式设计研究”、“藏族传统锤碟技术在现代金工教学中的应用”等以工艺研究为主的校内科研,并在深圳戴丽尔珠宝公司的资源支持下有实力组建“北服一戴丽尔珠宝设计研究所”,公司为该专业在工艺的创新优势“添砖加瓦”。
在传统工艺与现代设计的碰撞上,始终没有减弱其对于传统工艺文化的重视与实践,十分注重将民族、民间传统工艺注入实践教学。一方面大力拓展专业的国际视野、支持青年教师前往国外访问和培训,从而达到与先进零距离,同时又聘请苗族工匠走入实验课堂,展示素朴、纯真的制作工艺,以真情和和谐展示时尚之美。这些年来,教师们带着现代的思维和眼光去往少数民族地区进行田野式调查。与原始和本真相结台,在云南、西藏等地实地研究,记录了大量宝贵的苗族银饰制作工艺与藏饰制作工艺的实演过程,并应用于教学。通过工艺手段和教学实践表达现代与传统之间的传承与创新,而成果是国际化的。2007年,该首饰设计专业教师受到比利时皇家美术学院珠宝首饰与银器设计专业的邀请,进行中国传统民族工艺的讲座,将中国特有的魅力工艺传播给国外的同行。
在这里,对待民族文化,专业的作为不仅仅是传统工艺的研究与传承。当民族传统文化元素与现代设计在珠宝中交汇时,将会赢得更多。专业将传统切入现代的一贯核心指导思想也有动人的成果,如:2005年、2C07年连续两届的HRD国际钻饰设计大赛中,珠宝首饰设计专业的师生运用了诸多中国元素的设计,在国际设计舞台上赢得了盛赞:在2005年HRD国际钻饰设计大赛中,面对2000多名全球的竞争者,9件入围的中国作品设计者中有8位来自北京服装学院的师生,并以出众的设计理念与工艺获得“安特卫普城市奖”;在2007年的HRD比赛中,一件象征民族传统文化并镶嵌钻石的“肚兜”获得了“中西文化交流特别奖”,8件中国八围作品中有6件出自北京服装学院。由于北京服装学院的高入选率,使中国连续两次成为了入围比率最高的国家。
创建优质珠宝设计教育,不仅要促进硬件投入,而最重要的其实是软件建设。国际化教学和办学思路以及与现代设计潮流的交互,完全摈弃排他的狭隘情结。完全的开放心态,努力做一个地球人,中国的珠宝设计才能在走向未来中而不灭。借鉴西方的服饰教学体系和经验是本专业一贯强调的方面,扩展专业的国际化视野,积极搭建珠宝设计的国际化平台是专业办学的既定方针。自2004年,该学院聘请了国际著名金工专家、比利时皇家美术学院教授马可斯·德寇克先生为客座教授,共同进行关于世界最新珠宝工艺和现代珠宝设计教育思路的研究与探讨,在一些前缘的课题上,如《痕迹之相对于肌理》、《WABI SABI——设计师的禅意》、《头脑风暴法之于珠宝创意》、《钛与个性珠宝》等,大家都达成了思维上的共识。作为成果2006年8月首饰设计专业组织了以“有魅力的男人”为主题的国内有史以来第一届国际艺术珠宝展,诠释了与前卫零距离能达到的创新效果。
并行数据库系统的查询优化研究 篇7
现在的主流并行数据库都是基于无共享架构, 在制定查询计划阶段, 是采用完全相同的模式, 不同之处是查询优化的策略和路径生成过程中所考虑的代价模型不相同。在制定好查询计划后, coordinator需要将查询计划发送给需要执行的节点进行查询的执行, 此时两种策略的执行方式不同, 但对结果的回收机制相同:各节点完成自身的查询计划后, 会将结果返回给coordinator进行最后的汇总。
通过分析, 发现根据查询计划的发送方式不同, 在制定查询计划时存在的问题:采用将SQL语句重写后发送的方式, 优点是各节点是一个独立的数据库在运行, 各节点接收到完整的SQL语句 (多条子语句) , 会遵循处理一条SQL语句的标准流程执行, 即对子SQL语句进行编译、优化和路径生成, 这样一来对单节点来说所制定出查询计划是最优的, 而coordinator上所制定的全局查询计划则会被改变, 即实际运行在各个节点上的查询相对于全局很可能不是最优的, 因为各节点无法知道全局节点的信息, 在制定本节点的查询计划时自然不会考虑与其他节点的通信代价, 即使考虑与其他节点的通信代价, 也无法将不与它通信的节点的通信代价考虑在内, 因此基于这个问题进行了调查。
2. 通信代价的分析
2.1 并行数据库的通信种类
在并行数据库系统下, 节点间通信包括以下三种情景:coordinator向各节点发送查询计划、各节点之间的join操作, 各节点向coordinator返回查询结果。
Coordinator向各节点发送查询计划和对结果的回收是在查询结果的执行前和查询结果的生成后, 这部分的通信对查询计划的优化没有任何影响, 因此通信的重点是如何优化join连接操作的通信代价。
在并行数据库系统下, 数据的存储策略主要包括Hash划分策略、Range划分策略以及round-bin (循环) 分区策略, 部分并行数据库系统支持局部划分策略。由于采用局部划分策略, 相当于在单节点的数据库上执行SQL命令, 没有并行因素, 与所研究的问题无关, 这里不做考虑。若采用Hash、Range和round-bin划分策略, 每个节点都存放数据表的一部分数据, 当并行执行时, 每个节点只对本节点上的数据进行操作, 当需要进行join操作时, 需要保证join操作的两个表中至少有一个是完整表, 而由于数据库本身的数据划分策略, 每个节点上的数据都不是完整的, 因此必须进行数据的迁移操作, 及各节点之间需建立通信并发送数据, 保证建立一个完整的数据表。
2.2 Join代价评估
在不同的参考文献和书中, 对join方法都各自的描述, 下面将这些方面描述如下:在并行数据系统下, 两节点的join操作通常包括两部分:发送端的代价和接受端的代价。
在一次通信过程中, 对数据的发送者既需要计算传输的启动代价也要计算数据的传输代价, 而对数据的接收者只需计算传输启动的代价。传输代价包括两个参数mp和ml, 它们参数都基于page level。mp表示启动报文传输的时间代价, ml表示报文传输的时间代价。
计算发送者的总代价的方法为:
为描述并行数据库系统的信息, [1]通过建立一个Libraries存储环境变量, 主要包括四种环境变量:Architecture Library数据库系统的硬件环境、System Library模拟操作和事物系统、Opetator and Access Method Library模拟算法、Data Base Profile Libaray管理数据库调度策略。将代价分为三部分:CPU时间代价、内存时间代价和网络通信时间代价, 并将网络代价的计算包含:发送包的时间 (Smt) 、接收包的时间 (Rmt) 和传输包的时间 (Ptt) , 但是并没有提出如何评估这些时间代价。[2]提出一种并行数据库系统下的代价估计模型, 将查询优化划分为两部分:the metrics和the libraries部分。在计算反应时间上定义了四种类型:local response time, effective time, distribution (partition) time, communication time, 其目的是根据并行数据库的分布策略, 在计算join操作时可能只计算几类反应时间, 本文这样分类的目的应该是对计算的细化。通过阅读以上的代表性的书籍和论文, 发现在并行数据库系统下, 将通信代价考虑在查询优化中已被多处提出, 但现有的开源数据库系统Gridsql和Postgres-xc都没有实现 (此点已被确认) ;但是现有文章都没有提出一个具体的通信代价计算模型, 论文中对这一部分的计算都是提出要考虑的变量, 打算做的工作就是提出一种数学模型计算各节点之间的通信代价。
3. 解决思路
对于问题一将SQL语句分解而无法计算通信时间的问题, 需要在coordinator节点上建立全局信息表, 全局信息表除了要包含并行架构下的硬件资源外还要记录当前运行事物的状态, 即每个事物开始和结束后都要向coordinator提交一个请求用来修改全局表中当前事物的运行状态。
结合问题一和问题二提出一种并行数据库系统下的优化方法, 该方法满足不论是将SQL语句分开发送还是以执行树的形式发送都适用。具体工作如下:
(1) 建立一个全局信息表。该表主要包含3部分:全局硬件信息、全局网络构建、各节点状态信息。硬件信息用来估算各节点的处理延迟, 全局网络用来计算通信时的代价, 各节点状态信息用来描述当前系统中运行事物的状态。
(2) 选择概率统计模型。概率统计模型用来计算当处理多个写事物时, 写写之间发生冲突的概率。使用概率分布模型统计出在当前系统下, 发生n次写冲突的概率, 对于不同的冲突次数, 应该在coordinator节点上估计出处理这些冲突所需要的等待时间, 将这部等待的代价加入查询优化的代价估计中。
(3) 当发生冲突后, 根据步骤2中概率的大小, 和全局信息表中硬件信息估算出处理冲突的时间, 将这部时间加入到查询路径的生产阶段, 此部分的代价可能改变执行树的结构, 从而达到优化的效果。
4. 结论
本文通过分析并行数据库系统的查询优化的制订, 指出存在的弊端, 提出对应问题的解决方案, 为今后查询优化的制订提出技术支持。
参考文献
[1]F.Andrès et al.“A Multi-Environment Cost Evaluator for Parallel Database Systems”, 2nd Intl.Symp.on Database Systems for Advanced Applications, DASFAA’91, Tokyo, April 1991.
数据并行 篇8
跟数据挖掘相关的学科门类较多, 其涉及的分类方法多种多样。根据挖掘角度的差异性, 可对数据挖掘方法归类。由挖掘任务的不同, 可将数据挖掘分为这几种类型:关联规则发现、数据总结、聚类、异常和趋势发现等;由挖掘对象的不同, 可将数据挖掘分为:面向对象数据库、文本数据源、异质数据库等;下文根据挖掘任务以及挖掘方法角度, 重点对数据抽取、分类发现、聚类和关联规则发现四种非常重要的发现任务进行阐述。一个典型的数据挖掘系统结构一般包括数据库、数据仓库等几个部分。如图1所示。
1.1数据抽取
数据抽取是对给定数据的紧凑描述, 其运用的手段就是对数据进行浓缩处理。其中, 最简单的一种数据抽取方法就是对数据库中的各字段上的统计值进行计算, 这些统计值一般包括和值、均值、方差值等, 另外, 使用折线图等图形对数据库字段进行表示也是一种比较传统而简单的数据抽取方法。数据挖掘关注的焦点是以数据泛化的视角来讨论数据总结。所谓数据泛化, 把低层次的数据抽象到高层次的一个过程。之所以把低层次的数据抽象到高层次, 这是因为大家有对视图从较高层次处理或者浏览有关数据的需要, 所以, 通过对数据进行多层次的泛化是有其合理的解释的。
1.2分类发现
在数据挖掘的所有任务中, 分类是其中极为重要的任务之一。在所有商业应用的数据挖掘任务中, 分类得到了最大范围的应用。我们知道, 分类的目标是构造分类函数或分类模型。在数据库中, 数据项在分类模型的作用下映射到某一个给定类别。在分类的用途中, 预测是其中一个较为重要的用途。通过预测, 从历史数据记录中推论得到给定数据的推广描述, 最后实现对未来数据的预测目标。在对分类器进行构造的过程中, 必须使用训练样本数据集作为输入。训练集一般由数据库记录或元组构成, 其中, 元组是由特征向量组成的。样本的一般形式为 (u1, u2, ..., un;c) ;其中ui为字段值, c为类别。
1.3聚类
聚类是把个体依据某种规律归类成为若干类别的过程。其最终目标是使相同类别的个体之间距离最小, 而不同类别个体间距离最大化。对于聚类而言, 其研究方法一般有四种:统计方法、机器学习方法、神经网络方法和面向数据库。通过对聚类分析方法的应用实践发现, 其仅仅适合于数据库较小的情形, 这是因为其不具备线性计算复杂度。
1.4关联规则发现
关联规则发现的主要对象是事务型数据库, 针对的应用是货篮数据。一般而言, 事务的组成部分不仅包括客户订购的物品, 还包括客户的标示号。随着条形码技术不断得到推广和应用, 采用前端收款机也可以获得大量的售货数据。所以, 通过分析历史事务数据, 可从顾客那里得到一些有价值的信息。比如, 更好的解决摆放货架商品和规划市场的问题。所以, 如果能从事务数据中找到关联规则, 这对于零售业等商业活动决策的重要性是不言而喻的。
2关联规则挖掘的并行算法分析
2.1并行算法的基本概念
所谓并行算法, 即对可同时执行的进程集合, 通过进程的协调作用, 达到求解问题的目的。并行算法的设计是为了使并行机的众多处理机作用得到最大程度的发挥, 这样就能更加快速有效解决问题。一般而言, 并行算法对并行机存在非常强的依赖性。并行机的不同算法对其有效性会产生影响。
2.2并行计算模型
要想对一个应用问题进行求解, 那么设计良好的并行算法极为重要。如果想让并行算法作为一个由程序实现结构依赖的算法, 那么抽象的并行计算机结构是非常有必要的。这样才能保障并行算法具有更广泛的适应性。并行计算模型作为一种并行计算机的抽象结构, 主要考虑到的是为了并行算法的设计。所以, 并行计算模型从实质意义上来讲, 它是某一类并行计算机的抽象。
2.3并行挖掘关联规则的算法
在通常情况下, 找出频繁项目集的付出的资金要比从频繁项目集中找出关联规则的费用高的多。鉴于此, 发现频繁项目集的并行算法就具备了重要的意义。产生候选集的算法的计算工作, 通常来讲, 可归类为两个步骤。其一为生成候选集, 其二为对候选集的计数。为达到处理器间进行工作分配的目的, 就需要使事务和候选集分配给各处理器的形式多样化。为达到更优的并发度, 候选集可选择并行计算, 或者是并行产生, 还可以是两者并行完成。
3小结
数据挖掘算法的并行性可对系统运行速度进行提升, 从而提高工作效率, 这是因为数据挖掘算法可实现对多个任务的执行。数据挖掘算法并行方式存在差异性, 所以, 必须根据实际情况使用恰当的挖掘方法, 从而让决策的作用得到最大程度的发挥。随着数据量处理规模的逐渐增大, 所以, 对数据挖掘算法并行性研究的意义是不言而喻的。
摘要:所谓数据挖掘, 就是指采用一些算法, 通过利用算法, 发现隐藏在数据中事先未知的、用户感兴趣的知识的一个过程。在本文中, 首先对数据挖掘任务和挖掘方法进行了阐述, 并对其数据挖掘算法并行模式进行了相关研究。
关键词:数据挖掘算法,并行模式
参考文献
[1]赵峰, 李庆华.并行序列挖掘的一种改进算法[J].华中科技大学学报 (自然科学版) .2003, 31 (10) :38-40.
[2]陈国良, 安虹等.并行算法实践[M].北京:高等教育出版社, 2004.
[3]马传香, 简钟.序列模式挖掘的并行算法研究[J].计算机工程, 2005, 31 (06) .
数据并行 篇9
电力系统电磁暂态过程是电力系统中短暂的、但却非常重要的物理过程。所有的故障都伴随着相应的电磁暂态过程。因此,对电磁暂态的监测、记录和分析一直是电力系统中重要的研究方向。近年来,随着电子技术的快速发展,电力系统内暂态录波逐步向高采样率、连续稳态记录和海量存储方向发展[1],并且记录格式逐渐统一到了IEEE Std C37.111—1999标准[2]。目前,录波数据海量化的发展趋势明显,并且已经对各种基于串行编程实现的电力系统暂态数据分析软件[3,4,5]造成不小的压力,其中,最明显的就是当采样点数过多、多个模拟量通道集中显示时,反应速度都较慢,甚至有的软件系统出现了由于图形系统绘制效率过低而导致的系统完全失去响应,最终只能强行退出的情况。
在计算机硬件技术发展方面,随着芯片设计和制造工艺逐步达到了物理极限,在过去40年中,指导CPU时钟频率发展的摩尔定律逐步走向终结。CPU性能上的提升转而通过改变其原有的体系结构,即由单核转变为多核来实现。多核计算机的出现、发展和迅速普及带来了一场计算技术革命:原来传统的、面向单核的串行编程技术被完全颠覆,逐渐被基于多线程模式的并行编程技术所取代。过去软件完全依赖CPU主频来提高运行速度和效率的时代已经过去,软件要提高运行速度和效率,就必须依赖于软件系统本身在设计上适应新的计算机体系结构。
针对这2个方面的发展趋势,结合多年从事电力系统故障分析软件研究的基础[3,6,7,8,9],通过研究对比Windows和UNIX下的各种绘制技术,本文提出并实现了可跨平台的海量COMTRADE波形数据并行绘制算法,可有效提高面向海量故障录波数据、海量广域测量数据和海量电能质量录波数据的软件显示效率。算法可以随着未来CPU核的数量的增加和绘制工作量的增加,获得线性加速比,适应计算机硬件体系结构发展的需要。
1 算法基础分析
文献[9]把传统设计中通道图形对象与通道录波数据之间的包含关系改造成相识关系,实现了录波分析软件中与波形数据量无关的图形撤销算法。本文在文献[9]基础上进一步改造传统暂态分析软件中录波数据、通道图形对象、用户控制这三者间的关系,使得改造后的新关系能让并行绘制成为可能。
传统的基于串行绘制的关系和改造后的基于并行绘制的关系分别如图1和图2所示。
从图1可见,在传统的基于串行绘制方式的关系中,一切都是紧耦合的,所有需要显示的波形数据采用串行方式在单一图层上进行绘制,效率低下。无疑这种关系下的绘制系统已经不能适应并行计算技术的发展。而在如图2所示基于并行绘制方式的新型关系中,数据和图形已经被解耦,并且把原有的单一图层划分为波形图层和用户控制图层。其中,由于波形图层的绘制量占总绘制量的99%以上,所以,要提高绘制效率就必须充分利用多核计算资源,将绘制过程并行化。而用户控制图层用于绘制与用户进行交互的图形提示信息(例如标签、坐标等)和数据显示信息(例如计算结果等),这部分绘制工作量非常小,所以可采用串行方式进行绘制。
2 绘制技术选取
为实现海量COMTRADE波形数据的并行绘制,分别采用如表1所示绘制技术进行试验,并得出了相应的是否支持并行绘制的试验结果。
由于目前绝大多数第三方电力暂态数据分析软件都基于Windows技术开发,于是试验1首先采用“GDI+位图”技术模式。试验1内容为:采用2个映射到不同CPU核的线程,在不同设备上下文(device context, DC)、不同位图上进行绘制,并记录单一线程和双线程并行执行下的耗时。通过试验发现,由于Windows内部所有的图形设备接口(GDI)对象(画笔、画刷等)都是进程所有而非线程所有,因此,这种技术模式只能实现并发绘制,而无法实现并行绘制。并发绘制过程中,由于Windows图形内核会自动进行同步,所以导致线程由于不断切换而引起效率严重下降。由于OpenGL规范中支持多线程绘制,于是试验2采用了“GDI+位图+OpenGL”技术模式, 结果发现在不同DC(不管是不是兼容DC)中,Windows只允许进程中一个DC在同一时间绘制兼容位图,但是,由于具体绘制时使用OpenGL而不是GDI对象,所以绘制速度与试验1相比有小幅改善,但还是明显慢于此技术组合下相同工作量的单线程,因此,这种技术模式也只支持并发绘制而不是并行绘制。
由于Windows下的图形绘制技术都无法实现并行绘制,于是转向UNIX下的图形库X11。试验采用最新的QT4[10]库,其图形库部分就是在X11的基础上实现的。试验3采用“QImage+QPainter”技术模式,结果发现由于X11库中绘制对象完全是线程独立的,因此可以实现并行绘制。试验4采用“QImage+QGLPixelBuffer+QPainter+OpenGL”技术模式,也就是在QGLPixelBuffer中采用OpenGL绘制(QPainter用于控制OpenGL的绘制目标设备为QGLPixelBuffer),而后再转换为QImage,通过试验发现,这种技术模式可以实现并行绘制,但由于要在多种不同绘制图层中进行类型转换,所以效率没有试验3采用的技术模式快,并且由于波形绘制都是二维,因而试验3的方案就可满足需要,因此,选用“QImage+QPainter”技术方案作为并行绘制算法所采用的技术模式。
3 并行绘制算法
3.1 算法步骤
如图3所示,算法被设计成并行流水线模式,同时有多个通道绘制线程在不同的QImage上绘制图形。每个线程的绘制工作量划分采用如下公式计算得到:
式中:MDrawSI和MDrawEI分别为每个通道相对于通道数据原始保存数组的起始下标和结束下标(也就是每个线程对于此通道的实际绘制范围);MSI和MEI分别为需要显示的通道数据原始保存数组起始下标和结束下标(也就是通道当前需显示范围);P为系统CPU核的个数;NID为线程ID号,取值范围为1~P。
通过把每个需显示通道的绘制量均匀分到每个线程上,实现了负载平衡。
下面采用跨平台的线程库Pthreads[11]详细阐述算法步骤:
步骤1:采用Phtreads应用编程接口(API)函数pthread_num_processor-s_np 获取到当前系统的CPU核的个数P。创建开始绘制条件变量StartDraw和每个线程可共享的图像对象QImage,建立P个相同的通道绘制线程(指定线程ID号NID为线程创建顺序序号1~P)。建立单一的用户图形操作绘制线程。调用Pthreads API 函数pthread_attr_setscope设定线程运行模式为系统竞争模式,以保证绘制过程中占据所有CPU核。
步骤2:在窗口大小改变等触发窗口重绘的消息函数中,获取当前可视窗口大小,经过坐标转换、映射后得到后台实际窗口坐标系中的当前可视矩形区域。通过通道矩形与当前可视矩形区域的与运算获取需要显示的通道列表及其对应的数据显示范围(即式(1)中需显示的波形数组起始下标MSI和结束下标MEI),并将这些信息做全局共享。
步骤3:触发开始绘制通知条件变量StartDraw,激活所有线程在其自有的可共享QImage对象上进行绘制。对于波形绘制线程而言,获取通道显示列表及其对应的不同显示范围后,对于每一个通道采用式(1)计算出需要绘制范围MDrawSI和MDrawEI,绘制对应波形。而在用户图形操作绘制线程中,则将当前的各种用于与用户交互的图形信息在其内的QImage对象内进行绘制。各个线程绘制结束后,向主窗口发送异步自定义通知事件FinishEvent。最后,各个线程重新被条件变量StartDraw阻塞,等待下一次激活。
步骤4:在主窗口中的FinishEvent事件响应函数中判断是否所有线程已经绘制结束。如已经绘制完毕,将所有通道绘制线程所对应的可共享QImage进行融合,得到波形绘制图层,之后再与用户图形操作绘制线程内可共享的QImage对象融合,并将最终融合结果提供给主窗口进行贴图显示。
步骤5:主窗口关闭时,依次对每个线程调用Pthreads API函数 pthread_cancel进行退出,再依次调用pthread_join等待所有线程全部安全退出。
3.2 通道绘制线程内的详细算法伪码
通道绘制线程内的伪码如下:
从以上伪码可知,通道波形绘制只需要触发开始绘制条件变量StartDraw即可,只在需要绘制时才占用CPU资源。在没有触发重新绘制以前,主窗口中只是在以极快的速度贴图而已,因此算法效率很高。参数Format_ARGB32_Premultiplied的意义是产生可供融合的特殊Alpha通道图像。
3.3 图层融合详细算法伪码
图层融合的伪码如下:
可见,QImage的融合算法非常简明,只是在一幅透明QImage对象上不断进行图像的“与”运算,所以速度很快。CompositionMode_Sourceover参数的意义是在透明图形上进行与运算。
4 试验结果
算法试验所采用计算机配置为4核,单核2.4 GHz,内存2 GB。试验中采用需绘制点数为20万点的模拟量通道对象,绘制图形大小为1 024×768。试验中忽略用户图形操作线程及其耗时,试验结果如表2所示。
从表2可见,抛开图形融合耗时,此算法已实现了效果非常理想的并行绘制,而图像融合耗时增加也只是每增加一个QImage对象,增加6 ms~7 ms的耗时,并且图像融合耗时相对于并行绘制时间要小得多。此试验表明采用本文算法后在4核计算机上就可将图形系统的响应速度提高3倍,因此,该多核并行绘制算法可有效改善海量波形绘制系统的性能。另外,从表2也可知,此算法可随着CPU核的数量的增加和绘制量的增加,获得线性加速比。
5 结语
随着电力系统信息化建设的快速发展,各种暂态数据的分析处理在电力系统运行中的地位将越来越重要。因此,各种第三方暂态分析软件如何有效利用多核并行计算资源来应对暂态数据海量化的发展趋势,将会是所有厂家都必须面对的挑战。本文所提出的并行绘制算法完全采用了跨平台技术,适应了电力系统软件跨平台的发展趋势,同时也适应了多核并行计算的发展趋势,可有效改善当前所有此领域内串行绘制系统的响应速度。
摘要:针对当前第三方电力暂态数据分析软件在绘制海量波形数据时出现的效率低下、反应缓慢情况,结合多核并行计算技术,提出了一种可跨平台的海量COMTRADE波形数据并行绘制算法及其技术。该算法在分析传统串行绘制系统内部关系的基础上,提出了基于并行绘制的新型关系:将原有单一图层分为波形图层和用户控制图层,其中以并行方式绘制波形图层,而后通过融合图层方式完成最终绘制。通过试验分析Windows和UNIX下的各种图形绘制技术,找到了最适合海量波形数据并行绘制的跨平台技术组合:“QImage+QPainter”技术模式。结合跨平台的线程库Pthreads,详细论述了并行绘制算法的每个步骤,给出了让通道绘制线程能负载平衡运行的绘制工作量均分公式,同时给出了通道绘制线程和图层融合详细算法的伪码。试验证明所提出的并行绘制算法可获得较大加速比,并可随着绘制工作量的加大和CPU核的增多,获得线性加速比。
关键词:COMTRADE,海量数据,并行绘制,QT4,Pthreads
参考文献
[1]白青刚,夏瑞华,周海斌,等.采用高性能集成芯片的故障录波故障设计.电力系统自动化,2005,29(22):94-96.BAI Qinggang,XI A Ruihua,ZHOU Haibin,et al.Design of fault wave recording device using high performance integrated microchip.Automation of Electric Power Systems,2005,29(22):94-96.
[2]Power System Relaying Committee of the IEEE Power Engineering Society.IEEE Std C37.111—1999IEEE standard common format for transient data exchange(COMTRADE)for power systems.1999.
[3]桂勋,郭凯,谭永东,等.基于网络的全图形化故障录波分析软件系统.继电器,2004,32(24):44-50.GUI Xun,GUO Kai,TANG Yongdong,et al.All-graphic software system for fault record analysis based on network.Relay,2004,32(24):44-50.
[4]郑敏,黄华林,吕鹏,等.故障录波数据通用分析与管理软件的设计.电网技术,2001,25(2):75-77.ZHENG Min,HUANG Hualin,L Peng,et al.General analysis and management software for transient data from protective relaying and fault recorder.Power System Technology,2001,25(2):75-77.
[5]杜新伟,李媛,刘涤尘.电力故障录波数据综合处理系统.电力系统自动化,2006,30(12):75-80.DU Xinwei,LI Yuan,LI U Dichen.Integrated processing systemfor power fault recording data.Automation of Electric Power Systems,2006,30(12):75-80.
[6]桂勋,刘志刚,钱清泉.基于模式的电力系统通用可扩展故障分析软件系统.电力系统自动化,2007,31(15):99-102.GUI Xun,LI U Zhigang,QI AN Qingquan.General extensible fault analysis software for power system based on patterns.Automation of Electric Power Systems,2007,31(15):99-102.
[7]桂勋,刘志刚,钱清泉.故障录波分析中的三维分析方法.电力系统自动化,2007,31(17):99-102.GUI Xun,LI UZhigang,QI AN Qingquan.3-Danalysis method for wave record fault analysis.Automation of Electric Power Systems,2007,31(17):99-102.
[8]桂勋,姚兰,钱清泉.可扩展的电力系统故障集成分析环境.继电器,2007,35(7):1-5.GUI Xun,YAO Lan,QI AN Qingquan.Expansive integrated analysis environment for power system fault.Relay,2007,35(7):1-5.
[9]桂勋,姚兰,钱清泉.录波分析软件中的图形状态记忆算法.电力自动化设备,2007,27(9):35-39.GUI Xun,YAO Lan,QI AN Qingquan.Memory algorithm of wave chart state in fault record analysis software.Electric Power Automation Equipment,2007,27(9):35-39.
[10]BLANCHETTE J,SUMMERFIELD M.C++GUI programming with QT4.2nd ed.Englewood Cliffs,NJ,USA:Prentice Hall,2008.
数据并行 篇10
1 并行程序的计算时间设计
在计算机数据通信的并行程序设计中, 确定并行计算程序的计算时间是非常关键的。这是因为在并行程序的运行中, 不同的处理器之间需要实现数据通信的同步进行, 以保证数据通信的实时性。而要达到这种同步传输要求, 就必须要正确精准的计算并行程序的计算时间。通常认为并行程序的计算时间是由同步时间、通信时间和聚合操作时间组成。基于本文主要探讨的是计算机并行程序的执行模型, 因而在此重点分析并行操作时间中的同步时间和聚合操作时间。
同步时间是不同计算机进程间的同步计算时间, 在实现点对点的通信过程中, n个节点要实现同步要经过logn步通信, 在第k步通信中, 进程i发送给消息给进程 (i+2k) %n, 并接收从进程 (i-2k+n) %n发来的消息。其同步操作的性能是由点对点通信的性能和所使用的算法以及通信拓扑结构共同决定的。而聚合时间也是指点对点通信的实现时间。这些聚合操作的性能也是由点对点通信的性能和其算法所使用的通信拓扑结构来决定的。因而可以说, 同步时间和聚合操作时间都可以认为是点对点通信时间, 因此在并行程序的执行模型设计中, 应当重点优化点对点通信时间的设计。
2 并行计算程序的数据通信过程
在并行程序的执行模块设计中, 我们可以将数据通信过程中的所有环节分为三个阶段, 即数据准备阶段、通信准备阶段和数据传输阶段。其各自的设计内容分别如下所示:
2.1 数据准备阶段
该阶段所包含的主要执行环节有数据筛选、数据压缩、发送空间或接收空间的申请、数据在内存间的拷贝过程等几个环节。在并行计算程序的数据通信优化设计中, 数据筛选环节可以通过对所需要传输的数据库进行筛选, 去掉冗余部分, 再巧妙设计数据传输顺序来实现数据通信的优化效果。数据压缩环节中, 需要重点对压缩速度与压缩强度进行优化设计, 以达到提高数据通信效率的目的。发送空间或接收空间的申请环节中, 可以通过减少系统内存申请函数的调用频率来实现数据通信的优化。而数据内存间的拷贝环节中, 则可以通过尽量减少拷贝次数来避免出现重复作业, 从而提高数据通信系统的运行速度。
2.2 通信准备阶段
通信准备过程包含了套接字的初始化以及设置过程, 通信信道以及通信拓扑的建立过程, 通信信道以及通信拓扑的管理等。
程序在进行通信之前需要对通信信道进行初始化, 这在不同的网络设备/网络协议下其过程和操作也不一样, 例如在以太网TCP/IP环境下, 就需要首先建立套接字, 并设置套接字的各种属性 (发送/接收的buffe:大小, 是否禁用Nagle算法以及是否非阻塞模式等) 。另外上文已经提到, MPI程序中经过TCP三路握手之后并不代表这个信道已经建立好了, 因为在MPI程序中是使用进程编号值而不是IP地址或主机名来标示每个进程, 因此监听在端口上的接收方只知道对方的IP地址或主机名, 并不知道对方的进程编号, 因此通信发起的一方还需要再发送其进程编号给接收方。
此外, 通信信道的管理也是相当重要的一个方面, 因为程序在运行时, 其通信拓扑会随着其通信操作的不同而变化, 因此每个进程都有可能会与其它任意结点进行直接通信, 在大规模并行系统上每个结点潜在的通信对象就会高达数万甚至数十万, 因此如何高效的管理这些结点也是并行计算的研究内容之一。
2.3 数据传输阶段
数据传输过程的性能牵涉到系统的I/O多路复用的效率, readv/writev函数的效率, 网卡驱动/内核的效率, 网络协议, 路由协议以及网络设备硬件等性能。因为牵涉到许多软件、硬件以及软硬件之间的交互, 因此整个数据传输过程是极其复杂和难以预测的。
I/O多路复用的效率严重影响着整个传输的效率, 在同时管理多个网络连接的时候, I/0多路复用很大程度上决定着网络连接的延迟, MPICH2实现中的连接状态机能高效运行的前提便是其poll函数能快速的响应各套接字的状态变化。在不同的平台上, 系统的I/O多路复用函数也不一样, 当然其效率也各有差别, 选择一个高效的I/0多路复用函数也是MPI实现的前提保障, 例如Open MPI中, 使用了epoll而不是poll来提高管理大量套接字的响应时间, 是考虑了在结点数目巨大, 每个结点需要管理很多套接字时, epoll的效率要远远高于poll的效率。
另外, ready/writev函数的效率以及内核的效率也毋庸置疑的影响着传输的效率。进程在内核态与用户态之间过度的交替必然导致传输效率的低下, 网卡的驱动程序也是影响着整个传输的重要因素。需要一些策略来进行拼包处理, 否则必然导致整个机器性能的下降。这些策略以及实现都是由网卡驱动和系统内核来实现的, 这也是影响数据传输性能的重要原因。
3 结论
总之, 计算机并行程序的数据通信系统本身就是一个具有较高复杂性的系统, 在其数据通信的优化过程中, 首先需要注重对其并行时间的合理设计和计算, 以保证点与点之间的通信效率。另外还要分别从数据准备阶段、通信准备阶段和数据传输阶段等整个数据通信的全过程中的每个环节出发, 积极找出提高数据通信效率和可靠性的优化方法, 以此来综合提升数据通信优化的并行程序执行效果。当然, 面向数据通信的并行程序执行模型设计优化过程中还有很多问题需要解决, 本文只是简单研究了其中的一部分问题, 还有很多实质性问题需要在具体案例中进行针对性分析, 因此数据通信的优化问题还需要我们继续研究和探索。
参考文献
[1]吕海.多核处理器芯片计算平台中并行程序性能优化的研究[D].北京:北京工业大学, 2012.
[2]胡悦.并行计算时间与存储空间关系研究[D].上海:上海大学, 2011.
全民创业,与梦想并行 篇11
创业赋予了友情更深的牵绊
今年5月10日,IN TIME·花时正式在静安寺区域开张,与别间花店不同,IN TIME·花时不卖鲜花,只做永生花,而即便是永生花,也被玩出了各种新花样:家居、饰品、帽子……花不再只能被摆放在花盒内,各种你想得到的想不到的创意都被一 一呈现,为爱花人士提供了更多样的选择。而在背后支撑并推动这个品牌成长的是5位年轻的合伙人,他们性格迥异却能力互补,他们曾经是同事,现在依然是挚友,他们曾经在职场叱咤,如今却共同携手走上了创业之路。
店铺开张才两个月就火了,来自全国各地的加盟诉求多如雪片,但即便如此,也有焦虑,市场反馈良好,团队反而更淡定谨慎地把握着今后发展的方向。Kelvin坦言:“分店计划我们以后一定会有,但各种营销策略的制定,一切的业务拓展都要等我们的品牌先立住脚后才会去做。扩张这件事情,我们一定不会走太快,毕竟今年我们才刚刚开张,内功还需要慢慢修炼。我们并不那么急着赚钱,更希望先把品牌本身做扎实、做好。”Titi则始终信奉:梦想之花手中把玩,市场之剑头顶高悬。既然进入了一个市场,就一定要遵循市場的规律,我们不是做一家小店玩,我们是在做一个品牌,这是一份对梦想和事业的追求,创业的经历和经验才是真正可贵的宝贝。
Kelvin和Titi已是第二次创业,之前他们的婚礼定制品牌也经营得有声有色,而这次的花店品牌还加入了Kelvin曾经就职公司的同事兼挚友:Juliet、Paris和Jeffrey。
和五位合伙人在一起聊创业经,看他们认真表述自己的想法,你会觉得他们是一个非常强大而又彼此互补的好团队,但再看他们因为扯到一些好玩的点瞬间爆发嬉笑玩闹的情景,简直充满了一群单纯学生课间相互打闹的神韵。而创业在他们身上引发的
化学变化也是令人肃然起敬的。处女座Juliet主管品牌市场宣传和公关,她笑称,IN TIME·花时犹如她的后花园,身边的朋友简直堪比家人,非常享受。金牛座Jeffrey是一个内心保守的人,也是一个保证团队所有创意最终能完美落地并被执行的重要人物,品牌许多IT问题的解决他也当仁不让,在创业的道路上,变得越来越多面手,知识越来越丰富。Paris曾经一度被职场折磨得身心疲累,睡眠不足,任何时间都缺不了工作电话的陪伴,整日的空中飞人生活让她苦不堪言,出去旅行了一年再回来的她断言再也不回职场了。如今她作为店长,精神状态奇好,每天和客人朋友们喝茶聊天,经营店铺的同时也收获到了自己钟爱的慢生活。射手座Titi,北大中文系出身,创意能力强到爆,品牌的“一日店长”活动、花艺DIY活动皆出自她的策划。狮子座Kelvin则是整个团队的最核心,他说近半年对花店品牌在营销上的思考简直比过去的所有总和都多得多,在店铺的日子总是悠闲而美好,但其实脑子里每天都在上演“赢在中国”,即便如此,能和朋友们一起创业,始终是一件特别享受的事。
为爱花时,过精致从容的生活是IN TIME·花时推崇的生活方式,纵观创业合伙人的日常点滴,又何尝不是如此。
《女友·家园》:应该如何挑选创业合伙人?如何做到规避冲突?
Kelvin:我自己的感受是:选择合伙人之前必须要充分考虑大家的性格,这点就好像企业招人总要符合企业文化。任何人在创建团队之初,不仅要考虑能力,还要把大家的行事方式、价值观都考虑进去。具体化到我们这个项目,在之前沟通中,如果我有发现到谁性格的某个点有可能会令今后服务产生纠纷,我就会先说好,我担心的是这个点,那这个点我们绝不能发生。所以我们现在的情况就很好,如果谁有不同的看法也还是非常服从大局。事实上,大家性格都不一样,只是基本的价值观必须要一样,有共同的目标,有强烈的团队意识,这些非常重要。
《女友·家园》:什么样的人适合创业?有没有必须的特质?
Kelvin:我一直认同:创业者本身应该是有一定理想主义思想的人,绝对不能完全是个务实派。你去看那些成功的大佬们,也是带着理想慢慢做起来的,理想会带给你力量。如果太过务实,在碰到问题的时候,往往会太过理性评估,认定原来的路走不下去。
Profile:
林晓丹,做过平面模特、化妆品公司培训师、销售主管、影楼化妆师、唱片公司出纳;韩承东,酒吧弹唱歌手、签约歌手。四年前两人组成了一个演唱组合,走遍了中国大大小小三十多个城市,四处巡演。而今则共同旅居泰国清迈,拥有一家“iyou爱游”精品设计酒店。
“iyou爱游”精品设计酒店
创爱的业,游更大的世界
“故事从这个小镇开始,在游历了大半个中国的35个城市以及8个国家之后,我们停在了这个小城。我们没有如家人所想的那样在国内找个城市定居买房,而是带着我们全部的家当,离开中国,到了这个我们梦想中的乐土——清迈,开始我们新的生命探索。”认识晓丹夫妇的经历很简单,仅依靠形而上的APP软件和庞大的网络世界就让身处两个国度的人有了交集。在热门的旅行APP《Bread Trip》中,晓丹发起的这个帖子让许多人都一路关注,看他们从选址到装修,从无到有一砖一瓦地在异国他乡建造起属于他们的酒店,完成他们的创业梦想。
在外人看来,晓丹和东东的选择率性而带有理想主义色彩,对他们原本的生活更是一场巨大的全盘颠覆。但在东东看来,“任何一种转变,其实心里早就想好了,或者说早就准备好了”。他说:“永远保持激情,等想要转变的时候,顺应自己的内心,不要犹豫,这就是契机。”因着工作量的不断加大,个人自主空间的骤然缩减,身心的负担加重,他们两人开始了一场理性而客观的思考解析。生活现状、未来两三年的计划、发展存在的问题、自身技能特点、行业趋势,以及彼此的感受得失均都摆上台面逐一进行理性分析,这是对是否要开启新篇章的必要预热。在持续一个多月的反复商讨并获得了家人的支持后,带上一份冒险和激情,他俩停止了所有工作,把一切打包售卖,将过往三年的生活画上了一个句号。
于是乎,每天花费15小时以上地毯式搜房、分析比较,选定房源后琢磨设计、画图纸、买材料,一切都是全新的挑战与经历。而酒店开张后的宣传管理与销售服务又是后期新产生的课题。通过创业,他们累积着从事各种工作的体验,认识世界上不同的人和事,更加了解自己也更加了解别人,让自己变得谦逊和包容,彼此也学会了妥协与坚守的平衡,使人生变得更为丰富。
《女友·家园》:在创业初期你们有遇到哪些問题?
东:首先是资金短缺。因为梦想总是很大,现实又总是残酷。创业不像玩游戏,金钱可以无限,创业必须要在有限的资金里挖掘出最大潜力;二是市场把握不准,缺乏前瞻,研判失误。这可能不是我们才遇到的问题,每个创业的人都有这个困惑,这个只能随着阅历和智慧的增长而逐步改善;第三是意志动摇。这点很可怕,创业就是开放一个未知的空间让自己去面对,面对未知和恐惧,人是很容易动摇的,会变得不理智,变得软弱和不知所措。因为这是动物的本能,是一种自我保护。所以当恐惧来临,要有一个清醒的心态,被恐惧打败是创业的大忌。
《女友·家园》:在异地或者异国创业会有哪些问题或难处?
东:初期的最大问题三个:语言、合法身份、人脉。语言不通寸步难行,除非你只做中国人生意,即便如此,如果不能融入到当地社会中,工作效率、眼界、资讯的获得会严重打折。合法身份是旅居国外和在国外创业的律法必须,为此必须要了解你所从事的行业需要哪些法律手续,该做的必须要做到位,否则被执法单位罚款可不是一件闹着玩的事情。人脉,独自到国外目不识丁,没人帮忙确实是事事不顺哦。不过,交朋友这个能力就见仁见智了,扩大自己的朋友圈,这是需要仔细思考,努力去实践的。
《女友·家园》:当越来越多的人在谈及“一场说走就走的旅行”,或是萌生面朝大海开个青旅的想法,作为过来人和实践者你们有哪些建议和忠告?
丹:我觉得趁年轻多走走多看看是好的,只有这样才会知道自己真正想要的是什么。但是面朝大海开个青旅的定义就不太一样了,关于创业,我认为实施之前还是要考虑清楚,要随时做好失败的准备以及具备承受失败的能力,创业不是豪赌,第一次创业尽量不要拿出整个家庭乃至整个家族的积蓄来陪你玩,供你实验。万一创业失败,这个后果往往是你无力承担的。第一次创业尽量选择在自己能够独自承担损失的范围之内,即使失败也不过是花几年的时间从头再来。不要让别人(包括父母)为你的错误埋单。
《女友·家园》:对于现在许多想创业的人来说,你觉得他们该做哪些实质性的准备呢?
东:首先确定创业的目标,这个目标必须是你非常渴望的,一定是“来自灵魂深处的渴求”,否则它不能长久地支持你面对各种挑战和困惑。需要你反复拷问自己,这是你想要的生活吗?面对挑战你能坚持吗?目标实现了你会快乐吗?有成就感和幸福感吗?如果你的回答是肯定的,那这目标就是你的原动力,追寻这声音走下去,你的创业一定能够有所成就;另外,创业要学会习惯失败和冷眼,并且超越这些失败与冷眼。注意我说的是习惯,不是接受。各种失败和挑战会贯穿创业的始终,就是说这些都是你每天,甚至每时每刻都要面对的问题;第三个准备,要明白创业是自己生命的真实历程,别人能成功自己未必,不要去眼红别人的事业或者跟风而行。眼红就是嫉妒,跟风就是盲从,如果这是你的出发点,那你已经在一开始就失败了。每个人天性不同,特点不同,衡量自己的能力,了解自己的性格特点,走自己的路,避免鲁莽的行为和无意义的努力。
不同于许多创业者在创业初期的纠结考量,对魔女来说,这一次创业是“顺势而为”的产物。在她看来,“当一件事到达了一个特定的时间点,符合了天时地利人和时TA就自然而然发生了”。近十年的媒体公关圈工作经验让魔女不仅拥有丰富的人脉,更将产品的设定与把关,以及营销方式等都做得相对顺风顺水。
许多人对魔女的了解是通过微博。作为知名造型师淳子的闺蜜,魔女常常和淳子一起旅行,两人喜欢拍摄人物照,而每次旅行她们都会为自己搭配很多符合当地风格的衣服和配饰。这些配饰不会特别贵,也不是什么大牌,但因为两人不错的品位和搭配技巧让整体造型瞬间变得出彩,引来许多网友的热议与追捧。淳子更是出版了《盛装旅行》的搭配书籍,教女生们如何在最短的时间内学会在旅行中穿得有范儿。而对于魔女来说,“配饰与金钱无关,只与品味有染”。在今年去新西兰的路上,一路与淳子讨论了关于配饰的问题后,魔女瞬间萌发了要开创一个以她微博名“魔女赫本”为名字的配饰品牌。
idea有了,那么接下来就是创业项目的基本框架实施了。“知道自己想要什么最重要,每一次转型之前都是一个积累的过程,要看准时机,毫不犹豫地向前。”因着想要创建一个品牌的初衷,而非只是一个淘宝店那么简单。作为一个虚拟的店铺,淘宝店比起实体店来创业的成本更低,而受众面却更大,是一个让品牌快速传播和售卖的平台。
因为之前就认识几位韩国独立首饰设计师,所以产品的渠道对魔女来说不是问题。对于宣传,魔女主要采用网络营销的方法,利用微博和微信的平台来做宣传。也因此前在微博上已积累一定的粉丝量,所以以这一平台来做宣传对她来说已有一定的基础。而八年所从事的公关行业给予了魔女很大的人脉助力,广而告知,口碑相传,让“魔女赫本的店”以极快的速度走上正轨。
《女友·家园》:具体的创业目标是什么?
创建“魔女赫本”的品牌是我的初衷。我希望通过淘宝的平台聚集人气和关注度,同时积累第一桶金。今年年底,我计划能拥有一个实体店,目前已和上海某知名的商场在洽谈中,希望在年底能完成这个计划。未来,“魔女赫本”的品牌还将真正涉足到珠宝配饰的领域里。
《女友·家园》:在创业初期有遇到哪些问题?可以举例说明一下吗?
低成本的投入,最初就是人手问题,为了让支出最小化,凡事都需要亲力亲为,觉得时间不够用,呵呵。
《女友·家园》:你觉得自己和别的创业者有哪些不同?
因为之前的工作主要是和媒体与品牌打交道,积累了一些品牌宣传的经验,同时拥有比一般人更多的人脉和媒体资源,这对品牌的宣传起到了很大的帮助。
《女友·家园》:你觉得淘宝创业与实体店创业的最大不同在哪里?又有哪些利弊呢?
淘宝店是一个虚拟的店铺,比起实体店它创业的成本更低,而受众面却更大。唯一的缺点是产品不直观,只能通过图片看到产品。产品的运输也是一个问题,可能在中途造成一些损坏。
《女友·家园》:有没有觉得哪个阶段是特别瓶颈或是挫折困顿的?又是如何克服并解决的呢?
淘宝店从今年的3月31日开办至今,尚还未碰到特别瓶颈的地方。我想将来品牌的宣传,如何提高知名度、扩大购买人群和浏览量会是最重要问题。
《女友·家园》:创业中的收获和遗憾有哪些?
在创业中我收获了很多来自朋友和网友粉丝们的爱和支持。在开店的初期,之前很多默默关注的粉丝一个个跳出来买我的产品,并告诉我一直关注我,并喜欢我,让我觉得好开心,好有幸福感。我一直觉得人生有得必有失,在得到那么多人爱的同时也失去了一些个人的时间。
《女友·家园》:你觉得创业对你个人的性格、做事的方式或者价值观带来了怎样的改变呢?
个性决定命运。不是创业改变了个性,而是个性决定了你是否适合创业,或是会走到你事业的哪个阶段吧。
《女友·家园》:你觉得什么样的人是适合创业的?
1.具有强大的内心;2.赋有行动力;3.懂得坚持;4.努力再努力。
《女友·家园》:如果时光倒流,回到创业的最初,最想和自己说的一句话是?
风雨中奔跑,阳光下灿烂。
《女友·家园》:对于现在许多想创业的人来说,你觉得他们该做哪些实质性的准备呢?作为过来人你又有哪些建议和忠告能告诉他们呢?
先做好你目前所做的一切事。积累你人生的阅历和人脉。人生的积累比什么都重要!不要害怕付出,任何付出都是有回报的,只是时机未到。
Profile:
魔女,广告设计专业出身,毕业后在4A广告公司从事设计工作。后来转型做公关活动,并与朋友一起创办了自己的广告公司,最近创建了自己的配饰品牌“魔女赫本”,并在淘宝开设店铺。
Profile:
Steve Yang(杨海),双子座,1999于同济大学工业设计系毕业后,作为设计师从事室内设计工作十多年。在2011年,毅然从职场全身而退,甚至不惜卖掉在上海的房产,踏上了前往广西务农的创业之路,带着一颗坚定的有机农业实践者之心开启了与“野香猪”朝夕相伴的日子。
Steve Yang有機农业
以捍卫健康和安全为本心
初见Steve,皮肤黝黑,在他身上,还保留着些许精英白领的气息,同时又透着体力劳动者独有的活力。离开室内设计职场,如今常驻广西的他,每天的日常不是养猪便是种地,隔两个礼拜会杀个一两头猪,抽好真空,坐二十多个小时的火车亲自把他的野香猪带进上海,而几乎所有品尝过的人都对猪肉赞不绝口。Steve的野香猪还没有正式对外出售,但粉丝们和欲购人群早已经如滚雪球般增长了起来。
而这一切都源自于2011年的春节,随着土地的落实,Steve的有机农业事业正式启动。养猪,需要种猪,对于一个城市青年而言,转为农,学习自然是必须的。于是,广西巴马香猪的原种厂成为了他的首选,巴马香猪的著名和巴马这个生态环境一流的长寿村脱不了关系。很多人在上海周边也做有机农业,但Steve完全不接受,因为他觉得生态还是不够好,即使周边有崇明、奉贤,从全国来看,环境的整体品质还是偏差,而巴马则是名副其实的国内好山好水典范。经过一番考察取舍,Steve最后决定用香猪和野猪的杂交品种作为种猪,即野香猪。如此不仅能保有香猪个头小,肉质好的优点,又避免了香猪肥肉多,只适合做烤猪的局限。生活在种猪厂的日子,Steve跟着前辈学了很多:铲猪屎、打疫苗、配料,甚至阉猪。至此,门外汉终于迈进了养猪户这个大门。
带着二十头母猪和两头公猪作为种猪,真正自立后的养猪生活其实相当枯燥、孤独和艰苦。想上厕所就在猪圈,要洗澡只能就着厨房烧水的地方。农村搭建的住家不比城市,冬天,透风,特别冷,而所有的现代化便捷设备全无,每日犹如古人。六点半左右起床后,首先要自己生火做饭,然后将为了养猪特地种的猪草收回,打碎,拌饲料。上午九点左右开始喂猪,之后再做一些其他的清理和杂务,比如,劈柴、整理菜地、种菜。下午,有时Steve会去买些豆腐渣、花生枯、麦麸之类的粗粮储备着给猪吃。晚上只有电视这一项现代化的消遣工具可娱乐。就这样,日复一日,Steve笑称,务农其实更像一种修炼。
精英白领养猪,自会有些独有的执著和创新,在猪食这件事情上,Steve对品质的要求甚高,他信奉10:1的比率,即吃10斤,长1斤(普通白猪吃二三斤饲料就能长1斤)。另外,坚决不用市场上现成的猪饲料喂猪,宁愿自己种地买配料亲手准备来保证质量。普通的白猪五六个月就有两三百斤,而野香猪一年也不过一百多斤,正因为吃得好,长得慢,肉质便格外香甜,肥而不腻。提到创新养猪的秘密,便是中草药的运用了。把自己种的艾草、益母草、鱼腥草,山里采、店里买的板蓝根、大青叶等等抗病毒草药拌入饲料,就能提高野香猪的抵抗力,防止得病。问起Steve怎么会想到如此的好点子,他称都是自己看杂志、查网络自学摸索加实践得来的,想来这些便是不同于普通农户的白领农户优势吧。
经过三年努力,如今,Steve的野香猪规模已经达到了一百多头,虽然还未完全实现量产化,物流也始终是个难题,但在微信朋友圈中,野香猪已经火了,可Steve依然淡定,在他看来,既然选择了走创业这条路,用心地坚持下去才是真谛。
《女友·家园》:创业的契机是什么?为什么会选择放弃室内设计师的职业跑去务农?
房地产这个行业,泡沫太多,有泡沫,总有一天会破,这是行业的问题,房地产整个行业未来的趋势不好,室内设计的未来自然也不会好,所以我离开了那个行业。至于创业的契机,其实我自己本身对农业就比较关注,2009年、2010年的时候刚巧也看到了很多食品安全方面的报道,比如什么小女孩4岁就发育啊,尤其是当时天涯有个文章说农妇不吃自己养的猪,因为吃了就等于在自杀,那些猪肉里含有大量重金属离子、抗生素、生长激素等等有害物质,蛮受触动的,加上我自己也有了小孩,对食品安全问题就非常担心,所以说有机农业这个行业还是有市场的,如果我自己本身就是潜在需求者的话,必定还会有很多和我一样的需求者。
《女友·家园》:在创业上你有没有遇到过什么阻力?
主要是人。尤其在创业初期,几乎身边所有人都会给你泼冷水。所以在开始创业之时,你必须要想清楚,为什么做,怎么做,做的途中会遇见什么困难什么风险,同时也要相信自己的判断!
《女友·家园》:对想要创业的人群,你有没有什么忠告?
谈不上忠告,因为我自己在创业上也还处于摸索阶段,应该算一些经验的分享吧,两方面:一、在资金上,一定要把余量留得足一些,要考虑到最坏的情况。比如像我,就算这次创业到最后不赚钱,那么至少我把一家人的健康吃饭问题解决了,也是一种很好的获得。二、要有国际化的视野。就好像我没有选择跟我的专业和职场经历相关的创业项目,就是因为如果行业不行,即使再细分的市场也很难有大发展,至于行业为什么不行,看看国际上的经验就能了解了。
《女友·家园》:目前的状况是你当初预料到的吗?一切发展都还在掌控内吗?有没有什么创业的终极理想?
目前基本跟之前的设想差不多,第一个5年计划主要关注规模上的发展和品质上的稳定。唯一有出入的是当初的投资还没有收回来。一般正常的收回投资可能要花三年左右,我因为毕竟是个农业门外汉新入行,有很多不熟悉的地方,也缺乏经验,常会碰到问题,有问题就容易耽搁进度。下一个5年计划则会更多地考虑引入外部资源,包括团队、市场、营销、物流等,当然,也需要引入更多资金,以风投、众筹等方式,都在考虑之中。要说终极理想,这个其实真的没有一个量化的标准和目标。今后的发展谁都没法预测,我觉得捍卫好本心的那些东西非常重要。用你的整个生命去投入事业,去捍卫健康和安全,带着这样的一颗本心坚持下去,就是我的理想。
Steve Yang小建议:
当创业的领域与之前的职场经验交集甚少时,你应该注意:
1.多通过网络、杂志、电视等媒体搜集相关资料,更全面地去认识全新的领域。
2.以国际化的眼光来评估和看待你的创业项目,不要人云亦云。
3.在入行初期,要向有经验的人学习,切忌闭门造车。
4.实践能出真知,经验须尊重,但也不可过分迷信,适当的创新很重要。
5.不要被一时的局面迷了心窍,应拥有一颗不变的本心,在迷茫时想想最初的动机。
你适合创业吗?
目前的工作適合你吗?想创业,却不知如何开始?无论你梦想着拥有属于自己的公司,还是单纯地想从事按项目计酬的自由职业,你首先要做的都是:认清局势,了解自己。
创业也是一座新围城
没有创业的人望着创业者的城墙,好生羡慕;创业的人远眺城外的大军们,悲喜自知。这是一个创业最好的时代,也是创业最难的时代。坊间喜爱流传的多是创业者上市、变现等天大好事,却很少传播那些倒下了的一批又一批创业失败者。作为一名职场专家,我也会被不同的人问起关于“创业”两字,而我认为以下文字或许是不错的解答——
主动创业VS 被动创业
两年前我受邀参加中国电信学院的一个活动,被大学生创业激情所感动,在尚未走出校园的时候,他们幸运地开始依靠自己的技能和人脉尝试性地创业,在积累了无数经验值后,这些年轻人有了自我的选择权——创业或者就业。这种主动创业的精神是一种激情和一种生活的态度,即便他们在创业后遇到天大的困难,我相信选择主动创业的年轻人,会有很强的自我调适自我激励的能力。而被动创业常常发生在职业生涯的中后期,被动一词很形象地概括了这种创业的尴尬性——未必是某种创业抱负所支撑,而是在权衡各种利益得失之后的一种选择。作为被动创业者必须尽早放弃犹豫的状态,接受现实和自我的重新认知,享受创业带来的所有好处和短处。
做事业VS 做生意
在开始创业的初期,很多人会被一些表象所迷惑,既要高大上的自我借口,又要养家糊口的实际收益,而很多成功的创业者都会用自己饱尝辛酸的经历告诉后辈:做事业和做生意完全是两码事。而创业恰恰需要分清的就是到底要什么。如果为事业而创业,那么就要有长远的规划,有坚实的财务支持,有百折不挠的精神;但如果为了“做生意”而创业,那么务必从一开始就从生意的视角去考虑,以投入与产出的性价比,以投资回报率来决定创业的问题。
成功 VS 失败
很多人都明白,失败是成功之母,也许只有历经无数的失败后才能迎接真正的成功。所以在人生的职业生涯中也有金融投资行业的时间成本因素,有人先创业后就业,把创业当作一种人生的初考验,也有人先就业积累社会经验人脉和资金后再创业,还有人创业就业再创业,看似折腾却是一个自我挑战自我实现的过程。我们身处一个宽容的时代,任何个人的选择只要有存在的理由就是存在的机会。在没有到达职业生涯的终点时,任何失败和成功都只是一个过程。如此一来就不会纠结于创业的问题了。
DB2并行数据库核心技术探究 篇12
当前, 银行业中的许多核心业务系统 (如记账系统、支付清算系统、征信系统等) , 随着业务事件的发生、业务流程的运转、业务推广, 业务系统中的生产性子系统, 每天要接受大量用户的7╳24小时高并发实时访问, 吐出海量的交易数据, 对于银行企业来说, 这些交易数据是无价之宝, 业务系统中的管理性子系统要对该海量交易数据实时进行数据归档、统计分析、货币政策及金融服务等业务价值挖掘处理, 其数据容量以TB乃至PB来衡量。时至今日, 传统的数据库系统技术仍然难以满足这个问题空间的需求。
自1945年第一台电子管计算机诞生以来, 历经近60年, 计算机硬件飞速发展, 特别是微处理器的迅猛发展, 处理器的运算性能以摩尔定律提速、每1.5年提高1倍, 主存储器的容量每3到4年翻1倍, 磁盘的容量每年提高60%, 而且这些硬件价格都一直保持下跌, 性能价格比一直在提升。这些导致了新型计算机体系结构的发展和应用。而今, 业界一致推崇, 大规模并行处理机作为海量数据处理和实时高性能计算需求的解空间, 为问题求解提供了坚实的物质基础。
在海量数据实时处理的问题空间与大规模并行处理机的解空间之间, 由于两者的概念和处理逻辑截然不同, 要弥补这一距离, 需要从问题空间向解空间进行映射, 建立映射函数f:y=f (x) , 定义域为:{x/x=海量数据实时处理的问题空间的概念和处理逻辑}, 定义域为:{y/y=大规模并行处理机的解空间的概念和处理逻辑}。由此可见, 并行数据库系统的本质可以概括为:从海量数据实时处理的问题空间到大规模并行处理机的解空间之间的映射f。而且, 从问题空间向解空间直接进行映射, 必定存在一定的复杂性, 为了控制这一复杂性, 需要建立一个复合映射函数f, 即f (x) =P (L (x) ) , 其中L为从问题空间到并行数据库系统的逻辑映射, P为从并行数据库系统到解空间的物理映射。实现映射的基本手段是建立模型, 为逻辑映射建立并行数据库系统的逻辑结构模型, 为物理映射建立并行数据库系统的物理结构模型。
2 并行数据库系统的目标、原则与方法
由映射f的定义可知, 并行数据库系统的基本目标是:高性能、高可用性。高性能由并行机制来保证, 高可用性由冗余机制来保证。
高性能由线性加速和线性扩展两个指标来度量。假设没有并行性情况下, 投入1个单位计算资源, 在1个单位时间内, 完成1个单位计算规模的1个计算任务。线性加速是指:投入n个单位计算资源, 在1/n个单位时间内, 完成1个单位计算规模的1个计算任务。线性扩展是指:投入n个单位计算资源, 在1个单位时间内, 完成1个单位计算规模的n个计算任务。
吸收业界专用数据库机研究失败教训, 为了达到并行数据库系统的上述基本目标, 遵循如下并行数据库系统的原则:由有限构建无限。即不存在一台无限快的处理器提供无限能力的计算资源, 而是由无限多个有限能力的计算资源通过一定的结构关系来形成一个无限能力的计算资源。这种结构关系就是并行计算体系结构和并行计算算法的研究内容。
并行机制的基本实现方法有流水线并行性和分区并行性。流水线并行性:把一个关系运算的输出结果串联到另一个关系运算的输入端, 使得多个关系运算构成流水线, 利用流水线深度 (即步数) 来获得并行性。由于在关系运算中, 流水线深度太小等因素限制了其并行性的发挥。分区并行性:采用分而治之的思想, 其实质是把大任务转化为多个独立的小任务, 包括数据分区和并行运算2个方面, 即分割大规模数据集为多个小规模数据集, 使得一个关系运算被分割成多个相同的子关系运算, 这些子关系运算分别作用在不同的小规模数据集上。
数据分区是分区并行性的关键, 假定要把数据映射到n个磁盘上D0, D1, …, Dn-1上, 目前, 有3种经典的数据分区策略:
轮转法:对于关系r中的第i个元组分配到第 (i mod n) 个磁盘上, 保证了元组在多个磁盘上的平均分布。适合于扫描操作。
散列分区:关系r中的一个或多个属性作为分区属性, 对于r中的元组rt, 该元组被分配到第h (rt) 个磁盘上, 其中, h为一个值域为{0, 1, 2, …, n-1}的散列函数。适合于基于分区属性的点查询, 不适合范围查询。
范围分区:对于关系r, 分区属性为A, 则在A上可以定义一个分区向量:[v0, v1, …, vn-2]。分区过程如下:若t[A]〈v0, 则t被分配给第0个磁盘, 若t[A]≥vn-2, t分配给第n-1个磁盘, 若vi≤t[A]
并行运算是分区并行性的第二步。由于关系运算是基于集合的, 集合的偏序关系、等价划分等性质, 适合于进行数据分区, 所以关系运算特别适合于并行处理。并行关系运算一直以来是算法研究的热点领域, 特别是并行连接和并行排序等。
冗余用于改善可靠性, 冗余信息可以用来在磁盘等出现故障时, 重新生成数据。
3 DB2并行数据库系统的逻辑结构模型
IBM DB2 InfoSphere Warehouse Enterprise Edition就是在并行数据库系统的目标、原则与方法指导下研发的一款高端并行数据库系统, 俗称DB2 EE with DPF。
DB2并行数据库系统的逻辑结构模型如下:
DB2数据库分区采用分区并行性中的散列分区策略来设计。每个数据库分区称为节点或者数据库节点。每个数据库分区都有自己独立的计算资源 (CPU、主存储器和磁盘) 。每个数据库分区是一个数据库, 有自己的数据、索引、事务日志和配置文件。支持的并行性粒度有:节点间、节点内、查询间、查询内部。没有限制的规模, 横向扩展。基于分区键, 通过散列函数均匀地映射数据到不同的数据库分区, 当用户发出SQL操作时, 被连接的分区作为协调节点 (协调节点是运行协调代理的一个数据库分区, 任意一个数据库分区都能够成为协调节点) , 负责处理用户的请求, 并根据分区键和分布图将用户的请求分解成多个子任务交由不同的分区并行处理, 最后将不同分区的执行结果汇总返回给用户。
DB2表空间采用分区并行性中的轮转法策略来设计, DB2中称之为条带化。表空间是由容器构成的, 容器是数据的物理存储, 如果一个表空间有多个容器, 那么数据在写容器的过程中是按照循环的方式按块 (extent) 写的。当在第一个容器中写完一块后在第二个容器写, 然后又循环到第一个容器, 以此类推。
DB2分区表采用分区并行性中的范围分区策略来设计。分区表根据分区键, 将表数据分布到多个数据分区中。允许一个逻辑表被分成多个分散的逻辑存储对象, 每个存储对象对应表的“一部分”, 值的范围用来指定每个分区。数据分区是表的一部分, 它包含该表的一部分记录, 并且与其他记录分开存储。这些数据分区可位于不同的表空间或同一表表空间中。普通表只可以放于一个表空间中, 而分区表可以将自己的各个不同部分放在不同的表空间中。
多维集群弥补数据库分区、表分区的declusterring的缺点, 从物理上把表数据同时沿着多个维聚集起来, 允许聚集多维内的物理数据页面来聚集逻辑表上的数据, 提高查询性能。
4 DB2并行数据库系统的物理结构模型
为了支持DB2并行数据库系统的逻辑结构模型向大规模并行处理机的解空间映射, 需要引入DB2并行数据库系统的物理结构模型。
大规模并行处理机MPP的3种典型物理结构:共享内存、共享磁盘、无共享。
共享内存SE:所有的处理器和磁盘共享一个公共的主存储器, 采用总线连接。优点是处理器之间的通信效率极高。缺点是其规模不能超过64个处理器, 否则会变成瓶颈。
共享磁盘SD:所有的处理器共享一组公共的磁盘。采用互连网络连接, 每个处理器都可以直接访问所有的磁盘, 每个处理器有自己私有的主存储器。优点是容错性, 缺点是速度要慢一些。
无共享SN:各处理器既不共享公共的主存储器, 又不共享公共的磁盘。在SN中, 机器的每一个节点包括多个处理器、一个主存储器和多个磁盘。采用互连网络连接, 一个节点上的处理器可以通过高速互连网络与另一个节点上的另一个处理器通信。由于局部磁盘访问有各个处理器的本地磁盘提供, 所以无共享模式客服了所有的I/O都要通过一个互联网络的缺点, 只有那些非本地磁盘的查询及其结果关系需要通过网络传送。优点是无共享体系结构更具可扩展性, 可以很容易地支持大量的处理器。缺点是数据的传输涉及两端的软件交互, 故速度要慢一些。
对比以上3种物理结构, 可知无共享SN的物理结构适合架构高性能数据库系统, 所以DB2率先采用之。DB2并行数据库系统的物理结构模型如下所示:
系统的拉动查询性能的主要组件。
5 结束语
本文提出了提高吞吐量以及满足高可靠性需求的问题空间, 然后给出了DB2并行数据库系统向相应解空间的映射及其模型建立, 同时研究了DB2并行数据库
摘要:DB2并行数据库系统当前在银行业的许多核心业务系统中被广泛使用, 本文力求以一种创新性的逻辑思路, 系统化地从并行数据库系统的本质、目标、原则、方法、逻辑结构模型、物理结构模型等方面对DB2并行数据库系统的核心技术进行研究与分析, 以期更好地指导DB2应用实践。
关键词:并行数据库系统,并行机制,DB2,数据库分区,表分区,映射
参考文献
[1]杨利、周兴铭、郑若忠.并行数据库的体系结构.国防科技大学计算机研究所.1995.
[2]陈越洲、杨树强、贾焰.基于DB2的并行数据库体系结构研究.计算机工程.2005年3月.
[3]Abraham Silberschatz (美国) 等.数据库系统概念 (第五版) .机械工业出版社.2008年12月.
[4]王立福等.软件工程 (第三版) .北京大学出版社.2009.