When programmers use
TKMPI_INFO in their SAS code, the SAS High-Performance Analytics environment
can better decide how much memory to request.
Consider this example:
the $TKMPI_APPNAME variable is set to lasr
for
both a SAS Analytic LASR Server (PROC LASR CREATE) and for a SAS Analytic
LASR Server Proxy used when loading a table (PROC LASR ADD). This
makes it impossible to set a YARN memory limit differently for these
two cases. Most likely, a SAS Analytic LASR Server would want a large
amount of memory and the proxy server would require a smaller amount.
Here is an example of
how you might use TKMPI_INFO in a SAS program to solve the memory
issue:
options set=TKMPI_INFO="LASRSTART";
proc lasr create port=17761;
performance nodes=2; run;
options set=TKMPI_INFO="LASRLOAD";
proc lasr add data=sashelp.cars port=17761; run
In resource.settings,
you might add an entry similar to the following:
if [ "$TKMPI_APPNAME" = "lasr" ]; then
if [ "$TKMPI_INFO" = "LASRSTART" ];
export TKMPI_MEMSIZE=60000
fi
if [ "$TKMPI_INFO" = "LASRLOAD" ];
export TKMPI_MEMSIZE=4000
fi
fi
Note that TKMPI_INFO
is not limited to SAS Analytic LASR Server. TKMPI_INFO can also be
used for any other HPA PROC. You could use the variable to pass any
type of information you need to resource.settings (for example, SMALL,
MEDIUM, LARGE classes).