Overview

Attic provides a simple means for applications to share and retrieve large data sets. Its intended audience is applications that have significantly large data files that need to be shared with multiple network locations. This is especially useful for volunteer computing projects such as BOINC that leverage idle CPU power from large numbers of distributed resources, such as peoples' home computesr. In BOINC, the same data is often sent to multiple nodes (i.e., home computers) for processing, which requires a significant amount of bandwidth from centralized project servers. Attic provides a way to decentralize this data distribution, which allows for greater scalability. This is especially useful for smaller projects that do not have the needed bandwidth at a centralized location (or set of mirrors) to meet network demand. In addition to providing a scalable distribution network, Attic also provides a platform for transitioning data between heterogenious environments, such as Desktop and Service Grids.

The Attic File System is the default implementation of the Peer-to-Peer Architecture for Data-Intensive Cycle Sharing (ADICS), which is the underlying network architecture and protocol. Attic provides a REST-based implementation of ADICS that allows for integration with other Web frameworks and legacy application support for volunteer computing applications. The core software of Attic has been in development for several years, with support in the EU FP7 EDGI and EDGeS projects.

The Attic network architecture consistes of three base entities:

  • a client application that allows for the downloading of data from peers on the network
  • a data serving (i.e., caching) application that replicates data on the network
  • a metadata lookup service that keeps track of which peers have individual data items

Attic Network

That Attic network differs from many other Peer-to-Peer networks in that it allows for the explicit separation of the data-sharing nodes from other participants in the network. This customisable provisioning of the network has a three-fold benefit to general applications and scientific volunteer computing projects in general:

  • it allows for security criteria and replication strategies to be imposed upon data sharing peers
  • it isolates the clients on the network from participating in the data-sharing overlay should they choose not to
  • it provides a mechanism for central servers to offload data distribution to a trusted overlay

Attic Features

  • Provides a buffer between data producers and data consumers
  • File swarming to maximise data propagation and client-download throughput
  • HTTP/S interface to support legacy application integration and browser downloads
  • Employment of X.509 credentials for authentication and authorisation
  • Support for granular security policies to suit project requirements