Project

General

Profile

Feature #1834

Functionality to Broadcast large buffers using the nocopy API

Added by Nitin Bhat over 1 year ago. Updated 3 months ago.

Status:
Merged
Priority:
High
Assignee:
Category:
-
Target version:
Start date:
03/19/2018
Due date:
% Done:

0%

Tags:

Related issues

Related to Charm++ - Feature #1742: Send large readonly variables using the Nocopy API to reduce memory footprint and improve startup time Merged 11/10/2017

History

#1 Updated by Nitin Bhat over 1 year ago

  • Related to Feature #1742: Send large readonly variables using the Nocopy API to reduce memory footprint and improve startup time added

#2 Updated by Nitin Bhat over 1 year ago

  • Assignee set to Nitin Bhat

#3 Updated by Nitin Bhat about 1 year ago

Implementational Scheme for Nocopy API (1 source - n destinations)

1. When `CkNcpySource` is passed over a proxy that is not an element proxy, but a collection proxy, we determine the recipient PEs (similar to the way we do right now), and construct a spanning tree. Then, to the first immediate children, we send the original `CkNcpySource` object and these immediate children, perform `bcast_rget`.

2. A `bcast_rget` method is implemented as a function of two operations
- perform the rget from the received `CkNcpySource`
- on completion of `rget`, transform the `CkNcpyDestination` into `CkNcpySource` and forward it to my children

3. The source callback is invoked when all its children (only immediate descendants) have received the data and it is safe for the source to modify/free the pointers
On other nodes, the callback is invoked when the node itself has received the data and all its children (immediate descendants) have received the data.

#4 Updated by Nitin Bhat 10 months ago

  • Target version set to 6.9.1

Since the broadcast API was initially implemented in the entry method style, the design scheme discussed before was not implemented.

Gerrit: https://charm.cs.illinois.edu/gerrit/#/c/charm/+/4395/

#5 Updated by Nitin Bhat 10 months ago

  • Status changed from In Progress to Implemented

#6 Updated by Eric Bohm 8 months ago

  • Target version changed from 6.9.1 to 6.10.0

#7 Updated by Nitin Bhat 3 months ago

  • Status changed from Implemented to Merged

Also available in: Atom PDF