APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of...

11
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. SAND NO. 2014-15182PE A Prototype of a Power API Framework Speaker: David DeBonis Power API Team: James H. Laros III (Lead), Kevin PedreB, Suzanne M. Kelly, Micheal Levenhagen, David DeBonis, Stephen Olivier, Ryan E. Grant Images courtesy of: Cray Inc. SAND NO. 2014-19796 C

Transcript of APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of...

Page 1: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

Photos placed in horizontal position with even amount of white space

between photos and header

Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. SAND NO. 2014-15182PE

A  Prototype  of  a  Power  API  Framework  Speaker:  David  DeBonis  

Power  API  Team:  James  H.  Laros  III  (Lead),  Kevin  PedreB,  Suzanne  M.  Kelly,  Micheal  Levenhagen,  David  DeBonis,  Stephen  Olivier,  Ryan  E.  Grant  

Images courtesy of: Cray Inc.

SAND NO. 2014-19796 C

Page 2: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

MoNvaNon  and  FoundaNon  

§  Extreme  Scale  Power  /  Energy  Aware  CompuNng  §  Within  power  budgets  §  Turning  it  up  to  “eleven”  is  not  maintainable  §  Power  capping  will  be  the  norm  

 

§  Power  API  SpecificaNon  §  Effort  at  SNL  to  influence  future  systems  procurement  §  Facilitate  power-­‐aware  and  energy-­‐efficient  compuNng  at  scale  §  Vendor  and  pla^orm  neutral  §  Unified  measurement  and  control  interface  §  Traversable  hierarchy  

2  

Page 3: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

ObjecNves  

§  Power  API  Prototyping  Effort  §  Solidifying  the  Power  API  specificaNons  §  Enable  communicaNon  between  vendors  and  community  §  Explore  implementaNon  concepts  §  DISCLAIMER:    NOT  meant  to  be  a  producNon  implementaNon  

§  Power  API  Prototype  Framework  

3  

Power APICORE FEATURES

Device PluginRAPL, PowerInsight, Etc

System DescriptionXML Config

DaemonXML RPC

Page 4: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

4  

Prototype  Framework  

Core

ObjectTreeNode

Core

ObjectTreeNode

Core

ObjectTreeNode

Core

ObjectTreeNode

Socket

ObjectTreeNode

Socket

ObjectTreeNode

Node

ObjectTreeNode

Power API Object Hierarchy

Node

TreeNode

Socket

TreeNode

Socket

TreeNode

RAPL

DevTreeNode

RAPL

DevTreeNode

Attribute Hierarchy

PowerInsight

DevTreeNode

RAPL RAPL Power Insight

Attribute: POWEROp: SUM

Page 5: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

5  

System  ConfiguraNon  DescripNon  

§  Dynamically  configurable  system  §  Not  Ned  to  specific  system  §  Definable  or  discoverable  §  RepresentaNon  neutral  

 

§  XML  based  configuraNon  file  §  Hierarchy  and  relaNonships  §  Plugins  and  mappings  §  OperaNon  on  afributes  

 

<?xml version="1.0"?>

<System>

<Plugins> <plugin name="RAPL" lib="libpwr_rapldev.so"/></Plugins>

<Devices> <device name="RAPL-socket" plugin="RAPL" initString="0:0"/></Devices>

<Objects><obj name="plat" type="Platform"> <attributes> <attr name="ENERGY" op="SUM"> <src type="child" name="node"/> </attr> </attributes> <children> <child name="node"/> </children></obj><obj name="plat.node" type="Node"> <attributes> <attr name="ENERGY" op="SUM"> <src type="child" name="socket"/> </attr> </attributes> <children> <child name="socket" /> </children></obj><obj name="plat.node.socket" type="Socket"> <devices> <dev name="rapldev" device="RAPL-socket" openString="1"/> </devices> <attributes> <attr name="ENERGY" op="SUM"> <src type="device" name="rapldev"/> </attr> </attributes></obj></Objects>

</System>

System Description

SQL Database

XML Document

hwloc

Page 6: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

Plugin  CapabiliNes  

§  Well-­‐defined  interface  §  POSIX-­‐like  semanNcs  

§  Penguin  PowerInsight  §  Fine-­‐grain  per  component    §  Out-­‐of-­‐band  collecNon  §  Extended  capabiliNes  

§  offloaded  calculaNons  §  embedded  analysis   6  

Device Plugin

PowerInsight RAPL XTPM

WattsUp PowerGadget

Page 7: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

Study  -­‐  ApplicaNon  CharacterizaNon  

§  Energy  and  power  characterisNcs  at  various  CPU  frequencies  §  Frequency  scaling  using  the  Mantevo  miniApps  §  Performed  on  Advanced  Architecture  Test  Beds  §  Architectures:    AMD  APU,  Intel  Ivy  Bridge,  Haswell,  Phi,    Power8,  ARM  §  Plugins:    PowerInsight,  WafsUp,  XTPM,  RAPL,  CPU  

7  

0

10

20

30

40

50

60

70

0 10 20 30 40 50 60 70 80 90 100

Pow

er (W

atts

)

Time (seconds)

miniGhost on AMD Fusion at 1400000 Hz

CPU PowerMemory Power

0

10

20

30

40

50

60

70

80

90

0 5 10 15 20 25 30

Pow

er (W

atts

)

Time (seconds)

miniGhost on Intel Ivy Bridge at 1400000 Hz

CPU PowerMemory Power

Page 8: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

MulN-­‐Architecture  Study  Simplified  

8  

include header file

initialize context

get entry point

get object attribute

#include "pow.h"

#include <stdlib.h>#include <stdio.h>#include <unistd.h>

#define MICROSECONDS 1e6

static char usage[] = "usage: %s [-s samples] [-f freq]\n";

int main( int argc, char** argv ){ float power; PWR_Time timestamp; unsigned int option, sample, samples, freq;

while( (option=getopt( argc, argv, "s:f:h" )) != -1 ) switch( option ) { case 's': samples = atoi(optarg); break; case 'f': freq = atoi(optarg); break; default: fprintf( stderr, usage, argv[0] ); return -1; }

PWR_Cntxt cntxt = PWR_CntxtInit( PWR_CNTXT_DEFAULT, PWR_ROLE_APP, "miniGhost" ); PWR_Obj self = PWR_CntxtGetEntryPoint( cntxt );

for( sample = 0; sample < samples; sample++ ) { PWR_ObjAttrGetValue( self, PWR_ATTR_POWER, &power, &timestamp ); printf( "%g %llu\n", power, timestamp );

usleep( MICROSECONDS / freq ); }

return 0;}

Page 9: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

Future  DirecNons  (in  the  works)  

§  Power  API  Core  support  §  complete  the  staNsNcs  interface  §  complete  the  meta-­‐data  interface    

§  AddiNonal  Power  API  prototype  plugins    

§  Python  bindings  §  objects  and  afributes    

§  Power  API  Prototype  at  scale  §  distribuNon  and  aggregaNon    

9  

Page 10: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

Acknowledgements  

§  Power  API  §  hfp://powerapi.sandia.gov  §  EEHPC  WG  –  Power  API  Round  Table  (Nov.  17th  from  12:10  –  1:10pm)  §  SC14  BoF  –  Power  API  for  HPC  (Nov.  19th  from  12:15  –  1:15pm)  §  SC14  Poster  –  A  Power  API  for  the  HPC  Community  

§  Penguin  CompuNng  §  hfp://penguincompuNng.com  

§  Advanced  Architecture  Test  Beds  §  hfp://www.sandia.gov/asc/computaNonal_systems/HAAPS.html  

10  This work was funded through the Computational Systems and Software Environment sub-program of the Advanced Simulation and Computing Program funded by the National Nuclear Security Administration

Power  API  Team:  James  H.  Laros  III  (Lead),  Kevin  PedreB,  Suzanne  M.  Kelly,  Micheal  Levenhagen,  David  DeBonis,  Stephen  Olivier,  Ryan  E.  Grant  

Page 11: APrototypeofaPowerAPIFramework - VI-HPS · Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program

Advanced  Architecture  Test  Beds  

11  

Host Name Nodes CPU Accelerator / Co-Processor

Volta 56 Dual Socket Intel Xeon E5-2695 v2 (Ivy Bridge)

2.4 GHz 12-core

N / A

Compton 42 Dual Socket Intel Xeon E5-2670 (Sandy Bridge)

2.6 GHz 8-core

Intel Xeon Phi (2x) 1.1 GHz 57-core

Teller 104 AMD A10-5800K (Piledriver)

3.8GHz 4-core

Radeon HD-7660D 800MHz 384-core