Ralph -- let's chat about this in Chicago next Friday.  I'll add it to the 
agenda on the wiki.  I assume this would not be difficult stuff; we don't 
really need to do anything fancy at all.  I think we just want to sketch out 
what exactly we want to do, and it could probably be done in a day or three.

(Thanks for the idea, Samuel!)


On Dec 4, 2013, at 7:49 AM, Ralph Castain <r...@open-mpi.org> wrote:

> FWIW: ORTE already has a sensor framework in it that reads some of these 
> things, so adding the coretemp etc is pretty trivial. These readings can be 
> taken in the ORTE event thread on daemons, but we could allow procs to do so 
> as well (if the app requests it), or can make it driven via the MPI_T 
> function. If we use the event engine, we could have ORTE push those values 
> into the internal database, and then provide an MPI_T access to retrieve them.
> 
> I'm working on the monitoring section over the next few weeks and can add the 
> data collection part. If Jeff or someone can point me to the required MPI_T 
> "glue", I can add that too.
> 
> 
> On Wed, Dec 4, 2013 at 4:23 AM, Chris Samuel <sam...@unimelb.edu.au> wrote:
> On Wed, 4 Dec 2013 11:39:29 AM Jeff Squyres wrote:
> 
> > On Dec 3, 2013, at 7:54 PM,
> > Christopher Samuel <sam...@unimelb.edu.au> wrote:
> >
> > > Would it make any sense to expose system/environmental/thermal
> > > information to the application via MPI_T ?
> >
> > Hmm.  Interesting idea.
> 
> Phew. :-)
> 
> > Is the best way to grab such stuff via IPMI?
> 
> I don't think so, that means either having the process have permissions to
> access /dev/ipmi* or needing to talk over the network to the adapter, neither
> of which are likely to be desirable (or even possible, our iDataplex IMMs are
> not accessible from the compute nodes).
> 
> However, using the coretemp kernel module means you get access to at least
> information about CPU temperatures on Intel systems:
> 
> /sys/bus/platform/devices/coretemp.${A}/temp${B}_input
> 
> which contains the core temperature in 100ths of a degree Celsius and are
> world readable.  You also get access to the various thermal trip points and
> alarms.
> 
> The ${B} value is 1 for the CPU package (SandyBridge or later only), then
> sequentially for the physical cores.  ${A} is 0 for the first socket, then
> max($B of $A)+1 for the next socket, etc..
> 
> So on the test login node of our 2010 era Nehalem iDataplex you get a file per
> CPU core but nothing for the socket, viz:
> 
> [root@merri-test ~]# ls /sys/bus/platform/devices/coretemp.*/*input*
> /sys/bus/platform/devices/coretemp.0/temp2_input
> /sys/bus/platform/devices/coretemp.0/temp3_input
> /sys/bus/platform/devices/coretemp.0/temp4_input
> /sys/bus/platform/devices/coretemp.0/temp5_input
> /sys/bus/platform/devices/coretemp.4/temp2_input
> /sys/bus/platform/devices/coretemp.4/temp3_input
> /sys/bus/platform/devices/coretemp.4/temp4_input
> /sys/bus/platform/devices/coretemp.4/temp5_input
> 
> [root@merri-test ~]# cat /sys/bus/platform/devices/coretemp.*/*input*
> 52000
> 52000
> 52000
> 53000
> 59000
> 55000
> 58000
> 56000
> 
> On the test login node of our SandyBridge iDataplex delivered mid year we get
> the package as well:
> 
> [root@barcoo-test ~]# ls /sys/bus/platform/devices/coretemp.*/*input*
> /sys/bus/platform/devices/coretemp.0/temp1_input
> /sys/bus/platform/devices/coretemp.0/temp2_input
> /sys/bus/platform/devices/coretemp.0/temp3_input
> /sys/bus/platform/devices/coretemp.0/temp4_input
> /sys/bus/platform/devices/coretemp.0/temp5_input
> /sys/bus/platform/devices/coretemp.0/temp6_input
> /sys/bus/platform/devices/coretemp.0/temp7_input
> /sys/bus/platform/devices/coretemp.6/temp1_input
> /sys/bus/platform/devices/coretemp.6/temp2_input
> /sys/bus/platform/devices/coretemp.6/temp3_input
> /sys/bus/platform/devices/coretemp.6/temp4_input
> /sys/bus/platform/devices/coretemp.6/temp5_input
> /sys/bus/platform/devices/coretemp.6/temp6_input
> /sys/bus/platform/devices/coretemp.6/temp7_input
> 
> [root@barcoo-test ~]# cat /sys/bus/platform/devices/coretemp.*/*input*
> 44000
> 43000
> 44000
> 42000
> 43000
> 38000
> 44000
> 37000
> 33000
> 37000
> 32000
> 34000
> 36000
> 33000
> 
> There's more information in $KERNEL_SOURCE/Documentation/hwmon/coretemp.
> 
> Both those systems are running RHEL6, so it should be fairly well supported
> *if* the sysadmin has loaded the modules.
> 
> > That might well be do-able, since there's no performance penalty for reading
> > such values until you actually read the values (i.e., we don't actively
> > monitor these values in OMPI's overall progression engine; they're only
> > read when the application invokes an MPI_T read function).
> 
> Indeed, these *shouldn't* hang trying to read them. ;-)
> 
> cheers,
> Chris
> --
>  Christopher Samuel        Senior Systems Administrator
>  VLSCI - Victorian Life Sciences Computation Initiative
>  Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545
>  http://www.vlsci.org.au/      http://twitter.com/vlsci
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to