Distributed storage systems are increasingly being used to provide shared parallel-access environments to meet the growing demands of data-intensive applications. In distributed storage systems, performance enhancement strategies such as proper data layout, prefetching, and cache management policies are useful to better fulfill the needs of the application. However, because of the diverse nature and domains of applications, an algorithm that is optimal for one application may be the worst case scenario for others.
In this paper, we discuss application-controllable policies in the Network Storage Manager (NSM). The system has a unique architecture that divides its storage policies into three categories: core system features, application-controllable policies, and fine-tunable characteristics. The system enables flexible application-defined storage policies by providing standard algorithms that are commonly used in distributed high-performance environments. In addition, application programmers can plug-in their optimized implementations of the controllable policies. The paper presents experimental results that demonstrate significant improvement in data throughput and cache hit rates leading to significant overall performance enhancement.