Evalua&ng Opera&ng System Vulnerability to Memory - - PowerPoint PPT Presentation

evalua ng opera ng system vulnerability to memory errors
SMART_READER_LITE
LIVE PREVIEW

Evalua&ng Opera&ng System Vulnerability to Memory - - PowerPoint PPT Presentation

Evalua&ng Opera&ng System Vulnerability to Memory Errors Kurt B. Ferreira, Kevin Pedre1, Patrick Bridges , Ron Brightwell, David Fiala, and Frank


slide-1
SLIDE 1

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. 2011-XXXXP

Evalua&ng ¡Opera&ng ¡System ¡Vulnerability ¡to ¡ Memory ¡Errors ¡ ¡ ¡

Kurt ¡B. ¡Ferreira, ¡Kevin ¡Pedre1, ¡Patrick ¡Bridges, ¡ Ron ¡Brightwell, ¡David ¡Fiala, ¡and ¡Frank ¡Mueller ¡ ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

slide-2
SLIDE 2

The ¡Fastest ¡Machines ¡Are ¡GeBng ¡Larger ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

Socket Count Top500 Release Year #1 #2 #3 #4 #5 1 10 100 1000 10000 100000 1e+06 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 1 2 1 1 2 1 2 2 1 3

slide-3
SLIDE 3

… ¡And ¡Failures ¡Are ¡Becoming ¡More ¡Common ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

System MTBF (hours) Socket Count 50 year socket MTBF 25 year socket MTBF 0.1 1 10 100 1000 1 2 4 2 4 8 4 9 6 8 1 9 2 1 6 3 8 4 3 2 7 6 8 6 5 5 3 6 1 3 1 7 2 2 6 2 1 4 4

slide-4
SLIDE 4

Most ¡Common ¡Hardware ¡Failure ¡Due ¡to ¡ Memory ¡ ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡ !"#$ %& '()*+,,)(

  • +.+(/0

'()*+,,)( %1&

  • +.+(/0

23& 4+4)(5 67& 89,: 23& From ¡“AutomaFng ¡SoHware ¡Failure ¡ReporFng” ¡by ¡B. ¡Murphy, ¡ACM ¡Queue ¡2, ¡2004 ¡

slide-5
SLIDE 5

Most ¡Common ¡Hardware ¡Failure ¡Due ¡to ¡ Memory ¡ ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡ !"#$ %& '()*+,,)(

  • +.+(/0

'()*+,,)( %1&

  • +.+(/0

23& 4+4)(5 67& 89,: 23&

Memory failures expected to increase in future systems

slide-6
SLIDE 6

Errors ¡in ¡OS ¡Memory ¡ ¡Shown ¡To ¡Be ¡More ¡Likely ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

Column Row Blue Gene/P 512 1024 1536 2048 2048 4096 6144 8192 Column Row Blue Gene/L 256 512 768 1024 2048 4096 6144 8192

From ¡“Cosmic ¡Rays ¡Don’t ¡Strike ¡Twice: ¡Understanding ¡the ¡Nature ¡of ¡DRAM ¡Errors ¡ And ¡the ¡ImplicaFons ¡for ¡System ¡Design” ¡by ¡A. ¡Hwang ¡et ¡al, ¡from ¡ASPLOS’12 ¡

slide-7
SLIDE 7

Current ¡OS ¡Handling ¡of ¡DRAM ¡Failures ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡Current ¡OSs ¡hard ¡reboot ¡for ¡DRAM ¡failures ¡in ¡OS ¡memory ¡

¡ ¡

  • ¡If ¡we ¡can ¡correct ¡this ¡error, ¡we ¡can ¡avoid ¡a ¡restart ¡and ¡make ¡forward ¡progress ¡
slide-8
SLIDE 8

Our ¡Goal ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡ Construct an operating system/runtime resilient to soft errors.

  • ¡The ¡resilient ¡OS/runFme ¡key ¡to ¡the ¡scalability ¡of ¡extreme-­‑scale ¡systems ¡
  • ¡A ¡hardened ¡OS/runFme ¡can ¡conFnue ¡in ¡the ¡presence ¡of ¡failures ¡
  • ¡A ¡resilient ¡OS ¡and ¡runFme ¡criFcal ¡to ¡the ¡emerging ¡forward-­‑error ¡recovery ¡methods ¡
  • ¡These ¡forward-­‑error ¡recovery ¡methods ¡are ¡predicted ¡to ¡have ¡lower ¡overheads ¡and ¡avoid ¡

the ¡wasted ¡computaFon ¡of ¡current ¡rollback/recovery ¡methods ¡ ¡ ¡ ¡

slide-9
SLIDE 9

DRAM ¡Failures: ¡A ¡Quick ¡Refresher ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡DRAM ¡becoming ¡largest ¡porFon ¡of ¡machines ¡power ¡budget ¡
  • ¡Prevalence ¡of ¡errors ¡in ¡HPC ¡due ¡to ¡number ¡of ¡DRAM ¡modules ¡(10K ¡– ¡100K ¡in ¡current ¡

systems) ¡

  • ¡SuscepFbility ¡due ¡to ¡a ¡combinaFon ¡of ¡quanFty ¡and ¡density ¡
  • ¡Power ¡opFmizaFons, ¡for ¡example ¡decreased ¡supply ¡voltages ¡and ¡increased ¡density, ¡

will ¡further ¡increase ¡error ¡rates ¡

  • ¡Types ¡of ¡errors: ¡single-­‑bit ¡correctable, ¡double-­‑bit ¡detectable, ¡mulF-­‑bit ¡undetectable ¡

errors ¡ ¡

  • ¡Uncorrectable ¡errors ¡becoming ¡increasing ¡common ¡– ¡8% ¡of ¡all ¡DIMMS/year ¡on ¡current ¡

systems ¡ ¡

slide-10
SLIDE 10

Current ¡State ¡of ¡the ¡Prac&ce ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡ ¡Single-­‑symbol ¡Error ¡CorrecFon ¡and ¡Double-­‑symbol ¡Error ¡DetecFon ¡(SEC-­‑DED) ¡but ¡at ¡a ¡

cost ¡of ¡increased ¡energy ¡and ¡reduced ¡performance ¡

  • ¡Similarly ¡for ¡Chipkill ¡which ¡tolerates ¡an ¡enFre ¡DRAM ¡chip ¡failure ¡
  • ¡Errors ¡result ¡in ¡a ¡Machine ¡Check ¡ExcepFon ¡(MCE) ¡which ¡logs ¡the ¡error ¡and ¡kills ¡the ¡

applicaFon ¡which ¡memory ¡belongs ¡to ¡

  • ¡Failures ¡that ¡occur ¡in ¡the ¡OS ¡typically ¡result ¡in ¡a ¡hard-­‑reboot ¡
  • ¡Common ¡resilience ¡methods ¡(i.e. ¡rollback ¡recovery) ¡focus ¡only ¡on ¡applicaFon ¡and ¡not ¡

the ¡OS ¡

slide-11
SLIDE 11

Our ¡Approach: ¡Compare ¡Vulnerability ¡of ¡Linux ¡ and ¡KiPen ¡LWK ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡Comparing ¡two ¡OSs ¡similar ¡to ¡ones ¡likely ¡seen ¡on ¡an ¡exascale-­‑class ¡system; ¡Kiden ¡and ¡

CLE ¡

  • ¡ ¡Purpose ¡of ¡this ¡evaluaFon ¡is ¡to ¡look ¡at ¡the ¡ease ¡of ¡protecFng ¡each ¡respecFve ¡OS ¡to ¡

DRAM ¡failure ¡

  • ¡This ¡iniFal ¡study ¡looks ¡at ¡a ¡number ¡of ¡factors: ¡
  • ¡Code ¡complexity. ¡ ¡Metric: ¡Source ¡Lines ¡Of ¡Code ¡(SLOC) ¡count ¡
  • ¡Memory ¡footprint ¡of ¡the ¡OS ¡while ¡running ¡an ¡HPC ¡applicaFon ¡(LAMMPS) ¡
  • ¡IndenFfying ¡representaFve ¡criFcal ¡state ¡that ¡must ¡be ¡protected ¡
  • ¡These ¡factors ¡used ¡to ¡suggest ¡failure ¡miFgaFon ¡mechanism. ¡ ¡For ¡example, ¡small, ¡

simple ¡state ¡may ¡effecFvely ¡protected ¡with ¡redundancy ¡ ¡

slide-12
SLIDE 12

KiPen: ¡A ¡Next ¡Genera&on ¡Lightweight ¡Kernel ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡A ¡special-­‑purpose, ¡limited ¡funcFonality ¡OS ¡developed ¡at ¡Sandia ¡
  • ¡Latest ¡in ¡SUNMOS, ¡Puma, ¡Cougar, ¡Catamount ¡line ¡of ¡lightweight ¡kernels ¡
  • ¡Code ¡base ¡derived ¡from ¡Linux, ¡therefore ¡ABI ¡compaFble ¡
  • ¡Compute ¡node ¡kernel ¡providing ¡only ¡that ¡funcFonality ¡needed ¡for ¡a ¡set ¡of ¡mission ¡

criFcal ¡HPC ¡applicaFons ¡

  • ¡FuncFonality ¡not ¡needed ¡in ¡kernel ¡pushed ¡into ¡user ¡space ¡

¡

  • ¡Full-­‑featured ¡guest ¡OS ¡can ¡be ¡loaded ¡on-­‑demand ¡via ¡the ¡Palacios ¡virtual ¡machine ¡

monitor ¡ Open Source: Kitten (http://code.google.com/p/kitten), Palacios (http://www.v3vee.org/palacios)

slide-13
SLIDE 13

CLE: ¡The ¡Cray ¡Linux ¡Environment ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡Cray’s ¡scalable ¡OS ¡for ¡the ¡XT ¡and ¡XE ¡line ¡of ¡supercomputers ¡
  • ¡Stripped-­‑down ¡kernels ¡run ¡on ¡compute ¡nodes ¡while ¡full ¡featured ¡kernels ¡run ¡on ¡the ¡

IO ¡nodes ¡

  • ¡Both ¡kernels ¡based ¡on ¡the ¡Linux ¡general ¡purpose ¡OS ¡
  • ¡Compute ¡node ¡opFmizaFons ¡include: ¡
  • ¡Enhancements ¡to ¡memory ¡management ¡
  • ¡Improved ¡out-­‑of-­‑memory ¡handling ¡
  • ¡ModificaFons ¡for ¡decreased ¡OS ¡“jider” ¡
  • ¡Forwarding ¡of ¡IO ¡to ¡full-­‑featured ¡nodes ¡
slide-14
SLIDE 14

KiPen ¡Significantly ¡Less ¡Complex ¡Than ¡CLE ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

10000 100000 1e+06 1e+07 1e+08 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 SLOC Date Linux Full Source Tree Linux drivers/ Kitten Full Source Tree Kitten minus Infiniband Drivers 10000 100000 1e+06 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 SLOC Date Linux Core, x86 only Kitten Core, x86 only

slide-15
SLIDE 15

KiPen ¡Simplicity ¡Also ¡Seen ¡With ¡OS ¡Task ¡ Structure ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

!"#$%&!'()*+)',$-'

./0('"01 0/#2 )'('13 ./0('"01!0/#2!)'('13 ./"4!5)'(-*3 ('/6"-+'!$)(213 + 2 3 $#)"2#14!"#'!70(2)3 $#)"2#14!"#'!8',(-13 ' ' 00" ' 4 * ' )',$-'!00")'+#/41!9(*1+1#',:3 "#'!/#+-8$3 "#' /# ,;3 "#'!/#+,;3 "#'!8,"/<!)'('"-+8,"/<!#/,6(0+8,"/3 $#)"2#14!"#'!,'+8,"/,"':3
  • /#)'!)',$-'!)-=14+-0())!5)-=14+-0())3
)',$-'!)-=14+1#'"':!)13 ' ' = 4 ' '"' ' )',$-'!)-=14+,'+1#'"':!,'3 )',$-'!=0")'+=1(4!8,1168'+#/'"7"1,)3 $#)"2#14 -=(, 78$
  • /$#'1,3
$#)"2#14!-=(,!78$+-/$#'1,3 $#)"2#14!"#'!>',(-1+)1;3 $#)"2#14!"#'!8/0"-:3
  • 8$6()*+'!-8$)+(00/9143
"#'!,-$+,1(4+0/-*+#1)'"#23
  • =(, ,-$
,1(4 $#0/-* )81-"(03
  • =(,!,-$+,1(4+$#0/-*+)81-"(03
)',$-'!0")'+=1(4!,-$+#/41+1#',:3 )',$-'!,-$ #/41!5,-$ >0/-*14 #/413 )',$-'!,-$+#/41! ,-$+>0/-*14+#/413 )',$-'!,'+6$'1%!5,-$+>//)'+6$'1%3 )',$-'!)-=14+"#7/!)-=14+"#7/3 )',$-'!0")'+=1(4!'()*)3 )',$-'!80")'+#/41!8$)=(>01+'()*)3 )',$-' 66 )',$-' 566 5(-'".1 663 )',$-'!66+)',$-'!566<!5(-'".1+663 $#)"2#14!>,*+,(#4/6"?14&@3 )',$-'!'()* ,)) )'(' )',$-'!'()*+,))+)'(' "#'!1%"'+)'('13 "#'!1%"'+-/41<!1%"'+)"2#(03 "#'!841('=+)"2#(03 $#)"2#14!"#'!A/>-'03 $#)"2#14 "#' 81,)/#(0"':3 $#)"2#14!"#'!81,)/#(0"':3 $#)"2#14!4"4+1%1-&@3 $#)"2#14!"#+1%1-.1&@3 $#)"2#14!"#+1%1-.1&@3 $#)"2#14!)-=14+,1)1'+/#+7/,*&@3 $#)"2#14!)-=14+-/#',">$'1)+'/+0/(4&@3 $#)"2#14!",;+'=,1(4&@3 8"4+'!8"43 8"4 ' '2"43 8"4+'!'2"43 $#)"2#14!0/#2!)'(-*+-(#(,:3 )',$-'!'()*+)',$-'!++,-$!5,1(0+8(,1#'3 )',$-'!'()*+)',$-'!++,-$! ,1(0+8(,1#'3 )',$-'!'()*+)',$-'!++,-$!58(,1#'3 )',$-'!0")'+=1(4!-="04,1#3 = >0 )',$-'!0")'+=1(4!)">0"#23 )',$-'!'()*+)',$-'!52,/$8+01(41,3 )',$-' 0")' =1(4 8',(-143 )',$-'!0")'+=1(4!8',(-143 )',$-'!0")'+=1(4!8',(-1+1#',:3 )',$-'!8"4+0"#*!8"4)BCDEFGCH+IJKL3 8 + 8 B + L3 )',$-'!0")'+=1(4!'=,1(4+2,/$83 "#'!++$)1,!5)1'+-="04+'"43 " 5 0 ="04 "4 "#'!++$)1,!5-01(,+-="04+'"43
  • 8$'"61+'!$'"61<!)'"61<!$'"61)-(014<!)'"61)-(0143
  • 8$'"61
' 2'"613
  • 8$'"61+'!2'"613
  • 8$'"61+'!8,1.+$'"61<!8,1.+)'"613
$#)"2#14!0/#2!#.-)9<!#".-)93 2 2 < 3 )',$-'!'"61)81-!)'(,'+'"613! )',$-'!'"61)81-!,1(0+)'(,'+'"613 " 4 0 " 70' A 70' $#)"2#14!0/#2!6"#+70'<!6(A+70'3 )',$-'!'()*+-8$'"61!-8$'"61+1%8",1)3 )',$-' 0")' =1(4 -8$ '"61,)BML3 )',$-'!0")'+=1(4!-8$+'"61,)BML3
  • /#)'!)',$-'!-,14!++,-$!5,1(0+-,143
  • /#)'!)',$-'!-,14!++,-$!5-,143
++ )',$-'!-,14!5,180(-161#'+)1))"/#+*1:,"#23
  • =(,!-/66BFJNO+PQII+!HRL3
" ' 0" * ' ' ' 0" * ' "#'!0"#*+-/$#'<!'/'(0+0"#*+-/$#'3 )',$-'!):).+)16!):).)163 $#)"2#14 0/#2 0()' )9"'-=
  • /$#'3
$#)"2#14!0/#2!0()'+)9"'-=+-/$#'3 )',$-'!'=,1(4+)',$-'!'=,1(43 )',$-'!7)+)',$-'!57)3 )',$-'!7"01)+)',$-'!57"01)3 )',$-'!#)8,/%:!5#)8,/%:3 )',$-' )"2#(0 )',$-' 5)"2#(0 )',$-'!)"2#(0+)',$-'!5)"2#(03 )',$-'!)"2=(#4+)',$-'!5)"2=(#43 )"2)1' ' >0/-*14< ,1(0 >0/-*143 )"2)1'+'!>0/-*14<!,1(0+>0/-*143 )"2)1'+'!)(.14+)"26()*3 )',$-'!)"281#4"#2!81#4"#23 $#)"2#14!0/#2!)()+))+)83 )"?1+'!)()+))+)"?13 "#' S5#/'"7"1,TS./"4 58,".T3 "#'!S5#/'"7"1,TS./"4!58,".T3 ./"4!5#/'"7"1,+4('(3 )"2)1' '!5#/'"7"1, 6()*3 )"2)1'+'! #/'"7"1,+6()*3 )',$-'!($4"'+-/#'1%'!5($4"'+-/#'1%'3 $"4+'!0/2"#$"43 $#)"2#14!"#'!)1))"/#"43 )1--/68+'!)1--/683 $MU 8(,1#' 1%1- "43 $MU!8(,1#'+1%1-+"43 $MU!)107+1%1-+"43 )8"#0/-* '!(00/- 0/-*3 )8"#0/-*+'!(00/-+0/-*3 ,(9+)8"#0/-*+'!8"+0/-*3 )',$-'!80")'+=1(4!8"+9("'1,)3 )',$-'!,'+6$'1%+9("'1,!58"+>0/-*14+/#3 )',$-'!6$'1%+9("'1,!5>0/-*14+/#3 $#)"2#14 "#' ",; 1.1#')3 $#)"2#14!"#'!",;+1.1#')3 $#)"2#14!0/#2!=(,4",;+1#(>01+"83 $#)"2#14!0/#2!=(,4",;+4")(>01+"83 $#)"2#14!0/#2!=(,4",;+4")(>01+"83 $#)"2#14!"#'!=(,4",;+1#(>01+1.1#'3 $#)"2#14!"#'!=(,4",;+4")(>01+1.1#'3 "#'!=(,4",;)+1#(>0143 "#'!=(,4",;+-/#'1%'3 $#)"2#14 0/#2 )/7'",; 4")(>01 "83 $#)"2#14!0/#2!)/7'",;+4")(>01+"83 $#)"2#14!0/#2!)/7'",;+1#(>01+"83 $#)"2#14!"#'!)/7'",;+4")(>01+1.1#'3 2 ;+ + 3 $#)"2#14!"#'!)/7'",;+1#(>01+1.1#'3 "#'!)/7'",;)+1#(>0143 " 7 " "#'!)/7'",;+-/#'1%'3 $VW!-$,,+-=("#+*1:3 "#' 0/-*418 418'=3 "#'!0/-*418+418'=3 $#)"2#14!"#'!0/-*418+,1-$,)"/#3 )',$-'!=104+0/-*!=104+0/-*)BIJK+!QPO+EHCFXL3 + + B + + L3 278+'!0/-*418+,1-0("6+2783 ./"4!5A/$,#(0+"#7/3 >" 0" 5>" 0" )',$-'!>"/+0")'!5>"/+0")'3 )',$-'!>0*+80$2!580$23 )',$-' ,1-0("6 )'('1 5,1-0("6 )'('13 )',$-'!,1-0("6+)'('1! ,1-0("6+)'('13 )',$-'!>(-*"#2+41.+"#7/!5>(-*"#2+41.+"#7/3 )',$-'!"/+-/#'1%'!5"/+-/#'1%'3 + + 3 $#)"2#14!0/#2!8',(-1+61))(213 )"2"#7/+'!50()'+)"2"#7/3!Y5!Z/,!8',(-1!$)1[!!5Y ' ' ' * " '" " )',$-'!'()*+"/+(--/$#'"#2!"/(-3 $VW!(--'+,))+616@3 $VW (--' .6 616@3 $VW!(--'+.6+616@3
  • 8$'"61+'!(--'+'"61%843
#/416()*+'!616)+(00/9143 )1;-/$#'+'!616)+(00/914+)1;3 "#'!-8$)1'+616+)8,1(4+,/'/,3 " ' ' > 4 ' "#'!-8$)1'+)0(>+)8,1(4+,/'/,3 )',$-'!-))+)1'!++,-$!5-2,/$8)3 )',$-' 0")' =1(4 -2 0")'3 )',$-'!0")'+=1(4!-2+0")'3 )',$-'!,/>$)'+0")'+=1(4!++$)1,!5,/>$)'+0")'3 )',$-'!-/68('+,/>$)'+0")'+=1(4!++$)1,!5-/68('+,/>$)'+0")'3 )',$-'!0")'+=1(4!8"+)'('1+0")'3 )',$-'!7$'1%+8"+)'('1!58"+)'('1+-(-=13 )',$-' 81,7 1.1#'
  • /#'1%' 581,7
1.1#'
  • '%8B81,7
#, '()*
  • /#'1%')L3
)',$-'!81,7+1.1#'+-/#'1%'!581,7+1.1#'+-'%8B81,7+#,+'()*+-/#'1%')L3 )',$-'!6$'1%!81,7+1.1#'+6$'1%3 )',$-'!0")' =1(4!81,7 1.1#' 0")'3 )',$-'!0")'+=1(4!81,7+1.1#'+0")'3 )',$-'!6168/0"-:!56168/0"-:3 )=/,'!"0+#1%'3 )=/,'!8,17+#/41+7/,*3 )',$-'!,-$+=1(4!,-$3 )',$-' 8"81 "#/41 "#7/ 5)80"-1 8"813 )',$-'!8"81+"#/41+"#7/!5)80"-1+8"813 )',$-'!'()*+410(:+"#7/!5410(:)3 "#'!6(*1 "' 7("03 "#'!6(*1+"'+7("03 "#'!#,+4",'"143 "#'!#,+4",'"14+8($)13 $#)"2#14!0/#2!4",':+8($)14+9=1#3 "#'!0('1#-:+,1-/,4+-/$#'3 )',$-' 0('1#-: ,1-/,4 0('1#-: ,1-/,4B!F NJ\HPQ]RFL3 )',$-'!0('1#-:+,1-/,4!0('1#-:+,1-/,4B!F+NJ\HPQ]RFL3 $#)"2#14!0/#2!'"61,+)0(-*+#)3 $#)"2#14!0/#2!417($0'+'"61,+)0(-*+#)3 $#)"2#14!0/#2!417($0'+'"61,+)0(-*+#)3 )',$-'!0")'+=1(4 "#'!-$,,+,1'+)'(-*3 )',$-'!7',(-1+,1'+)'(-* $#)"2#14!0/#2!0/#2!7',(-1+'"61)'(683 ('/6"- ' ',(-1 /.1,,$#3 ('/6"-+'!',(-1+/.1,,$#3 ('/6"-+'!',(-"#2+2,(8=+8($)13 $#)"2#14!0/#2!',(-13 $ ) 2 14 / 2 ' (-13 $#)"2#14!0/#2!',(-1+,1-$,)"/#3 )',$-'!616-2+>('-=+"#7/!^ > 7 ('/6"-+'!8',(-1+>8+,17-#'3

!"##$%&!#'()*(#+,-#

".*#!"./

  • 0'+!%'1$2345/

#'()(#'#$*#!(#'#$/ ".*#!,"./ ".*#!6"./ (#+,-#!'(7'-$!8'(7'-$/ (#+,-#!9"(#*$0'.!'(7'-$*9"%)/ (#+,-#!("67$%."%6!("67$%."%6/ ("6($#*#!("6:9;-)$./ ".*#!-7,*"./

  • 7,1'()*#!-7,*1'()/

".*#!-7,*#'+6$#*"./ (#+,-#!9"(#*0$'.!(-0$.*9"%)/ :;;9!(-0$.*"+<(*;%/ "%#!**,($+!8($#*-0"9.*#"./ "%#!**,($+!8-9$'+*-0"9.*#"./ ,%("6%$.!9;%6!7#+'-$/ ,"%#34*#!=9'6(/ "%#!$>"#*(#'#,(/ (#+,-#!'+-0*?'()!'+-0/ (#+,-#!=.?':9$!8=.?':9$/

  • 0'+!8-;11/

(#+,-#!'(7'-$!811/

slide-16
SLIDE 16

KiPen ¡Run&me ¡Memory ¡Footprint ¡Bounded, ¡ Unlike ¡Generic ¡Linux ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

addr 0 top of memory 64 MB Kernel Memory

Used For Kernel Text/Data/Heap/Stack Page Tables

User Memory

Used For Application Text/Data/Heap/Stack ELF Excutables

Unified Page Pool

Used For User Memory Page Tables Slab Caches Buffer Cache Kernel Data etc.

Kitten Linux

slide-17
SLIDE 17

In ¡Prac&ce, ¡CLE’s ¡Footprint ¡is ¡Also ¡Bounded ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

0 B 100 MB 200 MB 300 MB 400 MB 500 MB 600 MB 700 MB 800 MB 900 MB Kitten CLE Size (bytes) Operating System Static Kernel Size Dynamic Kernel Size

slide-18
SLIDE 18

Example ¡of ¡OS ¡Cri&cal ¡State: ¡Page ¡Table ¡Entries ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡Correct ¡PTEs ¡criFcal ¡to ¡proper ¡execuFon ¡of ¡an ¡applicaFon ¡
  • ¡Both ¡Kiden ¡and ¡Linux ¡store ¡PTEs ¡in ¡kernel ¡memory ¡
  • ¡Memory ¡used ¡dependent ¡on ¡page ¡size ¡
  • ¡4K ¡pages: ¡2MB ¡per ¡GB ¡of ¡applicaFon ¡memory ¡
  • ¡2MB ¡pages: ¡8KB ¡per ¡GB ¡of ¡applicaFon ¡memory ¡
  • ¡1GB ¡pages: ¡8B ¡per ¡GB ¡of ¡applicaFon ¡memory ¡
  • ¡Kiden ¡always ¡able ¡to ¡use ¡larger ¡page ¡size ¡due ¡to ¡its ¡segment-­‑based, ¡staFc ¡memory ¡

allocaFon ¡policy ¡

  • ¡Linux ¡adempts ¡to ¡use ¡larger ¡page ¡size ¡but ¡fragmentaFon ¡is ¡an ¡issue ¡
  • ¡Kiden’s ¡determinisFc ¡page ¡mappings ¡makes ¡PTE ¡verificaFon ¡as ¡easy ¡as ¡storing ¡a ¡base ¡

and ¡offset. ¡ ¡Linux ¡verificaFon ¡much ¡more ¡complicated ¡

  • ¡Note: ¡when ¡a ¡corrected ¡PTE ¡is ¡found, ¡computaFon ¡must ¡rollback ¡as ¡corrupted ¡value ¡

may ¡have ¡been ¡used ¡

slide-19
SLIDE 19

Summary ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡DRAM ¡failures ¡in ¡the ¡OS ¡a ¡common ¡error ¡on ¡current ¡systems ¡and ¡expected ¡to ¡increase ¡

in ¡frequency ¡

  • ¡An ¡OS ¡resilient ¡to ¡these ¡failures ¡criFcal ¡to ¡scalability ¡of ¡extreme-­‑scale ¡systems ¡
  • ¡In ¡this ¡work ¡we ¡focus ¡on ¡two ¡HPC ¡OSs ¡likely ¡seen ¡on ¡extreme-­‑scale ¡system: ¡Kiden ¡and ¡

Linux ¡

  • ¡Presented ¡the ¡complexity ¡of ¡each ¡OS ¡in ¡term ¡of ¡SLOC ¡count, ¡examine ¡memory ¡

footprint, ¡and ¡evaluate ¡vulnerability ¡of ¡criFcal ¡state ¡

  • ¡Overall, ¡our ¡results ¡suggest ¡hardening ¡the ¡Kiden ¡LWK ¡to ¡be ¡more ¡tractable ¡due ¡to ¡its ¡

smaller, ¡determinisFc ¡state ¡ ¡

slide-20
SLIDE 20

Current ¡and ¡Ongoing ¡Work ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

  • ¡Kiden ¡our ¡iniFal ¡target ¡for ¡invesFgaFon ¡due ¡to ¡its ¡smaller, ¡simpler, ¡and ¡largely ¡staFc ¡

state ¡

  • ¡ ¡IdenFficaFon ¡of ¡criFcal ¡state ¡nearly ¡complete ¡
  • ¡ConducFng ¡analysis ¡of ¡failure ¡miFgaFon ¡methods, ¡outlining ¡both ¡the ¡space ¡and ¡

performance ¡overheads ¡

  • ¡Where ¡appropriate, ¡mechanisms ¡being ¡evaluated ¡for ¡Linux ¡
  • ¡Developed ¡library ¡to ¡also ¡allow ¡applicaFons ¡to ¡recovery ¡from ¡memory ¡failures ¡while ¡

avoiding ¡rollback ¡

  • ¡Errors ¡in ¡the ¡OS ¡beyond ¡DRAM ¡also ¡being ¡evaluated ¡
slide-21
SLIDE 21

Acknowledgements ¡

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

This work is supported by the Sandia National Laboratories Laboratory Directed Research and Development (LDRD) program

¡9lives ¡Resilience ¡Group: ¡ ¡ ¡ ¡

  • ¡Sandia ¡
  • ¡UNM ¡
  • ¡IBM ¡
  • ¡NCSU ¡
  • ¡ASU ¡
slide-22
SLIDE 22

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

DOE ¡Exascale ¡OS/RunFme ¡Technical ¡Council ¡

  • Summarize ¡the ¡challenges ¡of ¡exascale ¡OS/R ¡
  • Assess ¡the ¡impact ¡on ¡OS/R ¡of ¡exascale ¡requirements ¡of ¡faciliFes ¡

and ¡producFon ¡support, ¡applicaFons ¡and ¡programming ¡models, ¡ and ¡hardware ¡architectures ¡

  • Describe ¡a ¡model ¡to ¡interact ¡with ¡vendors ¡such ¡that ¡there ¡can ¡be ¡

proprietary ¡innovaFon ¡but ¡sFll ¡support ¡specific ¡APIs ¡that ¡allow ¡ interoperability/portability ¡and ¡a ¡minimum ¡set ¡of ¡requirements ¡for ¡ funcFonality ¡

  • IdenFfy ¡promising ¡approaches ¡to ¡challenges ¡and ¡requirements ¡by ¡

engaging ¡the ¡HPC ¡research ¡community ¡and ¡by ¡drawing ¡on ¡novel ¡ approaches ¡from ¡other ¡related ¡areas ¡such ¡as ¡embedded ¡compuFng ¡ and ¡cloud ¡compuFng ¡

  • ArFculate ¡dependencies, ¡conflicFng ¡requirements, ¡and ¡prioriFes ¡of ¡

the ¡OS/R ¡research ¡agenda ¡

  • Submit ¡findings ¡to ¡the ¡DOE ¡Office ¡of ¡Science ¡and ¡NNSA ¡in ¡a ¡report ¡
slide-23
SLIDE 23

¡

ROSS’12, ¡June ¡29, ¡2012, ¡Venice, ¡Italy ¡ ¡

¡

hdps://collab.mcs.anl.gov/display/exaosr ¡ ¡