Portals network programming application programming interface

Last updated
Developer(s) Sandia National Laboratories, University of New Mexico
Stable release
4.0.2[ when? ]
Type Network API
Website www.sandia.gov/Portals

Portals is a low-level network API for high-performance networking on high-performance computing systems developed by Sandia National Laboratories and the University of New Mexico. Portals is currently the lowest-level network programming interface on the commercially successful XT line of supercomputers from Cray.

Contents

Overview

Portals is based on the concept of elementary building blocks that can be combined to support a wide variety of upper-level network transport semantics. Portals provides one-sided data movement operations, but unlike other one-sided programming interfaces, the target of a remote operation is not a virtual address. Instead, the ultimate destination in memory of an incoming message is determined at the receiver by comparing contents of the message header with the contents of structures at the destination. This flexibility allows for efficient implementations of both one-sided and two-sided communications. In particular, Portals is aimed at providing the fundamental operations necessary to support a high-performance and scalable implementation of the Message Passing Interface (MPI) standard. [1] It was also used as the initial network transport layer for the Lustre file system.

Early years

Portals began in the early 1990s as an extension to the nX message passing system used in the SUNMOS and Puma operating system. It was first implemented for the Intel Paragon at Sandia, and later ported to the Intel TeraFLOPS machine named ASCI Red. [1] There were four building blocks in the first version of Portals: the single block, the dynamic block, the independent block and the combined block. All incoming messages would first pass through a match-list that allowed individual portals to respond to specific groups, ranks, and a set of user specified match-bits. [1]

Portals 3

The Portals concept continued to evolve over successive generations of lightweight kernels and massively parallel systems. In 1999, an operational programming interface was given to Portals so that it could be implemented for intelligent or programmable network interfaces outside of a lightweight kernel environment. [2] This standard was designed for systems where the work required to prepare, transmit, and deliver messages is longer than the round-trip to the Portals data structures. For example, in modern systems, this work is dominated by the round-trip through the IO bus to the network interface. The standard has been revised since the initial release to make it more suited for modern high performance, massively parallel computers. [3] The MPI library was ported from the retronymed Portals 2 to the new Portals 3.0. [4]

The Portals 3 specification has been implemented several times, first on ASCI Red, then on CPlant over Myrinet, [5] Linux and the Cray XT family. [6]

Portals 4

In light of emerging partitioned global address space (PGAS) languages, several new features have been added to the Portals API as part of Portals 4. Portals 4 also made several changes to improve the interaction between the processor and network interface (NIC) for implementations that provide offload. Finally, an option to support a form of flow-control was added to Portals 4. [7]

Portals 4 is the low-level networking API for the Bull-Atos BXI NIC. [8]

Related Research Articles

<span class="mw-page-title-main">Supercomputer</span> Type of extremely powerful computer

A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instructions per second (MIPS). Since 2017, supercomputers have existed which can perform over 1017 FLOPS (a hundred quadrillion FLOPS, 100 petaFLOPS or 100 PFLOPS). For comparison, a desktop computer has performance in the range of hundreds of gigaFLOPS (1011) to tens of teraFLOPS (1013). Since November 2017, all of the world's fastest 500 supercomputers run on Linux-based operating systems. Additional research is being conducted in the United States, the European Union, Taiwan, Japan, and China to build faster, more powerful and technologically superior exascale supercomputers.

<span class="mw-page-title-main">Sandia National Laboratories</span> National laboratory in Albuquerque, New Mexico.

Sandia National Laboratories (SNL), also known as Sandia, is one of three research and development laboratories of the United States Department of Energy's National Nuclear Security Administration (NNSA). Headquartered in Kirtland Air Force Base in Albuquerque, New Mexico, it has a second principal facility next to Lawrence Livermore National Laboratory in Livermore, California, and a test facility in Waimea, Kauai, Hawaii. Sandia is owned by the U.S. federal government but privately managed and operated by National Technology and Engineering Solutions of Sandia, a wholly owned subsidiary of Honeywell International.

<span class="mw-page-title-main">Dolphin Interconnect Solutions</span> Manufacturer of high speed data communication systems

Dolphin Interconnect Solutions is a privately held manufacturer of high-speed data communication systems headquartered in Oslo, Norway and Woodsville, New Hampshire, USA.

The Message Passing Interface (MPI) is a standardized and portable message-passing standard designed to function on parallel computing architectures. The MPI standard defines the syntax and semantics of library routines that are useful to a wide range of users writing portable message-passing programs in C, C++, and Fortran. There are several open-source MPI implementations, which fostered the development of a parallel software industry, and encouraged development of portable and scalable large-scale parallel applications.

<span class="mw-page-title-main">Quadrics (company)</span>

Quadrics was a supercomputer company formed in 1996 as a joint venture between Alenia Spazio and the technical team from Meiko Scientific. They produced hardware and software for clustering commodity computer systems into massively parallel systems. Their highpoint was in June 2003 when six out of the ten fastest supercomputers in the world were based on Quadrics' interconnect. They officially closed on June 29, 2009.

Checkpointing is a technique that provides fault tolerance for computing systems. It basically consists of saving a snapshot of the application's state, so that applications can restart from that point in case of failure. This is particularly important for long running applications that are executed in failure-prone computing systems.

<span class="mw-page-title-main">Jack Dongarra</span> American computer scientist (born 1950)

Jack Joseph Dongarra is an American computer scientist and mathematician. He is a University Distinguished Professor of Computer Science in the Electrical Engineering and Computer Science Department at the University of Tennessee. He holds the position of a Distinguished Research Staff member in the Computer Science and Mathematics Division at Oak Ridge National Laboratory, Turing Fellowship in the School of Mathematics at the University of Manchester, and is an adjunct professor and teacher in the Computer Science Department at Rice University. He served as a faculty fellow at the Texas A&M University Institute for Advanced Study (2014–2018). Dongarra is the founding director of the Innovative Computing Laboratory at the University of Tennessee. He was the recipient of the Turing Award in 2021.

<span class="mw-page-title-main">ASCI Red</span> Supercomputer

ASCI Red was the first computer built under the Accelerated Strategic Computing Initiative (ASCI), the supercomputing initiative of the United States government created to help the maintenance of the United States nuclear arsenal after the 1992 moratorium on nuclear testing.

In computing, single program, multiple data (SPMD) is a term that has been used to refer to computational models for exploiting parallelism where-by multiple processors cooperate in the execution of a program in order to obtain results faster.

SUNMOS is an operating system jointly developed by Sandia National Laboratories and the Computer Science Department at the University of New Mexico. The goal of the project, started in 1991, is to develop a highly portable, yet efficient, operating system for massively parallel-distributed memory systems.

The Parallel Virtual File System (PVFS) is an open-source parallel file system. A parallel file system is a type of distributed file system that distributes file data across multiple servers and provides for concurrent access by multiple tasks of a parallel application. PVFS was designed for use in large scale cluster computing. PVFS focuses on high performance access to large data sets. It consists of a server process and a client library, both of which are written entirely of user-level code. A Linux kernel module and pvfs-client process allow the file system to be mounted and used with standard utilities. The client library provides for high performance access via the message passing interface (MPI). PVFS is being jointly developed between The Parallel Architecture Research Laboratory at Clemson University and the Mathematics and Computer Science Division at Argonne National Laboratory, and the Ohio Supercomputer Center. PVFS development has been funded by NASA Goddard Space Flight Center, The DOE Office of Science Advanced Scientific Computing Research program, NSF PACI and HECURA programs, and other government and private agencies. PVFS is now known as OrangeFS in its newest development branch.

Red Storm was a supercomputer architecture designed for the US Department of Energy’s National Nuclear Security Administration Advanced Simulation and Computing Program. Cray, Inc developed it in 2004 based on the contracted architectural specifications provided by Sandia National Laboratories. The architecture was later commercially produced as the Cray XT3.

Trilinos is a collection of open-source software libraries, called packages, intended to be used as building blocks for the development of scientific applications. The word "Trilinos" is Greek and conveys the idea of "a string of pearls", suggesting a number of software packages linked together by a common infrastructure. Trilinos was developed at Sandia National Laboratories from a core group of existing algorithms and utilizes the functionality of software interfaces such as BLAS, LAPACK, and MPI. In 2004, Trilinos received an R&D100 Award.

Global Arrays, or GA, is the library developed by scientists at Pacific Northwest National Laboratory for parallel computing. GA provides a friendly API for shared-memory programming on distributed-memory computers for multidimensional arrays. The GA library is a predecessor to the GAS languages currently being developed for high-performance computing.

<span class="mw-page-title-main">Computer cluster</span> Set of computers configured in a distributed computing system

A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software. The newest manifestation of cluster computing is cloud computing.

A lightweight kernel (LWK) operating system is one used in a large computer with many processor cores, termed a parallel computer.

<span class="mw-page-title-main">Tachyon (software)</span>

Tachyon is a parallel/multiprocessor ray tracing software. It is a parallel ray tracing library for use on distributed memory parallel computers, shared memory computers, and clusters of workstations. Tachyon implements rendering features such as ambient occlusion lighting, depth-of-field focal blur, shadows, reflections, and others. It was originally developed for the Intel iPSC/860 by John Stone for his M.S. thesis at University of Missouri-Rolla. Tachyon subsequently became a more functional and complete ray tracing engine, and it is now incorporated into a number of other open source software packages such as VMD, and SageMath. Tachyon is released under a permissive license.

<span class="mw-page-title-main">Message passing in computer clusters</span> Aspect of computer clusters

Message passing is an inherent element of all computer clusters. All computer clusters, ranging from homemade Beowulfs to some of the fastest supercomputers in the world, rely on message passing to coordinate the activities of the many nodes they encompass. Message passing in computer clusters built with commodity servers and switches is used by virtually every internet service.

SHMEM is a family of parallel programming libraries, providing one-sided, RDMA, parallel-processing interfaces for low-latency distributed-memory supercomputers. The SHMEM acronym was subsequently reverse engineered to mean "Symmetric Hierarchical MEMory”. Later it was expanded to distributed memory parallel computer clusters, and is used as parallel programming interface or as low-level interface to build partitioned global address space (PGAS) systems and languages. “Libsma”, the first SHMEM library, was created by Richard Smith at Cray Research in 1993 as a set of thin interfaces to access the CRAY T3D's inter-processor-communication hardware. SHMEM has been implemented by Cray Research, SGI, Cray Inc., Quadrics, HP, GSHMEM, IBM, QLogic, Mellanox, Universities of Houston and Florida; there is also open-source OpenSHMEM.

<span class="mw-page-title-main">Torsten Hoefler</span> Computer science professor

Torsten Hoefler is a Professor of Computer Science at ETH Zurich and the Chief Architect for Machine Learning at the Swiss National Supercomputing Centre. Previously, he led the Advanced Application and User Support team at the Blue Waters Directorate of the National Center for Supercomputing Applications, and held an adjunct professor position at the Computer Science Department at the University of Illinois at Urbana Champaign. His expertise lies in large-scale parallel computing and high-performance computing systems. He focuses on applications in large-scale artificial intelligence as well as climate sciences.

References

  1. 1 2 3 Ron Brightwell; et al. (June 1996). Design and Implementation of MPI on Puma Portals. MPI Developer's Conference, 1996. Proceedings., Second. CiteSeerX   10.1.1.54.3830 .
  2. Ron Brightwell; et al. (December 1999). "The Portals 3.0 Message Passing Interface Revision 1.0". Sandia National Laboratories.{{cite journal}}: Cite journal requires |journal= (help)
  3. Rolf Riesen; et al. (April 2006). "The Portals 3.3 Message Passing Interface Document Revision 2.1" (PDF). Sandia National Laboratories. Archived from the original (PDF) on 2011-06-05. Retrieved 2009-10-02.{{cite journal}}: Cite journal requires |journal= (help)
  4. Design and Implementation of MPI on Portals 3.0. Lecture Notes in Computer Science. Springer. 2002.
  5. Neil Pundit. "CPlant: The Largest Linux Cluster". IEEE Technical Committee on Scalable Computing. Retrieved 2009-10-02.{{cite journal}}: Cite journal requires |journal= (help)
  6. Kevin Pedretti; et al. (2005-09-27). "Implementation and Performance of Portals 3.3 on the Cray XT3". IEEE International Conference on Cluster Computing.{{cite journal}}: Cite journal requires |journal= (help)
  7. Ryan Grant; et al. (2014-10-01). "The Portals 4.0.2 Message Passing Interface" (PDF). Sandia National Laboratories. Retrieved 2016-03-25.{{cite journal}}: Cite journal requires |journal= (help)
  8. Derradji, S.; Palfer-Sollier, T.; Panziera, J.P.; Poudes, A.; Wellenreiter, F. (August 26, 2015). "The BXI Interconnect Architecture". Symposium on Hot Interconnects. IEEE. doi:10.1109/HOTI.2015.15.