Sinfonia: data sharing service for distributed applications |
Sinfonia is a service that helps software developers design new
distributed applications. Sinfonia provides a means for nodes to
share data among themselves in an efficient, fault-tolerant, and
scalable manner. We have used Sinfonia to build a cluster file system,
a group communication service, a distributed lock manager, and a
distributed B-tree, and we did each one in a matter of months.
Selected publications:
-
Building distributed applications using Sinfonia, Marcos
K. Aguilera, Christos Karamanolis, Arif Merchant, Mehul Shah, Alistair
Veitch, HP Labs Technical Report HPL-2006-147.
Abstract:
We present Sinfonia, a data sharing service that
simplifies the design and implementation of distributed applications
that need to be reliable and scalable. At the core of Sinfonia is an
efficient minitransaction primitive that allows applications to
manipulate shared state consistently, while hiding concerns about
fault-tolerance and concurrent execution. We show how to use Sinfonia
to build two different, complex applications: a cluster file system
and a group communication service. Our applications scale well and
achieve performance comparable to other implementations built without
Sinfonia.
| |
|