IP Library Granted Patent US 9,553,784
Granted Patent B2
US 9,553,784 · App. 14/445,091 · Granted Jan 24, 2017

Selection of message passing collectives in presence of system noise

Inventors: Saurav K. Jha (Madhubani, IN); Nysal Jan K. A. (Bangalore, IN); Saumil G. Merchant (Bengaluru, IN); Giridhar M. Prabhakar (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L43/087G06F9/546H04L43/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,553,784
App. No.
14/445,091
Granted
Jan 24, 2017
Kind
B2
Abstract

Consideration of system jitter in selecting a “message passing collectives algorithm” used in a message passing interface. A set of multiple message passing collectives algorithms are ranked against each other with at least some consideration of relative jitter-related performance as between the algorithms. The consideration of jitter includes consideration of “system jitter” (OS jitter and/or network jitter). In some embodiments, multiple rankings are performed for different levels of system jitter.

Claims (55)

1. A method comprising:

providing a plurality of message passing collectives algorithms;

evaluating, by machine logic of a computer, each algorithm of the plurality of message passing collectives algorithms for performance when subject to at least one type of jitter to obtain jitter evaluations; and

ranking, by machine logic of a computer, the plurality of message passing collectives algorithms relative to each other based upon the jitter evaluations to obtain a first ranking;

wherein the message passing collectives algorithms are algorithms for communications operations between parallel computing tasks offered under a standardized and portable message passing system defining syntax and semantics of a core of library routines for writing portable message-passing programs.

2. The method of claim 1 further comprising:

selecting, at runtime, a first message passing collectives algorithm from the plurality of message passing collectives algorithm, where the selection is based, at least in part, on the first ranking; and

performing message passing using the first message passing collectives algorithm.

3. The method of claim 2 wherein:

the selection of the first message passing collectives algorithms is further based, at least in part, upon a first non-jitter factor which is not related to any type of jitter.

4. The method of claim 1 wherein the at least one type of jitter includes at least one of the following types of jitter: operating system jitter and/or network jitter.

5. The method of claim 4 wherein the at least one type of jitter includes both of the following types of jitter: operating system jitter and/or network jitter.

6. The method of claim 1 further comprising:

estimating a level of system jitter that will occur at runtime through performance data collected by benchmarks during offline calibration to obtain an estimated system jitter level.

7. The method of claim 1 wherein:

the ranking performed to obtain the first ranking is based upon an assumption of a first level of system jitter;

the method further comprising:

ranking the plurality of message passing collectives algorithms relative to each other based, at least in part, upon the jitter evaluations, and under an assumption of a second level of system jitter, to obtain a second ranking.

8. A computer program product comprising a non-transitory computer readable storage medium having stored thereon:

first program instructions programmed to provide a plurality of message passing collectives algorithms;

second program instructions programmed to evaluate each algorithm of the plurality of message passing collectives algorithms for performance when subject to at least one type of jitter to obtain jitter evaluations; and

third program instructions programmed to rank the plurality of message passing collectives algorithms relative to each other based upon the jitter evaluations to obtain a first ranking;

wherein the message passing collectives algorithms are algorithms for communications operations between parallel computing tasks offered under a standardized and portable message passing system defining syntax and semantics of a core of library routines for writing portable message-passing programs.

9. The product of claim 8 wherein the medium has further stored thereon:

fourth program instructions programmed to select, at runtime, a first message passing collectives algorithm from the plurality of message passing collectives algorithm, where the selection is based, at least in part, on the first ranking; and

fifth program instructions programmed to perform message passing using the first message passing collectives algorithm.

10. The product of claim 9 wherein:

the selection of the first message passing collectives algorithms is further based, at least in part, upon a first non-jitter factor which is not related to any type of jitter.

11. The product of claim 8 wherein the at least one type of jitter includes at least one of the following types of jitter: operating system jitter and/or network jitter.

12. The product of claim 11 wherein the at least one type of jitter includes both of the following types of jitter: operating system jitter and/or network jitter.

13. The product of claim 8 wherein the medium has further stored thereon:

fourth program instructions programmed to estimate a level of system jitter that will occur at runtime through performance data collected by benchmarks during offline calibration to obtain an estimated system jitter level.

14. The product of claim 8 wherein:

the ranking performed to obtain the first ranking is based upon an assumption of a first level of system jitter;

the method wherein the medium has further stored thereon:

fourth program instructions programmed to rank the plurality of message passing collectives algorithms relative to each other based, at least in part, upon the jitter evaluations, and under an assumption of a second level of system jitter, to obtain a second ranking.

15. A computer system comprising:

a processor set; and

a computer readable storage medium;

wherein:

the processor set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and

the program instructions include:

first program instructions programmed to provide a plurality of message passing collectives algorithms,

second program instructions programmed to evaluate each algorithm of the plurality of message passing collectives algorithms for performance when subject to at least one type of jitter to obtain jitter evaluations, and

third program instructions programmed to rank the plurality of message passing collectives algorithms relative to each other based upon the jitter evaluations to obtain a first ranking; and

wherein the message passing collectives algorithms are algorithms for communications operations between parallel computing tasks offered under a standardized and portable message passing system defining syntax and semantics of a core of library routines for writing portable message-passing programs.

16. The system of claim 15 wherein the medium has further stored thereon:

fourth program instructions programmed to select, at runtime, a first message passing collectives algorithm from the plurality of message passing collectives algorithm, where the selection is based, at least in part, on the first ranking; and

fifth program instructions programmed to perform message passing using the first message passing collectives algorithm.

17. The system of claim 16 wherein:

the selection of the first message passing collectives algorithms is further based, at least in part, upon a first non-jitter factor which is not related to any type of jitter.

18. The system of claim 15 wherein the at least one type(s) type of jitter includes at least one of the following types of jitter: operating system jitter and/or network jitter.

19. The system of claim 18 wherein the at least one type(s) type of jitter includes both of the following types of jitter: operating system jitter and/or network jitter.

20. The system of claim 15 wherein the medium has further stored thereon:

fourth program instructions programmed to estimate a level of system jitter that will occur at runtime through performance data collected by benchmarks during offline calibration to obtain an estimated system jitter level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2014
From: JHA, SAURAV K.; K. A., NYSAL JAN; MERCHANT, SAUMIL G.; PRABHAKAR, GIRIDHAR M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033406/0645 →
Continuity (1)
Related Publication 20160036669A1 · Feb 4, 2016