1 / 4

Exposing multiple device performance stats through MPI_T

Exposing multiple device performance stats through MPI_T. Jeff Squyres , 2013. Problem: multiple network devices on a server – want to return the number of sends on each device but don’t want to create a new variable for each of them.

gale
Download Presentation

Exposing multiple device performance stats through MPI_T

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exposing multiple device performance stats through MPI_T Jeff Squyres , 2013

  2. Problem: multiple network devices on a server – want to return the number of sends on each devicebut don’t want to create a new variable for eachof them. Solution: have each performance variable return an array of values; one for each underlying network device: MPI_T_pvar_handle_alloc(session, pvar_index, NULL, &handle, &count); count  will be the number of underlying network device MPI_T_pvar_read(session, handle, buf); returns an array of count elements (e.g., 4): any_pvar value for device 3 value for device 0 value for device 1 value for device 2

  3. Problem: But how do you know which array slot maps to which underlying Linux device? Solution: the btl_usnic_devices state performance variable. It has an MPI_T enumeration associated with it that indexes on the array indexes of each performance variable. In the previous example of 4 devices, we have array indexes of [0,N) btl_usnic_devices enumpvar maps to these strings 0 /dev/usnic_0 1 /dev/usnic_1 2 /dev/usnic_2 3 /dev/usnic_3

  4. value for device 0 value for device 3 value for device 1 value for device 2 Therefore… any_pvar 0 /dev/usnic_0 1 /dev/usnic_1 2 /dev/usnic_2 3 /dev/usnic_3 btl_usnic_devices enumpvar maps to these strings

More Related