Customizing the swarm storage system using agents

John H. Hartman, Scott Baker, Ian Murdock

Research output: Contribution to journalArticlepeer-review


Swarm is a scalable, modular storage system that uses agents to customize low-level storage functions to meet the needs of high-level services. Agents influence low-level storage functions such as data layout, metadata management, and crash recovery. An agent is a program that is attached to data in the storage system and invoked when events occur during the data's lifetime. For example, before Swarm writes data to disk, agents attached to the data are invoked to determine a layout policy. Agents are typically persistent, remaining attached to the data they manage until the data are deleted; this allows agents to continue to affect how the data are handled long after the application or storage service that created the data has terminated. In this paper, we present Swarm's agent architecture, describe the types of agents that Swarm supports and the infrastructure used to support them, and discuss their performance overhead and security implications. We describe how several storage services and applications use agents, and the benefits they derive from doing so.

Original languageEnglish (US)
Pages (from-to)117-137
Number of pages21
JournalSoftware - Practice and Experience
Issue number2
StatePublished - Feb 2006


  • Agents
  • File system
  • LFS
  • Log structured
  • Storage system

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Customizing the swarm storage system using agents'. Together they form a unique fingerprint.

Cite this