TY - GEN
T1 - The Common Communication Interface (CCI)
AU - Atchley, Scott
AU - Dillow, David
AU - Shipman, Galen
AU - Geoffray, Patrick
AU - Squyresz, Jeffrey M.
AU - Bosilcax, George
AU - Minnich, Ronald
PY - 2011
Y1 - 2011
N2 - There are many APIs for connecting and exchanging data between network peers. Each interface varies wildly based on metrics including performance, portability, and complexity. Specifically, many interfaces make design or implementation choices emphasizing some of the more desirable metrics (e.g., performance) while sacrificing others (e.g., portability). As a direct result, software developers building large, network-based applications are forced to choose a specific network API based on a complex, multi-dimensional set of criteria. Such trade-offs inevitably result in an interface that fails to deliver some desirable features. In this paper, we introduce a novel interface that both supports many features that have become standard (or otherwise generally expected) in other communication interfaces, and strives to export a small, yet powerful, interface. This new interface draws upon years of experience from network-oriented software development best practices to systems-level implementations. The goal is to create a relatively simple, high-level communication interface with low barriers to adoption while still providing important features such as scalability, resiliency, and performance. The result is the Common Communications Interface (CCI): an intuitive API that is portable, efficient, scalable, and robust to meet the needs of network-intensive applications common in HPC and cloud computing.
AB - There are many APIs for connecting and exchanging data between network peers. Each interface varies wildly based on metrics including performance, portability, and complexity. Specifically, many interfaces make design or implementation choices emphasizing some of the more desirable metrics (e.g., performance) while sacrificing others (e.g., portability). As a direct result, software developers building large, network-based applications are forced to choose a specific network API based on a complex, multi-dimensional set of criteria. Such trade-offs inevitably result in an interface that fails to deliver some desirable features. In this paper, we introduce a novel interface that both supports many features that have become standard (or otherwise generally expected) in other communication interfaces, and strives to export a small, yet powerful, interface. This new interface draws upon years of experience from network-oriented software development best practices to systems-level implementations. The goal is to create a relatively simple, high-level communication interface with low barriers to adoption while still providing important features such as scalability, resiliency, and performance. The result is the Common Communications Interface (CCI): an intuitive API that is portable, efficient, scalable, and robust to meet the needs of network-intensive applications common in HPC and cloud computing.
UR - http://www.scopus.com/inward/record.url?scp=80555153903&partnerID=8YFLogxK
U2 - 10.1109/HOTI.2011.17
DO - 10.1109/HOTI.2011.17
M3 - Conference contribution
AN - SCOPUS:80555153903
SN - 9780769545370
T3 - Proceedings - Symposium on the High Performance Interconnects, Hot Interconnects
SP - 51
EP - 60
BT - Proceedings of the 19th Annual IEEE Symposium on High Performance Interconnects, HOTI 2011
T2 - 19th Annual IEEE Symposium on High Performance Interconnects, HOTI 2011
Y2 - 24 August 2011 through 26 August 2011
ER -