Skip to main content
QUICK REVIEW

[论文解读] A Peer-to-Peer Middleware Framework for Resilient Persistent Programming

Alan Dearle, Graham Kirby|arXiv (Cornell University)|Jun 18, 2010
Peer-to-Peer Network Technologies参考文献 35被引用 3
一句话总结

本文提出了一种点对点中间件框架,将正交持久性、分布性和复制性统一到一个单一的、具有弹性的编程模型中。通过将P2P存储与持久对象系统集成,该框架实现了无需程序员干预的透明容错和数据弹性,从而在分布式应用中实现全局、无处不在且可靠的单一地址空间。

ABSTRACT

The persistent programming systems of the 1980s offered a programming model that integrated computation and long-term storage. In these systems, reliable applications could be engineered without requiring the programmer to write translation code to manage the transfer of data to and from non-volatile storage. More importantly, it simplified the programmer's conceptual model of an application, and avoided the many coherency problems that result from multiple cached copies of the same information. Although technically innovative, persistent languages were not widely adopted, perhaps due in part to their closed-world model. Each persistent store was located on a single host, and there were no flexible mechanisms for communication or transfer of data between separate stores. Here we re-open the work on persistence and combine it with modern peer-to-peer techniques in order to provide support for orthogonal persistence in resilient and potentially long-running distributed applications. Our vision is of an infrastructure within which an application can be developed and distributed with minimal modification, whereupon the application becomes resilient to certain failure modes. If a node, or the connection to it, fails during execution of the application, the objects are re-instantiated from distributed replicas, without their reference holders being aware of the failure. Furthermore, we believe that this can be achieved within a spectrum of application programmer intervention, ranging from minimal to totally prescriptive, as desired. The same mechanisms encompass an orthogonally persistent programming model. We outline our approach to implementing this vision, and describe current progress.

研究动机与目标

  • 为克服1980年代持久性编程系统所受的限制,这些系统局限于单主机存储且缺乏灵活的数据共享能力。
  • 将正交持久性与现代点对点(P2P)系统集成,以支持弹性、长期运行的分布式应用。
  • 提供统一的编程模型,使本地、远程和持久对象的处理方式完全相同,从而降低概念和工程复杂性。
  • 支持从最少干预到完全指定的程序员参与程度,涵盖持久性、分布性和复制策略。
  • 通过在节点或连接故障后自动从分布式副本恢复对象,实现透明故障恢复。

提出的方法

  • 设计一种中间件框架,结合RAFDA中间件用于分布式对象访问,以及基于P2P的持久存储层。
  • 实现支持多种P2P路由协议(CAN、Pastry、Chord)的通用API,以实现灵活且可扩展的对象定位与路由。
  • 在P2P覆盖网络之上构建分布式目录服务,用于管理对象引用和复制元数据。
  • 支持通用的持久存储架构,使对象能够透明地在P2P网络中存储和检索。
  • 集成基于策略的复制、分布和恢复控制机制,允许根据应用需求进行定制。
  • 使用有状态协议管理对象生命周期(例如,bean状态),以指导程序员在弹性与持久性方面的责任。

实验结果

研究问题

  • RQ1能否创建一种统一的编程模型,使本地、远程和持久对象具有相同的语义?
  • RQ2如何利用P2P基础设施为分布式应用提供透明、弹性且可扩展的持久性?
  • RQ3在不需应用层感知节点故障或网络分区的情况下,容错能力能达到何种程度?
  • RQ4程序员在管理弹性系统中持久性、复制和分发策略方面应发挥何种作用?
  • RQ5正交持久性能否超越单主机存储,扩展到真正分布式的、自组织的P2P环境?

主要发现

  • 该框架成功将本地、远程和持久对象引用统一到单一寻址模型中,实现了网络范围内的透明访问。
  • 系统通过自动从分布式副本恢复失败对象实现容错,引用持有者无需任何感知。
  • P2P路由(CAN、Pastry、Chord)与持久存储的集成,实现了可扩展且自组织的数据分布。
  • 该方法支持从最少(正交持久性)到完全指定(自定义复制和恢复策略)的程序员参与程度。
  • RAFDA中间件和P2P存储组件均已完全实现,并正被整合为一个统一系统。
  • 该架构表明,通过数据复制和P2P覆盖网络,可以近似实现全局、无处不在且可靠的单一地址空间,从而提升应用的可用性和可扩展性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。