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:
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: