没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记182(2007)91-106www.elsevier.com/locate/entcs软件组件关于Concurrent Behaviour1Heiko Koziolek2 Ralf Reussner3研究生院Trustsoft4软件设计和质量主席奥尔登堡大学卡尔斯鲁厄大学26121 Oldenburg,Germany 76131 Karlsruhe,Germany摘要基于构件的软件系统性能预测方法旨在支持软件架构师在早期开发阶段的设计决策。随着多核处理器可用性的提高,这些方法应该可以预测跨多个内核分布线程和进程可能带来的性能增益。许多现有的预测方法对并发行为建模不准确,并且由于硬的基本假设而产生不准确的结果。在本文中,我们提出了一个正式的基于组件的系统的性能预测方法,这是参数化的CPU或CPU核心的数量。它能够预测组件服务的响应时间一般分布的执行时间。一个初始的简单案例研究表明,这种方法可以准确地预测特定情况下多线程软件组件的响应时间。然而,如果线程在执行期间改变CPU,如果存在处理器缓存颠簸的后果,以及如果内存总线被大量使用,则它是有限的。关键词:性能预测,参数性能契约,服务时间分布,软件组件,随机正则表达式,多核处理器,多线程行为1介绍基于组件的软件系统的一个重要的功能外属性是性能,通常通过响应时间、吞吐量或资源利用率等度量来表示。用于在早期开发阶段推理软件组件性能的形式化技术目前受到越来越多的关注[1]。1电邮地址:jens. informatik.uni-oldenburg.de2电邮地址:heiko. informatik.uni-oldenburg.de3电子邮件地址:reussner@ipd.uka.de4 这项工作得到了德国研究基金会(DFG)的支持,grant GRK 1076/11571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.09.03392J. Happe等人/理论计算机科学电子笔记182(2007)91这样的性能预测方法的目标是支持早期的设计决策,基于组件的软件体系结构。这些方法结合(a)组件开发人员的性能规格,(b)系统架构师的架构描述,(c)系统部署人员的硬件规格,以及(d) 使用场景,以便在实际实现应用程序之前对应用程序的预期性能进行估计。随着最近处理器制造商转向构建主流多核处理器,需要基于组件的性能预测方法来对处理器内核数量进行参数化的充分预测。然后,预测可以支持为特定应用环境购买适当的硬件。给定一个固定的硬件环境,预测可以帮助系统架构师尽可能好地利用可用的硬件。许多现有的性能预测方法是基于分析模型,如排队网络,随机Petri网,或随机过程代数[2]。虽然多核系统可以用这些形式主义建模,但由于硬的基本假设,它们通常不能准确地表示现实例如,大多数这些形式主义假设执行时间为指数分布,或者仅计算响应时间作为平均值[3]。由于在大型企业系统中有许多影响性能的因素,平均响应时间通常是没有用的。将响应时间预测为分布函数对于支持设计决策更有用。在本文中,我们扩展了我们以前的基于组件的软件体系结构性能预测的形式化方法[4],以显式地包括多线程行为的各个方面。我们要求组件开发人员以所谓的服务效果规范的形式为其组件指定参数性能合同。然后,组件汇编器可以针对其环境和处理器内核数量参数化这些规格现在允许线程分叉的服务效果规范被转换为基于随机正则表达式的分析模型[4]。求解分析模型可以将组件服务的响应时间作为任意分布函数。本文的贡献是一个初步的方法,包括多线程的行为,基于组件的性能预测。我们报告了第一个案例研究,以验证我们在特定情况下的方法。在案例研究中,我们比较了我们的方法与测量的实施例系统的预测虽然简单,但案例研究适合揭示多核系统中性能预测的更多挑战,例如CPU跳变和缓存抖动。我们总结了测量双核系统的经验教训,并为未来的研究提供了方向。本文的结构如下:第2节介绍了我们的设计模型,它是基于带注释的UML图。第3节描述了我们的分析模型,这是基于随机正则表达式,并解释了必要的计算来解决它,特别是对于新引入的并行运算符,并总结了我们的方法的假设和限制。在第4节中,我们报告了一个初步的案例研究,并讨论了我们的结果。第五节分析了相关工作J. Happe等人/理论计算机科学电子笔记182(2007)9193在性能预测和基于组件的软件架构领域第6节对未来的工作进行了展望。2设计模型:UML模型2.1概述在基于组件的软件系统的早期开发阶段,由于实现通常不可用或仅部分可用,因此关于系统质量属性的推理必须基于模型。在软件性能工程社区中,使用面向设计的模型进行规范化并将其转换为面向分析的模型来预测性能属性是一种既定的做法[2]。面向设计的模型通常基于UML作为事实上的标准建模语言,并使用UML SPTprofile [5]和自定义语义等扩展来包含与性能相关的信息我们遵循上面概述的方法,并将我们的设计模型建立在UML的基础上,记住基于组件的开发通常涉及多个开发人员在[6]中讨论的角色2.2组件规格组件开发人员指定其组件的提供和必需接口(参见图1(a))。对于性能预测,需要关于组件内部结构的附加信息。因此,在我们的方法中,必须为组件的每个提供的服务指定所谓的服务效果规范(SEFF)形式的参数合同。SEFF是通过所提供的服务的控制流程的抽象[7]。它描述了所提供的服务如何调用所需接口中指定的服务。在这里,SEFF被建模为特殊的UML2.0活动,其中每个动作表示对所需服务的调用。图1(b)中的示例性SEFF包括我们的分析支持的控制流程原语:序列,替代,循环和分叉。在调用所提供的服务Z时,首先调用所需的服务A,然后调用服务B或C。服务B在一个循环中被多次调用。在调用服务C之后,并发调用服务D、E和F。最后,再次连接控制流程,服务Z结束其执行。2.3随机注释SEFF中包含的结构信息不足以进行性能分析。我们需要额外的随机信息,即分支上的转移概率、循环迭代次数、服务本身及其调用服务的时间消耗。转换概率和循环迭代次数不能由组件开发人员直接指定,因为这些数字通常取决于组件如何被第三方使用,而组件开发人员对此并不了解。我们已经在[6]中展示了组件开发人员如何指定组件之间的依赖关系。94J. Happe等人/理论计算机科学电子笔记182(2007)91<<组件>>示例组件<<界面>>提供Z()<<界面>>需要A()D()B EC()F()<>Z()一CDEF<<循环>>B(a)(b)第(1)款Fig. 1.示例组件和相应的服务执行规范输入参数和转移概率或循环迭代次数,以便系统架构师可以采用这些规范并将其调整为预期的使用配置文件。就本文件的范围而言,我们假定已获得必要的信息。为了对服务的时间消耗进行建模,我们为SEFF中的每个动作分配一个随机变量X。潜在的概率质量函数(PMF)x:t<$−→pt=P(X=t)为每个执行时间t分配概率pt,该概率例如可以以毫秒为单位给出。外部服务的时间消耗可以是另一个服务的结果,也可以由系统架构师指定。对于组件使用UML SPT profile [5]将随机信息包含到SEFF中。3解析模型:随机正则表达式为了预测服务的响应时间,设计模型被转换为分析模型。为此,我们使用随机正则表达式(SRE)[4],并使用一个并行操作符对其进行扩展。转换将活动图表的结构元素映射到正则表达式。设计模型中存在的性能相关信息,如分支概率、循环迭代函数和时间消耗的随机变量,被传递到所得到的随机正则表达式的相应元素SRE的元模型包含符号类、替代类、序列类、循环类和并行类,它们是通用表达式的专门化。它们的解释类似于正则表达式,其中的符号被称为终端符号,循环被称为Kleene星。每个表达式都包含一个执行时间的概率质量函数。此外,替代方案与概率相关,J. Happe等人/理论计算机科学电子笔记182(2007)9195回路迭代次数=PMF一个符号名称=“B”cpuTimes = PMF替代probOne = p1probTwo = p2序列平行l序列一个符号name=一个符号name=每个选项的能力。对于每个循环,概率质量函数表征其迭代次数。新的运算符parallel扩展了通常的正则表达式来模拟两个独立任务的并行执行它可以被解释为两个线程或进程的分叉以及它们的连接。为了简单起见,我们省略了同步机制,如信号量和监视器。图二、一个随机正则表达式的例子将图1(b)中所示的服务事件规范转换为SRE,产生图2中所示的抽象语法树。外部服务调用A到F可以在树的叶子上找到。操作D、E和F的并发执行映射到右侧的两个Parallel节点。 SEFF中的循环映射到内部表达式为B的循环节点。3.1模型分析:序列、替代、循环为了计算完整表达式的执行时间,从抽象语法树的叶子到根遍历抽象语法树,计算每个节点的时间消耗。为根节点计算的执行时间是组件提供的服务的响应时间在下文中,我们描述了运算符sequence、alternative和loop的计算随后介绍了并发性,将分析扩展到多个CPU和一个新的并行运算符。序列的时间消耗是每个子节点的时间消耗之和。两个随机变量的和是它们的概率质量函数的卷积,如果随机变量是独立的[3,pp.106]。因此,在独立性的假设下,序列的时间消耗可以通过下式计算:xR1·R2(t)=xR1*xR2[t]对于备选方案,时间消耗被计算为由分支概率加权的备选路径的总和。对应的概率质量一个符号name=符号名称=平行l一个符号name=96J. Happe等人/理论计算机科学电子笔记182(2007)91职能是:xR1+R2(t)=p1xR1[t]+p2xR2[t]其中p1和p2分别是选择第一种或第二种的概率。对于循环,指定概率质量函数l(i),其中包含每个循环迭代次数的概率。因此,回路的所得概率质量函数具有以下形式:中国xRl(t)=i=1l(i)我R*xR[t]j=1其中ithN∈N0且di>N:l(i)=0. 为了计算近似质量函数的卷积,我们使用如[9]中所述的离散傅立叶变换,其中还详细讨论了操作的计算复杂性3.2模型分析:并行为了分析并发性,我们将随机正则表达式扩展到多个处理资源。我们专注于对称多处理(SMP)体系结构,其中多个相同类型的CPU连接到一个共享内存。与[4]相比,在服务效果规范中考虑多个处理资源和并发性会在单线程情况下,服务的执行时间由单个概率质量函数建模。这对于具有多个处理资源的并发系统是不足够的,因为服务可能使用多个处理资源,并且使用取决于其并行度。为了通过分析模型反映这一点,我们为每个可用的处理资源扩展了正则表达式的计算时间。这里,计算时间是服务使用处理资源的时间。因此,服务的执行时间是其计算时间的最大值(假设并发线程之间没有依赖关系)。并行运算符结合其子节点的计算时间,以最佳方式使用可用的处理资源。每个子表达式本身可能包含并发部分(例如,它本身可以是并行运算符),因此包含多个计算时间。所有输入计算时间到可用处理资源的映射应该是最优的,这意味着所有时间消耗的最大值对于所有可能的映射都是最小的。换句话说,通过使用尽可能多的并行性,并行表达式的执行时间被最小化。然而,在我们的情况下,优化受到限制。 首先,我们不允许任务在执行过程中更改其处理资源。第二,我们只根据局部参数的并行操作,忽略了系统的全局视图进行优化。因此,如果多个并行运算符相结合,一个更好的调度可能存在比我们的算法。局部优化也使得并行运算符是否具有关联性成为问题。然而,在这方面,J. Happe等人/理论计算机科学电子笔记182(2007)9197作为实际系统行为的近似,这里提出的方法是足够的。图3.第三章。并行运算符的计算示例图3用一个例子说明了并行运算符的算法。任务1和任务2是应当并行执行的两个表达式。两者都使用处理资源R1和R2。图3(a)显示了两个任务在每个资源上的计算时间这四个值需要映射到两个可用资源R1和R2上。为此,我们首先对计算时间进行排序(见图3(b))。然后,将最短和最长的计算时间相加并分配给R1(参见图3(c))。对于图3(b)中剩余的计算时间,我们以相同的方式进行。剩余的最短和最长的计算时间相加并分配给R2。计算时间如图3(c)所示。该算法可以总结如下:(i) 根据子节点的计算时间创建计算时间的排序列表(ii) 重复操作,直到列表为空:(a) 从列表(b) 将它们相加,并将结果存储为新的计算时间之一(a)(b)第(1)款见图4。 示例Max-PMF对于示例中使用的平均值,计算是直接的。不幸的是,由概率质量函数(如我们的方法中所使用的)指定的随机变量的排序要复杂得多。为了说明这一点,考虑图4(a),其中应确定两个随机变量X1和X2的最大值。两个随机变量的概率质量函数为98J. Happe等人/理论计算机科学电子笔记182(2007)9111n我J我强烈重叠。因此,X1和X2都不能说是最大值,因为这两种情况都是可能的。然而,新的随机变量Xmax=max(X1,X2)可以通过将X1和X2的累积分布函数相乘来确定[3,p.109]。图4(b)显示了结果。 对于排序,问题是类似的,因为实际的顺序取决于随机变量的具体值。因此,我们必须找到一种方法来计算一个新的随机变量的第n次计算时间从传入的。随机变量为了对N个计算时间的列表进行排序并确定新随机变量的PMF,我们进行如下操作。对于每个输入计算时间Xn,新的PMF被设置为Pn(X=t),其包含直到时间t至少n个任务正在计算的概率。在未排序集合中,每个随机变量都由PMFQn(X=t)指定。根据该PMF,确定任务在时间t Q(Xn> t)仍在计算的概率以及Qn(X≤t)。 基于此,恰好n个任务在时间t运行的,如下面的示例所示,并发任务:PJ(X> t)=Q1(X > t)Q2(X≤t)Q3(X≤t)+Q1(X≤t)Q2(X > t)Q3(X≤t)+Q1(X≤t)Q2(X≤t)Q3(X > t)其中PJ(X > t)是三个任务中恰好有一个正在运行的概率。每一个产品都产生了第一个、第二个或第三个任务是活跃的,而其他任务已经完成的概率。把概率加起来,其中一个任务正在运行的概率。一般情况可表述如下:ΣPJ(X > t)=⎡QJ(X>t)⎤QJ(X≤t)I∈ P(T),|我|= ni∈Ij∈T\I其中T ={1,.,N}是并发任务的集合,P(T)是其幂集,并且I是从该集合中选择的n个任务。对于n个任务的每个可能组合,对于n个任务的每个可能组合,计算这些任务正在运行(第一乘积)和所有其他任务完成(第二乘积)的概率,然后求和。n个或更多任务正在运行的概率可以通过简单地将n到N个运行任务的概率相加来计算。Pn(X > t)=中国I=nPJ(X > t)由此,Pn(X=t)可以很容易地确定。这个计算的结果是N个概率质量函数的排序列表,其中P1(X=t)表征最长的计算时间,PN(X=t)表征最短的计算时间。现在我们可以应用这个算法J. Happe等人/理论计算机科学电子笔记182(2007)9199如开头所述,通过将最短和最长计算时间相加(对PMF进行卷积)。并行运算符的计算复杂度随着处理资源的数量呈指数增长。然而,由于可用处理器或CPU内核的数量有限,这不应限制分析的适用性3.3假设我们的方法对数据的可用性和建模系统的可靠性做了一些假设。在[6]中,我们描述了如何在基于组件的开发过程中获得所需的数据。对于系统的行为,我们假设一个任务不能切换CPU。此外,调度被假定为最优的,因为任务被立即调度到空闲CPU。此外,我们忽略了由任务切换产生的开销。到目前为止,我们还没有对锁定或同步机制进行建模,因为我们关注的是独立任务的并发执行对性能的影响。我们只考虑相同类型的CPU,不包括其他资源,如内存、磁盘或网络。4为例这里描述的案例研究旨在分析新的并行运算符的有效性,因此不对行业规模的架构进行建模。 相反,我们使用一个相当简单的架构,采用并发。我们计划在未来进行更大规模的案例研究。性能预测方法的任何验证都必须将预测结果与对所分析架构的实现执行的测量进行比较因此,我们已经创建了一个设计模型,一个简单的程序与多线程,在Java中实现它,并执行测量的实现。在案例研究之前,我们问自己的问题是:• 我们的分析模型的预测与实现的测量有多大的不同?• 什么样的多线程行为可以被准确分析?4.1分析架构图5中描述了所分析架构的设计模型。该系统由一个客户端组件调用服务器组件与并发请求。在设计模型中,我们将这两个组件都部署在一个具有双核CPU的服务器上。对于客户端组件提供的服务performCalculation,对应的SEFF如图5(b)所示。它产生三个线程并并发调用所需的服务。我们实施了不同的所需服务,以减少结果的失真100J. Happe等人/理论计算机科学电子笔记182(2007)91<<双核CPU>>服务器客户端组件服务器组件<<界面>>提供performCalculation<<界面>>需要mandelbrot()primes()排序FFT()<<界面>>提供mandelbrot()primes()排序FFT()<>performCalculation排序排序通过不同的算法。实现了两个计算复杂但内存密集度较低的算法。在这些算法中,一个 算法计 算了一个 大于给 定整数 的素数 数组(素 数)。 另一个 计算分 形(Mandelbrot)。此外,两个算法使用大量内存。第一个算法生成一个大的随机数数组并对它们进行排序(排序)。第二种算法对概率质量函数(FFT)进行快速傅立叶变换。从设计模型导出分析模型非常简单。因此,为了简洁起见,我们省略了分析模型的说明。(a)(b)第(1)款图五、“排序”用例的案例研究架构和示例SEFF4.2实施和案例研究设置我们用Java实现了上一节中描述的体系结构和四个算法下面讨论的测量是在3 GHz双核Pentium D和Windows Server 2003操作系统上进行的。在测量过程中,客户端组件提供的服务在所有场景下被重复调用500次,响应时间被保存为概率质量函数。我们调整了算法的参数(例如,生成的随机数或素数的数目),使得它们对于具有一个活动核的单个执行的响应时间约为50ms(短)或500ms(长)。我们为实验选择了以下自变量:(a)存储器密集型算法与CPU密集型算法,(b) 短(50ms)与长(500ms)执行时间,(c)一个与两个活动处理器核心,以及(d)算法的顺序与并行执行。唯一的因变量是客户端组件提供的服务的响应时间作为我们计算的输入数据,我们使用了一个活动处理器内核的单线程执行算法的测量响应时间。因此,并行运算符是预测的唯一干扰因素。根据自变量,我们创建了以下场景:(i) CPU密集型,两个活动内核,并行执行• 短执行时间J. Happe等人/理论计算机科学电子笔记182(2007)91101• 执行时间(ii) 内存密集型,执行时间• 单核心• 两个核心4.3结果:1.情景(预测与测量)(一)(b)第(1)款见图6。 短任务执行时间的预测与测量。图6显示了第一种短执行时间(每个任务50 ms)场景的预测和测量响应时间预测的和测量的概率质量函数有很强的重叠。此外,测量函数的平均值为100.9ms( Mandelbrot ) 和 98.1ms ( Primes ) , 与 预 测 值 100.6ms ( Mandelbrot ) 和97.6ms(Primes)相似作为卷积的一个结果,计算的PMF比测量的PMF更平滑。测量值的方差高于预测值(10.6/10.9,而不是0.9)。在测量过程中,两个CPU的利用率约为70%,因为任务最终加入,并且在继续之前必须等待对方如图7所示,在大多数情况下,三个并发线程的测量长执行时间(每个任务500ms)比预测快180 ms。这种现象可能是由操作系统的调度算法引起的,该算法在CPU之间移动任务以获得均衡的利用率(所谓的CPU跳跃)。在我们的预测模型中,我们假设任务不能移动102J. Happe等人/理论计算机科学电子笔记182(2007)91(一)(b)第(1)款见图7。 长任务执行时间的预测与测量。从一个CPU到另一个CPU。我们的假设显然不适用于长时间执行任务。有趣的是,一些测量的执行时间与预测的执行时间完全这些值是异常值,并在测量值的分布函数中形成第二个峰值。这种行为可以在完全不同的算法(Mandelbrot和Primes)中观察到,因此与代码的特性无关。操作系统的调度算法是这种行为的可能离群值是来自尚未在处理器之间移动的任务的测量值。在这些情况下,实际执行时间与我们的预测相符。总的来说,我们的预测与这种情况下最坏情况的执行时间相匹配,因此应该适合于进行粗略的估计并支持早期的设计决策。4.4结果:2.进一步测量(Further Measures)对于场景2,我们只提供测量结果而不提供预测,因为测量结果已经违反了我们的假设,因此我们无法做出有用的预测。图8中的测量值显示了一个和两个活动处理器内核的存储密集型算法(排序和FFT)的执行时间。我们测量了顺序执行和并发执行的响应时间。图8(a)和8(c)显示了客户端组件的响应时间J. Happe等人/理论计算机科学电子笔记182(2007)91103(a)(b)第(1)款(c)(d)其他事项见图8。 内存密集型算法的度量。所提供的服务是由单个CPU上的多线程执行的。在图8(a)(排序)中,并发执行的响应时间比顺序执行慢约20 ms。这是大约15%的性能损失,因为多线程由于任务切换而产生了额外的开销。在图8(c)中,用三个线程并发执行FFT算法产生具有三个不同峰值的概率质量函数。 由于调度器的非确定性干扰,并发算法的方差远大于顺序执行的方差图8(b)显示了一个意想不到的结果:在双核处理器上并发执行三个排序算法比在同一CPU上顺序执行慢约55 ms此外,顺序执行已经比单核处理器慢双核上的并行执行处理器产生70ms的性能损失(即,约50%)。双核奔腾D一次只有一条内存总线可供一个内核使用。对于并发执行存储器密集型算法,存储器总线成为瓶颈。然而,这并不能解释与顺序执行的巨大差异。进一步的延迟可能是由于两个核心连续写入导致的更高数量的缓存无效导致的。这就是所谓的缓存抖动。104J. Happe等人/理论计算机科学电子笔记182(2007)914.5经验教训回到案例研究的最初问题,我们可以说,对于第一个问题,对于内存占用较低的算法,我们可以做出准确的预测(即使它们只反映最坏情况下的行为)。然而,对于具有高内存占用的算法,我们的方法将产生不准确的结果。首先,我们在模型中没有包括内存访问。因此,我们预测内存密集型算法的执行时间与第一种情况相似。正如我们在第二个场景中看到的,内存总线可以成为这是一个瓶颈,因此必须进行建模以进行准确的预测。 第二,我们没有包括关于CPU的内部信息,比如缓存未命中或管道无效。但是,我们可以预测并行执行的响应时间CPU密集型任务,具有合理的准确性。此外,任务不能在不同CPU或处理器核之间移动的假设是无效的如果任务的执行时间超过了一定的限制,调度程序就会开始在CPU之间移动任务,以获得更均衡的利用率。5相关工作带有性能注释的UML设计文档的转换,如UML可扩展性、性能和时间(UML SPTprofile)[5],是性能预测社区中的一种常见方法。例如,Bertolino等人的CB-SPE工具。[10]使用UML图,这些图用UML SPT profile进行注释,并将它们转换为一个嵌入式网络模型,然后求解该模型以获得所需的性能度量。Balsamo et. [11]从带注释的UML模型生成事件驱动的模拟,以进行性能预测。彼得留等[12]使用基于图语法的转换从带注释的UML规范中导出分层的嵌入网络。由于大量的设计和分析模型,Grassi等人[13]引入了一种称为KLAPER的中间语言,该语言旨在简化面向设计的模型和分析模型之间的转换。在分析方面,随机网络模型、随机Petri网和随机过程代数(如PEPA [14])是最成熟的分析性能预测方法[11]。尽管这些模型为系统规范提供了完全不同的形式,但它们大多被转换为连续时间马尔可夫链进行分析。随后是许多众所周知的数学假设,限制了这些模型的适用性时间消耗的指数分布和马尔可夫性质(转移概率/速率仅取决于当前状态,与历史无关)是最重要的。6结论和今后的工作在本文中,我们提出了一个正式的性能预测方法,基于组件的系统是参数化的CPU或处理器核心的数量。J. Happe等人/理论计算机科学电子笔记182(2007)91105它利用组件开发人员和系统架构师提供的UML设计模型本文引入了一种新的并行算子来分析多线程并行性。实例分析表明,该方法在线程不改变CPU、调度优化、不需要同步、缓存抖动效应可以忽略的情况下,能够准确预测响应时间。在未来,这种方法可能对系统架构师有用,因为他们将能够粗略估计其架构的预期性能,而无需实际实现它们。这减少了软件开发中众所周知的性能问题解决方法所带来的问题,并可能节省后续重构和重新设计实现的成本我们的案例研究表明,该方法在预测多线程行为方面仍然非常有限。CPU跳跃和缓存颠簸的影响极大地扭曲了结果,需要在未来纳入我们的分析模型。此外,诸如信号量或监视器的同步机制确实对组件服务的性能具有重要影响,并且迄今为止一直被忽视更大的案例研究与工业规模的组件为基础的多核处理器上的系统,需要进一步验证的方法引用[1] Becker,S.,格伦斯克湖米兰多拉河Overhage,S.:性能预测的被动式系统:从工程角度的调查。在:使用可信组件构建系统。出现在LNCS。03 The Dog(2006)[2] Balsamo,S.,Marco,A. D.,Inverardi,P.,Simeoni,M.:软件开发中基于模型的性能预测IEEE软件工程学报30(2004)295[3] Trivedi,K.S.:概率与统计与可靠性、概率与计算机科学应用。第2版美国纽约Wiley Sons公司(2001年)[4] Koziolek,H.,Firus,V.:参数绩效合同:非马尔可夫环模型和实验评估。2006年:FESCA会议记录。计算机科学电子笔记(ENTCS)(2006)[5] 对象 管理组(OMG):UML可扩展性、性能和时间概要。http://www.omg.org/cgi-bin/doc?正式/2005-01-02( 2005年)[6] Koziolek,H.,Happe,J.:一种服务质量驱动的构件化软件系统开发过程模型。 在:基于代理的软件工程。 计算机科学讲义第4063卷03 The Dog(2006)[7] Reussner,R.H.,施密特,H.W.,波诺莫岛:基于构件的软件体系结构的可靠性预测。系统与软件杂志[8] 史密 斯加州 大学Williams ,L.G.: 性能解 决方案 :创 建响应 式可扩 展软 件的实 用指南 。02 The Dog(2002)[9] Firus,V.,Becker,S.,Happe,J.:QML特定软件组件的参数性能合同。嵌入式软件的形式基础和基于代理的软件架构(FESCA)。理论计算机科学电子笔记第141卷ETAPS2005年(2005年)73[10] Bertolino,A.,米兰多拉,R.:CB-SPE工具:将基于性能的工程付诸实践。输入:程序CBSE。LNCS第3054Springer(2004)233[11]Balsamo,S.,Marzolla,M.:基于仿真的软件性能建模方法。见:Proc.9th ESEC,ACM Press(2003)363106J. Happe等人/理论计算机科学电子笔记182(2007)91[12] 哥伦比亚特区佩特里乌Shen,H.:应用UML性能概要:从UML规范中基于图语法推导LQN模型。计算机性能评估LNCS第232402 The Dog(2002)[13] Grassi,V.,米兰多拉河Sabetta,A.:从设计到分析模型:一种基于性能和可靠性分析的核心语言。In:Proc. WOSP纽约,美国,ACM出版社(2005)25[14] 希尔斯顿,J.: 一种性能建模的合成方法。 剑桥大学出版社(1996)
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功