GASPI Forum Meeting

The GASPI Forum Meeting will be held on the 18th-19th of September 2014 at the Fraunhofer ITWM in Kaiserslautern, Germany.

Agenda

Thursday, 18.09.14

14:00 – 18:00: GASPI / GPI-2 Tutorial

Introduction to GASPI / GPI-2

    • Design concepts
    • History
    • Goals

The GASPI / GPI-2 API

    • Execution Model
    • Memory segments
    • One-sided communication
    • Weak synchronization
    • Collectives
    • Passive communication

The GASPI / GPI-2 Programming model

    • Dataflow
    • Fault tolerance

19:00: Meeting for dinner

Friday, 19.09.14

09:00h – 9:10h : Welcome

09:10h – 9:30h : Introduction to the GASPI project

09:30h – 10:30h : Short self introduction of the external participants (~5 min – 10 min each )

  • Who are you?
  • How are you involved with GASPI?
  • What are your middle-term goals with respect to GASPI?

10:30h – 12:30h : Discussion of the forum statute

12:30h – 13:00h : Constitution of the forum

Registration

If you plan to attend to the GASPI Forum Meeting, please register here.

How to get to the Fraunhofer ITWM

http://www.itwm.fraunhofer.de/en/how-to-reach-us.html

Accommodation

You can find some hotels in Kaiserslautern here (pdf).

More information

Introduction and general Information

What is a Partitioned Global Address Space ?

The Partitioned Global Address Space (PGAS) approach offers the developer an abstract shared address space which simplifies the programming task and at the same time facilitates: data-locality, thread-based programming and asynchronous communication.

What is GASPI?

GASPI is a Partitioned Global Address Space API. It aims at scalable, flexible and failure tolerant computing in massively parallel environments. GASPI targets a paradigm shift from bulk-synchronous two-sided communication patterns towards an asynchronous communication and execution model. To that end GASPI leverages one-sided RDMA-driven communication in a Partitioned Global Address Space. GASPI aims at establishing an interface standard — the GASPI standard — which is able to accomplish these goals.

How does GASPI differ from other PGAS approaches?

In contrast to other efforts in the PGAS community, GASPI is neither a new language (like e.g. Chapel from Cray), nor an extension to a language (like e.g. Co-Array Fortran). Instead it complements existing languages like C/C++ or Fortran with a PGAS API which enables the application to leverage the concept of the Partitioned Global Address Space. In contrast to, for example, OpenShmem or Global Arrays, GASPI is not limited to a single memory model, but provides configurable and yet globally accessible memory segments. GASPI is interoperable with MPI and allows for incremental porting of legacy applications.

What is the GASPI Forum?

The GASPI Forum (GASPIF) is an Open Forum which aims at a continous improvement and evolution of the GASPI API. In spirit it follows the approach of the MPI Forum. The Forum was established in June 2014 at the ISC in Leipzig. The GASPIF is not sanctioned or supported by any official standards organization. Initial GASPIF forum members are the Technical Universitiy of Dresden (TUD), the Karlsruhe Institute of Technology (KIT), the German National Weather Service (DWD), T-Systems SfR, the Fraunhofer Gesellschaft (FhG), the national german aeronautics and space research centre (DLR), the University of Heidelberg, the Forschungszentrum Jülich (FZJ) and the scapos AG.

A Brief History of GASPI

GASPI inherits much of its design from the Global address space Programming Interface (GPI), which was developed in 2005 at the Competence Center for High Performance Computing (CC-HPC) at Fraunhofer ITWM. GPI is implemented as a low-latency communication library and is designed for scalable, real-time parallel applications running on cluster systems. It provides a PGAS API and includes communication primitives, environment run-time checks and synchronization primitives such as fast barriers or global atomic counters. In 2010 the request for a standardization of the GPI interface emerged, which ultimately lead to the inception of the GASPI project in 2011 and the subsequent GASPI Forum.

Where is the current GASPI Document?

The GASPI Document, along with other GASPI related information, can be found under http://www.gaspi.de

GASPI Forum meetings

1. GASPI Forum Meeting: An open meeting of the entire GASPI Forum in a physical location. In-person attendance to the meeting is open to all organizations in the GASPI Forum as well as the general public.

2. The GASPI Forum Meeting is held every 6 month, twice per year.

3. Individuals register for each GASPI Forum meeting that they will attend. At the time of registration, individuals declare which organization they will represent at that meeting.

4. An organization is generally eligible to vote if it has registered and had one or more representatives physically present at the last three GASPI Forum meetings (including the current meeting).

5. The date and location for a subsequent GASPI Forum meeting has to be agreed on at a GASPI Forum meeting as a first agenda point.

GASPI Voting Rules

The GASPI voting rules aim to achieve the following goals:

  1.  Provide clear, unambiguous definitions and procedures for voting on general text proposals, errata proposals, and changing this document.
  2. Enforce a high degree of consensus before text is accepted into the GASPI standards document.
  3. To encourage contributors and implementors to implement and validate new semantics and functionality even before a potential first reading.

Voting Procedures

  1. An organization is eligible to vote at a specific GASPI Forum meeting if the following is true: The organization is eligable to vote and one of its representatives is physically present during that specific GASPI Forum meeting.
  2. Meeting quorum: Quorum is established at a GASPI Forum meeting when more than 2/3 of the organizations, which are eligible to vote have registered for that meeting.
  3. All offcial ballots must be announced and scheduled at least two weeks prior to the start date of GASPI Forum meeting at which they will be held.
  4. Official ballot voting and formal readings occur only at GASPI Forum meetings where a meeting quorum has been established.
  5.  A ballot passes if is unanimously accepted.

Rationale. The last condition sets high requirements for consensus before a ballot will pass. A proposal for a ballot hence needs to be well prepared. (End of rationale.)

General Text Proposals

General text proposals for the GASPI standards documents typically add new semantics, change or clarify existing semantics, or remove previously-defined semantics. General text proposals use the following process to be accepted into an GASPI standards document:

  1. Have a formal reading at a GASPI Forum meeting in which the meeting quorum has been met.
    1. The final text of the proposal to be read must be made publicly available via the general GASPI Forum broadcast email list at least two weeks prior to the start date of the GASPI Forum meeting at which it is to be formally read.
    2. The formal reading must be scheduled on the GASPI Forum meeting’s agenda at least two weeks prior to the meeting’s start date.
    3. It is up to the proposal’s author(s) to decide whether to bring the proposal up for a formal ballot at a subsequent meeting.
  2. Pass the official ballot at a subsequent GASPI Forum meeting in which the meeting quorum has been met.
    1. A proposal’s ballot can only be conducted after its formal reading.
    2. A proposal’s ballot must be conducted at a different GASPI Forum meeting than which it was formally read.
    3. If the proposal’s ballot fails, its content may be changed during the GASPI Forum meeting. It is possible to schedule a formal reading for this modified proposal during the same GASPI forum meeting in which the ballot of the unmodified proposal failed. The next ballot for the modified proposal however, has to be scheduled for a subsequent meeting.
    4. Late changes to a proposal text after a formal reading are not permitted.

Rationale. Condition 2.3 aims at proposals which in general are unanimously accepted, but nevertheless require minor modifications. (End of rationale.)

Errata Proposals

Errata proposals for the GASPI standards documents deal with changes to documents to correct errors, clarify egregious ambiguities, etc. Errata proposals use the following process to be accepted into an GASPI standards document:

  1. Pass a single official ballot at a GASPI Forum meeting in which the meeting quorom can be established.
    1. The final errata proposal text must be made publicly available via the general GASPI Forum broadcast email list two weeks prior to the start date of the GASPI Forum meeting for which the ballot for the errata proposal is scheduled.
    2. If the errata proposal ballot fails, its content may be changed during the GASPI Forum meeting. It is possible to schedule a second ballot within the scope of the same GASPI Forum meeting, in which the first ballot failed. If the second ballot also fails, the corresponding ballot has to be deferred to a subsequent meeting.

Changing These Rules

The procedure for changing these rules is essentially the same as for Errata Proposals: publish the proposed change at least two weeks prior to a GASPI Forum meeting and then pass one official ballot with a 3/4 majority. Meeting and ballot quorum apply.

Remarks

  1. The GASPI Forum voting procedures are fairly strict. GASPI however encourages its contributors and implementors to experiment with new semantics, to implement new features, before the corresponding proposals are scheduled for official reading, to gather feedback from the end-users and to subsequently prepare a ballot for reading and ballot.
  2. GASPI aims at a standard for a flexible, scalable and fault-tolerant modern PGAS API. Nevertheless GASPI tries to keep this standard as small as possible. Any implementation which implements a specific version of the GASPI standard will be compliant with the corresponding version of the GASPI standard. This does however not preclude proprietary extensions to the GASPI standard. GASPI encourages its users to implement these proprietary extensions, to evaluate them, to refine them and to subsequently present a potentially universally acceptable corresponding proposal for reading and ballot at the GASPI Forum.