Early Evaluation of Scalable Fabric Interface for PGAS Programming Models

Inter-processor communication is a critical factor for performance at scale. In order to achieve good performance, communication overheads should be minimized. The fabric interface library plays a major role in determining the communication overheads. This is very important for the Partitioned Global Address Space (PGAS) programming models, as these models have been designed for very low-overhead remote memory access. The OpenFabrics Alliance has recently initiated an effort to revamp fabric communication interface to better suit parallel programming models. The new open-source interface is being called Scalable Fabric Interface (SFI). The chief distinguishing feature being that the new interfaces are being co-designed along with the applications that use them, such as PGAS communication libraries. In this paper we present an early evaluation of the mapping of PGAS libraries by implementing prototypes of the popular GASNet library and OpenSHMEM over SFI. Our analysis indicates overheads of mapping to SFI are significantly lower than to the current OpenFabrics Verbs communication interface. We can reduce the number of instructions in mapping GASNet to SFI by 82%, Berkeley UPC over GASNet to SFI by 80%, and OpenSHMEM to SFI by 95% as compared to similar mappings to OpenFabrics Verbs interface.

[1]  Katherine A. Yelick,et al.  Titanium: A High-performance Java Dialect , 1998, Concurr. Pract. Exp..

[2]  Bradford L. Chamberlain,et al.  Parallel Programmability and the Chapel Language , 2007, Int. J. High Perform. Comput. Appl..

[3]  ReidJohn,et al.  Co-array Fortran for parallel programming , 1998 .

[4]  Karl S. Hemmert,et al.  Enhanced Support for OpenSHMEM Communication in Portals , 2011, 2011 IEEE 19th Annual Symposium on High Performance Interconnects.

[5]  Alan D. George,et al.  GSHMEM : A Portable Library for Lightweight , Shared-Memory , Parallel Programming , 2011 .

[6]  Tong Liu,et al.  The co-design architecture for exascale systems, a novel approach for scalable designs , 2012, Computer Science - Research and Development.

[7]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[8]  Dan Bonachea GASNet Specification, v1.1 , 2002 .

[9]  David B. Loveman High performance Fortran , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[10]  Barbara M. Chapman,et al.  Introducing OpenSHMEM: SHMEM for the PGAS community , 2010, PGAS '10.

[11]  Katherine Yelick,et al.  UPC Language Specifications V1.1.1 , 2003 .

[12]  Katherine Yelick,et al.  Porting GASNet to Portals: Partitioned Global Address Space (PGAS) Language Support for the Cray XT , 2009 .

[13]  Sayantan Sur,et al.  Unifying UPC and MPI runtimes: experience with MVAPICH , 2010, PGAS '10.

[14]  George Almási,et al.  Asynchronous PGAS runtime for Myrinet networks , 2010, PGAS '10.

[15]  Dan Bonachea,et al.  A new DMA registration strategy for pinning-based high performance networks , 2003, Proceedings International Parallel and Distributed Processing Symposium.