Model-based Testing of Practical Distributed Systems in Actor Model
ITMO University(圣彼得堡信息、机械与光学大学)
本文提出了一种基于Actor模型的分布式系统建模测试方法,通过生成全面的测试套件来验证系统实现的正确性,无需修改代码或干扰执行环境。
2025-12-09 cs.DC
Distributed Testing of Conductance
我们研究了在分布式计算环境下的电导测试问题,并给出了一个双边测试器,该测试器需要$\mathcal{O}(\log(n) / (εΦ^2))$轮来确定一个图的电导是否至少为$Φ$,或者在分布式CONGEST模型中是否是$ε$ -远离电导至少为$Φ^2 / 1000$.我们还表明,即使在LOCAL模型中,$Ω(\log n)$回合对于测试电导也是必要的。在连通图的情况下,我们表明,我们可以进行测试,即使在图中的顶点数是不知道的先验。这是我们所知道的分布式模型中的第一个双侧测试器。一个关键的观察是,如果只跟踪行走的一些小的统计数据就足够了,那么可以从一小组顶点执行多项式数量的随机行走。与单独跟踪每次行走相比,这大大减少了边缘上的拥塞。
2017-10-19 cs.DC cs.DS
Testing MapReduce-Based Systems
MapReduce(MR)是构建大规模数据处理应用程序的最流行的解决方案。这些应用程序通常部署在大型商用机器集群上,由于错误、硬件问题和停机,这些集群经常发生故障。基于MR的系统的测试是困难的,因为它需要大量的工作,测试线束执行分布式测试用例失败。在本文中,我们提出了一种新的测试解决方案来解决这个问题,称为Hadoop测试。该解决方案基于可扩展的线束方法,其中分布式测试器组件挂在每个映射周围并减少工作器(即,节点)。测试人员可以激励每个工作人员在他们身上注入故障,监控他们的行为,并验证测试结果。Hadoop Test用于测试捆绑到Hadoop中的两个应用程序,Hadoop是Apache开源MapReduce实现。我们的初始实现展示了有希望的结果,Hadoop测试在分布式MapReduce工作者之间协调测试用例,并发现错误。
2013-02-08 cs.DB cs.DC cs.SE
DiPerF: an automated DIstributed PERformance testing Framework
我们提出了DiPerF,分布式性能测试框架,旨在简化和自动化服务性能评估。DiPerF协调测试目标服务的机器池,收集和聚合性能指标,并生成性能统计数据。收集的聚合数据提供有关服务吞吐量、并发服务多个客户端时的服务“公平性”以及网络延迟对服务性能的影响的信息。此外,使用该数据,可以建立预测模型,该预测模型在给定服务负载的情况下估计服务性能。我们已经在Grid3和PlanetLab两个测试平台上的100多台机器上测试了DiPerF,并探索了Globus Toolkit 3.2中包含的作业提交服务(前WS版本和WS版本)的性能。
2004-10-05 cs.DC cs.PF
Distributed Testing of Excluded Subgraphs
我们研究的背景下,分布式计算的经典CONGEST模型下的属性测试。众所周知,测试一个图是否是无三角形的可以在一个恒定的回合数,其中常数取决于输入图是从三角形自由多远。我们证明了,对于每个连通的4-节点图H,测试一个图是否是H-自由也可以在一个常数轮数。该常数还取决于输入图距离无H有多远,并且该依赖性与测试三角形的情况相同。因此,特别地,测试一个图是否是K_4-free的,以及测试一个图是否是C_4-free的可以在常数轮数中完成(其中K_k表示k节点团,并且C_k表示k节点圈)。另一方面,我们证明了当k>4时,检验K_k-自由性和C_k-自由性似乎要困难得多。具体来说,我们研究了两种自然类型的通用算法测试H-自由,称为DFS测试仪和BFS测试仪。后者捕获了先前已知的算法来测试三角形的存在,而前者捕获了我们的通用算法来测试4节点图模式H的存在。我们证明了DFS和BFS测试器都不能测试K_k-自由度和C_k-自由度在一个常数轮数k>4。
2016-05-12 cs.DC cs.DS
Fallout: Distributed Systems Testing as a Service
所有现代分布式系统都将性能和可伸缩性列为其核心优势。考虑到最佳性能需要仔细选择配置选项,并且典型的集群大小可以从2到300个节点不等,因此任何两个集群都很少完全相同。在这个大型配置空间中验证分布式系统的行为和性能具有挑战性,而没有跨越软件堆栈的自动化。在本文中,我们介绍了Fallout,这是一个开源的分布式系统测试服务,可以自动配置和配置分布式系统和客户端,支持运行各种工作负载和基准测试,并根据收集的指标生成性能报告进行可视化分析。我们已经在DataStax内部运行了5年多的Fallout服务,最近将其开源,以支持我们与Apache Cassandra,Pulsar和其他开源项目的合作。我们描述了Fallout的架构及其设计的演变,以及我们在动态环境中操作此服务时学到的经验教训,在这个环境中,团队使用不同的产品并支持不同的基准测试工具。
2021-10-11 cs.DB cs.DC
An Automated Deployment and Testing Framework for Resilient Distributed Smart Grid Applications
在边缘设备上执行分布式网络物理软件流程,在遵守资源约束的同时保持整个系统的弹性,这对开发人员来说是一个相当具有挑战性的权衡。当前的方法不能以满足开发人员在设计时可以编码的不同弹性要求的方式解决将软件组件部署到设备的问题。本文介绍了一种弹性部署框架,它可以通过接受用户定义的约束来优化给定应用程序部署的冗余或成本。使用分散式软件平台开发的微电网能源管理应用程序的实验表明,部署配置可以在增强分布式应用程序的弹性能力以及减少对单个节点的资源需求方面发挥重要作用,即使不修改控制逻辑。
2022-06-27 cs.DC cs.PF
Distributed Detection of Cycles
Brakerski和Patt-Shamir(2011)引入了网络中的分布式属性测试,其目的是以分布式方式检测大型密集子网络的存在。最近,Censor-Hillel等人(2016)已经展示了如何通过分布式算法在恒定数量的轮次中检测3-循环。在后续工作中,Fraigniaud等人(2016)也展示了如何在恒定数量的轮中检测4个周期。然而,这些后面的工作中的技术被证明不能推广到更大的周期$C_k$与$k\geq 5$。在本文中,我们完全解决了循环检测的问题,通过建立以下结果。对于每一个$k\geq 3$,存在一个分布式的属性测试算法的$C_k$ -freeness,在一个恒定的回合数。所有这些结果都适用于经典的分布式网络计算CONGEST模型。我们的算法是单侧误差。它的轮复杂度是$O(1/ε)$,其中$ε\in(0,1)$是测量合法和非法实例之间的差距的属性测试参数。
2017-06-13 cs.DC
A Graphical Interactive Debugger for Distributed Systems
设计和调试分布式系统是出了名的困难。分布式系统的正确性很大程度上取决于其对故障场景的处理。导致bug的事件序列可能很长很复杂,并且可能包括消息重新排序和失败。在单节点系统上,交互式调试器支持单步执行程序,但它们缺乏轻松模拟故障场景和控制消息传递顺序的能力。Oddity是一个用于分布式系统的图形化交互式调试器。它将传统的逐步调试的力量-细粒度的控制和程序执行时的观察-带到了分布式系统中。它还支持探索性测试,在这种测试中,工程师检查和干扰系统的行为,以便更好地理解它,也许没有特定的bug。程序员可以直接控制消息和故障交织。Oddity支持时间旅行,允许开发人员在单个调试会话中探索系统的多个分支执行。最重要的是,Oddity鼓励分布式系统思考:分布式系统应该围绕消息丢失和节点故障的确定性进行开发,而不是假设正常情况并将故障处理作为事后的想法。研究生和本科生在两个分布式系统课程中使用Oddity。使用跟踪和定性调查表明,学生发现Oddity对调试和探索性测试都很有用。
2018-06-13 cs.DC cs.SE
Model-guided Fuzzing of Distributed Systems
本文提出利用 TLA+ 抽象模型定义覆盖率并引导分布式系统模糊测试,在 Etcd-raft 与 RedisRaft 上提升覆盖率、加速缺陷发现,并找到13个新缺陷。
2025-08-31 cs.DC cs.SE
Probabilistic Group Testing in Distributed Computing with Attacked Workers
针对分布式计算中受攻击工作节点返回错误结果的问题,提出概率组测试方法,以较低测试次数识别不可靠节点,并构造稀疏奇偶校验码实现高效编码解码。
2023-05-11 cs.DC cs.IT math.IT
Faster and Simpler Distributed Algorithms for Testing and Correcting Graph Properties in the CONGEST-Model
在本文中,我们提出了CONGEST模型中图属性的分布式测试算法[Censor-Hillel et al. 2016]。在一般图模型中,我们提出了单边误差测试算法。我们首先描述了一个通用的程序转换$ε$ -测试仪与若干轮$f(D)$,其中$D$表示直径的图形,以$O((\log n)/ε)+f((\log n)/ε)$轮,其中$n$是网络的处理器的数量。然后,我们应用这个过程来获得一个最佳测试器,根据$n$,用于测试二分性,其轮复杂度为$O(ε^{-1}\log n)$,它改进了Censor-Hillel等人的$poly(ε^{-1} \log n)$轮算法。(DISC 2016)。此外,对于无圈性,我们得到了一个局部修正图的\emph{corrector},使得修正后的图是无圈的。请注意,与测试人员不同,校正人员需要在图形远离属性的情况下在许多地方修补图形。在本文的第二部分中,我们设计了算法来测试网络是否是$H$ -自由的任何连接的$H$的大小高达四轮复杂度为$O(ε^{-1})$。这改进了Censor-Hillel等人(DISC 2016)用于测试三角形自由度的$O(ε^{-2})$轮算法,以及Fraigniaud等人(DISC 2016)用于测试大小为$4$的排除图。在最后一部分中,我们将Iwama和Yoshida(ITCS 2014)测试$k$ -路径自由度的全局测试器推广到…
2017-05-13 cs.DC cs.DS
BatteryLab, A Distributed Power Monitoring Platform For Mobile Devices
云计算的最新进展简化了软件开发和测试的执行方式。不幸的是,对于电池测试来说,这并不正确,因为最先进的测试台只是由一个连接到功率计的电话组成。这些测试台的资源、访问权限有限,而且总体上难以维护;由于这些原因,它们经常闲置,没有实验可运行。在本文中,我们建议共享现有的电池测试设置并构建BatteryLab,这是一个用于电池测量的分布式平台。我们的愿景是将独立的电池测试设置转变为行星级测量平台的有利位置,提供异构设备和测试条件。在本文中,我们设计和部署了硬件和软件解决方案的组合,以实现BatteryLab的愿景。然后,我们初步评估BatteryLab的电池报告的准确性,以及一些系统基准测试。我们还演示了如何BatteryLab可以被研究人员用来调查一个简单的研究问题。
2019-10-20 cs.DC cs.PF
Reward Augmentation in Reinforcement Learning for Testing Distributed Systems
Max Planck Institute for Software Systems (MPI-SWS)(马克斯·普朗克软件系统研究所);CNRS(法国国家科学研究中心);Ecole Polytechnique(巴黎综合理工学院);Chennai Mathematical Institute(金奈数学研究所);IRIF(法国信息学研究所);Universite Paris Cite(巴黎西岱大学)
本文提出基于强化学习的分布式协议测试方法,通过衰减探索奖励和语义路径点两种奖励增强技术解决奖励稀疏问题,在RedisRaft、Etcd和RSL上显著提升了覆盖率和缺陷发现能力。
2024-09-02 cs.DC cs.LG cs.PL
Communication-Efficient Distributed Multiple Testing for Large-Scale Inference
Benjamini-Hochberg(BH)程序是一种具有错误发现率(FDR)控制的多重检验的著名方法。在本文中,我们考虑大规模的分布式网络,其中每个节点拥有大量的p值和目标是实现全球BH性能的通信效率的方式。我们建议,每个节点执行一个本地测试,调整测试大小根据(估计)的全球比例的真实零假设。在适当的假设下,我们的方法是渐近等价的整体BH过程。受此启发,我们开发了一种算法的星型网络,每个节点只需要发送一个估计的(本地)空值的比例和(本地)的p值的数量到中心节点;中心节点,然后广播一个参数(计算的基础上的全球估计和测试大小)到本地节点。在实验部分,我们利用现有的估计的比例真空值,并考虑各种设置,以评估我们的方法的性能和鲁棒性。
2022-12-17 cs.DC eess.SP stat.ME
Distributed Subgraph Detection
在分布式网络计算的标准CONGEST模型中,最小生成树、直径、全对最短路径等“全局”任务在直径恒定的$n$节点网络中的运行时间为$Ω(\mbox{poly}(n))$轮,占用大量带宽。令人惊讶的是,“局部”任务,如检测4圈作为子图的存在,也需要$\widetildeΩ(\sqrt{n})$轮,即使使用随机算法,和最知名的上限检测3圈的存在是$\widetilde{O}(n^{\frac{2}{3}})$轮。本文的目的是更好地了解景观这样的子图检测任务。我们发现,在对比\emph{cycles},这是很难检测到的CONGEST模型,存在一个确定性的算法,用于检测存在一个子图同构$T$运行在一个\emph{constant}轮数,每棵树$T$。我们的算法提供了一个分布式实现的组合技术,由于Erdalys等人。稀疏的节点在每一轮保持的部分解决方案的集合。我们的结果对\emph{distributed property-testing}有重要的影响,即,到随机算法,其目的是区分满足某个性质的图和远不满足该性质的图。特别地,我们得到,对于每一个图模式$H$组成的边和树连接在一个任意的方式,存在一个分布式测试算法的$H$ -freeness,在一个常数轮数执行。虽然类的图形模式$H$形成的树和边连接任意可能看起来是人为的,所有以前的结果的文献有关测试$H$ -自由的经典模式,如周期和集团可以被…
2017-06-13 cs.DC
A Formal Approach to Distributed System Tests Design
分布式系统的部署对这些系统的复杂测试的过程和工具提出了很高的要求。本文基于组件化方法和分层网络的概念,提出了一种测试生成任务的形式化四层模型。基于这个模型,我们描述了测试生成策略,涵盖了所有共存的架构层上的最终用户需求的每一个交互,并检查系统技术规范的内部一致性,最终用户的需求。下一步将介绍基于Prolog的方法来表示这个模型和需求覆盖策略
2014-10-06 cs.DC cs.SE
Property Testing of Planarity in the CONGEST model
在{ \sf CONGEST}模型下,给出了一般(无界度)图的单侧误差平面性检验的分布式算法.在最近发起分布式设置中的属性测试研究的Censor-Hillel等人(DISC 2016)之后,我们的算法给出了以下保证:对于图$G = (V,E)$和距离参数$ε$,如果$G$是平面的,则每个节点输出{ \sf accept\/},并且如果$G$是$ε$ -远离平面(即,需要去除多于$ε\cdot |E|$的边以使$G$平面化),则至少一个节点以概率$1-1/{\rm poly}(n)$输出{ \sf reject}。该算法运行在$O(\log|V|\cdot{\rm poly}(1/ε))$轮,我们表明,这一结果是紧的依赖$|V|$。我们的算法结合了几种技术的图形划分和局部验证的平面嵌入。此外,我们展示了如何在我们的算法中的一个主要的子程序可以被应用到获得额外的结果,用于测试的周期自由性和biparteness,以及建设的spiritual,在未成年人的自由(unweighted)图。
2019-08-14 cs.DC
Distributed Testing of Graph Isomorphism in the CONGEST model
本文研究了CONGEST分布式模型中的图同构检验问题。在此设置中,我们测试是否的分布式网络,$G_U$,是同构的$G_K$,这是作为一个输入到网络中的所有节点,或者,只有一个单一的节点。我们首先考虑决策变量的问题,其中该算法区分$G_U$和$G_K$是同构的$G_U$和$G_K$是不同构的。我们提供了一个随机化的算法与$O(n)$轮的设置中,$G_K$只给一个节点。我们证明,对于这种设置的任何确定性算法的轮数是$\tildeΩ(n^2)$轮,其中$n$表示节点的数量,这意味着分离的随机和确定性的复杂性决定GI。然后我们考虑问题的\emph{property testing}变体,其中算法仅需要区分$G_U$和$G_K$同构的情况和$G_U$和$G_K$是\emph{far}同构的情况(根据某些预定的距离度量)。我们证明了每个算法都需要$Ω(D)$轮,其中$D$表示网络的直径。即使所有节点都被指定为$G_K$作为输入,并且即使消息大小是无限的,这个下限也是成立的。我们提供了一个几乎匹配轮复杂度的$O(D+(ε^{-1}\log n)^2)$轮,是适合于密集图的随机算法。我们还表明,具有相同数量的轮,它是可能的,每个节点输出其映射根据双射,这是一个\emph{approximated}同构。我们得出结论,简单的模拟参数,使我们能够获得本质上紧轮复杂性$\tilde{O}(D)$的特殊家…
2020-03-01 cs.DC cs.DS
Effectively Testing System Configurations of Critical IoT Analytics Pipelines
物联网的出现已经看到了许多连接设备的引入,这些设备用于监测和控制甚至是关键的物联网结构。分布式流处理已成为分析这些连接设备生成的数据和提高我们决策能力的关键。然而,由于涉及的大规模分布式系统、存在如此多的配置参数以及不能容易地确定调整这些参数的影响,因此针对特定的服务质量目标优化这些系统是困难且耗时的任务。在本文中,我们提出了一种有效测试关键物联网分析管道系统配置的方法。我们用一个原型来展示我们的方法,我们称之为Timon,它与Kubernetes集成。该工具允许管道轻松地并行复制和评估,以确定特定应用的最佳配置。我们通过研究在Apache Flink中实现的示例性基于地理位置的流量监控应用程序的不同配置来证明我们的方法的有用性。
2021-02-25 cs.DC
Beyond Marginal Monitoring: Distributed Joint-Distribution Testing for Data Concept Drift in Large Scale E-Commerce Operations
Trendyol Group(Trendyol集团);Istanbul Technical University(伊斯坦布尔理工大学)
本文评估五种多列双样本漂移检测器在大规模电商数据上的表现,证明分布式最大均值差异方法在Spark上稳健扩展,并揭示逐维KS检验因统计量饱和而失效的局限。
2026-10-07 cs.DC cs.LG stat.ME
Directed Neuro-Symbolic Stochastic Execution for Verification of Distributed Parallel AI Programs
Quandary Peak Research(昆达里峰研究院)
针对分布式并行AI程序的可靠性缺口,提出DNSSE混合测试框架,结合LLM调度预测与符号约束求解等,实现更优的并发bug检测率与分支覆盖率。
2026-08-11 cs.AI cs.DC
JepREST: Functional tests for distributed REST applications
应用程序服务通常支持具有REST接口的移动和Web应用程序,这些接口使用一组相互交互的分布式组件来实现。这种方法允许服务以比单片系统更低的成本获得高可用性和性能。然而,多个组件的存在使得这些系统的开发过程更加复杂,因此容易出错。在本文中,我们提出了JepREST,一个自动使用Jepsen库来测试提供REST接口的分布式应用程序的正确性的系统。基于服务接口规范,JepREST生成并执行一组测试,多个客户端同时执行操作,随后验证系统行为是否可线性化。初步评估表明,JepREST简化了REST应用程序的测试。
2023-03-24 cs.DB cs.DC cs.SE
A Formal Approach to Distributed System Security Test Generation
分布式系统的部署对这些系统的安全测试程序提出了很高的要求。这项工作介绍:(1)基于标准和实践的典型威胁列表;(2)基于技术规范和最终用户需求的测试生成任务的扩展六层模型。基于典型威胁列表和多层模型,我们描述了一种形式化的方法来自动设计和生成复杂分布式系统的安全机制检查表。
2014-11-10 cs.CR cs.DC
Testing fine-grained parallelism for the ADMM on a factor-graph
目前正在努力开发应用分布式计算资源来解决大型问题或减少解决这些问题的时间的工具。在这种情况下,交替方向乘法(ADMM)出现作为一种方法,可以利用分布式资源,如双上升方法,并具有增广拉格朗日方法的鲁棒性和改进的收敛性。使用多核加速ADMM的传统方法是特定于问题的,并且通常需要多核编程。相比之下,我们提出了一个问题独立的计划,加速ADMM,不需要用户编写任何并行代码。我们表明,该计划,ADMM的解释作为一个消息传递算法的因子图,可以自动利用细粒度并行在GPU和共享内存的多核计算机,并实现显着的加速在不同的应用领域,如组合优化,机器学习,和最优控制。具体来说,我们在ADMM的串行优化C版本上使用GPU获得了10 - 18倍的加速,使用多个CPU核心获得了5 - 9倍的加速,这与现有GPU加速库报告的典型加速相似,包括cuFFT(19倍),cuBLAS(17倍)和cuRAND(8倍)。
2016-03-08 cs.DC cs.MS math.OC