mpi-forum / mpi-forum-historic

Migration of old MPI Forum Trac Tickets to GitHub. New issues belong on mpi-forum/mpi-issues.
http://www.mpi-forum.org
2 stars 3 forks source link

Glossary: Consistency in use of functions, operations, etc. across the MPI standard #78

Open mpiforumbot opened 8 years ago

mpiforumbot commented 8 years ago

Originally by rlgraham on 2008-12-17 12:01:24 -0600


Description

Look at adding a glossary defining terms such as functions and operations, and ensure the full standard is consistent in using these terms.

Reassign to Terry Jones - does not yet have a wiki login

This ticket has two parts:

None.

History

Straw vote on having a glossary, 4/7/09: Yes: 20[[BR]] No: 0[[BR]] Abstain: 8

Proposed Solution, Part A

p24.36 reads



but should read

  {{{```2.10 Examples and Glossary

After p24, line 40, add

A glossary of terms begins on page 571. While it is intended to define key terminology accurately, the glossary is non-normative. The text in the main chapters of the standard are the authoritative definitions.

p571.1, before the first index page, i.e. after the bibliography, add a new unnumbered chapter :

  Glossary

  This glossary summarizes terms used in this standard or related to this standard.  These are provided for convenience; the authoritative reference for all terms is always the chapters of the standard.

After this short introduction, the glossary starts.
## Proposed Solution, Part B

The glossary itself is maintained in the attached doc-file
## Impact on Implementations

none
## Impact on Applications / Users

none
## Alternative Solutions

none
## Entry for the Change Log

After the Bibliography.[[BR]]
A glossary was added.
mpiforumbot commented 8 years ago

Originally by trj on 2009-02-09 13:37:33 -0600


Attachment added: mpi_glossary_v0.doc (83.0 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2009-02-09 13:38:19 -0600


Adding first version of glossary (which for now is a Word document). - trj

mpiforumbot commented 8 years ago

Originally by trj on 2009-02-15 15:16:12 -0600


Attachment added: mpi_glossary_v2.doc (145.0 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2009-02-15 15:16:38 -0600


Adding second version of glossary. -trj

mpiforumbot commented 8 years ago

Originally by gropp on 2009-02-16 07:45:44 -0600


Communicator - the comment about "do not interfere" is vague - for example, communication on different communicators can have a measurable performance impact. What is meant includes things like "blocking communication on one communicator in a thread does not block communication in another communicator in a separate thread in the same process".

connected: case (c), window and filehandle are vague; these should be MPI memory window and MPI File handle.

equivalent is also used when defining the effect of one MPI routine in terms of several others.

floating point operations - subtractions, divisions etc. It might be better to simply say "arithmetic operations with floating point data"

CR and FT - These are shorthands that should be expunged from the standard (and hence the glossary)

JOD - should include a pointer to the web site

latency - There is a different definition that separates out the overhead from what is roughly the transit time.

More later...

mpiforumbot commented 8 years ago

Originally by gropp on 2009-02-16 09:02:43 -0600


LB as lowerbound is used as lower-case only (lb) in the text; as uppercase, it is always MPI_LB

Message envelope - This definition is not correct. The envelope is all of the data trasferred that is not the message data provided in a (buf,count,datatype) or similar argument. It may include such items as the length of the message, flow-control data, encryption choice, and lossless compression method.

nonblocking - the discussion of completion should be in a separate entry for completion/completing

nondeterminism - this definition is for weak nondeterminism - another definition is that the sequence of states through which the program passes is not uniquely determined by the input (even if the results are the same).

non-local - this definition is wrong - non-local may require that something happens at another process, not necessarily the execution of an MPI procedure (which implies a user call).

NUMA - It would be better to simply say that the time to access memory from a given processor may depend on the address of the memory location.

opaque - This uses data types which may be confused with MPI Datatypes. Other MPI objects are also opaque.

overflow - this is one of two definitions. The other, exceed available data range, is also used in the MPI standard (page 37, line 9).

process - An MPI process need not be an OS process, and this definition confuses the two. There is also too much detail here about the particular resources that some environments manage in a process (there might not even be an OS in the classic sense).

RDMA - This combines RDMA with user-mode RDMA (admittedly the one in which we're interested).

more later ...

mpiforumbot commented 8 years ago

Originally by gropp on 2009-02-16 09:55:29 -0600


socket - the only use of socket in the MPI standard is a communication socket using the Berkeley socket interface.

spatial locality - not used in the MPI Standard. In the parallel context, this applies to memory placement, not just cache lines.

strong scaling - the mention of Monte Carlo as a specific example doesn't belong in a glossary.

synchronization - this refers to thread synchronization, but as used in the MPI standard, this almost always refers to synchronization between MPI processes

thread - This definition includes some information on particular implementation strategies (e.g., cores, computational units); it should stick to the basic definition: address space, instruction counter, and resources needed to execute program code.

TLB - not used in the MPI standard

TLP - not used in the MPI standard

UB - like LB, the correct form is ub (lower case)

upperbound - this misses the case where the upperbound has been explicitly set.

mpiforumbot commented 8 years ago

Originally by trj on 2009-02-16 13:57:15 -0600


Attachment added: mpi_glossary_v3.doc (158.5 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2009-02-16 13:59:27 -0600


I have incorporated Bill's corrections and uploaded a new version (mpi_glossary_v3.doc). -- trj

mpiforumbot commented 8 years ago

Originally by trj on 2009-03-17 09:10:45 -0500


Attachment added: mpi_glossary_v4.doc (147.5 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2009-03-17 09:11:49 -0500


Adding a few more updates (see mpi_glossary_v4.doc) -trj

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2009-04-06 19:11:23 -0500


After discussing it with Rich Graham, I added the formal frame for the glossary. Only part A should go fully through the voting procedure.

Part B has the same status as examples. We should try to get it in a good shape until next meeting.

Reviews are for this meeting for part A.

mpiforumbot commented 8 years ago

Originally by htor on 2009-04-06 22:51:59 -0500


reviewed part A - ok.

mpiforumbot commented 8 years ago

Originally by gropp on 2009-04-07 14:35:53 -0500


Added results of the glossary.

I would like to see the text changed to not describe the glossary as present for "illustrative" purposes. Rather, something like

A glossary of terms is included in Appendix C; however, the authoritative source for any term is always the description in this standard.

mpiforumbot commented 8 years ago

Originally by gropp on 2009-04-07 15:57:38 -0500


Proposed language saying that that glossary is not authoritative.

mpiforumbot commented 8 years ago

Originally by bronis on 2009-04-07 17:02:24 -0500


This text: "A glossary of terms begins on page xx; however, the authoritative source for any term is always the description in this standard." still is not right because it is ambiguous. First we say where the glosssary is in the standard and then that the description in the standard is authoritative. Which description do we mean? I suggest we change to wording that others may not like: "A glossary of terms begins on page xx. While it is intended to define key terminology accurately, the glossary is non-normative." We could stop there but if people prefer to define non-normative, we could continue: "The text in the main chapters of the standard are the authoritative definitions."

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2009-04-07 23:48:16 -0500


Please review again.

mpiforumbot commented 8 years ago

Originally by bronis on 2009-04-08 10:02:15 -0500


I still prefer using "non-normative" but I am OK with Rolf's wording for the most part; I fixed agreement by changing "are" to "is" and changing "any term" to "all terms" (a single term will generally appear in one chapter...).

mpiforumbot commented 8 years ago

Originally by jjhursey on 2009-04-08 10:33:42 -0500


Some edits from the v4 document:

mpiforumbot commented 8 years ago

Originally by gropp on 2009-04-08 10:48:34 -0500


Please make sure that the glossary only contains terms that appear in the standard.

mpiforumbot commented 8 years ago

Originally by trj on 2009-04-09 12:36:35 -0500


Attachment added: mpi_glossary_v5.doc (148.5 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2009-04-09 12:37:58 -0500


Adding update (mpi_glossary_v5.doc) to reflect comments by jjhursey (see above), and to remove three terms that do not appear in the standard (per comment from gropp above). -- trj

mpiforumbot commented 8 years ago

Originally by trj on 2009-04-09 12:54:02 -0500


Correct inadvertent version change -- setting to MPI 3.0 as per above... --trj

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2009-04-09 14:59:15 -0500


Attachment added: mpi_glossary_v5.2.doc (205.5 KiB)

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2009-04-09 15:02:29 -0500


Sorry, both new documents v5 (by Terry Jones) and v5.2 (done offline in the airplane) are based on v4.

mpiforumbot commented 8 years ago

Originally by trj on 2009-05-01 10:31:30 -0500


Attachment added: mpi_glossary_v6.doc (137.5 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2009-05-01 10:36:55 -0500


Added version 6 (which merges version 5 and version 5.2 edits).

This version separates definitions into two classes: (a) those that are directly referenced by the standard and/or defined by the standard. (b) those that are auxiliary to the standard.

I would like to request that those found in the first section be considered for inclusion in MPI 2.2. -trj

mpiforumbot commented 8 years ago

Originally by rlgraham on 2010-09-18 04:10:56 -0500


What do you want to do with this ticket ? rich

mpiforumbot commented 8 years ago

Originally by rlgraham on 2010-09-18 04:12:33 -0500


What do you want to do with this ticket ? rich

mpiforumbot commented 8 years ago

Originally by trj on 2010-09-20 10:28:15 -0500


There are a couple of issues with incorporating a glossary, but I think the issues are tractable and the benefit of the glossary makes the work worthwhile. For example, since MPI uses the term "process" differently than one who might anticipate based on experience with the Unix notion of "process", a convenient place to review MPI term usage would be very helpful.

Among the necessary changes, I would like to drop the notion of incorporating definitions that are not defined elsewhere in the 3.0 text. I still feel that related definitions such as "NIC" are helpful to the novice, but I feel they belong in a separate training document and not the standard specification.

Second, this ticket has been dormant for awhile and I would like for the chapter authors to be very involved.

With the help of the chapter authors, I think it is realistic to clean this up and incorporate the reduced-set definitions in a helpful glossary for the 3.0 text.

mpiforumbot commented 8 years ago

Originally by trj on 2011-08-12 10:33:14 -0500


Attachment added: glossary.pdf (275.5 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-08-12 10:33:49 -0500


Attachment added: glossary.tex (60.9 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-08-12 10:34:33 -0500


I am providing the first tex version of the glossary (see attachments "glossary.tex" and "glossary.pdf"). This version is based from the current MPI-3 text. Please review before the upcoming September meeting.

mpiforumbot commented 8 years ago

Originally by trj on 2011-08-22 16:45:49 -0500


Attachment added: glossary.2.pdf (252.6 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-08-22 16:46:26 -0500


Attachment added: glossary.2.tex (61.6 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-08-22 16:47:59 -0500


Incorporated a series of corrections suggested by Darius Buntinas (see attachments "glossary.2.tex" and "glossary.2.pdf").

mpiforumbot commented 8 years ago

Originally by trj on 2011-09-06 17:14:03 -0500


Attachment added: glossary.3.pdf (286.6 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-09-06 17:14:26 -0500


Attachment added: glossary.3.tex (81.9 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-09-06 17:15:41 -0500


More corrections based on input from Bill Gropp, David Solt, Torsten Hoefler, Rolf Rabenseifner, Josh Hursey, and Terry Jones (see attachments "glossary.3.tex" and "glossary.3.pdf").

mpiforumbot commented 8 years ago

Originally by trj on 2011-09-09 14:44:47 -0500


Attachment added: glossary.4.tex (85.3 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-09-09 14:45:05 -0500


Attachment added: glossary.4.pdf (300.3 KiB)

mpiforumbot commented 8 years ago

Originally by trj on 2011-09-09 14:46:56 -0500


More corrections based on input from Jesper Traff and Rolf Rabenseifner (see attachments "glossary.4.tex" and "glossary.4.pdf".