NEWS 394 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004
  1. This file describes changes in recent versions of Slurm. It primarily
  2. documents those changes that are of interest to users and administrators.
  3. * Changes in Slurm 16.05.2
  4. ==========================
  5. -- CRAY - Fix issue where the proctrack plugin could hang if the container
  6. id wasn't able to be made.
  7. -- Move test for job wait reason value of BurstBufferResources and
  8. BurstBufferStageIn later in the scheduling logic.
  9. -- Document which srun options apply to only job, only step, or job and step
  10. allocations.
  11. -- Use more compatible function to get thread name (>= 2.6.11).
  12. -- Fix order of job then step id when noting cleaning flag being set.
  13. -- Make it so the extern step sends a message with accounting information
  14. back to the slurmctld.
  15. -- Make it so the extern step calls the select_g_step_start|finish functions.
  16. -- Don't print error when extern step is canceled because job is ending.
  17. -- Handle a few error codes when dealing with the extern step to make sure
  18. we have the pids added to the system correctly.
  19. -- Add support for job dependencies with job array expressions. Previous logic
  20. required listing each task of job array individually.
  21. -- Make sure tres_cnt is set before creating a slurmdb_assoc_usage_t.
  22. -- Prevent backfill scheduler from starting a second "singleton" job if another
  23. one started during a backfill sleep.
  24. -- Fix for invalid array pointer when creating advanced reservation when job
  25. allocations span heterogeneous nodes (differing core or socket counts).
  26. -- Fix hostlist_ranged_string_xmalloc_dims to correctly not put brackets on
  27. hostlists when brackets == 0.
  28. -- Make sure we don't get brackets when making a range of reserved ports
  29. for a step.
  30. -- Change fatal to an error if port ranges aren't correct when reading state
  31. for steps.
  32. * Changes in Slurm 16.05.1
  33. ==========================
  34. -- Fix __cplusplus macro in spank.h to allow compilation with C++.
  35. -- Fix compile issue with older glibc < 2.12
  36. -- Fix for starting batch step with mpi/pmix plugin.
  37. -- Fix for "scontrol -dd show job" with respect to displaying the specific
  38. CPUs allocated to a job on each node. Prior logic would only display
  39. the CPU information for the first node in the job allocation.
  40. -- Print correct return code on failure to update active node features
  41. through sview.
  42. -- Allow QOS timelimit to override partition timelimit when EnforcePartLimits
  43. is set to all/any.
  44. -- Make it so qsub will do a "basename" on a wrapped command for the output
  45. and error files.
  46. -- Fix issue where slurmd could core when running the ipmi energy plugin.
  47. -- Documentation - clean up typos.
  48. -- Add logic so that slurmstepd can be launched under valgrind.
  49. -- Increase buffer size to read /proc/*/stat files.
  50. -- Fix for tracking job resource allocation when slurmctld is reconfigured
  51. while Cray Node Health Check (NHC) is running. Previous logic would fail to
  52. record the job's allocation then perform release operation upon NHC
  53. completion, resulting in underflow error messages.
  54. -- Make "scontrol show daemons" work with long node names.
  55. -- CRAY - Collect energy using a uint64_t instead of uint32_t.
  56. -- Fix incorrect if statements when determining if the user has a default
  57. account or wckey.
  58. -- Prevent job stuck in configuring state if slurmctld daemon restarted while
  59. PrologSlurmctld is running. Also re-issue burst_buffer/pre-load operation
  60. as needed.
  61. -- Correct task affinity support for FreeBSD.
  62. -- Fix for task affinity on KNL in SNC2/Flat mode.
  63. -- Recalculate a job's memory allocation after node reboot if job requests all
  64. of a node's memory and FastSchedule=0 is configured. Intel KNL memory size
  65. can change on reboot with various MCDRAM modes.
  66. -- Fix small memory leak when printing HealthCheckNodeState.
  67. -- Eliminate memory leaks when AuthInfo is configured.
  68. -- Improve sdiag output description in man page.
  69. -- Cray/capmc_resume script modify a node's features (as needed) when the
  70. reinit (reboot) command is issued rather than wait for the nodes to change
  71. to the "on" state.
  72. -- Correctly print ranges when using step values in job arrays.
  73. -- Allow from file names / paths over 256 characters when launching steps,
  74. as well as spaces in the executable name.
  75. -- job_submit.license.lua example modified to send message back to user.
  76. -- Document job --mem=0 option means all memory on a node.
  77. -- Set SLURM_JOB_QOS environment variable to QOS name instead of description.
  78. -- knl_cray.conf file option of CnselectPath added.
  79. -- node_features/knl_cray plugin modified to get current node NUMA and MCDRAM
  80. modes using cnselect command rather than capmc command.
  81. -- liblua - add SLES12 paths to runtime search list.
  82. -- Fix qsub default output and error files for task arrays.
  83. -- Fix qsub to set job_name correctly when wrapping a script (-b y)
  84. -- Cray - set EnforcePartLimits=any in slurm.conf template.
  85. * Changes in Slurm 16.05.0
  86. ==========================
  87. -- Update seff to fix warnings with ncpus, and list slurm-perlapi dependency
  88. in spec file.
  89. -- Fix testsuite to consistent use /usr/bin/env {bash,expect} construct.
  90. -- Cray - Ensure that step completion messages get to the database.
  91. -- Fix step cpus_per_task calculation for heterogeneous job allocation.
  92. -- Fix --with-json= configure option to use specified path.
  93. -- Add back thread_id to "thread_id" LogTimeFormat to distinguish between
  94. mutliple threads with the same name. Now displays thread name and id.
  95. -- Change how Slurm determines the NUMA count of a node. Ignore KNL NUMA
  96. that only include memory.
  97. -- Cray - Fix node list parsing in capmc_suspend/resume programs.
  98. -- Fix sbatch #BSUB parsing for -W and -M options.
  99. -- Fix GRES task layout bug that could cause slurmctld to abort.
  100. -- Fix to --gres-flags=enforce-binding logic when multiple sockets needed.
  101. * Changes in Slurm 16.05.0rc2
  102. =============================
  103. -- Cray node shutdown/reboot scripts, perform operations on all nodes in one
  104. capmc command. Only if that fails, issue the operations in parallel on
  105. individual nodes. Required for scalability.
  106. -- Cleanup two minor Coverity warnings.
  107. -- Make it so the tres units in a job's formatted string are converted like
  108. they are in a step.
  109. -- Correct partition's MaxCPUsPerNode enforcement when nodes are shared by
  110. multiple partitions.
  111. -- node_feature/knl_cray - Prevent slurmctld GRES errors for "hbm" references.
  112. -- Display thread name instead of thread id and remove process name in stderr
  113. logging for "thread_id" LogTimeFormat.
  114. -- Log IP address of bad incomming message to slurmctld.
  115. -- If a user requests tasks, nodes and ntasks-per-node and
  116. tasks-per-node/nodes != tasks print warning and ignore ntasks-per-node.
  117. -- Release CPU "owner" file locks.
  118. -- Fix for job step memory allocation: Reject invalid step at submit time
  119. rather than leaving it queued.
  120. -- Whenever possible, avoid allocating nodes that require a reboot.
  121. * Changes in Slurm 16.05.0rc1
  122. ==============================
  123. -- Remove the SchedulerParameters option of "assoc_limit_continue", making it
  124. the default value. Add option of "assoc_limit_stop". If "assoc_limit_stop"
  125. is set and a job cannot start due to association limits, then do not attempt
  126. to initiate any lower priority jobs in that partition. Setting this can
  127. decrease system throughput and utlization, but avoid potentially starving
  128. larger jobs by preventing them from launching indefinitely.
  129. -- Update a node's socket and cores per socket counts as needed after a node
  130. boot to reflect configuration changes which can occur on KNL processors.
  131. Note that the node's total core count must not change, only the distribution
  132. of cores across varying socket counts (KNL NUMA nodes treated as sockets by
  133. Slurm).
  134. -- Rename partition configuration from "Shared" to "OverSubscribe". Rename
  135. salloc, sbatch, srun option from "--shared" to "--oversubscribe". The old
  136. options will continue to function. Output field names also changed in
  137. scontrol, sinfo, squeue and sview.
  138. -- Add SLURM_UMASK environment variable to user job.
  139. -- knl_conf: Added new configuration parameter of CapmcPollFreq.
  140. -- squeue: remove errant spaces in column formats for "squeue -o %all".
  141. -- Add ARRAY_TASKS mail option to send emails to each task in a job array.
  142. -- Change default compression library for sbcast to lz4.
  143. -- select/cray - Initiate step node health check at start of step termination
  144. rather than after application completely ends so that NHC can capture
  145. information about hung (non-killable) processes.
  146. -- Add --units=[KMGTP] option to sacct to display values in specific unit type.
  147. -- Modify sacct and sacctmgr to display TRES values in converted units.
  148. -- Modify sacctmgr to accept TRES values with [KMGTP] suffixes.
  149. -- Replace hash function with more modern SipHash functions.
  150. -- Add "--with-cray_dir" build/configure option.
  151. -- BB- Only send stage_out email when stage_out is set in script.
  152. -- Add r/w locking to file_bcast receive functions in slurmd.
  153. -- Add TopologyParam option of "TopoOptional" to optimize network topology
  154. only for jobs requesting it.
  155. -- Fix build on FreeBSD.
  156. -- Configuration parameter "CpuFreqDef" used to set default governor for job
  157. step not specifying --cpu-freq (previously the parameter was unused).
  158. -- Fix sshare -o<format> to correctly display new lengths.
  159. -- Update documentation to rename Shared option to OverSubscribe.
  160. -- Update documentation to rename partition Priority option to PriorityTier.
  161. -- Prevent changing of QOS on running jobs.
  162. -- Update accounting when changing QOS on pending jobs.
  163. -- Add support to ntasks_per_socket in task/affinity.
  164. -- Generate init.d and systemd service scripts in etc/ through Make rather
  165. than at configure time to ensure all variable substitutions happen.
  166. -- Use TaskPluginParam for default task binding if no user specified CPU
  167. binding. User --cpu_bind option takes precident over default. No longer
  168. any error if user --cpu_bind option does not match TaskPluginParam.
  169. -- Make sacct and sattach work with older slurmd versions.
  170. -- Fix protocol handling between 15.08 and 16.05 for 'scontrol show config'.
  171. -- Enable prefixes (e.g. info, debug, etc.) in slurmstepd debugging.
  172. * Changes in Slurm 16.05.0pre2
  173. ==============================
  174. -- Split partition's "Priority" field into "PriorityTier" (used to order
  175. partitions for scheduling and preemption) plus "PriorityJobFactor" (used by
  176. priority/multifactor plugin in calculating job priority, which is used to
  177. order jobs within a partition for scheduling).
  178. -- Revert call to getaddrinfo, restoring gethostbyaddr (introduced in Slurm
  179. 16.05.0pre1) which was failing on some systems.
  180. -- knl_cray.conf - Added AllowMCDRAM, AllowNUMA and ALlowUserBoot
  181. configuration options.
  182. -- Add node_features_p_user_update() function to node_features plugin.
  183. -- Don't print Weight=1 lines in 'scontrol write config' (its the default).
  184. -- Remove PARAMS macro from slurm.h.
  185. -- Remove BEGIN_C_DECLS and END_C_DECLS macros.
  186. -- Check that PowerSave mode configured for node_features/knl_cray plugin.
  187. It is required to reconfigure and reboot nodes.
  188. -- Update documentation to reflect new cgroup default location change from
  189. /cgroup to /sys/fs/cgroup.
  190. -- If NodeHealthCheckProgram configured HealthCheckInterval is non-zero, then
  191. modify slurmd to run it before registering with slurmctld.
  192. -- Fix for tasks being packed onto cores when the requested --cpus-per-task is
  193. greater than the number of threads on a core and --ntasks-per-core is 1.
  194. -- Make it so jobs/steps track ':' named gres/tres, before hand gres/gpu:tesla
  195. would only track gres/gpu, now it will track both gres/gpu and
  196. gres/gpu:tesla as separate gres if configured like
  197. AccountingStorageTRES=gres/gpu,gres/gpu:tesla
  198. -- Added new job dependency type of "aftercorr" which will start a task of a
  199. job array after the corresponding task of another job array completes.
  200. -- Increase default MaxTasksPerNode configuration parameter from 128 to 512.
  201. -- Enable sbcast data compression logic (compress option previously ignored).
  202. -- Add --compress option to srun command for use with --bcast option.
  203. -- Add TCPTimeout option to slurm[dbd].conf. Decouples MessageTimeout from TCP
  204. connections.
  205. -- Don't call primary controller for every RPC when backup is in control.
  206. -- Add --gres-flags=enforce-binding option to salloc, sbatch and srun commands.
  207. If set, the only CPUs available to the job will be those bound to the
  208. selected GRES (i.e. the CPUs identifed in the gres.conf file will be
  209. strictly enforced rather than advisory).
  210. -- Change how a node's allocated CPU count is calculated to avoid double
  211. counting CPUs allocated to multiple jobs at the same time.
  212. -- Added SchedulingParameters option of "bf_min_prio_reserve". Jobs below
  213. the specified threshold will not have resources reserved for them.
  214. -- Added "sacctmgr show lostjobs" to report any orphaned jobs in the database.
  215. -- When a stepd is about to shutdown and send it's response to srun
  216. make the wait to return data only hit after 500 nodes and configurable
  217. based on the TcpTimeout value.
  218. -- Add functionality to reset the lft and rgt values of the association table
  219. with the slurmdbd.
  220. -- Add SchedulerParameter no_env_cache, if set no env cache will be use when
  221. launching a job, instead the job will fail and drain the node if the env
  222. isn't loaded normally.
  223. * Changes in Slurm 16.05.0pre1
  224. ==============================
  225. -- Add sbatch "--wait" option that waits for job completion before exiting.
  226. Exit code will match that of spawned job.
  227. -- Modify advanced reservation save/restore logic for core reservations to
  228. support configuration changes (changes in configured nodes or cores counts).
  229. -- Allow ControlMachine, BackupController, DbdHost and DbdBackupHost to be
  230. either short or long hostname.
  231. -- Job output and error files can now contain "%" character by specifying
  232. a file name with two consecutive "%" characters. For example,
  233. "sbatch -o "slurm.%%.%j" for job ID 123 will generate an output file named
  234. "slurm.%.123".
  235. -- Pass user name in Prolog RPC from controller to slurmd when using
  236. PrologFlags=Alloc. Allows SLURM_JOB_USER env variable to be set when using
  237. Native Slurm on a Cray.
  238. -- Add "NumTasks" to job information visible to Slurm commands.
  239. -- Add mail wrapper script "smail" that will include job statistics in email
  240. notification messages.
  241. -- Remove vestigial "SICP" job option (inter-cluster job option). Completely
  242. different logic will be forthcoming.
  243. -- Fix case where the primary and backup dbds would both be performing rollup.
  244. -- Add an ack reply from slurmd to slurmstepd when job setup is done and the
  245. job is ready to be executed.
  246. -- Removed support for authd. authd has not been developed and supported since
  247. several years.
  248. -- Introduce a new parameter requeue_setup_env_fail in SchedulerParameters.
  249. A job that fails to setup the environment will be requeued and the node
  250. drained.
  251. -- Add ValidateTimeout and OtherTimeout to "scontrol show burst" output.
  252. -- Increase default sbcast buffer size from 512KB to 8MB.
  253. -- Enable the hdf5 profiling of the batch step.
  254. -- Eliminate redundant environment and script files for job arrays.
  255. -- Stop searching sbatch scripts for #PBS directives after 100 lines of
  256. non-comments. Stop parsing #PBS or #SLURM directives after 1024 characters
  257. into a line. Required for decent perforamnce with huge scripts.
  258. -- Add debug flag for timing Cray portions of the code.
  259. -- Remove all *.la files from RPMs.
  260. -- Add Multi-Category Security (MCS) infrastructure to permit nodes to be bound
  261. to specific users or groups.
  262. -- Install the pmi2 unix sockets in slurmd spool directory instead of /tmp.
  263. -- Implement the getaddrinfo and getnameinfo instead of gethostbyaddr and
  264. gethostbyname.
  265. -- Finished PMIx implementation.
  266. -- Implemented the --without=package option for configure.
  267. -- Fix sshare to show each individual cluster with -M,--clusters option.
  268. -- Added --deadline option to salloc, sbatch and srun. Jobs which can not be
  269. completed by the user specified deadline will be terminated with a state of
  270. "Deadline" or "DL".
  271. -- Implemented and documented PMIX protocol which is used to bootstrap an
  272. MPI job. PMIX is an alternative to PMI and PMI2.
  273. -- Change default CgroupMountpoint (in cgroup.conf) from "/cgroup" to
  274. "/sys/fs/cgroup" to match current standard.
  275. -- Add #BSUB options to sbatch to read in from the batch script.
  276. -- HDF: Change group name of node from nodename to nodeid.
  277. -- The partition-specific SelectTypeParameters parameter can now be used to
  278. change the memory allocation tracking specification in the global
  279. SelectTypeParameters configuration parameter. Supported partition-specific
  280. values are CR_Core, CR_Core_Memory, CR_Socket and CR_Socket_Memory. If the
  281. global SelectTypeParameters value includes memory allocation management and
  282. the partition-specific value does not, then memory allocation management for
  283. that partition will NOT be supported (i.e. memory can be over-allocated).
  284. Likewise the global SelectTypeParameters might not include memory management
  285. while the partition-specific value does.
  286. -- Burst buffer/cray - Add support for multiple buffer pools including support
  287. for different resource granularity by pool.
  288. -- Burst buffer advanced reservation units treated as bytes (per documentation)
  289. rather than GB.
  290. -- Add an "scontrol top <jobid>" command to re-order the priorities of a user's
  291. pending jobs. May be disabled with the "disable_user_top" option in the
  292. SchedulerParameters configuration parameter.
  293. -- Modify sview to display negative job nice values.
  294. -- Increase job's nice value field from 16 to 32 bits.
  295. -- Remove deprecated job_submit/cnode plugin.
  296. -- Enhance slurm.conf option EnforcePartLimit to include options like "ANY" and
  297. "ALL". "Any" is equivalent to "Yes" and "All" will check all partitions
  298. a job is submitted to and if any partition limit is violated the job will
  299. be rejected even if it could possibly run on another partition.
  300. -- Add "features_act" field (currently active features) to the node
  301. information. Output of scontrol, sinfo, and sview changed accordingly.
  302. The field previously displayed as "Features" is now "AvailableFeatures"
  303. while the new field is displayed as "ActiveFeatures".
  304. -- Remove Sun Constellation, IBM Federation Switches (replaced by NRT switch
  305. plugin) and long-defunct Quadrics Elan support.
  306. -- Add -M<clusters> option to sreport.
  307. -- Rework group caching to work better in environments with
  308. enumeration disabled. Removed CacheGroups config directive, group
  309. membership lists are now always cached, controlled by
  310. GroupUpdateTime parameter. GroupUpdateForce parameter default
  311. value changed to 1.
  312. -- Add reservation flag of "purge_comp" which will purge an advanced
  313. reservation once it has no more active (pending, suspended or running) jobs.
  314. -- Add new configuration parameter "KNLPlugins" and plugin infrastructure.
  315. -- Add optional job "features" to node reboot RPC.
  316. -- Add slurmd "-b" option to report node rebooted at daemon start time. Used
  317. for testing purposes.
  318. -- contribs/cray: Add framework for powering nodes up and down.
  319. -- For job constraint, convert comma separator to "&".
  320. -- Add Max*PerAccount options for QOS.
  321. -- Protect slurm_mutex_* calls with abort() on failure.
  322. * Changes in Slurm 15.08.13
  323. ===========================
  324. -- Fix issue where slurmd could core when running the ipmi energy plugin.
  325. -- Print correct return code on failure to update node features through sview.
  326. -- Documentation - cleanup typos.
  327. -- Add logic so that slurmstepd can be launched under valgrind.
  328. -- Increase buffer size to read /proc/*/stat files.
  329. -- MYSQL - Handle ER_HOST_IS_BLOCKED better by failing when it occurs instead
  330. of continuously printing the message over and over as the problem will
  331. most likely not resolve itself.
  332. -- Add --disable-bluegene to configure. This will make it so Slurm
  333. can work on a BGAS node.
  334. -- Prevent job stuck in configuring state if slurmctld daemon restarted while
  335. PrologSlurmctld is running.
  336. -- Handle association correctly if using FAIR_TREE as well as shares=Parent
  337. -- Fix race condition when setting priority of a job and the association
  338. doesn't have a parent.
  339. -- MYSQL - Fix issue with adding a reservation if the name has single quotes in
  340. it.
  341. -- Correctly print ranges when using step values in job arrays.
  342. -- Fix for invalid array pointer when creating advanced reservation when job
  343. allocations span heterogeneous nodes (differing core or socket counts).
  344. * Changes in Slurm 15.08.12
  345. ===========================
  346. -- Do not attempt to power down a node which has never responded if the
  347. slurmctld daemon restarts without state.
  348. -- Fix for possible slurmstepd segfault on invalid user ID.
  349. -- MySQL - Fix for possible race condition when archiving multiple clusters
  350. at the same time.
  351. -- Fix compile for when you don't have hwloc.
  352. -- Fix issue where daemons would only listen on specific address given in
  353. slurm.conf instead of all. If looking for specific addresses use
  354. TopologyParam options No*InAddrAny.
  355. -- Cray - Better robustness when dealing with the aeld interface.
  356. -- job_submit.lua - add array_inx value for job arrays.
  357. -- Perlapi - Remove unneeded/undefined mutex.
  358. -- Fix issue when TopologyParam=NoInAddrAny is set the responses wouldn't
  359. make it to the slurmctld when using message aggregation.
  360. -- MySQL - Fix potential memory leak when rolling up data.
  361. -- Fix issue with clustername file when running on NFS with root_squash.
  362. -- Fix race condition with respects to cleaning up the profiling threads
  363. when in use.
  364. -- Fix issues when building on NetBSD.
  365. -- Fix jobcomp/elasticsearch build when libcurl is installed in a
  366. non-standard location.
  367. -- Fix MemSpecLimit to explicitly require TaskPlugin=task/cgroup and
  368. ConstrainRAMSpace set in cgroup.conf.
  369. -- MYSQL - Fix order of operations issue where if the database is locked up
  370. and the slurmctld doesn't wait long enough for the response it would give
  371. up leaving the connection open and create a situation where the next message
  372. sent could receive the response of the first one.
  373. -- Fix CFULL_BLOCK distribution type.
  374. -- Prevent sbatch from trying to enable debug messages when using job arrays.
  375. -- Prevent sbcast from enabling "--preserve" when specifying a jobid.
  376. -- Prevent wrong error message from spank plugin stack on GLOB_NOSPACE error.
  377. -- Fix proctrack/lua plugin to prevent possible deadlock.
  378. -- Prevent infinite loop in slurmstepd if execve fails.
  379. -- Prevent multiple responses to REQUEST_UPDATE_JOB_STEP message.
  380. -- Prevent possible deadlock in acct_gather_filesystem/lustre on error.
  381. -- Make it so --mail-type=NONE didn't throw an invalid error.
  382. -- If no default account is given for a user when creating (only a list of
  383. accounts) no default account is printed, previously NULL was printed.
  384. -- Fix for tracking a node's allocated CPUs with gang scheduling.
  385. -- Fix Hidden error during _rpc_forward_data call.
  386. -- Fix bug resulting from wrong order-of-operations in _connect_srun_cr(),
  387. and two others that cause incorrect debug messages.
  388. -- Fix backwards compatibility with sreport going to <= 14.11 coming from
  389. >= 15.08 for some reports.
  390. * Changes in Slurm 15.08.11
  391. ===========================
  392. -- Fix for job "--contiguous" option that could cause job allocation/launch
  393. failure or slurmctld crash.
  394. -- Fix to setup logs for single-character program names correctly.
  395. -- Backfill scheduling performance enhancement with large number of running
  396. jobs.
  397. -- Reset job's prolog_running counter on slurmctld restart or reconfigure.
  398. -- burst_buffer/cray - Update job's prolog_running counter if pre_run fails.
  399. -- MYSQL - Make the error message more specific when removing a reservation
  400. and it doesn't meet basic requirements.
  401. -- burst_buffer/cray - Fix for script creating or deleting persistent buffer
  402. would fail "paths" operation and hold the job.
  403. -- power/cray - Prevent possible divide by zero.
  404. -- power/cray - Fix bug introduced in 15.08.10 preventin operation in many
  405. cases.
  406. -- Prevent deadlock for flow of data to the slurmdbd when sending reservation
  407. that wasn't set up correctly.
  408. -- burst_buffer/cray - Don't call Datawarp "paths" function if script includes
  409. only create or destroy of persistent burst buffer. Some versions of Datawarp
  410. software return an error for such scripts, causing the job to be held.
  411. -- Fix potential issue when adding and removing TRES which could result
  412. in the slurmdbd segfaulting.
  413. -- Add cast to memory limit calculation to prevent integer overflow for
  414. very large memory values.
  415. -- Bluegene - Fix issue with reservations resizing under the covers on a
  416. restart of the slurmctld.
  417. -- Avoid error message of "Requested cpu_bind option requires entire node to
  418. be allocated; disabling affinity" being generated in some cases where
  419. task/affinity and task/cgroup plugins used together.
  420. -- Fix version issue when packing GRES information between 2 different versions
  421. of Slurm.
  422. -- Fix for srun hanging with OpenMPI and PMIx
  423. -- Better initialization of node_ptr when dealing with protocol_version.
  424. -- Fix incorrect type when initializing header of a message.
  425. -- MYSQL - Fix incorrect usage of limit and union.
  426. -- MYSQL - Remove 'ignore' from alter ignore when updating a table.
  427. -- Documentation - update prolog_epilog page to reflect current behavior
  428. if the Prolog fails.
  429. -- Documentation - clarify behavior of 'srun --export=NONE' in man page.
  430. -- Fix potential gres underflow on restart of slurmctld.
  431. -- Fix sacctmgr to remove a user who has no associations.
  432. * Changes in Slurm 15.08.10
  433. ===========================
  434. -- Fix issue where if a slurmdbd rollup lasted longer than 1 hour the
  435. rollup would effectively never run again.
  436. -- Make error message in the pmi2 code to debug as the issue can be expected
  437. and retries are done making the error message a little misleading.
  438. -- Power/cray: Don't specify NID list to Cray APIs. If any of those nodes are
  439. not in a ready state, the API returned an error for ALL nodes rather than
  440. valid data for nodes in ready state.
  441. -- Fix potential divide by zero when tree_width=1.
  442. -- checkpoint/blcr plugin: Fix memory leak.
  443. -- If using PrologFlags=contain: Don't launch the extern step if a job is
  444. cancelled while launching.
  445. -- Remove duplicates from AccountingStorageTRES
  446. -- Fix backfill scheduler race condition that could cause invalid pointer in
  447. select/cons_res plugin. Bug introduced in 15.08.9.
  448. -- Avoid double calculation on partition QOS if the job is using the same QOS.
  449. -- Do not change a job's time limit when updating unrelated field in a job.
  450. -- Fix situation on a heterogeneous memory cluster where the order of
  451. constraints mattered in a job.
  452. * Changes in Slurm 15.08.9
  453. ==========================
  454. -- BurstBuffer/cray - Defer job cancellation or time limit while "pre-run"
  455. operation in progress to avoid inconsistent state due to multiple calls
  456. to job termination functions.
  457. -- Fix issue with resizing jobs and limits not be kept track of correctly.
  458. -- BGQ - Remove redeclaration of job_read_lock.
  459. -- BGQ - Tighter locks around structures when nodes/cables change state.
  460. -- Make it possible to change CPUsPerTask with scontrol.
  461. -- Make it so scontrol update part qos= will take away a partition QOS from
  462. a partition.
  463. -- Fix issue where SocketsPerBoard didn't translate to Sockets when CPUS=
  464. was also given.
  465. -- Add note to slurm.conf man page about setting "--cpu_bind=no" as part
  466. of SallocDefaultCommand if a TaskPlugin is in use.
  467. -- Set correct reason when a QOS' MaxTresMins is violated.
  468. -- Insure that a job is completely launched before trying to suspend it.
  469. -- Remove historical presentations and design notes. Only distribute
  470. maintained doc/html and doc/man directories.
  471. -- Remove duplicate xmalloc() in task/cgroup plugin.
  472. -- Backfill scheduler to validate correct job partition for job submitted to
  473. multiple partitions.
  474. -- Force close on exec on first 256 file descriptors when launching a
  475. slurmstepd to close potential open ones.
  476. -- Step GRES value changed from type "int" to "int64_t" to support larger
  477. values.
  478. -- Fix getting reservations to database when database is down.
  479. -- Fix issue with sbcast not doing a correct fanout.
  480. -- Fix issue where steps weren't always getting the gres/tres involved.
  481. -- Fixed double read lock on getting job's gres/tres.
  482. -- Fix display for RoutePlugin parameter to display the correct value.
  483. -- Fix route/topology plugin to prevent segfault in sbcast when in use.
  484. -- Fix Cray slurmconfgen_smw.py script to use nid as nid, not nic.
  485. -- Fix Cray NHC spawning on job requeue. Previous logic would leave nodes
  486. allocated to a requeued job as non-usable on job termination.
  487. -- burst_buffer/cray plugin: Prevent a requeued job from being restarted while
  488. file stage-out is still in progress. Previous logic could restart the job
  489. and not perform a new stage-in.
  490. -- Fix job array formatting to allow return [0-100:2] display for arrays with
  491. step functions rather than [0,2,4,6,8,...] .
  492. -- FreeBSD - replace Linux-specific set_oom_adj to avoid errors in slurmd log.
  493. -- Add option for TopologyParam=NoInAddrAnyCtld to make the slurmctld listen
  494. on only one port like TopologyParam=NoInAddrAny does for everything else.
  495. -- Fix burst buffer plugin to prevent corruption of the CPU TRES data when bb
  496. is not set as an AccountingStorageTRES type.
  497. -- Surpress error messages in acct_gather_energy/ipmi plugin after repeated
  498. failures.
  499. -- Change burst buffer use completion email message from
  500. "SLURM Job_id=1360353 Name=tmp Staged Out, StageOut time 00:01:47" to
  501. "SLURM Job_id=1360353 Name=tmp StageOut/Teardown time 00:01:47"
  502. -- Generate burst buffer use completion email immediately afer teardown
  503. completes rather than at job purge time (likely minutes later).
  504. -- Fix issue when adding a new TRES to AccountingStorageTRES for the first
  505. time.
  506. -- Update gang scheduling tables when job manually suspended or resumed. Prior
  507. logic could mess up job suspend/resume sequencing.
  508. -- Update gang scheduling data structures when job changes in size.
  509. -- Associations - prevent hash table corruption if uid initially unset for
  510. a user, which can cause slurmctld to crash if that user is deleted.
  511. -- Avoid possibly aborting srun on SIGSTOP while creating the job step due to
  512. threading bug.
  513. -- Fix deadlock issue with burst_buffer/cray when a newly created burst
  514. buffer is found.
  515. -- burst_buffer/cray: Set environment variables just before starting job rather
  516. than at job submission time to reflect persistent buffers created or
  517. modified while the job is pending.
  518. -- Fix check of per-user qos limits on the initial run by a user.
  519. -- Fix gang scheduling resource selection bug which could prevent multiple jobs
  520. from being allocated the same resources. Bug was introduced in 15.08.6.
  521. -- Don't print the Rgt value of an association from the cache as it isn't
  522. kept up to date.
  523. -- burst_buffer/cray - If the pre-run operation fails then don't issue
  524. duplicate job cancel/requeue unless the job is still in run state. Prevents
  525. jobs hung in COMPLETING state.
  526. -- task/cgroup - Fix bug in task binding to CPUs.
  527. * Changes in Slurm 15.08.8
  528. ==========================
  529. -- Backfill scheduling properly synchronized with Cray Node Health Check.
  530. Prior logic could result in highest priority job getting improperly
  531. postponed.
  532. -- Make it so daemons also support TopologyParam=NoInAddrAny.
  533. -- If scancel is operating on large number of jobs and RPC responses from
  534. slurmctld daemon are slow then introduce a delay in sending the cancel job
  535. requests from scancel in order to reduce load on slurmctld.
  536. -- Remove redundant logic when updating a job's task count.
  537. -- MySQL - Fix querying jobs with reservations when the id's have rolled.
  538. -- Perl - Fix use of uninitialized variable in slurm_job_step_get_pids.
  539. -- Launch batch job requsting --reboot after the boot completes.
  540. -- Move debug messages like "not the right user" from association manager
  541. to debug3 when trying to find the correct association.
  542. -- Fix incorrect logic when querying assoc_mgr information.
  543. -- Move debug messages to debug3 notifying a gres_bit_alloc was NULL for
  544. gres types without a file.
  545. -- Sanity Check Patch to setup variables for RAPL if in a race for it.
  546. -- GRES - Fix minor typecast issues.
  547. -- burst_buffer/cray - Increase size of intermediate variable used to store
  548. buffer byte size read from DW instance from 32 to 64-bits to avoid overflow
  549. and reporting invalid buffer sizes.
  550. -- Allow an existing reservation with running jobs to be modified without
  551. Flags=IGNORE_JOBS.
  552. -- srun - don't attempt to execve() a directory with a name matching the
  553. requested command
  554. -- Do not automatically relocate an advanced reservation for individual cores
  555. that spans multiple nodes when nodes in that reservation go down (e.g.
  556. a 1 core reservation on node "tux1" will be moved if node "tux1" goes
  557. down, but a reservation containing 2 cores on node "tux1" and 3 cores on
  558. "tux2" will not be moved node "tux1" goes down). Advanced reservations for
  559. whole nodes will be moved by default for down nodes.
  560. -- Avoid possible double free of memory (and likely abort) for slurmctld in
  561. background mode.
  562. -- contribs/cray/csm/slurmconfgen_smw.py - avoid including repurposed compute
  563. nodes in configs.
  564. -- Support AuthInfo in slurmdbd.conf that is different from the value in
  565. slurm.conf.
  566. -- Fix build on FreeBSD 10.
  567. -- Fix hdf5 build on ppc64 by using correct fprintf formatting for types.
  568. -- Fix cosmetic printing of NO_VALs in scontrol show assoc_mgr.
  569. -- Fix perl api for newer perl versions.
  570. -- Fix for jobs requesting cpus-per-task (eg. -c3) that exceed the number of
  571. cpus on a core.
  572. -- Remove unneeded perl files from the .spec file.
  573. -- Flesh out filters for scontrol show assoc_mgr.
  574. -- Add function to remove assoc_mgr_info_request_t members without freeing
  575. structure.
  576. -- Fix build on some non-glibc systems by updating includes.
  577. -- Add new PowerParameters options of get_timeout and set_timeout. The default
  578. set_timeout was increased from 5 seconds to 30 seconds. Also re-read current
  579. power caps periodically or after any failed "set" operation.
  580. -- Fix slurmdbd segfault when listing users with blank user condition.
  581. -- Save the ClusterName to a file in SaveStateLocation, and use that to
  582. verify the state directory belongs to the given cluster at startup to avoid
  583. corruption from multiple clusters attempting to share a state directory.
  584. -- MYSQL - Fix issue when rerolling monthly data to work off correct time
  585. period. This would only hit you if you rerolled a 15.08 prior to this
  586. commit.
  587. -- If FastSchedule=0 is used make sure TRES are set up correctly in accounting.
  588. -- Fix sreport's truncation of columns with large TRES and not using
  589. a parsing option.
  590. -- Make sure count of boards are restored when slurmctld has option -R.
  591. -- When determine if a job can fit into a TRES time limit after resources
  592. have been selected set the time limit appropriately if the job didn't
  593. request one.
  594. -- Fix inadequate locks when updating a partition's TRES.
  595. -- Add new assoc_limit_continue flag to SchedulerParameters.
  596. -- Avoid race in acct_gather_energy_cray if energy requested before available.
  597. -- MYSQL - Avoid having multiple default accounts when a user is added to
  598. a new account and making it a default all at once.
  599. * Changes in Slurm 15.08.7
  600. ==========================
  601. -- sched/backfill: If a job can not be started within the configured
  602. backfill_window, set it's start time to 0 (unknown) rather than the end
  603. of the backfill_window.
  604. -- Remove the 1024-character limit on lines in batch scripts.
  605. -- burst_buffer/cray: Round up swap size by configured granularity.
  606. -- select/cray: Log repeated aeld reconnects.
  607. -- task/affinity: Disable core-level task binding if more CPUs required than
  608. available cores.
  609. -- Preemption/gang scheduling: If a job is suspended at slurmctld restart or
  610. reconfiguration time, then leave it suspended rather than resume+suspend.
  611. -- Don't use lower weight nodes for job allocation when topology/tree used.
  612. -- BGQ - If a cable goes into error state remove the under lying block on
  613. a dynamic system and mark the block in error on a static/overlap system.
  614. -- BGQ - Fix regression in 9cc4ae8add7f where blocks would be deleted on
  615. static/overlap systems when some hardware issue happens when restarting
  616. the slurmctld.
  617. -- Log if CLOUD node configured without a resume/suspend program or suspend
  618. time.
  619. -- MYSQL - Better locking around g_qos_count which was previously unprotected.
  620. -- Correct size of buffer used for jobid2str to avoid truncation.
  621. -- Fix allocation/distribution of tasks across multiple nodes when
  622. --hint=nomultithread is requested.
  623. -- If a reservation's nodes value is "all" then track the current nodes in the
  624. system, even if those nodes change.
  625. -- Fix formatting if using "tree" option with sreport.
  626. -- Make it so sreport prints out a line for non-existent TRES instead of
  627. error message.
  628. -- Set job's reason to "Priority" when higher priority job in that partition
  629. (or reservation) can not start rather than leaving the reason set to
  630. "Resources".
  631. -- Fix memory corruption when a new non-generic TRES is added to the
  632. DBD for the first time. The corruption is only noticed at shutdown.
  633. -- burst_buffer/cray - Improve tracking of allocated resources to handle race
  634. condition when reading state while buffer allocation is in progress.
  635. -- If a job is submitted only with -c option and numcpus is updated before
  636. the job starts update the cpus_per_task appropriately.
  637. -- Update salloc/sbatch/srun documentation to mention time granularity.
  638. -- Fixed memory leak when freeing assoc_mgr_info_msg_t.
  639. -- Prevent possible use of empty reservation core bitmap, causing abort.
  640. -- Remove unneeded pack32's from qos_rec when qos_rec is NULL.
  641. -- Make sacctmgr print MaxJobsPerUser when adding/altering a QOS.
  642. -- Correct dependency formatting to print array task ids if set.
  643. -- Update sacctmgr help with current QOS options.
  644. -- Update slurmstepd to initialize authentication before task launch.
  645. -- burst_cray/cray: Eliminate need for dedicated nodes.
  646. -- If no MsgAggregationParams is set don't set the internal string to
  647. anything. The slurmd will process things correctly after the fact.
  648. -- Fix output from api when printing job step not found.
  649. -- Don't allow user specified reservation names to disrupt the normal
  650. reservation sequeuece numbering scheme.
  651. -- Fix scontrol to be able to accept TRES as an option when creating
  652. a reservation.
  653. -- contrib/torque/qstat.pl - return exit code of zero even with no records
  654. printed for 'qstat -u'.
  655. -- When a reservation is created or updated, compress user provided node names
  656. using hostlist functions (e.g. translate user input of "Nodes=tux1,tux2"
  657. into "Nodes=tux[1-2]").
  658. -- Change output routines for scontrol show partition/reservation to handle
  659. unexpectedly large strings.
  660. -- Add more partition fields to "scontrol write config" output file.
  661. -- Backfill scheduling fix: If a job can't be started due to a "group" resource
  662. limit, rather than reserve resources for it when the next job ends, don't
  663. reserve any resources for it.
  664. -- Avoid slurmstepd abort if malloc fails during accounting gather operation.
  665. -- Fix nodes from being overallocated when allocation straddles multiple nodes.
  666. -- Fix memory leak in slurmctld job array logic.
  667. -- Prevent decrementing of TRESRunMins when AccountingStorageEnforce=limits is
  668. not set.
  669. -- Fix backfill scheduling bug which could postpone the scheduling of jobs due
  670. to avoidance of nodes in COMPLETING state.
  671. -- Properly account for memory, CPUs and GRES when slurmctld is reconfigured
  672. while there is a suspended job. Previous logic would add the CPUs, but not
  673. memory or GPUs. This would result in underflow/overflow errors in select
  674. cons_res plugin.
  675. -- Strip flags from a job state in qstat wrapper before evaluating.
  676. -- Add missing job states from the qstat wrapper.
  677. -- Cleanup output routines to reduce number of fixed-sized buffer function
  678. calls and allow for unexpectedly large strings.
  679. * Changes in Slurm 15.08.6
  680. ==========================
  681. -- In slurmctld log file, log duplicate job ID found by slurmd. Previously was
  682. being logged as prolog/epilog failure.
  683. -- If a job is requeued while in the process of being launch, remove it's
  684. job ID from slurmd's record of active jobs in order to avoid generating a
  685. duplicate job ID error when launched for the second time (which would
  686. drain the node).
  687. -- Cleanup messages when handling job script and environment variables in
  688. older directory structure formats.
  689. -- Prevent triggering gang scheduling within a partition if configured with
  690. PreemptType=partition_prio and PreemptMode=suspend,gang.
  691. -- Decrease parallelism in job cancel request to prevent denial of service
  692. when cancelling huge numbers of jobs.
  693. -- If all ephemeral ports are in use, try using other port numbers.
  694. -- Revert way lib lua is handled when doing a dlopen, fixing a regression in
  695. 15.08.5.
  696. -- Set the debug level of the rmdir message in xcgroup_delete() to debug2.
  697. -- Fix the qstat wrapper when user is removed from the system but still
  698. has running jobs.
  699. -- Log the request to terminate a job at info level if DebugFlags includes
  700. the Steps keyword.
  701. -- Fix potential memory corruption in _slurm_rpc_epilog_complete as well as
  702. _slurm_rpc_complete_job_allocation.
  703. -- Fix cosmetic display of AccountingStorageEnforce option "nosteps" when
  704. in use.
  705. -- If a job can never be started due to unsatisfied job dependencies, report
  706. the full original job dependency specification rather than the dependencies
  707. remaining to be satisfied (typically NULL).
  708. -- Refactor logic to synchronize active batch jobs and their script/environment
  709. files, reducing overhead dramatically for large numbers of active jobs.
  710. -- Avoid hard-link/copy of script/environment files for job arrays. Use the
  711. master job record file for all tasks of the job array.
  712. NOTE: Job arrays submitted to Slurm version 15.08.6 or later will fail if
  713. the slurmctld daemon is downgraded to an earlier version of Slurm.
  714. -- Move slurmctld mail handler to separate thread for improved performance.
  715. -- Fix containment of adopted processes from pam_slurm_adopt.
  716. -- If a pending job array has multiple reasons for being in a pending state,
  717. then print all reasons in a comma separated list.
  718. * Changes in Slurm 15.08.5
  719. ==========================
  720. -- Prevent "scontrol update job" from updating jobs that have already finished.
  721. -- Show requested TRES in "squeue -O tres" when job is pending.
  722. -- Backfill scheduler: Test association and QOS node limits before reserving
  723. resources for pending job.
  724. -- burst_buffer/cray: If teardown operations fails, sleep and retry.
  725. -- Clean up the external pids when using the PrologFlags=Contain feature
  726. and the job finishes.
  727. -- burst_buffer/cray: Support file staging when job lacks job-specific buffer
  728. (i.e. only persistent burst buffers).
  729. -- Added srun option of --bcast to copy executable file to compute nodes.
  730. -- Fix for advanced reservation of burst buffer space.
  731. -- BurstBuffer/cray: Add logic to terminate dw_wlm_cli child processes at
  732. shutdown.
  733. -- If job can't be launch or requeued, then terminate it.
  734. -- BurstBuffer/cray: Enable clearing of burst buffer string on completed job
  735. as a means of recovering from a failure mode.
  736. -- Fix wrong memory free when parsing SrunPortRange=0-0 configuration.
  737. -- BurstBuffer/cray: Fix job record purging if cancelled from pending state.
  738. -- BGQ - Handle database throw correctly when syncing users on blocks.
  739. -- MySQL - Make sure we don't have a NULL string returned when not
  740. requesting any specific association.
  741. -- sched/backfill: If max_rpc_cnt is configured and the backlog of RPCs has
  742. not cleared after yielding locks, then continue to sleep.
  743. -- Preserve the job dependency description displayed in 'scontrol show job'
  744. even if the dependee jobs was terminated and cleaned causing the
  745. dependent to never run because of DependencyNeverSatisfied.
  746. -- Correct job task count calculation if only node count and ntasks-per-node
  747. options supplied.
  748. -- Make sure the association manager converts any string to be lower case
  749. as all the associations from the database will be lower case.
  750. -- Sanity check for xcgroup_delete() to verify incoming parameter is valid.
  751. -- Fix formatting for sacct with variables that switched from uint32_t to
  752. uint64_t.
  753. -- Fix a typo in sacct man page.
  754. -- Set up extern step to track any children of an ssh if it leaves anything
  755. else behind.
  756. -- Prevent slurmdbd divide by zero if no associations defined at rollup time.
  757. -- Multifactor - Add sanity check to make sure pending jobs are handled
  758. correctly when PriorityFlags=CALCULATE_RUNNING is set.
  759. -- Add slurmdb_find_tres_count_in_string() to slurm db perl api.
  760. -- Make lua dlopen() conditional on version found at build.
  761. -- sched/backfill - Delay backfill scheduler for completing jobs only if
  762. CompleteWait configuration parameter is set (make code match documentation).
  763. -- Release a job's allocated licenses only after epilog runs on all nodes
  764. rather than at start of termination process.
  765. -- Cray job NHC delayed until after burst buffer released and epilog completes
  766. on all allocated nodes.
  767. -- Fix abort of srun if using PrologFlags=NoHold
  768. -- Let devices step_extern cgroup inherit attributes of job cgroup.
  769. -- Add new hook to Task plugin to be able to put adopted processes in the
  770. step_extern cgroups.
  771. -- Fix AllowUsers documentation in burst_buffer.conf man page. Usernames are
  772. comma separated, not colon delimited.
  773. -- Fix issue with time limit not being set correctly from a QOS when a job
  774. requests no time limit.
  775. -- Various CLANG fixes.
  776. -- In both sched/basic and backfill: If a job can not be started due to some
  777. account/qos limit, then don't start other jobs which could delay jobs. The
  778. old logic would skip the job and start other jobs, which could delay the
  779. higher priority job.
  780. -- select/cray: Prevent NHC from running more than once per job or step.
  781. -- Fix fields not properly printed when adding an account through sacctmgr.
  782. -- Update LBNL Node Health Check (NHC) link on FAQ.
  783. -- Fix multifactor plugin to prevent slurmctld from getting segmentation fault
  784. should the tres_alloc_cnt be NULL.
  785. -- sbatch/salloc - Move nodelist logic before the time min_nodes is used
  786. so we can set it correctly before tasks are set.
  787. * Changes in Slurm 15.08.4
  788. ==========================
  789. -- Fix typo for the "devices" cgroup subsystem in pam_slurm_adopt.c
  790. -- Fix TRES_MAX flag to work correctly.
  791. -- Improve the systemd startup files.
  792. -- Added burst_buffer.conf flag parameter of "TeardownFailure" which will
  793. teardown and remove a burst buffer after failed stage-in or stage-out.
  794. By default, the buffer will be preserved for analysis and manual teardown.
  795. -- Prevent a core dump in srun if the signal handler runs during the job
  796. allocation causing the step context to be NULL.
  797. -- Don't fail job if multiple prolog operations in progress at slurmctld
  798. restart time.
  799. -- Burst_buffer/cray: Fix to purge terminated jobs with burst buffer errors.
  800. -- Burst_buffer/cray: Don't stall scheduling of other jobs while a stage-in
  801. is in progress.
  802. -- Make it possible to query 'extern' step with sstat.
  803. -- Make 'extern' step show up in the database.
  804. -- MYSQL - Quote assoc table name in mysql query.
  805. -- Make SLURM_ARRAY_TASK_MIN, SLURM_ARRAY_TASK_MAX, and SLURM_ARRAY_TASK_STEP
  806. environment variables available to PrologSlurmctld and EpilogSlurmctld.
  807. -- Fix slurmctld bug in which a pending job array could be canceled
  808. by a user different from the owner or the administrator.
  809. -- Support taking node out of FUTURE state with "scontrol reconfig" command.
  810. -- Sched/backfill: Fix to properly enforce SchedulerParameters of
  811. bf_max_job_array_resv.
  812. -- Enable operator to reset sdiag data.
  813. -- jobcomp/elasticsearch plugin: Add array_job_id and array_task_id fields.
  814. -- Remove duplicate #define IS_NODE_POWER_UP.
  815. -- Added SchedulerParameters option of max_script_size.
  816. -- Add REQUEST_ADD_EXTERN_PID option to add pid to the slurmstepd's extern
  817. step.
  818. -- Add unique identifiers to anchor tags in HTML generated from the man pages.
  819. -- Add with_freeipmi option to spec file.
  820. -- Minor elasticsearch code improvements
  821. * Changes in Slurm 15.08.3
  822. ==========================
  823. -- Correct Slurm's RPM build if Munge is not installed.
  824. -- Job array termination status email ExitCode based upon highest exit code
  825. from any task in the job array rather than the last task. Also change the
  826. state from "Ended" or "Failed" to "Mixed" where appropriate.
  827. -- Squeue recombines pending job array records only if their name and partition
  828. are identical.
  829. -- Fix some minor leaks in the job info and step info API.
  830. -- Export missing QOS id when filling in association with the association
  831. manager.
  832. -- Fix invalid reference if a lua job_submit plugin references a default qos
  833. when a user doesn't exist in the database.
  834. -- Use association enforcement in the lua plugin.
  835. -- Fix a few spots missing defines of accounting_enforce or acct_db_conn
  836. in the plugins.
  837. -- Show requested TRES in scontrol show jobs when job is pending.
  838. -- Improve sched/backfill support for job features, especially XOR construct.
  839. -- Correct scheduling logic for job features option with XOR construct that
  840. could delay a job's initiation.
  841. -- Remove unneeded frees when creating a tres string.
  842. -- Send a tres_alloc_str for the batch step
  843. -- Fix incorrect check for slurmdb_find_tres_count_in_string in various places,
  844. it needed to check for INFINITE64 instead of zero.
  845. -- Don't allow scontrol to create partitions with the name "DEFAULT".
  846. -- burst_buffer/cray: Change error from "invalid request" to "permssion denied"
  847. if a non-authorized user tries to create/destroy a persistent buffer.
  848. -- PrologFlags work: Setting a flag of "Contain" implicitly sets the "Alloc"
  849. flag. Fix code path which could prevent execution of the Prolog when the
  850. "Alloc" or "Contain" flag were set.
  851. -- Fix for acct_gather_energy/cray|ibmaem to work with missed enum.
  852. -- MYSQL - When inserting a job and begin_time is 0 do not set it to
  853. submit_time. 0 means the job isn't eligible yet so we need to treat it so.
  854. -- MYSQL - Don't display ineligible jobs when querying for a window of time.
  855. -- Fix creation of advanced reservation of cores on nodes which are DOWN.
  856. -- Return permission denied if regular user tries to release job held by an
  857. administrator.
  858. -- MYSQL - Fix rollups for multiple jobs running by the same association
  859. in an hour counting multiple times.
  860. -- Burstbuffer/Cray plugin - Fix for persistent burst buffer use.
  861. Don't call paths if no #DW options.
  862. -- Modifications to pam_slurm_adopt to work correctly for the "extern" step.
  863. -- Alphabetize debugflags when printing them out.
  864. -- Fix systemd's slurmd service from killing slurmstepds on shutdown.
  865. -- Fixed counter of not indexed jobs, error_cnt post-increment changed to
  866. pre-increment.
  867. * Changes in Slurm 15.08.2
  868. ==========================
  869. -- Fix for tracking node state when jobs that have been allocated exclusive
  870. access to nodes (i.e. entire nodes) and later relinquish some nodes. Nodes
  871. would previously appear partly allocated and prevent use by other jobs.
  872. -- Correct some cgroup paths ("step_batch" vs. "step_4294967294", "step_exter"
  873. vs. "step_extern", and "step_extern" vs. "step_4294967295").
  874. -- Fix advanced reservation core selection logic with network topology.
  875. -- MYSQL - Remove restriction to have to be at least an operator to query TRES
  876. values.
  877. -- For pending jobs have sacct print 0 for nnodes instead of the bogus 2.
  878. -- Fix for tracking node state when jobs that have been allocated exclusive
  879. access to nodes (i.e. entire nodes) and later relinquish some nodes. Nodes
  880. would previously appear partly allocated and prevent use by other jobs.
  881. -- Fix updating job in db after extending job's timelimit past partition's
  882. timelimit.
  883. -- Fix srun -I<timeout> from flooding the controller with step create requests.
  884. -- Requeue/hold batch job launch request if job already running (possible if
  885. node went to DOWN state, but jobs remained active).
  886. -- If a job's CPUs/task ratio is increased due to configured MaxMemPerCPU,
  887. then increase it's allocated CPU count in order to enforce CPU limits.
  888. -- Don't mark powered down node as not responding. This could be triggered by
  889. race condition of the node suspend and ping logic, preventing use of the
  890. node.
  891. -- Don't requeue RPC going out from slurmctld to DOWN nodes (can generate
  892. repeating communication errors).
  893. -- Propagate sbatch "--dist=plane=#" option to srun.
  894. -- Add acct_gather_energy/ibmaem plugin for systems with IBM Systems Director
  895. Active Energy Manager.
  896. -- Fix spec file to look for mariadb or mysql devel packages for build
  897. requirements.
  898. -- MySQL - Improve the code with asking for jobs in a suspended state.
  899. -- Fix slurcmtld allowing root to see job steps using squeues -s.
  900. -- Do not send burst buffer stage out email unless the job uses burst buffers.
  901. -- Fix sacct to not return all jobs if the -j option is given with a trailing
  902. ','.
  903. -- Permit job_submit plugin to set a job's priority.
  904. -- Fix occasional srun segfault.
  905. -- Fix issue with sacct, printing 0_0 for array's that had finished in the
  906. database but the start record hadn't made it yet.
  907. -- sacctmgr - Don't allow default account associations to be removed
  908. from a user.
  909. -- Fix sacct -j, (nothing but a comma) to not return all jobs.
  910. -- Fixed slurmctld not sending cold-start messages correctly to the database
  911. when a cold-start (-c) happens to the slurmctld.
  912. -- Fix case where if the backup slurmdbd has existing connections when it gives
  913. up control that the it would be killed.
  914. -- Fix task/cgroup affinity to work correctly with multi-socket
  915. single-threaded cores. A regression caused only 1 socket to be used on
  916. this kind of node instead of all that were available.
  917. -- MYSQL - Fix minor issue after an index was added to the database it would
  918. previously take 2 restarts of the slurmdbd to make it stick correctly.
  919. -- Add hv_to_qos_cond() and qos_rec_to_hv() functions to the Perl interface.
  920. -- Add new burst_buffer.conf parameters: ValidateTimeout and OtherTimeout.
  921. See man page for details.
  922. -- Fix burst_buffer/cray support for interactive allocations >4GB.
  923. -- Correct backfill scheduling logic for job with INFINITE time limit.
  924. -- Fix issue on a scontrol reconfig all available GRES/TRES would be zeroed
  925. out.
  926. -- Set SLURM_HINT environment variable when --hint is used with sbatch or
  927. salloc.
  928. -- Add scancel -f/--full option to signal all steps including batch script and
  929. all of its child processes.
  930. -- Fix salloc -I to accept an argument.
  931. -- Avoid reporting more allocated CPUs than exist on a node. This can be
  932. triggered by resuming a previosly suspended job, resulting in
  933. oversubscription of CPUs.
  934. -- Fix the pty window manager in slurmstepd not to retry IO operation with
  935. srun if it read EOF from the connection with it.
  936. -- sbatch --ntasks option to take precedence over --ntasks-per-node plus node
  937. count, as documented. Set SLURM_NTASKS/SLURM_NPROCS environment variables
  938. accordingly.
  939. -- MYSQL - Make sure suspended time is only subtracted from the CPU TRES
  940. as it is the only TRES that can be given to another job while suspended.
  941. -- Clarify how TRESBillingWeights operates on memory and burst buffers.
  942. * Changes in Slurm 15.08.1
  943. ==========================
  944. -- Fix test21.30 and 21.34 to check grpwall better.
  945. -- Add time to the partition QOS the job is running on instead of just the
  946. job QOS.
  947. -- Print usage for GrpJobs, GrpSubmitJobs and GrpWall even if there is no
  948. limit.
  949. -- If AccountingEnforce=safe is set make sure a job can finish before going
  950. over the limit with grpwall on a QOS or association.
  951. -- burst_buffer/cray - Major updates based upon recent Cray changes.
  952. -- Improve clean up logic of pmi2 plugin.
  953. -- Improve job state reason string when required nodes not available.
  954. -- Fix missing else when packing an update partition message
  955. -- Fix srun from inheriting the SLURM_CPU_BIND and SLURM_MEM_BIND environment
  956. variables when running in an existing srun (e.g. an srun within an salloc).
  957. -- Fix missing else when packing an update partition message.
  958. -- Use more flexible mechnanism to find json installation.
  959. -- Make sure safe_limits was initialized before processing limits in the
  960. slurmctld.
  961. -- Fix for burst_buffer/cray to parse type option correctly.
  962. -- Fix memory error and version number in the nonstop plugin and reservation
  963. code.
  964. -- When requesting GRES in a step check for correct variable for the count.
  965. -- Fix issue with GRES in steps so that if you have multiple exclusive steps
  966. and you use all the GRES up instead of reporting the configuration isn't
  967. available you hold the requesting step until the GRES is available.
  968. -- MYSQL - Change debug to print out with DebugFlags=DB_Step instead of debug4
  969. -- Simplify code when user is selecting a job/step/array id and removed
  970. anomaly when only asking for 1 (task_id was never set to INFINITE).
  971. -- MYSQL - If user is requesting various task_ids only return requested steps.
  972. -- Fix issue when tres cnt for energy is 0 for total reported.
  973. -- Resolved scalability issues of power adaptive scheduling with layouts.
  974. -- Burst_buffer/cray bug - Fix teardown race condition that can result in
  975. infinite loop.
  976. -- Add support for --mail-type=NONE option.
  977. -- Job "--reboot" option automatically, set's exclusive node mode.
  978. -- Fix memory leak when using PrologFlags=Alloc.
  979. -- Fix truncation of job reason in squeue.
  980. -- If a node is in DOWN or DRAIN state, leave it unavailable for allocation
  981. when powered down.
  982. -- Update the slurm.conf man page documenting better nohold_on_prolog_fail
  983. variable.
  984. -- Don't trucate task ID information in "squeue --array/-r" or "sview".
  985. -- Fix a bug which caused scontrol to core dump when releasing or
  986. holding a job by name.
  987. -- Fix unit conversion bug in slurmd which caused wrong memory calculation
  988. for cgroups.
  989. -- Fix issue with GRES in steps so that if you have multiple exclusive steps
  990. and you use all the GRES up instead of reporting the configuration isn't
  991. available you hold the requesting step until the GRES is available.
  992. -- Fix slurmdbd backup to use DbdAddr when contacting the primary.
  993. -- Fix error in MPI documentation.
  994. -- Fix to handle arrays with respect to number of jobs submitted. Previously
  995. only 1 job was accounted (against MaxSubmitJob) for when an array was
  996. submitted.
  997. -- Correct counting for job array limits, job count limit underflow possible
  998. when master cancellation of master job record.
  999. -- Combine 2 _valid_uid_gid functions into a single function to avoid
  1000. diversion.
  1001. -- Pending job array records will be combined into single line by default,
  1002. even if started and requeued or modified.
  1003. -- Fix sacct --format=nnodes to print out correct information for pending
  1004. jobs.
  1005. -- Make is so 'scontrol update job 1234 qos='' will set the qos back to
  1006. the default qos for the association.
  1007. -- Add [Alloc|Req]Nodes to sacct to be more like cpus.
  1008. -- Fix sacct documentation about [Alloc|Req]TRES
  1009. -- Put node count in TRES string for steps.
  1010. -- Fix issue with wrong protocol version when using the srun --no-allocate
  1011. option.
  1012. -- Fix TRES counts on GRES on a clean start of the slurmctld.
  1013. -- Add ability to change a job array's maximum running task count:
  1014. "scontrol update jobid=# arraytaskthrottle=#"
  1015. * Changes in Slurm 15.08.0
  1016. ==========================
  1017. -- Fix issue with frontend systems (outside ALPs or BlueGene) where srun
  1018. wouldn't get the correct protocol version to launch a step.
  1019. -- Fix for message aggregation return rpcs where none of the messages are
  1020. intended for the head of the tree.
  1021. -- Fix segfault in sreport when there was no response from the dbd.
  1022. -- ALPS - Fix compile to not link against -ljob and -lexpat with every lib
  1023. or binary.
  1024. -- Fix testing for CR_Memory when CR_Memory and CR_ONE_TASK_PER_CORE are used
  1025. with select/linear.
  1026. -- When restarting or reconfiging the slurmctld, if job is completing handle
  1027. accounting correctly to avoid meaningless errors about overflow.
  1028. -- Add AccountingStorageTRES to scontrol show config
  1029. -- MySQL - Fix minor memory leak if a connection ever goes away whist using it.
  1030. -- ALPS - Make it so srun --hint=nomultithread works correctly.
  1031. -- Make MaxTRESPerUser work in sacctmgr.
  1032. -- Fix handling of requeued jobs with steps that are still finishing.
  1033. -- Cleaner copy for PriorityWeightTRES, it also fixes a core dump when trying
  1034. to free it otherwise.
  1035. -- Add environment variables SLURM_ARRAY_TASK_MAX, SLURM_ARRAY_TASK_MIN,
  1036. SLURM_ARRAY_TASK_STEP for job arrays.
  1037. -- Fix srun to use the NoInAddrAny TopologyParam option.
  1038. -- Change QOS flag name from PartitionQOS to OverPartQOS to be a better
  1039. description.
  1040. -- Fix rpmbuild issue on Centos7.
  1041. * Changes in Slurm 15.08.0rc1
  1042. ==============================
  1043. -- Added power_cpufreq layout.
  1044. -- Make complete_batch_script RPC work with message aggregation.
  1045. -- Do not count slurmctld threads waiting in a "throttle" lock against the
  1046. daemon's thread limit as they are not contending for resources.
  1047. -- Modify slurmctld outgoing RPC logic to support more parallel tasks (up to
  1048. 85 RPCs and 256 pthreads; the old logic supported up to 21 RPCs and 256
  1049. threads). This change can dramatically improve performance for RPCs
  1050. operating on small node counts.
  1051. -- Increase total backfill scheduler run time in stats_info_response_msg data
  1052. structure from 32 to 64 bits in order to prevent overflow.
  1053. -- Add NoInAddrAny option to TopologyParam in the slurm.conf which allows to
  1054. bind to the interface of return of gethostname instead of any address on
  1055. the node which avoid RSIP issues in Cray systems. This is most likely
  1056. useful in other systems as well.
  1057. -- Fix memory leak in Slurm::load_jobs perl api call.
  1058. -- Added --noconvert option to sacct, sstat, squeue and sinfo which allows
  1059. values to be displayed in their original unit types (e.g. 2048M won't be
  1060. converted to 2G).
  1061. -- Fix spelling of node_rescrs to node_resrcs in Perl API.
  1062. -- Fix node state race condition, UNKNOWN->IDLE without configuration info.
  1063. -- Cray: Disable LDAP references from slurmstepd on job launch due for
  1064. improved scalability.
  1065. -- Remove srun "read header error" due to application termination race
  1066. condition.
  1067. -- Optimize sacct queries with additional db indexes.
  1068. -- Add SLURM_TOPO_LEN env variable for scontrol show topology.
  1069. -- Add free_mem to node information.
  1070. -- Fix abort of batch launch if prolog is running, wait for prolog instead.
  1071. -- Fix case where job would get the wrong cpu count when using
  1072. --ntasks-per-core and --cpus-per-task together.
  1073. -- Add TRESBillingWeights to partitions in slurm.conf which allows taking into
  1074. consideration any TRES Type when calculating the usage of a job.
  1075. -- Add PriorityWeightTRES slurm.conf option to be able to configure priority
  1076. factors for TRES types.
  1077. * Changes in Slurm 15.08.0pre6
  1078. ==============================
  1079. -- Add scontrol options to view and modify layouts tables.
  1080. -- Add MsgAggregationParams which controls a reverse tree to the slurmctld
  1081. which can be used to aggregate messages to the slurmctld into a single
  1082. message to reduce communication to the slurmctld. Currently only epilog
  1083. complete messages and node registration messages use this logic.
  1084. -- Add sacct and squeue options to print trackable resources.
  1085. -- Add sacctmgr option to display trackable resources.
  1086. -- If an salloc or srun command is executed on a "front-end" configuration,
  1087. that job will be assigned a slurmd shepherd daemon on the same host as used
  1088. to execute the command when possible rather than an slurmd daemon on an
  1089. arbitrary front-end node.
  1090. -- Add srun --accel-bind option to control how tasks are bound to GPUs and NIC
  1091. Generic RESources (GRES).
  1092. -- gres/nic plugin modified to set OMPI_MCA_btl_openib_if_include environment
  1093. variable based upon allocated devices (usable with OpenMPI and Melanox).
  1094. -- Make it so info options for srun/salloc/sbatch print with just 1 -v instead
  1095. of 4.
  1096. -- Add "no_backup_scheduling" SchedulerParameter to prevent jobs from being
  1097. scheduled when the backup takes over. Jobs can be submitted, modified and
  1098. cancelled while the backup is in control.
  1099. -- Enable native Slurm backup controller to reside on an external Cray node
  1100. when the "no_backup_scheduling" SchedulerParameter is used.
  1101. -- Removed TICKET_BASED fairshare. Consider using the FAIR_TREE algorithm.
  1102. -- Disable advanced reservation "REPLACE" option on IBM Bluegene systems.
  1103. -- Add support for control distribution of tasks across cores (in addition
  1104. to existing support for nodes and sockets, (e.g. "block", "cyclic" or
  1105. "fcyclic" task distribution at 3 levels in the hardware rather than 2).
  1106. -- Create db index on <cluster>_assoc_table.acct. Deleting accounts that didn't
  1107. have jobs in the job table could take a long time.
  1108. -- The performance of Profiling with HDF5 is improved. In addition, internal
  1109. structures are changed to make it easier to add new profile types,
  1110. particularly energy sensors. sh5util will continue to work with either
  1111. format.
  1112. -- Add partition information to sshare output if the --partition option
  1113. is specified on the sshare command line.
  1114. -- Add sreport -T/--tres option to identify Trackable RESources (TRES) to
  1115. report.
  1116. -- Display job in sacct when single step's cpus are different from the job
  1117. allocation.
  1118. -- Add association usage information to "scontrol show cache" command output.
  1119. -- MPI/MVAPICH plugin now requires Munge for authentication.
  1120. -- job_submit/lua: Add default_qos fields. Add job record qos. Add partition
  1121. record allow_qos and qos_char fields.
  1122. * Changes in Slurm 15.08.0pre5
  1123. ==============================
  1124. -- Add jobcomp/elasticsearch plugin. Libcurl is required for build. Configure
  1125. the server as follows: "JobCompLoc=http://YOUR_ELASTICSEARCH_SERVER:9200".
  1126. -- Scancel logic large re-written to better support job arrays.
  1127. -- Added a slurm.conf parameter PrologEpilogTimeout to control how long
  1128. prolog/epilog can run.
  1129. -- Added TRES (Trackable resources) to track Mem, GRES, license, etc
  1130. utilization.
  1131. -- Add re-entrant versions of glibc time functions (e.g. localtime) to Slurm
  1132. in order to eliminate rare deadlock of slurmstepd fork and exec calls.
  1133. -- Constrain kernel memory (if available) in cgroups.
  1134. -- Add PrologFlags option of "Contain" to create a proctrack container at
  1135. job resource allocation time.
  1136. -- Disable the OOM Killer in slurmd and slurmstepd's memory cgroup when using
  1137. MemSpecLimit.
  1138. * Changes in Slurm 15.08.0pre4
  1139. ==============================
  1140. -- Burst_buffer/cray - Convert logic to use new commands/API names (e.g.
  1141. "dws_setup" rather than "bbs_setup").
  1142. -- Remove the MinJobAge size limitation. It can now exceed 65533 as it
  1143. is represented using an unsigned integer.
  1144. -- Verify that all plugin version numbers are identical to the component
  1145. attempting to load them. Without this verification, the plugin can reference
  1146. Slurm functions in the caller which differ (e.g. the underlying function's
  1147. arguments could have changed between Slurm versions).
  1148. NOTE: All plugins (except SPANK) must be built against the identical
  1149. version of Slurm in order to be used by any Slurm command or daemon. This
  1150. should eliminate some very difficult to diagnose problems due to use of old
  1151. plugins.
  1152. -- Increase the MAX_PACK_MEM_LEN define to avoid PMI2 failure when fencing
  1153. with large amount of ranks (to 1GB).
  1154. -- Requests by normal user to reset a job priority (even to lower it) will
  1155. result in an error saying to change the job's nice value instead.
  1156. -- SPANK naming changes: For environment variables set using the
  1157. spank_job_control_setenv() function, the values were available in the
  1158. slurm_spank_job_prolog() and slurm_spank_job_epilog() functions using
  1159. getenv where the name was given a prefix of "SPANK_". That prefix has
  1160. been removed for consistency with the environment variables available in
  1161. the Prolog and Epilog scripts.
  1162. -- Major additions to the layouts framework code.
  1163. -- Add "TopologyParam" configuration parameter. Optional value of "dragonfly"
  1164. is supported.
  1165. -- Optimize resource allocation for systems with dragonfly networks.
  1166. -- Add "--thread-spec" option to salloc, sbatch and srun commands. This is
  1167. the count of threads reserved for system use per node.
  1168. -- job_submit/lua: Enable reading and writing job environment variables.
  1169. For example: if (job_desc.environment.LANGUAGE == "en_US") then ...
  1170. -- Added two new APIs slurm_job_cpus_allocated_str_on_node_id()
  1171. and slurm_job_cpus_allocated_str_on_node() to print the CPUs id
  1172. allocated to a job.
  1173. -- Specialized memory (a node's MemSpecLimit configuration parameter) is not
  1174. available for allocation to jobs.
  1175. -- Modify scontrol update job to allow jobid specification without
  1176. the = sign. 'scontrol update job=123 ...' and 'scontrol update job 123 ...'
  1177. are both valid syntax.
  1178. -- Archive a month at a time when there are lots of records to archive.
  1179. -- Introduce new sbatch option '--kill-on-invalid-dep=yes|no' which allows
  1180. users to specify which behavior they want if a job dependency is not
  1181. satisfied.
  1182. -- Add Slurmdb::qos_get() interface to perl api.
  1183. -- If a job fails to start set the requeue reason to be:
  1184. job requeued in held state.
  1185. -- Implemented a new MPI key,value PMIX_RING() exchange algorithm as
  1186. an alternative to PMI2.
  1187. -- Remove possible deadlocks in the slurmctld when the slurmdbd is busy
  1188. archiving/purging.
  1189. -- Add DB_ARCHIVE debug flag for filtering out debug messages in the slurmdbd
  1190. when the slurmdbd is archiving/purging.
  1191. -- Fix some power_save mode issues: Parsing of SuspendTime in slurm.conf was
  1192. bad, powered down nodes would get set non-responding if there was an
  1193. in-flight message, and permit nodes to be powered down from any state.
  1194. -- Initialize variables in consumable resource plugin to prevent core dump.
  1195. * Changes in Slurm 15.08.0pre3
  1196. ==============================
  1197. -- CRAY - addition of acct_gather_energy/cray plugin.
  1198. -- Add job credential to "Run Prolog" RPC used with a configuration of
  1199. PrologFlags=alloc. This allows the Prolog to be passed identification of
  1200. GPUs allocated to the job.
  1201. -- Add SLURM_JOB_CONSTAINTS to environment variables available to the Prolog.
  1202. -- Added "--mail=stage_out" option to job submission commands to notify user
  1203. when burst buffer state out is complete.
  1204. -- Require a "Reason" when using scontrol to set a node state to DOWN.
  1205. -- Mail notifications on job BEGIN, END and FAIL now apply to a job array as a
  1206. whole rather than generating individual email messages for each task in the
  1207. job array.
  1208. -- task/affinity - Fix memory binding to NUMA with cpusets.
  1209. -- Display job's estimated NodeCount based off of partition's configured
  1210. resources rather than the whole system's.
  1211. -- Add AuthInfo option of "cred_expire=#" to specify the lifetime of a job
  1212. step credential. The default value was changed from 1200 to 120 seconds.
  1213. -- Set the delay time for job requeue to the job credential lifetime (120
  1214. seconds by default). This insures that prolog runs on every node when a
  1215. job is requeued. (This change will slow down launch of re-queued jobs).
  1216. -- Add AuthInfo option of "cred_expire=#" to specify the lifetime of a job
  1217. step credential.
  1218. -- Remove srun --max-launch-time option. The option has not been functional
  1219. since Slurm version 2.0.
  1220. -- Add sockets and cores to TaskPluginParams' autobind option.
  1221. -- Added LaunchParameters configuration parameter. Have srun command test
  1222. locally for the executable file if LaunchParameters=test_exec or the
  1223. environment variable SLURM_TEST_EXEC is set. Without this an invalid
  1224. command will generate one error message per task launched.
  1225. -- Fix the slurm /etc/init.d script to return 0 upon stopping the
  1226. daemons and return 1 in case of failure.
  1227. -- Add the ability for a compute node to be allocated to multiple jobs, but
  1228. restricted to a single user. Added "--exclusive=user" option to salloc,
  1229. sbatch and srun commands. Added "owner" field to node record, visible using
  1230. the scontrol and sview commands. Added new partition configuration parameter
  1231. "ExclusiveUser=yes|no".
  1232. * Changes in Slurm 15.08.0pre2
  1233. ==============================
  1234. -- Add the environment variables SLURM_JOB_ACCOUNT, SLURM_JOB_QOS
  1235. and SLURM_JOB_RESERVATION in the batch/srun jobs.
  1236. -- Add sview burst buffer display.
  1237. -- Properly enforce partition Shared=YES option. Previously oversubscribing
  1238. resources required gang scheduling to be configured.
  1239. -- Enable per-partition gang scheduling resource resolution (e.g. the partition
  1240. can have SelectTypeParameters=CR_CORE, while the global value is CR_SOCKET).
  1241. -- Make it so a newer version of a slurmstepd can talk to an older srun.
  1242. allocation. Nodes could have been added while waiting for an allocation.
  1243. -- Expanded --cpu-freq parameters to include min-max:governor specifications.
  1244. --cpu-freq now supported on salloc and sbatch.
  1245. -- Add support for optimized job allocations with respect to SGI Hypercube
  1246. topology.
  1247. NOTE: Only supported with select/linear plugin.
  1248. NOTE: The program contribs/sgi/netloc_to_topology can be used to build
  1249. Slurm's topology.conf file.
  1250. -- Remove 64k validation of incoming RPC nodelist size. Validated at 64MB
  1251. when unpacking.
  1252. -- In slurmstepd() add the user primary group if it is not part of the
  1253. groups sent from the client.
  1254. -- Added BurstBuffer field to advanced reservations.
  1255. -- For advanced reservation, replace flag "License_only" with flag "Any_Nodes".
  1256. It can be used to indicate the an advanced reservation resources (licenses
  1257. and/or burst buffers) can be used with any compute nodes.
  1258. -- Allow users to specify the srun --resv-ports as 0 in which case no ports
  1259. will be reserved. The default behaviour is to allocate one port per task.
  1260. -- Interpret a partition configuration of "Nodes=ALL" in slurm.conf as
  1261. including all nodes defined in the cluster.
  1262. -- Added new configuration parameters PowerParameters and PowerPlugin.
  1263. -- Added power management plugin infrastructure.
  1264. -- If job already exceeded one of its QOS/Accounting limits do not
  1265. return error if user modifies QOS unrelated job settings.
  1266. -- Added DebugFlags value of "Power".
  1267. -- When caching user ids of AllowGroups use both getgrnam_r() and getgrent_r()
  1268. then remove eventual duplicate entries.
  1269. -- Remove rpm dependency between slurm-pam and slurm-devel.
  1270. -- Remove support for the XCPU (cluster management) package.
  1271. -- Add Slurmdb::jobs_get() interface to perl api.
  1272. -- Performance improvement when sending data from srun to stepds when
  1273. processing fencing.
  1274. -- Add the feature to specify arbitrary field separator when running
  1275. sacct -p or sacct -P. The command line option is --separator.
  1276. -- Introduce slurm.conf parameter to use Proportional Set Size (PSS) instead
  1277. of RSS to determinate the memory footprint of a job.
  1278. Add an slurm.conf option not to kill jobs that is over memory limit.
  1279. -- Add job submission command options: --sicp (available for inter-cluster
  1280. dependencies) and --power (specify power management options) to salloc,
  1281. sbatch, and srun commands.
  1282. -- Add DebugFlags option of SICP (inter-cluster option logging).
  1283. -- In order to support inter-cluster job dependencies, the MaxJobID
  1284. configuration parameter default value has been reduced from 4,294,901,760
  1285. to 2,147,418,112 and it's maximum value is now 2,147,463,647.
  1286. ANY JOBS WITH A JOB ID ABOVE 2,147,463,647 WILL BE PURGED WHEN SLURM IS
  1287. UPGRADED FROM AN OLDER VERSION!
  1288. -- Add QOS name to the output of a partition in squeue/scontrol/sview/smap.
  1289. * Changes in Slurm 15.08.0pre1
  1290. ==============================
  1291. -- Add sbcast support for file transfer to resources allocated to a job step
  1292. rather than a job allocation.
  1293. -- Change structures with association in them to assoc to save space.
  1294. -- Add support for job dependencies jointed with OR operator (e.g.
  1295. "--depend=afterok:123?afternotok:124").
  1296. -- Add "--bb" (burst buffer specification) option to salloc, sbatch, and srun.
  1297. -- Added configuration parameters BurstBufferParameters and BurstBufferType.
  1298. -- Added burst_buffer plugin infrastructure (needs many more functions).
  1299. -- Make it so when the fanout logic comes across a node that is down we abandon
  1300. the tree to avoid worst case scenarios when the entire branch is down and
  1301. we have to try each serially.
  1302. -- Add better error reporting of invalid partitions at submission time.
  1303. -- Move will-run test for multiple clusters from the sbatch code into the API
  1304. so that it can be used with DRMAA.
  1305. -- If a non-exclusive allocation requests --hint=nomultithread on a
  1306. CR_CORE/SOCKET system lay out tasks correctly.
  1307. -- Avoid including unused CPUs in a job's allocation when cores or sockets are
  1308. allocated.
  1309. -- Added new job state of STOPPED indicating processes have been stopped with a
  1310. SIGSTOP (using scancel or sview), but retain its allocated CPUs. Job state
  1311. returns to RUNNING when SIGCONT is sent (also using scancel or sview).
  1312. -- Added EioTimeout parameter to slurm.conf. It is the number of seconds srun
  1313. waits for slurmstepd to close the TCP/IP connection used to relay data
  1314. between the user application and srun when the user application terminates.
  1315. -- Remove slurmctld/dynalloc plugin as the work was never completed, so it is
  1316. not worth the effort of continued support at this time.
  1317. -- Remove DynAllocPort configuration parameter.
  1318. -- Add advance reservation flag of "replace" that causes allocated resources
  1319. to be replaced with idle resources. This maintains a pool of available
  1320. resources that maintains a constant size (to the extent possible).
  1321. -- Added SchedulerParameters option of "bf_busy_nodes". When selecting
  1322. resources for pending jobs to reserve for future execution (i.e. the job
  1323. can not be started immediately), then preferentially select nodes that are
  1324. in use. This will tend to leave currently idle resources available for
  1325. backfilling longer running jobs, but may result in allocations having less
  1326. than optimal network topology. This option is currently only supported by
  1327. the select/cons_res plugin.
  1328. -- Permit "SuspendTime=NONE" as slurm.conf value rather than only a numeric
  1329. value to match "scontrol show config" output.
  1330. -- Add the 'scontrol show cache' command which displays the associations
  1331. in slurmctld.
  1332. -- Test more frequently for node boot completion before starting a job.
  1333. Provides better responsiveness.
  1334. -- Fix PMI2 singleton initialization.
  1335. -- Permit PreemptType=qos and PreemptMode=suspend,gang to be used together.
  1336. A high-priority QOS job will now oversubscribe resources and gang schedule,
  1337. but only if there are insufficient resources for the job to be started
  1338. without preemption. NOTE: That with PreemptType=qos, the partition's
  1339. Shared=FORCE:# configuration option will permit one job more per resource
  1340. to be run than than specified, but only if started by preemption.
  1341. -- Remove the CR_ALLOCATE_FULL_SOCKET configuration option. It is now the
  1342. default.
  1343. -- Fix a race condition in PMI2 when fencing counters can be out of sync.
  1344. -- Increase the MAX_PACK_MEM_LEN define to avoid PMI2 failure when fencing
  1345. with large amount of ranks.
  1346. -- Add QOS option to a partition. This will allow a partition to have
  1347. all the limits a QOS has. If a limit is set in both QOS the partition
  1348. QOS will override the job's QOS unless the job's QOS has the
  1349. OverPartQOS flag set.
  1350. -- The task_dist_states variable has been split into "flags" and "base"
  1351. components. Added SLURM_DIST_PACK_NODES and SLURM_DIST_NO_PACK_NODES values
  1352. to give user greater control over task distribution. The srun --dist options
  1353. has been modified to accept a "Pack" and "NoPack" option. These options can
  1354. be used to override the CR_PACK_NODE configuration option.
  1355. * Changes in Slurm 14.11.12
  1356. ===========================
  1357. -- Correct dependency formatting to print array task ids if set.
  1358. -- Fix for configuration of "AuthType=munge" and "AuthInfo=socket=..." with
  1359. alternate munge socket path.
  1360. -- BGQ - Remove redeclaration of job_read_lock.
  1361. -- BGQ - Tighter locks around structures when nodes/cables change state.
  1362. -- Fix job array formatting to allow return [0-100:2] display for arrays with
  1363. step functions rather than [0,2,4,6,8,...] .
  1364. -- Associations - prevent hash table corruption if uid initially unset for
  1365. a user, which can cause slurmctld to crash if that user is deleted.
  1366. -- Add cast to memory limit calculation to prevent integer overflow for
  1367. very large memory values.
  1368. -- Fix test cases to have proper int return signature.
  1369. * Changes in Slurm 14.11.11
  1370. ===========================
  1371. -- Fix systemd's slurmd service from killing slurmstepds on shutdown.
  1372. -- Fix the qstat wrapper when user is removed from the system but still
  1373. has running jobs.
  1374. -- Log the request to terminate a job at info level if DebugFlags includes
  1375. the Steps keyword.
  1376. -- Fix potential memory corruption in _slurm_rpc_epilog_complete as well as
  1377. _slurm_rpc_complete_job_allocation.
  1378. -- Fix incorrectly sized buffer used by jobid2str which will cause buffer
  1379. overflow in slurmctld. (Bug 2295.)
  1380. * Changes in Slurm 14.11.10
  1381. ===========================
  1382. -- Fix truncation of job reason in squeue.
  1383. -- If a node is in DOWN or DRAIN state, leave it unavailable for allocation
  1384. when powered down.
  1385. -- Update the slurm.conf man page documenting better nohold_on_prolog_fail
  1386. variable.
  1387. -- Don't trucate task ID information in "squeue --array/-r" or "sview".
  1388. -- Fix a bug which caused scontrol to core dump when releasing or
  1389. holding a job by name.
  1390. -- Fix unit conversion bug in slurmd which caused wrong memory calculation
  1391. for cgroups.
  1392. -- Fix issue with GRES in steps so that if you have multiple exclusive steps
  1393. and you use all the GRES up instead of reporting the configuration isn't
  1394. available you hold the requesting step until the GRES is available.
  1395. -- Fix slurmdbd backup to use DbdAddr when contacting the primary.
  1396. -- Fix error in MPI documentation.
  1397. -- Fix to handle arrays with respect to number of jobs submitted. Previously
  1398. only 1 job was accounted (against MaxSubmitJob) for when an array was
  1399. submitted.
  1400. -- Correct counting for job array limits, job count limit underflow possible
  1401. when master cancellation of master job record.
  1402. -- For pending jobs have sacct print 0 for nnodes instead of the bogus 2.
  1403. -- Fix for tracking node state when jobs that have been allocated exclusive
  1404. access to nodes (i.e. entire nodes) and later relinquish some nodes. Nodes
  1405. would previously appear partly allocated and prevent use by other jobs.
  1406. -- Fix updating job in db after extending job's timelimit past partition's
  1407. timelimit.
  1408. -- Fix srun -I<timeout> from flooding the controller with step create requests.
  1409. -- Requeue/hold batch job launch request if job already running (possible if
  1410. node went to DOWN state, but jobs remained active).
  1411. -- If a job's CPUs/task ratio is increased due to configured MaxMemPerCPU,
  1412. then increase it's allocated CPU count in order to enforce CPU limits.
  1413. -- Don't mark powered down node as not responding. This could be triggered by
  1414. race condition of the node suspend and ping logic.
  1415. -- Don't requeue RPC going out from slurmctld to DOWN nodes (can generate
  1416. repeating communication errors).
  1417. -- Propagate sbatch "--dist=plane=#" option to srun.
  1418. -- Fix sacct to not return all jobs if the -j option is given with a trailing
  1419. ','.
  1420. -- Permit job_submit plugin to set a job's priority.
  1421. -- Fix occasional srun segfault.
  1422. -- Fix issue with sacct, printing 0_0 for array's that had finished in the
  1423. database but the start record hadn't made it yet.
  1424. -- Fix sacct -j, (nothing but a comma) to not return all jobs.
  1425. -- Prevent slurmstepd from core dumping if /proc/<pid>/stat has
  1426. unexpected format.
  1427. * Changes in Slurm 14.11.9
  1428. ==========================
  1429. -- Correct "sdiag" backfill cycle time calculation if it yields locks. A
  1430. microsecond value was being treated as a second value resulting in an
  1431. overflow in the calcuation.
  1432. -- Fix segfault when updating timelimit on jobarray task.
  1433. -- Fix to job array update logic that can result in a task ID of 4294967294.
  1434. -- Fix of job array update, previous logic could fail to update some tasks
  1435. of a job array for some fields.
  1436. -- CRAY - Fix seg fault if a blade is replaced and slurmctld is restarted.
  1437. -- Fix plane distribution to allocate in blocks rather than cyclically.
  1438. -- squeue - Remove newline from job array ID value printed.
  1439. -- squeue - Enable filtering for job state SPECIAL_EXIT.
  1440. -- Prevent job array task ID being inappropriately set to NO_VAL.
  1441. -- MYSQL - Make it so you don't have to restart the slurmctld
  1442. to gain the correct limit when a parent account is root and you
  1443. remove a subaccount's limit which exists on the parent account.
  1444. -- MYSQL - Close chance of setting the wrong limit on an association
  1445. when removing a limit from an association on multiple clusters
  1446. at the same time.
  1447. -- MYSQL - Fix minor memory leak when modifying an association but no
  1448. change was made.
  1449. -- srun command line of either --mem or --mem-per-cpu will override both the
  1450. SLURM_MEM_PER_CPU and SLURM_MEM_PER_NODE environment variables.
  1451. -- Prevent slurmctld abort on update of advanced reservation that contains no
  1452. nodes.
  1453. -- ALPS - Revert commit 2c95e2d22 which also removes commit 2e2de6a4 allowing
  1454. cray with the SubAllocate option to work as it did with 2.5.
  1455. -- Properly parse CPU frequency data on POWER systems.
  1456. -- Correct sacct.a man pages describing -i option.
  1457. -- Capture salloc/srun information in sdiag statistics.
  1458. -- Fix bug in node selection with topology optimization.
  1459. -- Don't set distribution when srun requests 0 memory.
  1460. -- Read in correct number of nodes from SLURM_HOSTFILE when specifying nodes
  1461. and --distribution=arbitrary.
  1462. -- Fix segfault in Bluegene setups where RebootQOSList is defined in
  1463. bluegene.conf and accounting is not setup.
  1464. -- MYSQL - Update mod_time when updating a start job record or adding one.
  1465. -- MYSQL - Fix issue where if an association id ever changes on at least a
  1466. portion of a job array is pending after it's initial start in the
  1467. database it could create another row for the remain array instead
  1468. of using the already existing row.
  1469. -- Fix scheduling anomaly with job arrays submitted to multiple partitions,
  1470. jobs could be started out of priority order.
  1471. -- If a host has suspened jobs do not reboot it. Reboot only hosts
  1472. with no jobs in any state.
  1473. -- ALPS - Fix issue when using --exclusive flag on srun to do the correct
  1474. thing (-F exclusive) instead of -F share.
  1475. -- Fix various memory leaks in the Perl API.
  1476. -- Fix a bug in the controller which display jobs in CF state as RUNNING.
  1477. -- Preserve advanced _core_ reservation when nodes added/removed/resized on
  1478. slurmctld restart. Rebuild core_bitmap as needed.
  1479. -- Fix for non-standard Munge port location for srun/pmi use.
  1480. -- Fix gang scheduling/preemption issue that could cancel job at startup.
  1481. -- Fix a bug in squeue which prevented squeue -tPD to print array jobs.
  1482. -- Sort job arrays in job queue according to array_task_id when priorities are
  1483. equal.
  1484. -- Fix segfault in sreport when there was no response from the dbd.
  1485. -- ALPS - Fix compile to not link against -ljob and -lexpat with every lib
  1486. or binary.
  1487. -- Fix testing for CR_Memory when CR_Memory and CR_ONE_TASK_PER_CORE are used
  1488. with select/linear.
  1489. -- MySQL - Fix minor memory leak if a connection ever goes away whist using it.
  1490. -- ALPS - Make it so srun --hint=nomultithread works correctly.
  1491. -- Prevent job array task ID from being reported as NO_VAL if last task in the
  1492. array gets requeued.
  1493. -- Fix some potential deadlock issues when state files don't exist in the
  1494. association manager.
  1495. -- Correct RebootProgram logic when executed outside of a maintenance
  1496. reservation.
  1497. -- Requeue job if possible when slurmstepd aborts.
  1498. * Changes in Slurm 14.11.8
  1499. ==========================
  1500. -- Eliminate need for user to set user_id on job_update calls.
  1501. -- Correct list of unavailable nodes reported in a job's "reason" field when
  1502. that job can not start.
  1503. -- Map job --mem-per-cpu=0 to --mem=0.
  1504. -- Fix squeue -o %m and %d unit conversion to Megabytes.
  1505. -- Fix issue with incorrect time calculation in the priority plugin when
  1506. a job runs past it's time limit.
  1507. -- Prevent users from setting job's partition to an invalid partition.
  1508. -- Fix sreport core dump when requesting
  1509. 'job SizesByAccount grouping=individual'.
  1510. -- select/linear: Correct count of CPUs allocated to job on system with
  1511. hyperthreads.
  1512. -- Fix race condition where last array task might not get updated in the db.
  1513. -- CRAY - Remove libpmi from rpm install
  1514. -- Fix squeue -o %X output to correctly handle NO_VAL and suffix.
  1515. -- When deleting a job from the system set the job_id to 0 to avoid memory
  1516. corruption if thread uses the pointer basing validity off the id.
  1517. -- Fix issue where sbatch would set ntasks-per-node to 0 making any srun
  1518. afterward cause a divide by zero error.
  1519. -- switch/cray: Refine logic to set PMI_CRAY_NO_SMP_ENV environment variable.
  1520. -- When sacctmgr loads archives with version less than 14.11 set the array
  1521. task id to NO_VAL, so sacct can display the job ids correctly.
  1522. -- When using memory cgroup if a task uses more memory than requested
  1523. the failures are logged into memory.failcnt count file by cgroup
  1524. and the user is notified by slurmstepd about it.
  1525. -- Fix scheduling inconsistency with GRES bound to specific CPUs.
  1526. -- If user belongs to a group which has split entries in /etc/group
  1527. search for its username in all groups.
  1528. -- Do not consider nodes explicitly powered up as DOWN with reason of "Node
  1529. unexpected rebooted".
  1530. -- Use correct slurmd spooldir when creating cpu-frequency locks.
  1531. -- Note that TICKET_BASED fairshare will be deprecated in the future. Consider
  1532. using the FAIR_TREE algorithm instead.
  1533. -- Set job's reason to BadConstaints when job can't run on any node.
  1534. -- Prevent abort on update of reservation with no nodes (licenses only).
  1535. -- Prevent slurmctld from dumping core if job_resrcs is missing in the
  1536. job data structure.
  1537. -- Fix squeue to print array task ids according to man page when
  1538. SLURM_BITSTR_LEN is defined in the environment.
  1539. -- In squeue, sort jobs based on array job ID if available.
  1540. -- Fix the calculation of job energy by not including the NO_VAL values.
  1541. -- Advanced reservation fixes: enable update of bluegene reservation, avoid
  1542. abort on multi-core reservations.
  1543. -- Set the totalview_stepid to the value of the job step instead of NO_VAL.
  1544. -- Fix slurmdbd core dump if the daemon does not have connection with
  1545. the database.
  1546. -- Display error message when attempting to modify priority of a held job.
  1547. -- Backfill scheduler: The configured backfill_interval value (default 30
  1548. seconds) is now interpretted as a maximum run time for the backfill
  1549. scheduler. Once reached, the scheduler will build a new job queue and
  1550. start over, even if not all jobs have been tested.
  1551. -- Backfill scheduler now considers OverTimeLimit and KillWait configuration
  1552. parameters to estimate when running jobs will exit.
  1553. -- Correct task layout with CR_Pack_Node option and more than 1 CPU per task.
  1554. -- Fix the scontrol man page describing the release argument.
  1555. -- When job QOS is modified, do so before attempting to change partition in
  1556. order to validate the partition's Allow/DenyQOS parameter.
  1557. * Changes in Slurm 14.11.7
  1558. ==========================
  1559. -- Initialize some variables used with the srun --no-alloc option that may
  1560. cause random failures.
  1561. -- Add SchedulerParameters option of sched_min_interval that controls the
  1562. minimum time interval between any job scheduling action. The default value
  1563. is zero (disabled).
  1564. -- Change default SchedulerParameters=max_sched_time from 4 seconds to 2.
  1565. -- Refactor scancel so that all pending jobs are cancelled before starting
  1566. cancellation of running jobs. Otherwise they happen in parallel and the
  1567. pending jobs can be scheduled on resources as the running jobs are being
  1568. cancelled.
  1569. -- ALPS - Add new cray.conf variable NoAPIDSignalOnKill. When set to yes this
  1570. will make it so the slurmctld will not signal the apid's in a batch job.
  1571. Instead it relies on the rpc coming from the slurmctld to kill the job to
  1572. end things correctly.
  1573. -- ALPS - Have the slurmstepd running a batch job wait for an ALPS release
  1574. before ending the job.
  1575. -- Initialize variables in consumable resource plugin to prevent core dump.
  1576. -- Fix scancel bug which could return an error on attempt to signal a job step.
  1577. -- In slurmctld communication agent, make the thread timeout be the configured
  1578. value of MessageTimeout rather than 30 seconds.
  1579. -- sshare -U/--Users only flag was used uninitialized.
  1580. -- Cray systems, add "plugstack.conf.template" sample SPANK configuration file.
  1581. -- BLUEGENE - Set DB2NOEXITLIST when starting the slurmctld daemon to avoid
  1582. random crashing in db2 when the slurmctld is exiting.
  1583. -- Make full node reservations display correctly the core count instead of
  1584. cpu count.
  1585. -- Preserve original errno on execve() failure in task plugin.
  1586. -- Add SLURM_JOB_NAME env variable to an salloc's environment.
  1587. -- Overwrite SLURM_JOB_NAME in an srun when it gets an allocation.
  1588. -- Make sure each job has a wckey if that is something that is tracked.
  1589. -- Make sure old step data is cleared when job is requeued.
  1590. -- Load libtinfo as needed when building ncurses tools.
  1591. -- Fix small memory leak in backup controller.
  1592. -- Fix segfault when backup controller takes control for second time.
  1593. -- Cray - Fix backup controller running native Slurm.
  1594. -- Provide prototypes for init_setproctitle()/fini_setproctitle on NetBSD.
  1595. -- Add configuration test to find out the full path to su command.
  1596. -- preempt/job_prio plugin: Fix for possible infinite loop when identifying
  1597. preemptable jobs.
  1598. -- preempt/job_prio plugin: Implement the concept of Warm-up Time here. Use
  1599. the QoS GraceTime as the amount of time to wait before preempting.
  1600. Basically, skip preemption if your time is not up.
  1601. -- Make srun wait KillWait time when a task is cancelled.
  1602. -- switch/cray: Revert logic added to 14.11.6 that set "PMI_CRAY_NO_SMP_ENV=1"
  1603. if CR_PACK_NODES is configured.
  1604. * Changes in Slurm 14.11.6
  1605. ==========================
  1606. -- If SchedulerParameters value of bf_min_age_reserve is configured, then
  1607. a newly submitted job can start immediately even if there is a higher
  1608. priority non-runnable job which has been waiting for less time than
  1609. bf_min_age_reserve.
  1610. -- qsub wrapper modified to export "all" with -V option
  1611. -- RequeueExit and RequeueExitHold configuration parameters modified to accept
  1612. numeric ranges. For example "RequeueExit=1,2,3,4" and "RequeueExit=1-4" are
  1613. equivalent.
  1614. -- Correct the job array specification parser to accept brackets in job array
  1615. expression (e.g. "123_[4,7-9]").
  1616. -- Fix for misleading job submit failure errors sent to users. Previous error
  1617. could indicate why specific nodes could not be used (e.g. too small memory)
  1618. when other nodes could be used, but were not for another reason.
  1619. -- Fix squeue --array to display correctly the array elements when the
  1620. % separator is specified at the array submission time.
  1621. -- Fix priority from not being calculated correctly due to memory issues.
  1622. -- Fix a transient pending reason 'JobId=job_id has invalid QOS'.
  1623. -- A non-administrator change to job priority will not be persistent except
  1624. for holding the job. User's wanting to change a job priority on a persistent
  1625. basis should reset it's "nice" value.
  1626. -- Print buffer sizes as unsigned values when failed to pack messages.
  1627. -- Fix race condition where sprio would print factors without weights applied.
  1628. -- Document the sacct option JobIDRaw which for arrays prints the jobid instead
  1629. of the arrayTaskId.
  1630. -- Allow users to modify MinCPUsNode, MinMemoryNode and MinTmpDiskNode of
  1631. their own jobs.
  1632. -- Increase the jobid print field in SQUEUE_FORMAT in
  1633. opt_modulefiles_slurm.in.
  1634. -- Enable compiling without optimizations and with debugging symbols by
  1635. default. Disable this by configuring with --disable-debug.
  1636. -- job_submit/lua plugin: Add mail_type and mail_user fields.
  1637. -- Correct output message from sshare.
  1638. -- Use standard statvfs(2) syscall if available, in preference to
  1639. non-standard statfs.
  1640. -- Add a new option -U/--Users to sshare to display only users
  1641. information, parent and ancestors are not printed.
  1642. -- Purge 50000 records at a time so that locks can released periodically.
  1643. -- Fix potentially uninitialized variables
  1644. -- ALPS - Fix issue where a frontend node could become unresponsive and never
  1645. added back into the system.
  1646. -- Gate epilog complete messages as done with other messages
  1647. -- If we have more than a certain number of agents (50) wait longer when gating
  1648. rpcs.
  1649. -- FrontEnd - ping non-responding or down nodes.
  1650. -- switch/cray: If CR_PACK_NODES is configured, then set the environment
  1651. variable "PMI_CRAY_NO_SMP_ENV=1"
  1652. -- Fix invalid memory reference in SlurmDBD when putting a node up.
  1653. -- Allow opening of plugstack.conf even when a symlink.
  1654. -- Fix scontrol reboot so that rebooted nodes will not be set down with reason
  1655. 'Node xyz unexpectedly rebooted' but will be correctly put back to service.
  1656. -- CRAY - Throttle the post NHC operations as to not hog the job write lock
  1657. if many steps/jobs finish at once.
  1658. -- Disable changes to GRES count while jobs are running on the node.
  1659. -- CRAY - Fix issue with scontrol reconfig.
  1660. -- slurmd: Remove wrong reporting of "Error reading step ... memory limit".
  1661. The logic was treating success as an error.
  1662. -- Eliminate "Node ping apparently hung" error messages.
  1663. -- Fix average CPU frequency calculation.
  1664. -- When allocating resources with resolution of sockets, charge the job for all
  1665. CPUs on allocated sockets rather than just the CPUs on used cores.
  1666. -- Prevent slurmdbd error if cluster added or removed while rollup in progress.
  1667. Removing a cluster can cause slurmdbd to abort. Adding a cluster can cause
  1668. the slurmdbd rollup to hang.
  1669. -- sview - When right clicking on a tab make sure we don't display the page
  1670. list, but only the column list.
  1671. -- FRONTEND - If doing a clean start make sure the nodes are brought up in the
  1672. database.
  1673. -- MySQL - Fix issue when using the TrackSlurmctldDown and nodes are down at
  1674. the same time, don't double bill the down time.
  1675. -- MySQL - Various memory leak fixes.
  1676. -- sreport - Fix Energy displays
  1677. -- Fix node manager logic to keep unexpectedly rebooted node in state
  1678. NODE_STATE_DOWN even if already down when rebooted.
  1679. -- Fix for array jobs submitted to multiple partitions not starting.
  1680. -- CRAY - Enable ALPs mpp compatibility code in sbatch for native Slurm.
  1681. -- ALPS - Move basil_inventory to less confusing function.
  1682. -- Add SchedulerParameters option of "sched_max_job_start=" to limit the
  1683. number of jobs that can be started in any single execution of the main
  1684. scheduling logic.
  1685. -- Fixed compiler warnings generated by gcc version >= 4.6.
  1686. -- sbatch to stop parsing script for "#SBATCH" directives after first command,
  1687. which matches the documentation.
  1688. -- Overwrite the SLURM_JOB_NAME in sbatch if already exist in the environment
  1689. and use the one specified on the command line --job-name.
  1690. -- Remove xmalloc_nz from unpack functions. If the unpack ever failed the
  1691. free afterwards would not have zeroed out memory on the variables that
  1692. didn't get unpacked.
  1693. -- Improve database interaction from controller.
  1694. -- Fix for data shift when loading job archives.
  1695. -- ALPS - Added new SchedulerParameters=inventory_interval to specify how
  1696. often an inventory request is handled.
  1697. -- ALPS - Don't run a release on a reservation on the slurmctld for a batch
  1698. job. This is already handled on the stepd when the script finishes.
  1699. * Changes in Slurm 14.11.5
  1700. ==========================
  1701. -- Correct the squeue command taking into account that a node can
  1702. have NULL name if it is not in DNS but still in slurm.conf.
  1703. -- Fix slurmdbd regression which would cause a segfault when a node is set
  1704. down with no reason.
  1705. -- BGQ - Fix issue with job arrays not being handled correctly
  1706. in the runjob_mux plugin.
  1707. -- Print FAIR_TREE, if configured, in "scontrol show config" output for
  1708. PriorityFlags.
  1709. -- Add SLURM_JOB_GPUS environment variable to those available in the Prolog.
  1710. -- Load lua-5.2 library if using lua5.2 for lua job submit plugin.
  1711. -- GRES logic: Prevent bad node_offset due to not preserving no_consume flag.
  1712. -- Fix wrong variables used in the wrapper functions needed for systems that
  1713. don't support strong_alias
  1714. -- Fix code for apple computers SOL_TCP is not defined
  1715. -- Cray/BASIL - Check for mysql credentials in /root/.my.cnf.
  1716. -- Fix sprio showing wrong priority for job arrays until priority is
  1717. recalculated.
  1718. -- Account to batch step all CPUs that are allocated to a job not
  1719. just one since the batch step has access to all CPUs like other steps.
  1720. -- Fix job getting EligibleTime set before meeting dependency requirements.
  1721. -- Correct the initialization of QOS MinCPUs per job limit.
  1722. -- Set the debug level of information messages in cgroup plugin to debug2.
  1723. -- For job running under a debugger, if the exec of the task fails, then
  1724. cancel its I/O and abort immediately rather than waiting 60 seconds for
  1725. I/O timeout.
  1726. -- Fix associations not getting default qos set until after a restart.
  1727. -- Set the value of total_cpus not to be zero before invoking
  1728. acct_policy_job_runnable_post_select.
  1729. -- MySQL - When requesting cluster resources, only return resources for the
  1730. cluster(s) requested.
  1731. -- Add TaskPluginParam=autobind=threads option to set a default binding in the
  1732. case that "auto binding" doesn't find a match.
  1733. -- Introduce a new SchedulerParameters variable nohold_on_prolog_fail.
  1734. If configured don't requeue jobs on hold is a Prolog fails.
  1735. -- Make it so sched_params isn't read over and over when an epilog complete
  1736. message comes in
  1737. -- Fix squeue -L <licenses> not filtering out jobs with licenses.
  1738. -- Changed the implementation of xcpuinfo_abs_to_mac() be identical
  1739. _abs_to_mac() to fix CPUs allocation using cpuset cgroup.
  1740. -- Improve the explanation of the unbuffered feature in the
  1741. srun man page.
  1742. -- Make taskplugin=cgroup work for core spec. needed to have task/cgroup
  1743. before.
  1744. -- Fix reports not using the month usage table.
  1745. -- BGQ - Sanity check given for translating small blocks into slurm bg_records.
  1746. -- Fix bug preventing the requeue/hold or requeue/special_exit of job from the
  1747. completing state.
  1748. -- Cray - Fix for launching batch step within an existing job allocation.
  1749. -- Cray - Add ALPS_APP_ID_ENV environment variable.
  1750. -- Increase maximum MaxArraySize configuration parameter value from 1,000,001
  1751. to 4,000,001.
  1752. -- Added new SchedulerParameters value of bf_min_age_reserve. The backfill
  1753. scheduler will not reserve resources for pending jobs until they have
  1754. been pending for at least the specified number of seconds. This can be
  1755. valuable if jobs lack time limits or all time limits have the same value.
  1756. -- Fix support for --mem=0 (all memory of a node) with select/cons_res plugin.
  1757. -- Fix bug that can permit someone to kill job array belonging to another user.
  1758. -- Don't set the default partition on a license only reservation.
  1759. -- Show a NodeCnt=0, instead of NO_VAL, in "scontrol show res" for a license
  1760. only reservation.
  1761. -- BGQ - When using static small blocks make sure when clearing the job the
  1762. block is set up to it's original state.
  1763. -- Start job allocation using lowest numbered sockets for block task
  1764. distribution for consistency with cyclic distribution.
  1765. * Changes in Slurm 14.11.4
  1766. ==========================
  1767. -- Make sure assoc_mgr locks are initialized correctly.
  1768. -- Correct check of enforcement when filling in an association.
  1769. -- Make sacctmgr print out classification correctly for clusters.
  1770. -- Add array_task_str to the perlapi job info.
  1771. -- Fix for slurmctld abort with GRES types configured and no CPU binding.
  1772. -- Fix for GRES scheduling where count > 1 per topology type (or GRES types).
  1773. -- Make CR_ONE_TASK_PER_CORE work correctly with task/affinity.
  1774. -- job_submit/pbs - Fix possible deadlock.
  1775. -- job_submit/lua - Add "alloc_node" to job information available.
  1776. -- Fix memory leak in mysql accounting when usage rollup happens.
  1777. -- If users specify ALL together with other variables using the
  1778. --export sbatch/srun command line option, propagate the users'
  1779. environ to the execution side.
  1780. -- Fix job array scheduling anomaly that can stop scheduling of valid tasks.
  1781. -- Fix perl api tests for libslurmdb to work correctly.
  1782. -- Remove some misleading logs related to non-consumable GRES.
  1783. -- Allow --ignore-pbs to take effect when read as an #SBATCH argument.
  1784. -- Fix Slurmdb::clusters_get() in perl api from not returning information.
  1785. -- Fix TaskPluginParam=Cpusets from logging error message about not being able
  1786. to remove cpuset dir which was already removed by the release_agent.
  1787. -- Fix sorting by time left in squeue.
  1788. -- Fix the file name substitution for job stderr when %A, %a %j and %u
  1789. are specified.
  1790. -- Remove minor warning when compiling slurmstepd.
  1791. -- Fix database resources so they can add new clusters to them after they have
  1792. initially been added.
  1793. -- Use the slurm_getpwuid_r wrapper of getpwuid_r to handle possible
  1794. interrupts.
  1795. -- Correct the scontrol man page and command listing which node states can
  1796. be set by the command.
  1797. -- Stop sacct from printing non-existent stat information for
  1798. Front End systems.
  1799. -- Correct srun and acct_gather.conf man pages, mention Filesystem instead
  1800. of Lustre.
  1801. -- When a job using multiple partition starts send to slurmdbd only
  1802. the partition in which the job runs.
  1803. -- ALPS - Fix depth for MemoryAllocation in BASIL with CLE 5.2.3.
  1804. -- Fix assoc_mgr hash to deal with users that don't have a uid yet when making
  1805. reservations.
  1806. -- When a job uses multiple partition set the environment variable
  1807. SLURM_JOB_PARTITION to be the one in which the job started.
  1808. -- Print spurious message about the absence of cgroup.conf at log level debug2
  1809. instead of info.
  1810. -- Enable CUDA v7.0+ use with a Slurm configuration of TaskPlugin=task/cgroup
  1811. ConstrainDevices=yes (in cgroup.conf). With that configuration
  1812. CUDA_VISIBLE_DEVICES will start at 0 rather than the device number.
  1813. -- Fix job array logic that can cause slurmctld to abort.
  1814. -- Report job "shared" field properly in scontrol, squeue, and sview.
  1815. -- If a job is requeued because of RequeueExit or RequeueExitHold sent event
  1816. REQUEUED to slurmdbd.
  1817. -- Fix build if hwloc is in non-standard location.
  1818. -- Fix slurmctld job recovery logic which could cause the last task in a job
  1819. array to be lost.
  1820. -- Fix slurmctld initialization problem which could cause requeue of the last
  1821. task in a job array to fail if executed prior to the slurmctld loading
  1822. the maximum size of a job array into a variable in the job_mgr.c module.
  1823. -- Fix fatal in controller when deleting a user association of a user which
  1824. had been previously removed from the system.
  1825. -- MySQL - If a node state and reason are the same on a node state change
  1826. don't insert a new row in the event table.
  1827. -- Fix issue with "sreport cluster AccountUtilizationByUser" when using
  1828. PrivateData=users.
  1829. -- Fix perlapi tests for libslurm perl module.
  1830. -- MySQL - Fix potential issue when PrivateData=Usage and a normal user
  1831. runs certain sreport reports.
  1832. * Changes in Slurm 14.11.3
  1833. ==========================
  1834. -- Prevent vestigial job record when canceling a pending job array record.
  1835. -- Fixed squeue core dump.
  1836. -- Fix job array hash table bug, could result in slurmctld infinite loop or
  1837. invalid memory reference.
  1838. -- In srun honor ntasks_per_node before looking at cpu count when the user
  1839. doesn't request a number of tasks.
  1840. -- Fix ghost job when submitting job after all jobids are exhausted.
  1841. -- MySQL - Enhanced coordinator security checks.
  1842. -- Fix for task/affinity if an admin configures a node for having threads
  1843. but then sets CPUs to only represent the number of cores on the node.
  1844. -- Make it so previous versions of salloc/srun work with newer versions
  1845. of Slurm daemons.
  1846. -- Avoid delay on commit for PMI rank 0 to improve performance with some
  1847. MPI implementations.
  1848. -- auth/munge - Correct logic to read old format AccountingStoragePass.
  1849. -- Reset node "RESERVED" state as appropriate when deleting a maintenance
  1850. reservation.
  1851. -- Prevent a job manually suspended from being resumed by gang scheduler once
  1852. free resources are available.
  1853. -- Prevent invalid job array task ID value if a task is started using gang
  1854. scheduling.
  1855. -- Fixes for clean build on FreeBSD.
  1856. -- Fix documentation bugs in slurm.conf.5. DenyAccount should be DenyAccounts.
  1857. -- For backward compatibility with older versions of OMPI not compiled
  1858. with --with-pmi restore the SLURM_STEP_RESV_PORTS in the job environment.
  1859. -- Update the html documentation describing the integration with openmpi.
  1860. -- Fix sacct when searching by nodelist.
  1861. -- Fix cosmetic info statements when dealing with a job array task instead of
  1862. a normal job.
  1863. -- Fix segfault with job arrays.
  1864. -- Correct the sbatch pbs parser to process -j.
  1865. -- BGQ - Put print statement under a DebugFlag. This was just an oversight.
  1866. -- BLUEGENE - Remove check that would erroneously remove the CONFIGURING
  1867. flag from a job while the job is waiting for a block to boot.
  1868. -- Fix segfault in slurmstepd when job exceeded memory limit.
  1869. -- Fix race condition that could start a job that is dependent upon a job array
  1870. before all tasks of that job array complete.
  1871. -- PMI2 race condition fix.
  1872. * Changes in Slurm 14.11.2
  1873. ==========================
  1874. -- Fix Centos5 compile errors.
  1875. -- Fix issue with association hash not getting the correct index which
  1876. could result in seg fault.
  1877. -- Fix salloc/sbatch -B segfault.
  1878. -- Avoid huge malloc if GRES configured with "Type" and huge "Count".
  1879. -- Fix jobs from starting in overlapping reservations that won't finish before
  1880. a "maint" reservation begins.
  1881. -- When node gets drained while in state mixed display its status as draining
  1882. in sinfo output.
  1883. -- Allow priority/multifactor to work with sched/wiki(2) if all priorities
  1884. have no weight. This allows for association and QOS decay limits to work.
  1885. -- Fix "squeue --start" to override SQUEUE_FORMAT env variable.
  1886. -- Fix scancel to be able to cancel multiple jobs that are space delimited.
  1887. -- Log Cray MPI job calling exit() without mpi_fini(), but do not treat it as
  1888. a fatal error. This partially reverts logic added in version 14.03.9.
  1889. -- sview - Fix displaying of suspended steps elapsed times.
  1890. -- Increase number of messages that get cached before throwing them away
  1891. when the DBD is down.
  1892. -- Fix jobs from starting in overlapping reservations that won't finish before
  1893. a "maint" reservation begins.
  1894. -- Restore GRES functionality with select/linear plugin. It was broken in
  1895. version 14.03.10.
  1896. -- Fix bug with GRES having multiple types that can cause slurmctld abort.
  1897. -- Fix squeue issue with not recognizing "localhost" in --nodelist option.
  1898. -- Make sure the bitstrings for a partitions Allow/DenyQOS are up to date
  1899. when running from cache.
  1900. -- Add smap support for job arrays and larger job ID values.
  1901. -- Fix possible race condition when attempting to use QOS on a system running
  1902. accounting_storage/filetxt.
  1903. -- Fix issue with accounting_storage/filetxt and job arrays not being printed
  1904. correctly.
  1905. -- In proctrack/linuxproc and proctrack/pgid, check the result of strtol()
  1906. for error condition rather than errno, which might have a vestigial error
  1907. code.
  1908. -- Improve information recording for jobs deferred due to advanced
  1909. reservation.
  1910. -- Exports eio_new_initial_obj to the plugins and initialize kvs_seq on
  1911. mpi/pmi2 setup to support launching.
  1912. * Changes in Slurm 14.11.1
  1913. ==========================
  1914. -- Get libs correct when doing the xtree/xhash make check.
  1915. -- Update xhash/tree make check to work correctly with current code.
  1916. -- Remove the reference 'experimental' for the jobacct_gather/cgroup
  1917. plugin.
  1918. -- Add QOS manipulation examples to the qos.html documentation page.
  1919. -- If 'squeue -w node_name' specifies an unknown host name print
  1920. an error message and return 1.
  1921. -- Fix race condition in job_submit plugin logic that could cause slurmctld to
  1922. deadlock.
  1923. -- Job wait reason of "ReqNodeNotAvail" expanded to identify unavailable nodes
  1924. (e.g. "ReqNodeNotAvail(Unavailable:tux[3-6])").
  1925. * Changes in Slurm 14.11.0
  1926. ==========================
  1927. -- ALPS - Fix issue with core_spec warning.
  1928. -- Allow multiple partitions to be specified in sinfo -p.
  1929. -- Install the service files in /usr/lib/systemd/system.
  1930. -- MYSQL - Add id_array_job and id_resv keys to $CLUSTER_job_table. THIS
  1931. COULD TAKE A WHILE TO CREATE THE KEYS SO BE PATIENT.
  1932. -- CRAY - Resize bitmaps on a restart and find we have more blades
  1933. than before.
  1934. -- Add new eio API function for removing unused connections.
  1935. -- ALPS - Fix issue where batch allocations weren't correctly confirmed or
  1936. released.
  1937. -- Define DEFAULT_MAX_TASKS_PER_NODE based on MAX_TASKS_PER_NODE from
  1938. slurm.h as per documentation.
  1939. -- Update the FAQ about relocating slurmctld.
  1940. -- In the memory cgroup enable memory.use_hierarchy in the cgroup root.
  1941. -- Export eio.c functions for use by MPI/PMI2.
  1942. -- Add SLURM_CLUSTER_NAME to job environment.
  1943. * Changes in Slurm 14.11.0rc3
  1944. =============================
  1945. -- Allow envs to override autotools binaries in autogen.sh
  1946. -- Added system services files.
  1947. -- If the jobs pends with DependencyNeverSatisfied keep it pending even after
  1948. the job which it was depending upon was cleaned.
  1949. -- Let operators (in addition to user root and SlurmUser) see job script for
  1950. other user's jobs.
  1951. -- Perl API modified to return node state of MIXED rather than ALLOCATED if
  1952. only some CPUs allocated.
  1953. -- Double Munge connect retry timeout from 1 to 2 seconds.
  1954. -- sview - Remove unneeded code that was resolved globally in commit
  1955. 98e24b0dedc.
  1956. -- Collect and report the accounting of the batch step and its children.
  1957. -- Add configure checks for faccessat and eaccess, and make use of one of
  1958. them if available.
  1959. -- Make configure --enable-developer also set --enable-debug
  1960. -- Introduce a SchedulerParameters variable kill_invalid_depend, if set
  1961. then jobs pending with invalid dependency are going to be terminated.
  1962. -- Move spank_user_task() call in slurmstepd after the task_g_pre_launch()
  1963. so that the task affinity information is available to spank.
  1964. -- Make /etc/init.d/slurm script return value 3 when the daemon is
  1965. not running. This is required by Linux Standard Base Core
  1966. Specification 3.1
  1967. * Changes in Slurm 14.11.0rc2
  1968. =============================
  1969. -- Logs for jobs which are explicitly requeued will say so rather than saying
  1970. that a node in their allocation failed.
  1971. -- Updated the documentation about the remote licenses served by
  1972. the Slurm database.
  1973. -- Insure that slurm_spank_exit() is only called once from srun.
  1974. -- Change the signature of net_set_low_water() to use 4 bytes instead of 8.
  1975. -- Export working_cluster_rec in libslurmdb.so as well as move some function
  1976. definitions needed for drmaa.
  1977. -- If using cons_res or serial cause a fatal in the plugin instead of causing
  1978. the SelectTypeParameters to magically set to CR_CPU.
  1979. -- Enhance task/affinity auto binding to consider tasks * cpus-per-task.
  1980. -- Fix regression the priority/multifactor which would cause memory corruption.
  1981. Issue is only in rc1.
  1982. -- Add PrivateData value of "cloud". If set, powered down nodes in the cloud
  1983. will be visible.
  1984. -- Sched/backfill - Eliminate clearing start_time of running jobs.
  1985. -- Fix various backwards compatibility issues.
  1986. -- If failed to launch a batch job, requeue it in hold.
  1987. * Changes in Slurm 14.11.0rc1
  1988. =============================
  1989. -- When using cgroup name the batch step as step_batch instead of
  1990. batch_4294967294
  1991. -- Changed LEVEL_BASED priority to be "Fair_Tree"
  1992. -- Port to NetBSD.
  1993. -- BGQ - Add cnode based reservations.
  1994. -- Alongside totalview_jobid implement totalview_stepid available
  1995. to sattach.
  1996. -- Add ability to include other files in slurm.conf based upon the ClusterName.
  1997. -- Update strlcpy to latest upstream version.
  1998. -- Add reservation information in the sacct and sreport output.
  1999. -- Add job priority calculation check for overflow and fix memory leak.
  2000. -- Add SchedulerParameters option of pack_serial_at_end to put serial jobs at
  2001. the end of the available nodes rather than using a best fit algorithm.
  2002. -- Allow regular users to view default sinfo output when
  2003. privatedata=reservations is set.
  2004. -- PrivateData=reservation modified to permit users to view the reservations
  2005. which they have access to (rather then preventing them from seeing ANY
  2006. reservation).
  2007. -- job_submit/lua: Fix job_desc set field logic
  2008. * Changes in Slurm 14.11.0pre5
  2009. ==============================
  2010. -- Fix sbatch --export=ALL, it was treated by srun as a request to explicitly
  2011. export only the environment variable named "ALL".
  2012. -- Improve scheduling of jobs in reservations that overlap other reservations.
  2013. -- Modify sgather to make global file systems easier to configure.
  2014. -- Added sacctmgr reconfig to reread the slurmdbd.conf in the slurmdbd.
  2015. -- Modify scontrol job operations to accept comma delimited list of job IDs.
  2016. Applies to job update, hold, release, suspend, resume, requeue, and
  2017. requeuehold operations.
  2018. -- Refactor job_submit/lua interface. LUA FUNCTIONS NEED TO CHANGE! The
  2019. lua script no longer needs to explicitly load meta-tables, but information
  2020. is available directly using names slurm.reservations, slurm.jobs,
  2021. slurm.log_info, etc. Also, the job_submit.lua script is reloaded when
  2022. updated without restarting the slurmctld daemon.
  2023. -- Allow users to specify --resv_ports to have value 0.
  2024. -- Cray MPMD (Multiple-Program Multiple-Data) support completed.
  2025. -- Added ability for "scontrol update" to references jobs by JobName (and
  2026. filtered optionally by UserID).
  2027. -- Add support for an advanced reservation start time that remains constant
  2028. relative to the current time. This can be used to prevent the starting of
  2029. longer running jobs on select nodes for maintenance purpose. See the
  2030. reservation flag "TIME_FLOAT" for more information.
  2031. -- Enlarge the jobid field to 18 characters in squeue output.
  2032. -- Added "scontrol write config" option to save a copy of the current
  2033. configuration in a file containing a time stamp.
  2034. -- Eliminate native Cray specific port management. Native Cray systems must
  2035. now use the MpiParams configuration parameter to specify ports to be used
  2036. for commmunications. When upgrading Native Cray systems from version 14.03,
  2037. all running jobs should be killed and the switch_cray_state file (in
  2038. SaveStateLocation of the nodes where the slurmctld daemon runs) must be
  2039. explicitly deleted.
  2040. * Changes in Slurm 14.11.0pre4
  2041. ==============================
  2042. -- Added job array data structure and removed 64k array size restriction.
  2043. -- Added SchedulerParameters options of bf_max_job_array_resv to control how
  2044. many tasks of a job array should have resources reserved for them.
  2045. -- Added more validity checking of incoming job submit requests.
  2046. -- Added srun --export option to set/export specific environment variables.
  2047. -- Scontrol modified to print separate error messages for job arrays with
  2048. different exit codes on the different tasks of the job array. Applies to
  2049. job suspend and resume operations.
  2050. -- Fix race condition in CPU frequency set with job preemption.
  2051. -- Always call select plugin on step termination, even if the job is also
  2052. complete.
  2053. -- Srun executable names beginning with "." will be resolved based upon the
  2054. working directory and path on the compute node rather than the submit node.
  2055. -- Add node state string suffix of "$" to identify nodes in maintenance
  2056. reservation or scheduled for reboot. This applies to scontrol, sinfo,
  2057. and sview commands.
  2058. -- Enable scontrol to clear a nodes's scheduled reboot by setting its state
  2059. to "RESUME".
  2060. -- As per sbatch and srun documentation when the --signal option is used
  2061. signal only the steps and unless, in the case, of a batch job B is
  2062. specified in which case signal only the batch script.
  2063. -- Modify AuthInfo configuration parameter to accept credential lifetime
  2064. option.
  2065. -- Modify crypto/munge plugin to use socket and timeout specified in AuthInfo.
  2066. -- If we have a state for a step on completion put that in the database
  2067. instead of guessing off the exit_code.
  2068. -- Added squeue -P/--priority option that can be used to display pending jobs
  2069. in the same order as used by the Slurm scheduler even if jobs are submitted
  2070. to multiple partitions (job is reported once per usable partition).
  2071. -- Improve the pending reason description for various QOS limits. For each
  2072. QOS limit that causes a job to be pending print its specific reason.
  2073. For example if job pends because of GrpCpus the squeue command will
  2074. print QOSGrpCpuLimit as pending reason.
  2075. -- sched/backfill - Set expected start time of job submitted to multiple
  2076. partitions to the earliest start time on any of the partitions.
  2077. -- Introduce a MAX_BATCH_REQUEUE define that indicates how many times a job
  2078. can be requeued upon prolog failure. When the number is reached the job
  2079. is put on hold with reason JobHoldMaxRequeue.
  2080. -- Add sbatch job array option to limit the number of simultaneously running
  2081. tasks from a job array (e.g. "--array=0-15%4").
  2082. -- Implemented a new QOS limit MinCPUs. Users running under a QOS must
  2083. request a minimum number of CPUs which is at least MinCPUs otherwise
  2084. their job will pend.
  2085. -- Introduced a new pending reason WAIT_QOS_MIN_CPUS to reflect the new QOS
  2086. limit.
  2087. -- Job array dependency based upon state is now dependent upon the state of
  2088. the array as a whole (e.g. afterok requires ALL tasks to complete
  2089. sucessfully, afternotok is true if ANY tasks does not complete successfully,
  2090. and after requires all tasks to at least be started).
  2091. -- The srun -u/--unbuffered options set the stdout of the task launched
  2092. by srun to be line buffered.
  2093. -- The srun options -/--label and -u/--unbuffered can be specified together.
  2094. This limitation has been removed.
  2095. -- Provide sacct display of gres accounting information per job.
  2096. -- Change the node status size from uin16_t to uint32_t.
  2097. * Changes in Slurm 14.11.0pre3
  2098. ==============================
  2099. -- Move xcpuinfo.[c|h] to the slurmd since it isn't needed anywhere else
  2100. and will avoid the need for all the daemons to link to libhwloc.
  2101. -- Add memory test to job_submit/partition plugin.
  2102. -- Added new internal Slurm functions xmalloc_nz() and xrealloc_nz(), which do
  2103. not initialize the allocated memory to zero for improved performance.
  2104. -- Modify hostlist function to dynamically allocate buffer space for improved
  2105. performance.
  2106. -- In the job_submit plugin: Remove all slurmctld locks prior to job_submit()
  2107. being called for improved performance. If any slurmctld data structures are
  2108. read or modified, add locks directly in the plugin.
  2109. -- Added PriorityFlag LEVEL_BASED described in doc/html/level_based.shtml
  2110. -- If Fairshare=parent is set on an account, that account's children will be
  2111. effectively reparented for fairshare calculations to the first parent of
  2112. their parent that is not Fairshare=parent. Limits remain the same,
  2113. only it's fairshare value is affected.
  2114. * Changes in Slurm 14.11.0pre2
  2115. ==============================
  2116. -- Added AllowSpecResourcesUsage configuration parameter in slurm.conf. This
  2117. allows jobs to use specialized resources on nodes allocated to them if the
  2118. job designates --core-spec=0.
  2119. -- Add new SchedulerParameters option of build_queue_timeout to throttle how
  2120. much time can be consumed building the job queue for scheduling.
  2121. -- Added HealthCheckNodeState option of "cycle" to cycle through the compute
  2122. nodes over the course of HealthCheckInterval rather than running all at
  2123. the same time.
  2124. -- Add job "reboot" option for Linux clusters. This invokes the configured
  2125. RebootProgram to reboot nodes allocated to a job before it begins execution.
  2126. -- Added squeue -O/--Format option that makes all job and step fields available
  2127. for printing.
  2128. -- Improve database slurmctld entry speed dramatically.
  2129. -- Add "CPUs" count to output of "scontrol show step".
  2130. -- Add support for lua5.2
  2131. -- scancel -b signals only the batch step neither any other step nor any
  2132. children of the shell script.
  2133. -- MySQL - enforce NO_ENGINE_SUBSTITUTION
  2134. -- Added CpuFreqDef configuration parameter in slurm.conf to specify the
  2135. default CPU frequency and governor to be set at job end.
  2136. -- Added support for job email triggers: TIME_LIMIT, TIME_LIMIT_90 (reached
  2137. 90% of time limit), TIME_LIMIT_80 (reached 80% of time limit), and
  2138. TIME_LIMIT_50 (reached 50% of time limit). Applies to salloc, sbatch and
  2139. srun commands.
  2140. -- In slurm.conf add the parameter SrunPortRange=min-max. If this is configured
  2141. then srun will use its dynamic ports only from the configured range.
  2142. -- Make debug_flags 64 bit to handle more flags.
  2143. * Changes in Slurm 14.11.0pre1
  2144. ==============================
  2145. -- Modify etc/cgroup.release_common.example to set specify full path to the
  2146. scontrol command. Also find cgroup mount point by reading cgroup.conf file.
  2147. -- Improve qsub wrapper support for passing environment variables.
  2148. -- Modify sdiag to report Slurm RPC traffic by user, type, count and time
  2149. consumed.
  2150. -- In select plugins, stop triggering extra logging based upon the debug flag
  2151. CPU_Bind and use SelectType instead.
  2152. -- Added SchedulerParameters options of bf_yield_interval and bf_yield_sleep
  2153. to control how frequently and for how long the backfill scheduler will
  2154. relinquish its locks.
  2155. -- To support larger numbers of jobs when the StateSaveDirectory is on a
  2156. file system that supports a limited number of files in a directory, add a
  2157. subdirectory called "hash.#" based upon the last digit of the job ID.
  2158. -- More gracefully handle missing batch script file. Just kill the job and do
  2159. not drain the compute node.
  2160. -- Add support for allocation of GRES by model type for heterogenous systems
  2161. (e.g. request a Kepler GPU, a Tesla GPU, or a GPU of any type).
  2162. -- Record and enable display of nodes anticipated to be used for pending jobs.
  2163. -- Modify squeue --start option to print the nodes expected to be used for
  2164. pending job (in addition to expected start time, etc.).
  2165. -- Add association hash to the assoc_mgr.
  2166. -- Better logic to handle resized jobs when the DBD is down.
  2167. -- Introduce MemLimitEnforce yes|no in slurm.conf. If set no Slurm will
  2168. not terminate jobs if they exceed requested memory.
  2169. -- Add support for non-consumable generic resources for resources that are
  2170. limited, but can be shared between jobs.
  2171. -- Introduce 5 new Slurm errors in slurm_errno.h related to job to better
  2172. report error conditions.
  2173. -- Modify scontrol to print error message for each array task when updating
  2174. the entire array.
  2175. -- Added gres_drain and gres_used fields to node_info_t.
  2176. -- Added PriorityParameters configuration parameter in slurm.conf.
  2177. -- Introduce automatic job requeue policy based on exit value. See RequeueExit
  2178. and RequeueExitHold descriptions in slurm.conf man page.
  2179. -- Modify slurmd to cache launched job IDs for more responsive job suspend and
  2180. gang scheduling.
  2181. -- Permit jobs steps full control over cpu_bind options if specialized cores
  2182. are included in the job allocation.
  2183. -- Added ChosLoc configuration parameter to specifiy the pathname of the
  2184. Chroot OS tool.
  2185. -- Sent SIGCONT/SIGTERM when a job is selected for preemption with GraceTime
  2186. configured rather than waiting for GraceTime to be reached before notifying
  2187. the job.
  2188. -- Do not resume a job with specialized cores on a node running another job
  2189. with specialized cores (only one can run at a time).
  2190. -- Add specialized core count to job suspend/resume calls.
  2191. -- task/affinity and task/cgroup - Correct specialized core task binding with
  2192. user supplied invalid CPU mask or map.
  2193. -- Add srun --cpu-freq options to set the CPU governor (OnDemand, Performance,
  2194. PowerSave or UserSpace).
  2195. -- Add support for a job step's CPU governor and/or frequency to be reset on
  2196. suspend/resume (or gang scheduling). The default for an idle CPU will now
  2197. be "ondemand" rather than "userspace" with the lowest frequency (to recover
  2198. from hard slurmd failures and support gang scheduling).
  2199. -- Added PriorityFlags option of Calulate_Running to continue recalculating
  2200. the priority of running jobs.
  2201. -- Replace round-robin front-end node selection with least-loaded algorithm.
  2202. -- CRAY - Improve support of XC30 systems when running natively.
  2203. -- Add new node configuration parameters CoreSpecCount, CPUSpecList and
  2204. MemSpecLimit which support the reservation of resources for system use
  2205. with Linux cgroup.
  2206. -- Add child_forked() function to the slurm_acct_gather_profile plugin to
  2207. close open files, leaving application with no extra open file descriptors.
  2208. -- Cray/ALPS system - Enable backup controller to run outside of the Cray to
  2209. accept new job submissions and most other operations on the pending jobs.
  2210. -- Have sacct print job and task array id's for job arrays.
  2211. -- Smooth out fanout logic
  2212. -- If <sys/prctl.h> is present name major threads in slurmctld, for
  2213. example backfill
  2214. thread: slurmctld_bckfl, the rpc manager: slurmctld_rpcmg etc.
  2215. The name can be seen for example using top -H.
  2216. -- sview - Better job_array support.
  2217. -- Provide more precise error message when job allocation can not be satisfied
  2218. (e.g. memory, disk, cpu count, etc. rather than just "node configuration
  2219. not available").
  2220. -- Create a new DebugFlags named TraceJobs in slurm.conf to print detailed
  2221. information about jobs in slurmctld. The information include job ids, state
  2222. and node count.
  2223. -- When a job dependency can never be satisfied do not cancel the job but keep
  2224. pending with reason WAIT_DEP_INVALID (DependencyNeverSatisfied).
  2225. * Changes in Slurm 14.03.12
  2226. ===========================
  2227. -- Make it so previous versions of salloc/srun work with newer versions
  2228. of Slurm daemons.
  2229. -- PMI2 race condition fix.
  2230. -- Avoid delay on commit for PMI rank 0 to improve performance with some
  2231. MPI implementations.
  2232. -- Correct the sbatch pbs parser to process -j.
  2233. -- Squeue modified to not merge tasks of a job array if their wait reasons
  2234. differ.
  2235. -- Use the slurm_getpwuid_r wrapper of getpwuid_r to handle possible
  2236. interrupts.
  2237. -- Allow --ignore-pbs to take effect when read as an #SBATCH argument.
  2238. -- Do not launch step if job killed while the prolog was running.
  2239. * Changes in Slurm 14.03.11
  2240. ===========================
  2241. -- ALPS - Fix depth for Memory items in BASIL with CLE 5.2
  2242. (changed starting in 5.2.3).
  2243. -- ALPS - Fix issue when tracking memory on a PerNode basis instead of
  2244. PerCPU.
  2245. -- Modify assoc_mgr_fill_in_qos() to allow for a flag to know if the QOS read
  2246. lock was locked outside of the function or not.
  2247. -- Give even better estimates on pending node count if no node count
  2248. is requested.
  2249. -- Fix jobcomp/mysql plugin for MariaDB 10+/Mysql 5.6+ to work with reserved
  2250. work "partition".
  2251. -- If requested (scontrol reboot node_name) reboot a node even if it has
  2252. an maintenance reservation that is not active yet.
  2253. -- Fix issue where exclusive allocations wouldn't lay tasks out correctly
  2254. with CR_PACK_NODES.
  2255. -- Do not requeue a batch job from slurmd daemon if it is killed while in
  2256. the process of being launched (a race condition introduced in v14.03.9).
  2257. -- Do not let srun overwrite SLURM_JOB_NUM_NODES if already in an allocation.
  2258. -- Prevent a job's end_time from being too small after a basil reservation
  2259. error.
  2260. -- Fix sbatch --ntasks-per-core option from setting invalid
  2261. SLURM_NTASKS_PER_CORE environment value.
  2262. -- Prevent scancel abort when no job satisfies filter options.
  2263. -- ALPS - Fix --ntasks-per-core option on multiple nodes.
  2264. -- Double max string that Slurm can pack from 16MB to 32MB to support
  2265. larger MPI2 configurations.
  2266. -- Fix Centos5 compile issues.
  2267. -- Log Cray MPI job calling exit() without mpi_fini(), but do not treat it as
  2268. a fatal error. This partially reverts logic added in version 14.03.9.
  2269. -- sview - Fix displaying of suspended steps elapsed times.
  2270. -- Increase number of messages that get cached before throwing them away
  2271. when the DBD is down.
  2272. -- Fix jobs from starting in overlapping reservations that won't finish before
  2273. a "maint" reservation begins.
  2274. -- Fix "squeue --start" to override SQUEUE_FORMAT env variable.
  2275. -- Restore GRES functionality with select/linear plugin. It was broken in
  2276. version 14.03.10.
  2277. -- Fix possible race condition when attempting to use QOS on a system running
  2278. accounting_storage/filetxt.
  2279. -- Sanity check for Correct QOS on startup.
  2280. * Changes in Slurm 14.03.10
  2281. ===========================
  2282. -- Fix a few sacctmgr error messages.
  2283. -- Treat non-zero SlurmSchedLogLevel without SlurmSchedLogFile as a fatal
  2284. error.
  2285. -- Correct sched_config.html documentation SchedulingParameters
  2286. should be SchedulerParameters.
  2287. -- When using gres and cgroup ConstrainDevices set correct access
  2288. permission for the batch step.
  2289. -- Fix minor memory leak in jobcomp/mysql on slurmctld reconfig.
  2290. -- Fix bug that prevented preservation of a job's GRES bitmap on slurmctld
  2291. restart or reconfigure (bug was introduced in 14.03.5 "Clear record of a
  2292. job's gres when requeued" and only applies when GRES mapped to specific
  2293. files).
  2294. -- BGQ: Fix race condition when job fails due to hardware failure and is
  2295. requeued. Previous code could result in slurmctld abort with NULL pointer.
  2296. -- Prevent negative job array index, which could cause slurmctld to crash.
  2297. -- Fix issue with squeue/scontrol showing correct node_cnt when only tasks
  2298. are specified.
  2299. -- Check the status of the database connection before using it.
  2300. -- ALPS - If an allocation requests -n set the BASIL -N option to the
  2301. amount of tasks / number of node.
  2302. -- ALPS - Don't set the env var APRUN_DEFAULT_MEMORY, it is not needed anymore.
  2303. -- Fix potential buffer overflow.
  2304. -- Give better estimates on pending node count if no node count is requested.
  2305. -- BLUEGENE - Fix issue where requeuing jobs could cause an assert.
  2306. * Changes in Slurm 14.03.9
  2307. ==========================
  2308. -- If slurmd fails to stat(2) the configuration print the string describing
  2309. the error code.
  2310. -- Fix for mixing core base reservations with whole node based reservations
  2311. to avoid overlapping erroneously.
  2312. -- BLUEGENE - Remove references to Base Partition.
  2313. -- sview - If compiled on a non-bluegene system then used to view a BGQ fix
  2314. to allow sview to display blocks correctly.
  2315. -- Fix bug in update reservation. When modifying the reservation the end time
  2316. was set incorrectly.
  2317. -- The start time of a reservation that is in ACTIVE state cannot be modified.
  2318. -- Update the cgroup documentation about release agent for devices.
  2319. -- MYSQL - fix for setting up preempt list on a QOS for multiple QOS.
  2320. -- Correct a minor error in the scancel.1 man page related to the
  2321. --signal option.
  2322. -- Enhance the scancel.1 man page to document the sequence of signals sent
  2323. -- Fix slurmstepd core dump if the cgroup hierarchy is not completed
  2324. when terminating the job.
  2325. -- Fix hostlist_shift to be able to give correct node names on names with a
  2326. different number of dimensions than the cluster.
  2327. -- BLUEGENE - Fix invalid pointer in corner case in the plugin.
  2328. -- Make sure on a reconfigure the select information for a node is preserved.
  2329. -- Correct logic to support job GRES specification over 31 bits (problem
  2330. in logic converting int to uint32_t).
  2331. -- Remove logic that was creating GRES bitmap for node when not needed (only
  2332. needed when GRES mapped to specific files).
  2333. -- BLUEGENE - Fix sinfo -tr before it would only print idle nodes correctly.
  2334. -- BLUEGENE - Fix for licenses_only reservation on bluegene systems.
  2335. -- sview - Verify pointer before using strchr.
  2336. -- -M option on tools talking to a Cray from a non-Cray fixed.
  2337. -- CRAY - Fix rpmbuild issue for missing file slurm.conf.template.
  2338. -- Fix race condition when dealing with removing many associations at
  2339. different times when reservations are using the associations that are
  2340. being deleted.
  2341. -- When a node's state is set to power_down/power_up, then execute
  2342. SuspendProgram/ResumeProgram even if previously executed for that node.
  2343. -- Fix logic determining when job configuration (i.e. running node power up
  2344. logic) is complete.
  2345. -- Setting the state of a node in powered down state node to "resume" will
  2346. no longer cause it to reboot, but only clear the "drain" state flag.
  2347. -- Fix srun documentation to remove SLURM_NODELIST being equivalent as the -w
  2348. option (since it isn't).
  2349. -- Fix issue with --hint=nomultithread and allocations with steps running
  2350. arbitrary layouts (test1.59).
  2351. -- PrivateData=reservation modified to permit users to view the reservations
  2352. which they have access to (rather then preventing them from seeing ANY
  2353. reservation). Backport from 14.11 commit 77c2bd25c.
  2354. -- Fix PrivateData=reservation when using associations to give privileges to
  2355. a reservation.
  2356. -- Better checking to see if select plugin is linear or not.
  2357. -- Add support for time specification of "fika" (3 PM).
  2358. -- Standardize qstat wrapper more.
  2359. -- Provide better estimate of minimum node count for pending jobs using more
  2360. job parameters.
  2361. -- ALPS - Add SubAllocate to cray.conf file for those who like the way <=2.5
  2362. did the ALPS reservation.
  2363. -- Safer check to avoid invalid reads when shutting down the slurmctld with
  2364. lots of jobs.
  2365. -- Fix minor memory leak in the backfill scheduler when shutting down.
  2366. -- Add ArchiveResvs to the output of sacctmgr show config and init the variable
  2367. on slurmdbd startup.
  2368. -- SLURMDBD - Only set the archive flag if purging the object
  2369. (i.e ArchiveJobs PurgeJobs). This is only a cosmetic change.
  2370. -- Fix for job step memory allocation logic if step requests GRES and memory
  2371. is not allocations are not managed.
  2372. -- Fix sinfo to display mixed nodes as allocated in '%F' output.
  2373. -- Sview - Fix cpu and node counts for partitions.
  2374. -- Ignore NO_VAL in SLURMDB_PURGE_* macros.
  2375. -- ALPS - Don't drain nodes if epilog fails. It leaves them in drain state
  2376. with no way to get them out.
  2377. -- Fix issue with task/affinity oversubscribing cpus erroneously when
  2378. using --ntasks-per-node.
  2379. -- MYSQL - Fix load of archive files.
  2380. -- Treat Cray MPI job calling exit() without mpi_fini() as fatal error for
  2381. that specific task and let srun handle all timeout logic.
  2382. -- Fix small memory leak in jobcomp/mysql.
  2383. -- Correct tracking of licenses for suspended jobs on slurmctld reconfigure or
  2384. restart.
  2385. -- If failed to launch a batch job requeue it in hold.
  2386. * Changes in Slurm 14.03.8
  2387. ==========================
  2388. -- Fix minor memory leak when Job doesn't have nodes on it (Meaning the job
  2389. has finished)
  2390. -- Fix sinfo/sview to be able to query against nodes in reserved and other
  2391. states.
  2392. -- Make sbatch/salloc read in (SLURM|(SBATCH|SALLOC))_HINT in order to
  2393. handle sruns in the script that will use it.
  2394. -- srun properly interprets a leading "." in the executable name based upon
  2395. the working directory of the compute node rather than the submit host.
  2396. -- Fix Lustre misspellings in hdf5 guide
  2397. -- Fix wrong reference in slurm.conf man page to what --profile option should
  2398. be used for AcctGatherFilesystemType.
  2399. -- Update HDF5 document to point out the SlurmdUser is who creates the
  2400. ProfileHDF5Dir directory as well as all it's sub-directories and files.
  2401. -- CRAY NATIVE - Remove error message for srun's ran inside an salloc that
  2402. had --network= specified.
  2403. -- Defer job step initiation of required GRES are in use by other steps rather
  2404. than immediately returning an error.
  2405. -- Deprecate --cpu_bind from sbatch and salloc. These never worked correctly
  2406. and only caused confusion since the cpu_bind options mostly refer to a
  2407. step we opted to only allow srun to set them in future versions.
  2408. -- Modify sgather to work if Nodename and NodeHostname differ.
  2409. -- Changed use of JobContainerPlugin where it should be JobContainerType.
  2410. -- Fix for possible error if job has GRES, but the step explicitly requests a
  2411. GRES count of zero.
  2412. -- Make "srun --gres=none ..." work when executed without a job allocation.
  2413. -- Change the global eio_shutdown_time to a field in eio handle.
  2414. -- Advanced reservation fixes for heterogeneous systems, especially when
  2415. reserving cores.
  2416. -- If --hint=nomultithread is used in a job allocation make sure any srun's
  2417. ran inside the allocation can read the environment correctly.
  2418. -- If batchdir can't be made set errno correctly so the slurmctld is notified
  2419. correctly.
  2420. -- Remove repeated batch complete if batch directory isn't able to be made
  2421. since the slurmd will send the same message.
  2422. -- sacctmgr fix default format for list transactions.
  2423. -- BLUEGENE - Fix backfill issue with backfilling jobs on blocks already
  2424. reserved for higher priority jobs.
  2425. -- When creating job arrays the job specification files for each elements
  2426. are hard links to the first element specification files. If the controller
  2427. fails to make the links the files are copied instead.
  2428. -- Fix error handling for job array create failure due to inability to copy
  2429. job files (script and environment).
  2430. -- Added patch in the contribs directory for integrating make version 4.0 with
  2431. Slurm and renamed the previous patch "make-3.81.slurm.patch".
  2432. -- Don't wait for an update message from the DBD to finish before sending rc
  2433. message back. In slow systems with many associations this could speed
  2434. responsiveness in sacctmgr after adding associations.
  2435. -- Eliminate race condition in enforcement of MaxJobCount limit for job arrays.
  2436. -- Fix anomaly allocating cores for GRES with specific device/CPU mapping.
  2437. -- cons_res - When requesting exclusive access make sure we set the number
  2438. of cpus in the job_resources_t structure so as nodes finish the correct
  2439. cpu count is displayed in the user tools.
  2440. -- If the job_submit plugin calls take longer than 1 second to run, print a
  2441. warning.
  2442. -- Make sure transfer_s_p_options transfers all the portions of the
  2443. s_p_options_t struct.
  2444. -- Correct the srun man page, the SLURM_CPU_BIND_VERBOSE, SLURM_CPU_BIND_TYPE
  2445. SLURM_CPU_BIND_LIST environment variable are set only when task/affinity
  2446. plugin is configured.
  2447. -- sacct - Initialize variables correctly to avoid incorrect structure
  2448. reference.
  2449. -- Performance adjustment to avoid calling a function multiple times when it
  2450. only needs to be called once.
  2451. -- Give more correct waiting reason if job is waiting on association/QOS
  2452. MaxNode limit.
  2453. -- DB - When sending lft updates to the slurmctld only send non-deleted lfts.
  2454. -- BLUEGENE - Fix documentation on how to build a reservation less than
  2455. a midplane.
  2456. -- If Slurmctld fails to read the job environment consider it an error
  2457. and abort the job.
  2458. -- Add the name of the node a job is running on to the message printed by
  2459. slurmstepd when terminating a job.
  2460. -- Remove unsupported options from sacctmgr help and the dump function.
  2461. -- Update sacctmgr man page removing reference to obsolete parameter
  2462. MaxProcSecondsPerJob.
  2463. -- Added more validity checking of incoming job submit requests.
  2464. * Changes in Slurm 14.03.7
  2465. ==========================
  2466. -- Correct typos in man pages.
  2467. -- Add note to MaxNodesPerUser and multiple jobs running on the same node
  2468. counting as multiple nodes.
  2469. -- PerlAPI - fix renamed call from slurm_api_set_conf_file to
  2470. slurm_conf_reinit.
  2471. -- Fix gres race condition that could result in job deallocation error message.
  2472. -- Correct NumCPUs count for jobs with --exclusive option.
  2473. -- When creating reservation with CoreCnt, check that Slurm uses
  2474. SelectType=select/cons_res, otherwise don't send the request to slurmctld
  2475. and return an error.
  2476. -- Save the state of scheduled node reboots so they will not be lost should the
  2477. slurmctld restart.
  2478. -- In select/cons_res plugin - Insure the node count does not exceed the task
  2479. count.
  2480. -- switch/nrt - Do not explicitly unload windows for a job on termination,
  2481. only unload its table (which automatically unloads its windows).
  2482. -- When HealthCheckNodeState is configured as IDLE don't run the
  2483. HealthCheckProgram for nodes in any other states than IDLE.
  2484. -- Remove all slurmctld locks prior to job_submit() being called in plugins.
  2485. If any slurmctld data structures are read or modified, add locks directly
  2486. in the plugin.
  2487. -- Minor sanity check to verify the string sent in isn't NULL when using
  2488. bit_unfmt.
  2489. -- CRAY NATIVE - Fix issue on heavy systems to only run the NHC once per
  2490. job/step completion.
  2491. -- Remove unneeded step cleanup for pending steps.
  2492. -- Fix issue where if a batch job was manually requeued the batch step
  2493. information wasn't stored in accounting.
  2494. -- When job is release from a requeue hold state clean up its previous
  2495. exit code.
  2496. -- Correct the srun man page about how the output from the user application
  2497. is sent to srun.
  2498. -- Increase the timeout of the main thread while waiting for the i/o thread.
  2499. Allow up to 180 seconds for the i/o thread to complete.
  2500. -- When using sacct -c to read the job completion data compute the correct
  2501. job elapsed time.
  2502. -- Perl package: Define some missing node states.
  2503. -- When using AccountingStorageType=accounting_storage/mysql zero out the
  2504. database index for the array elements avoiding duplicate database values.
  2505. -- Reword the explanation of cputime and cputimeraw in the sacct man page.
  2506. -- JobCompType allows "jobcomp/mysql" as valid name but the code used
  2507. "job_comp/mysql" setting an incorrect default database.
  2508. -- Try to load libslurm.so only when necessary.
  2509. -- When nodes scheduled for reboot, set state to DOWN rather than FUTURE so
  2510. they are still visible to sinfo. State set to IDLE after reboot completes.
  2511. -- Apply BatchStartTimeout configuration to task launch and avoid aborting
  2512. srun commands due to long running Prolog scripts.
  2513. -- Fix minor memory leaks when freeing node_info_t structure.
  2514. -- Fix various memory leaks in sview
  2515. -- If a batch script is requeued and running steps get correct exit code/signal
  2516. previous it was always -2.
  2517. -- If step exitcode hasn't been set display with sacct the -2 instead
  2518. of acting like it is a signal and exitcode.
  2519. -- Send calculated step_rc for batch step instead of raw status as
  2520. done for normal steps.
  2521. -- If a job times out, set the exit code in accounting to 1 instead of the
  2522. signal 1.
  2523. -- Update the acct_gather.conf.5 man page removing the reference to
  2524. InfinibandOFEDFrequency.
  2525. -- Fix gang scheduling for jobs submitted to multiple partitions.
  2526. -- Enable srun to submit job to multiple partitions.
  2527. -- Update slurm.conf man page. When Epilog or Prolog fail the node state
  2528. is set ro DRAIN.
  2529. -- Start a job in the highest priority partition possible, even if it requires
  2530. preempting other jobs and delaying initiation, rather than using a lower
  2531. priority partition. Previous logic would preempt lower priority jobs, but
  2532. then might start the job in a lower priority partition and not use the
  2533. resources released by the preempted jobs.
  2534. -- Fix SelectTypeParameters=CR_PACK_NODES for srun making both job and step
  2535. resource allocation.
  2536. -- BGQ - Make it possible to pack multiple tasks on a core when not using
  2537. the entire cnode.
  2538. -- MYSQL - if unable to connect to mysqld close connection that was inited.
  2539. -- DBD - when connecting make sure we wait MessageTimeout + 5 since the
  2540. timeout when talking to the Database is the same timeout so a race
  2541. condition could occur in the requesting client when receiving the response
  2542. if the database is unresponsive.
  2543. * Changes in Slurm 14.03.6
  2544. ==========================
  2545. -- Added examples to demonstrate the use of the sacct -T option to the man
  2546. page.
  2547. -- Fix for regression in 14.03.5 with sacctmgr load when Parent has "'"
  2548. around it.
  2549. -- Update comments in sacctmgr dump header.
  2550. -- Fix for possible abort on change in GRES configuration.
  2551. -- CRAY - fix modules file, (backport from 14.11 commit 78fe86192b.
  2552. -- Fix race condition which could result in requeue if batch job exit and node
  2553. registration occur at the same time.
  2554. -- switch/nrt - Unload job tables (in addition to windows) in user space mode.
  2555. -- Differentiate between two identical debug messages about purging vestigial
  2556. job scripts.
  2557. -- If the socket used by slurmstepd to communicate with slurmd exist when
  2558. slurmstepd attempts to create it, for example left over from a previous
  2559. requeue or crash, delete it and recreate it.
  2560. * Changes in Slurm 14.03.5
  2561. ==========================
  2562. -- If a srun runs in an exclusive allocation and doesn't use the entire
  2563. allocation and CR_PACK_NODES is set layout tasks appropriately.
  2564. -- Correct Shared field in job state information seen by scontrol, sview, etc.
  2565. -- Print Slurm error string in scontrol update job and reset the Slurm errno
  2566. before each call to the API.
  2567. -- Fix task/cgroup to handle -mblock:fcyclic correctly
  2568. -- Fix for core-based advanced reservations where the distribution of cores
  2569. across nodes is not even.
  2570. -- Fix issue where association maxnodes wouldn't be evaluated correctly if a
  2571. QOS had a GrpNodes set.
  2572. -- GRES fix with multiple files defined per line in gres.conf.
  2573. -- When a job is requeued make sure accounting marks it as such.
  2574. -- Print the state of requeued job as REQUEUED.
  2575. -- Fix if a job's partition was taken away from it don't allow a requeue.
  2576. -- Make sure we lock on the conf when sending slurmd's conf to the slurmstepd.
  2577. -- Fix issue with sacctmgr 'load' not able to gracefully handle bad formatted
  2578. file.
  2579. -- sched/backfill: Correct job start time estimate with advanced reservations.
  2580. -- Error message added when in proctrack/cgroup the step freezer path isn't
  2581. able to be destroyed for debug.
  2582. -- Added extra index's into the database for better performance when
  2583. deleting users.
  2584. -- Fix issue with wckeys when tracking wckeys, but not enforcing them,
  2585. you could get multiple '*' wckeys.
  2586. -- Fix bug which could report to squeue the wrong partition for a running job
  2587. that is submitted to multiple partitions.
  2588. -- Report correct CPU count allocated to job when allocated whole node even if
  2589. not using all CPUs.
  2590. -- If job's constraints cannot be satisfied put it in pending state with reason
  2591. BadConstraints and don't remove it.
  2592. -- sched/backfill - If job started with infinite time limit, set its end_time
  2593. one year in the future.
  2594. -- Clear record of a job's gres when requeued.
  2595. -- Clear QOS GrpUsedCPUs when resetting raw usage if QOS is not using any cpus.
  2596. -- Remove log message left over from debugging.
  2597. -- When using CR_PACK_NODES fix make --ntasks-per-node work correctly.
  2598. -- Report correct partition associated with a step if the job is submitted to
  2599. multiple partitions.
  2600. -- Fix to allow removing of preemption from a QOS
  2601. -- If the proctrack plugins fail to destroy the job container print an error
  2602. message and avoid to loop forever, give up after 120 seconds.
  2603. -- Make srun obey POSIX convention and increase the exit code by 128 when the
  2604. process terminated by a signal.
  2605. -- Sanity check for acct_gather_energy/rapl
  2606. -- If the proctrack plugins fail to destroy the job container print an error
  2607. message and avoid to loop forever, give up after 120 seconds.
  2608. -- If the sbatch command specifies the option --signal=B:signum sent the signal
  2609. to the batch script only.
  2610. -- If we cancel a task and we have no other exit code send the signal and
  2611. exit code.
  2612. -- Added note about InnoDB storage engine being used with MySQL.
  2613. -- Set the job exit code when the job is signaled and set the log level to
  2614. debug2() when processing an already completed job.
  2615. -- Reset diagnostics time stamp when "sdiag --reset" is called.
  2616. -- squeue and scontrol to report a job's "shared" value based upon partition
  2617. options rather than reporting "unknown" if job submission does not use
  2618. --exclusive or --shared option.
  2619. -- task/cgroup - Fix cpuset binding for batch script.
  2620. -- sched/backfill - Fix anomaly that could result in jobs being scheduled out
  2621. of order.
  2622. -- Expand pseudo-terminal size data structure field sizes from 8 to 16 bits.
  2623. -- Set the job exit code when the job is signaled and set the log level to
  2624. debug2() when processing an already completed job.
  2625. -- Distinguish between two identical error messages.
  2626. -- If using accounting_storage/mysql directly without a DBD fix issue with
  2627. start of requeued jobs.
  2628. -- If a job fails because of batch node failure and the job is requeued and an
  2629. epilog complete message comes from that node do not process the batch step
  2630. information since the job has already been requeued because the epilog
  2631. script running isn't guaranteed in this situation.
  2632. -- Change message to note a NO_VAL for return code could of come from node
  2633. failure as well as interactive user.
  2634. -- Modify test4.5 to only look at one partition instead of all of them.
  2635. -- Fix sh5util -u to accept username different from the user that runs the
  2636. command.
  2637. -- Corrections to man pages:salloc.1 sbatch.1 srun.1 nonstop.conf.5
  2638. slurm.conf.5.
  2639. -- Restore srun --pty resize ability.
  2640. -- Have sacctmgr dump cluster handle situations where users or such have
  2641. special characters in their names like ':'
  2642. -- Add more debugging for information should the job ran on wrong node
  2643. and should there be problems accessing the state files.
  2644. * Changes in Slurm 14.03.4
  2645. ==========================
  2646. -- Fix issue where not enforcing QOS but a partition either allows or denies
  2647. them.
  2648. -- CRAY - Make switch/cray default when running on a Cray natively.
  2649. -- CRAY - Make job_container/cncu default when running on a Cray natively.
  2650. -- Disable job time limit change if it's preemption is in progress.
  2651. -- Correct logic to properly enforce job preemption GraceTime.
  2652. -- Fix sinfo -R to print each down/drained node once, rather than once per
  2653. partition.
  2654. -- If a job has non-responding node, retry job step create rather than
  2655. returning with DOWN node error.
  2656. -- Support SLURM_CONF path which does not have "slurm.conf" as the file name.
  2657. -- CRAY - make job_container/cncu default when running on a Cray natively
  2658. -- Fix issue where batch cpuset wasn't looked at correctly in
  2659. jobacct_gather/cgroup.
  2660. -- Correct squeue's job node and CPU counts for requeued jobs.
  2661. -- Correct SelectTypeParameters=CR_LLN with job selecition of specific nodes.
  2662. -- Only if ALL of their partitions are hidden will a job be hidden by default.
  2663. -- Run EpilogSlurmctld for a job is killed during slurmctld reconfiguration.
  2664. -- Close window with srun if waiting for an allocation and while printing
  2665. something you also get a signal which would produce deadlock.
  2666. -- Add SelectTypeParameters option of CR_PACK_NODES to pack a job's tasks
  2667. tightly on its allocated nodes rather than distributing them evenly across
  2668. the allocated nodes.
  2669. -- cpus-per-task support: Try to pack all CPUs of each tasks onto one socket.
  2670. Previous logic could spread the tasks CPUs across multiple sockets.
  2671. -- Add new distribution method fcyclic so when a task is using multiple cpus
  2672. it can bind cyclically across sockets.
  2673. -- task/affinity - When using --hint=nomultithread only bind to the first
  2674. thread in a core.
  2675. -- Make cgroup task layout (block | cyclic) method mirror that of
  2676. task/affinity.
  2677. -- If TaskProlog sets SLURM_PROLOG_CPU_MASK reset affinity for that task
  2678. based on the mask given.
  2679. -- Keep supporting 'srun -N x --pty bash' for historical reasons.
  2680. -- If EnforcePartLimits=Yes and QOS job is using can override limits, allow
  2681. it.
  2682. -- Fix issues if partition allows or denies account's or QOS' and either are
  2683. not set.
  2684. -- If a job requests a partition and it doesn't allow a QOS or account the
  2685. job is requesting pend unless EnforcePartLimits=Yes. Before it would
  2686. always kill the job at submit.
  2687. -- Fix format output of scontrol command when printing node state.
  2688. -- Improve the clean up of cgroup hierarchy when using the
  2689. jobacct_gather/cgroup plugin.
  2690. -- Added SchedulerParameters value of Ignore_NUMA.
  2691. -- Fix issues with code when using automake 1.14.1
  2692. -- select/cons_res plugin: Fix memory leak related to job preemption.
  2693. -- After reconfig rebuild the job node counters only for jobs that have
  2694. not finished yet, otherwise if requeued the job may enter an invalid
  2695. COMPLETING state.
  2696. -- Do not purge the script and environment files for completed jobs on
  2697. slurmctld reconfiguration or restart (they might be later requeued).
  2698. -- scontrol now accepts the option job=xxx or jobid=xxx for the requeue,
  2699. requeuehold and release operations.
  2700. -- task/cgroup - fix to bind batch job in the proper CPUs.
  2701. -- Added strigger option of -N, --noheader to not print the header when
  2702. displaying a list of triggers.
  2703. -- Modify strigger to accept arguments to the program to execute when an
  2704. event trigger occurs.
  2705. -- Attempt to create duplicate event trigger now generates ESLURM_TRIGGER_DUP
  2706. ("Duplicate event trigger").
  2707. -- Treat special characters like %A, %s etc. literally in the file names
  2708. when specified escaped e.g. sbatch -o /home/zebra\\%s will not expand
  2709. %s as the stepid of the running job.
  2710. -- CRAYALPS - Add better support for CLE 5.2 when running Slurm over ALPS.
  2711. -- Test time when job_state file was written to detect multiple primary
  2712. slurmctld daemons (e.g. both backup and primary are functioning as
  2713. primary and there is a split brain problem).
  2714. -- Fix scontrol to accept update jobid=# numtasks=#
  2715. -- If the backup slurmctld assumes primary status, then do NOT purge any
  2716. job state files (batch script and environment files) and do not re-use them.
  2717. This may indicate that multiple primary slurmctld daemons are active (e.g.
  2718. both backup and primary are functioning as primary and there is a split
  2719. brain problem).
  2720. -- Set correct error code when requeuing a completing/pending job
  2721. -- When checking for if dependency of type afterany, afterok and afternotok
  2722. don't clear the dependency if the job is completing.
  2723. -- Cleanup the JOB_COMPLETING flag and eventually requeue the job when the
  2724. last epilog completes, either slurmd epilog or slurmctld epilog, whichever
  2725. comes last.
  2726. -- When attempting to requeue a job distinguish the case in which the job is
  2727. JOB_COMPLETING or already pending.
  2728. -- When reconfiguring the controller don't restart the slurmctld epilog if it
  2729. is already running.
  2730. -- Email messages for job array events print now use the job ID using the
  2731. format "#_# (#)" rather than just the internal job ID.
  2732. -- Set the number of free licenses to be 0 if the global license count
  2733. decreases and total is less than in use.
  2734. -- Add DebugFlag of BackfillMap. Previously a DebugFlag value of Backfill
  2735. logged information about what it was doing plus a map of expected resouce
  2736. use in the future. Now that very verbose resource use map is only logged
  2737. with a DebugFlag value of BackfillMap
  2738. -- Fix slurmstepd core dump.
  2739. -- Modify the description of -E and -S option of sacct command as point in time
  2740. 'before' or 'after' the database records are returned.
  2741. -- Correct support for partition with Shared=YES configuration.
  2742. -- If job requests --exclusive then do not use nodes which have any cores in an
  2743. advanced reservation. Also prevents case where nodes can be shared by other
  2744. jobs.
  2745. -- For "scontrol --details show job" report the correct CPU_IDs when thre are
  2746. multiple threads per core (we are translating a core bitmap to CPU IDs).
  2747. -- If DebugFlags=Protocol is configured in slurm.conf print details of the
  2748. connection, ip address and port accepted by the controller.
  2749. -- Fix minor memory leak when reading in incomplete node data checkpoint file.
  2750. -- Enlarge the width specifier when printing partition SHARE to display larger
  2751. sharing values.
  2752. -- sinfo locks added to prevent possibly duplicate record printing for
  2753. resources in multiple partitions.
  2754. * Changes in Slurm 14.03.3-2
  2755. ============================
  2756. -- BGQ - Fix issue with uninitialized variable.
  2757. * Changes in Slurm 14.03.3
  2758. ==========================
  2759. -- Correction to default batch output file name. In version 14.03.2 was using
  2760. "slurm_<jobid>_4294967294.out" due to error in job array logic.
  2761. -- In slurm.spec file, replace "Requires cray-MySQL-devel-enterprise" with
  2762. "Requires mysql-devel".
  2763. * Changes in Slurm 14.03.2
  2764. ==========================
  2765. -- Fix race condition if PrologFlags=Alloc,NoHold is used.
  2766. -- Cray - Make NPC only limit running other NPC jobs on shared blades instead
  2767. of limited non NPC jobs.
  2768. -- Fix for sbatch #PBS -m (mail) option parsing.
  2769. -- Fix job dependency bug. Jobs dependent upon multiple other jobs may start
  2770. prematurely.
  2771. -- Set "Reason" field for all elements of a job array on short-circuited
  2772. scheduling for job arrays.
  2773. -- Allow -D option of salloc/srun/sbatch to specify relative path.
  2774. -- Added SchedulerParameter of batch_sched_delay to permit many batch jobs
  2775. to be submitted between each scheduling attempt to reduce overhead of
  2776. scheduling logic.
  2777. -- Added job reason of "SchedTimeout" if the scheduler was not able to reach
  2778. the job to attempt scheduling it.
  2779. -- Add job's exit state and exit code to email message.
  2780. -- scontrol hold/release accepts job name option (in addition to job ID).
  2781. -- Handle when trying to cancel a step that hasn't started yet better.
  2782. -- Handle Max/GrpCPU limits better
  2783. -- Add --priority option to salloc, sbatch and srun commands.
  2784. -- Honor partition priorities over job priorities.
  2785. -- Fix sacct -c when using jobcomp/filetxt to read newer variables
  2786. -- Fix segfault of sacct -c if spaces are in the variables.
  2787. -- Release held job only with "scontrol release <jobid>" and not by resetting
  2788. the job's priority. This is needed to support job arrays better.
  2789. -- Correct squeue command not to merge jobs with state pending and completing
  2790. together.
  2791. -- Fix issue where user is requesting --acctg-freq=0 and no memory limits.
  2792. -- Fix issue with GrpCPURunMins if a job's timelimit is altered while the job
  2793. is running.
  2794. -- Temporary fix for handling our typemap for the perl api with newer perl.
  2795. -- Fix allowgroup on bad group seg fault with the controller.
  2796. -- Handle node ranges better when dealing with accounting max node limits.
  2797. * Changes in Slurm 14.03.1-2
  2798. ==========================
  2799. -- Update configure to set correct version without having to run autogen.sh
  2800. * Changes in Slurm 14.03.1
  2801. ==========================
  2802. -- Add support for job std_in, std_out and std_err fields in Perl API.
  2803. -- Add "Scheduling Configuration Guide" web page.
  2804. -- BGQ - fix check for jobinfo when it is NULL
  2805. -- Do not check cleaning on "pending" steps.
  2806. -- task/cgroup plugin - Fix for building on older hwloc (v1.0.2).
  2807. -- In the PMI implementation by default don't check for duplicate keys.
  2808. Set the SLURM_PMI_KVS_DUP_KEYS if you want the code to check for
  2809. duplicate keys.
  2810. -- Add job submission time to squeue.
  2811. -- Permit user root to propagate resource limits higher than the hard limit
  2812. slurmd has on that compute node has (i.e. raise both current and maximum
  2813. limits).
  2814. -- Fix issue with license used count when doing an scontrol reconfig.
  2815. -- Fix the PMI iterator to not report duplicated keys.
  2816. -- Fix issue with sinfo when -o is used without the %P option.
  2817. -- Rather than immediately invoking an execution of the scheduling logic on
  2818. every event type that can enable the execution of a new job, queue its
  2819. execution. This permits faster execution of some operations, such as
  2820. modifying large counts of jobs, by executing the scheduling logic less
  2821. frequently, but still in a timely fashion.
  2822. -- If the environment variable is greater than MAX_ENV_STRLEN don't
  2823. set it in the job env otherwise the exec() fails.
  2824. -- Optimize scontrol hold/release logic for job arrays.
  2825. -- Modify srun to report an exit code of zero rather than nine if some tasks
  2826. exit with a return code of zero and others are killed with SIGKILL. Only an
  2827. exit code of zero did this.
  2828. -- Fix a typo in scontrol man page.
  2829. -- Avoid slurmctld crash getting job info if detail_ptr is NULL.
  2830. -- Fix sacctmgr add user where both defaultaccount and accounts are specified.
  2831. -- Added SchedulerParameters option of max_sched_time to limit how long the
  2832. main scheduling loop can execute for.
  2833. -- Added SchedulerParameters option of sched_interval to control how frequently
  2834. the main scheduling loop will execute.
  2835. -- Move start time of main scheduling loop timeout after locks are aquired.
  2836. -- Add squeue job format option of "%y" to print a job's nice value.
  2837. -- Update scontrol update jobID logic to operate on entire job arrays.
  2838. -- Fix PrologFlags=Alloc to run the prolog on each of the nodes in the
  2839. allocation instead of just the first.
  2840. -- Fix race condition if a step is starting while the slurmd is being
  2841. restarted.
  2842. -- Make sure a job's prolog has ran before starting a step.
  2843. -- BGQ - Fix invalid memory read when using DefaultConnType in the
  2844. bluegene.conf
  2845. -- Make sure we send node state to the DBD on clean start of controller.
  2846. -- Fix some sinfo and squeue sorting anomalies due to differences in data
  2847. types.
  2848. -- Only send message back to slurmctld when PrologFlags=Alloc is used on a
  2849. Cray/ALPS system, otherwise use the slurmd to wait on the prolog to gate
  2850. the start of the step.
  2851. -- Remove need to check PrologFlags=Alloc in slurmd since we can tell if prolog
  2852. has ran yet or not.
  2853. -- Fix squeue to use a correct macro to check job state.
  2854. -- BGQ - Fix incorrect logic issues if MaxBlockInError=0 in the bluegene.conf.
  2855. -- priority/basic - Insure job priorities continue to decrease when jobs are
  2856. submitted with the --nice option.
  2857. -- Make the PrologFlag=Alloc work on batch scripts
  2858. -- Make PrologFlag=NoHold (automatically sets PrologFlag=Alloc) not hold in
  2859. salloc/srun, instead wait in the slurmd when a step hits a node and the
  2860. prolog is still running.
  2861. -- Added --cpu-freq=highm1 (high minus one) option.
  2862. -- Expand StdIn/Out/Err string length output by "scontrol show job" from 128
  2863. to 1024 bytes.
  2864. -- squeue %F format will now print the job ID for non-array jobs.
  2865. -- Use quicksort for all priority based job sorting, which improves performance
  2866. significantly with large job counts.
  2867. -- If a job has already been released from a held state ignore successive
  2868. release requests.
  2869. -- Fix srun/salloc/sbatch man pages for the --no-kill option.
  2870. -- Add squeue -L/--licenses option to filter jobs by license names.
  2871. -- Handle abort job on node on front end systems without core dumping.
  2872. -- Fix dependency support for job arrays.
  2873. -- When updating jobs verify the update request is not identical to
  2874. the current settings.
  2875. -- When sorting jobs and priorities are equal sort by job_id.
  2876. -- Do not overwrite existing reason for node being down or drained.
  2877. -- Requeue batch job if Munge is down and credential can not be created.
  2878. -- Make _slurm_init_msg_engine() tolerate bug in bind() returning a busy
  2879. ephemeral port.
  2880. -- Don't block scheduling of entire job array if it could run in multiple
  2881. partitions.
  2882. -- Introduce a new debug flag Protocol to print protocol requests received
  2883. together with the remote IP address and port.
  2884. -- CRAY - Set up the network even when only using 1 node.
  2885. -- CRAY - Greatly reduce the number of error messages produced from the task
  2886. plugin and provide more information in the message.
  2887. * Changes in Slurm 14.03.0
  2888. ==========================
  2889. -- job_submit/lua: Fix invalid memory reference if script returns error message
  2890. for user.
  2891. -- Add logic to sleep and retry if slurm.conf can't be read.
  2892. -- Reset a node's CpuLoad value at least once each SlurmdTimeout seconds.
  2893. -- Scheduler enhancements for reservations: When a job needs to run in
  2894. reservation, but can not due to busy resources, then do not block all jobs
  2895. in that partition from being scheduled, but only the jobs in that
  2896. reservation.
  2897. -- Export "SLURM*" environment variables from sbatch even if --export=NONE.
  2898. -- When recovering node state if the Slurm version is 2.6 or 2.5 set the
  2899. protocol version to be SLURM_2_5_PROTOCOL_VERSION which is the minimum
  2900. supported version.
  2901. -- Update the scancel man page documenting the -s option.
  2902. -- Update sacctmgr man page documenting how to modify account's QOS.
  2903. -- Fix for sjstat which currently does not print >1TB memory values correctly.
  2904. -- Change xmalloc()/xfree() to malloc()/free() in hostlist.c for better
  2905. performance.
  2906. -- Update squeue.1 man page describing the SPECIAL_EXIT state.
  2907. -- Added scontrol option of errnumstr to return error message given a slurm
  2908. error number.
  2909. -- If srun invoked with the --multi-prog option, but no task count, then use
  2910. the task count provided in the MPMD configuration file.
  2911. -- Prevent sview abort on some systems when adding or removing columns to the
  2912. display for nodes, jobs, partitions, etc.
  2913. -- Add job array hash table for improved performance.
  2914. -- Make AccountingStorageEnforce=all not include nojobs or nosteps.
  2915. -- Added sacctmgr mod qos set RawUsage=0.
  2916. -- Modify hostlist functions to accept more than two numeric ranges (e.g.
  2917. "row[1-3]rack[0-8]slot[0-63]")
  2918. * Changes in Slurm 14.03.0rc1
  2919. ==============================
  2920. -- Fixed typos in srun_cr man page.
  2921. -- Run job scheduling logic immediately when nodes enter service.
  2922. -- Added sbatch '--parsable' option to output only the job id number and the
  2923. cluster name separated by a semicolon. Errors will still be displayed.
  2924. -- Added failure management "slurmctld/nonstop" plugin.
  2925. -- Prevent jobs being killed when a checkpoint plugin is enabled or disabled.
  2926. -- Update the documentation about SLURM_PMI_KVS_NO_DUP_KEYS environment
  2927. variable.
  2928. -- select/cons_res bug fix for range of node counts with --cpus-per-task
  2929. option (e.g. "srun -N2-3 -c2 hostname" would allocate 2 CPUs on the first
  2930. node and 0 CPUs on the second node).
  2931. -- Change reservation flags field from 16 to 32-bits.
  2932. -- Add reservation flag value of "FIRST_CORES".
  2933. -- Added the idea of Resources to the database. Framework for handling
  2934. license servers outside of Slurm.
  2935. -- When starting the slurmctld only send past job/node state information to
  2936. accounting if running for the first time (should speed up startup
  2937. dramatically on systems with lots of nodes or lots of jobs).
  2938. -- Compile and run on FreeBSD 8.4.
  2939. -- Make job array expressions more flexible to accept multiple step counts in
  2940. the expression (e.g. "--array=1-10:2,50-60:5,123").
  2941. -- switch/cray - add state save/restore logic tracking allocated ports.
  2942. -- SchedulerParameters - Replace max_job_bf with bf_max_job_start (both will
  2943. work for now).
  2944. -- Add SchedulerParameters options of preempt_reorder_count and
  2945. preempt_strict_order.
  2946. -- Make memory types in acct_gather uint64_t to handle systems with more than
  2947. 4TB of memory on them.
  2948. -- BGQ - --export=NONE option for srun to make it so only the SLURM_JOB_ID
  2949. and SLURM_STEP_ID env vars are set.
  2950. -- Munge plugins - Add sleep between retries if can't connect to socket.
  2951. -- Added DebugFlags value of "License".
  2952. -- Added --enable-developer which will give you -Werror when compiling.
  2953. -- Fix for job request with GRES count of zero.
  2954. -- Fix a potential memory leak in hostlist.
  2955. -- Job array dependency logic: Cache results for major performance improvement.
  2956. -- Modify squeue to support filter on job states Special_Exit and Resizing.
  2957. -- Defer purging job record until after EpilogSlurmctld completes.
  2958. -- Add -j option for jobid to sbcast.
  2959. -- Fix handling RPCs from a 14.03 slurmctld to a 2.6 slurmd
  2960. * Changes in Slurm 14.03.0pre6
  2961. ==============================
  2962. -- Modify slurmstepd to log messages according to the LogTimeFormat
  2963. parameter in slurm.conf.
  2964. -- Insure that overlapping reservations do not oversubscribe available
  2965. licenses.
  2966. -- Added core specialization logic to select/cons_res plugin.
  2967. -- Added whole_node field to job_resources structure and enable gang scheduling
  2968. for jobs with core specialization.
  2969. -- When using FastSchedule = 1 the nodes with less than configured resources
  2970. are not longer set DOWN, they are set to DRAIN instead.
  2971. -- Modified 'sacctmgr show associations' command to show GrpCPURunMins
  2972. by default.
  2973. -- Replace the hostlist_push() function with a more efficient
  2974. hostlist_push_host().
  2975. -- Modify the reading of lustre file system statistics to print more
  2976. information when debug and when io error occur.
  2977. -- Add specialized core count field to job credential data.
  2978. NOTE: This changes the communications protocol from other pre-releases of
  2979. version 14.03. All programs must be cancelled and daemons upgraded from
  2980. previous pre-releases of version 14.03. Upgrades from version 2.6 or earlier
  2981. can take place without loss of jobs
  2982. -- Add version number to node and front-end configuration information visible
  2983. using the scontrol tool.
  2984. -- Add idea of a RESERVED flag for node state so idle resources are marked
  2985. not "idle" when in a reservation.
  2986. -- Added core specialization plugin infrastructure.
  2987. -- Added new job_submit/trottle plugin to control the rate at which a user
  2988. can submit jobs.
  2989. -- CRAY - added network performance counters option.
  2990. -- Allow scontrol suspend/resume to accept jobid in the format jobid_taskid
  2991. to suspend/resume array elements.
  2992. -- In the slurmctld job record, split "shared" variable into "share_res" (share
  2993. resource) and "whole_node" fields.
  2994. -- Fix the format of SLURM_STEP_RESV_PORTS. It was generated incorrectly
  2995. when using the hostlist_push_host function and input surrounded by [].
  2996. -- Modify the srun --slurmd-debug option to accept debug string tags
  2997. (quiet, fatal, error, info verbose) beside the numerical values.
  2998. -- Fix the bug where --cpu_bind=map_cpu is interpreted as mask_cpu.
  2999. -- Update the documentation egarding the state of cpu frequencies after
  3000. a step using --cpu-freq completes.
  3001. -- CRAY - Fix issue when a job is requeued and nhc is still running as it is
  3002. being scheduled to run again. This would erase the previous job info
  3003. that was still needed to clean up the nodes from the previous job run.
  3004. (Bug 526).
  3005. -- Set SLURM_JOB_PARTITION environment variable set for all job allocations.
  3006. -- Set SLURM_JOB_PARTITION environment variable for Prolog program.
  3007. -- Added SchedulerParameters option of partition_job_depth to limit scheduling
  3008. logic depth by partition.
  3009. -- Handle the case in which errno is not reset to 0 after calling
  3010. getgrent_r(), which causes the controller to core dump.
  3011. * Changes in Slurm 14.03.0pre5
  3012. ==============================
  3013. -- Added squeue format option of "%X" (core specialization count).
  3014. -- Added core specialization web page (just a start for now).
  3015. -- Added the SLURM_ARRAY_JOB_ID and SLURM_ARRAY_TASK_ID
  3016. in epilog slurmctld environment.
  3017. -- Fix bug in job step allocation failing due to memory limit.
  3018. -- Modify the pbsnodes script to reflect its output on a TORQUE system.
  3019. -- Add ability to clear a node's DRAIN flag using scontrol or sview by setting
  3020. it's state to "UNDRAIN". The node's base state (e.g. "DOWN" or "IDLE") will
  3021. not be changed.
  3022. -- Modify the output of 'scontrol show partition' by displaying
  3023. DefMemPerCPU=UNLIMITED and MaxMemPerCPU=UNLIMITED when these limits are
  3024. configured as 0.
  3025. -- mpirun-mic - Major re-write of the command wrapper for Xeon Phi use.
  3026. -- Add new configuration parameter of AuthInfo to specify port used by
  3027. authentication plugin.
  3028. -- Fixed conditional RPM compiling.
  3029. -- Corrected slurmstepd ident name when logging to syslog.
  3030. -- Fixed sh5util loop when there are no node-step files.
  3031. -- Add SLURM_CLUSTER_NAME to environment variables passed to PrologSlurmctld,
  3032. Prolog, EpilogSlurmctld, and Epilog
  3033. -- Add the idea of running a prolog right when an allocation happens
  3034. instead of when running on the node for the first time.
  3035. -- If user runs 'scontrol reconfig' but hostnames or the host count changes
  3036. the slurmctld throws a fatal error.
  3037. -- gres.conf - Add "NodeName" specification so that a single gres.conf file
  3038. can be used for a heterogeneous cluster.
  3039. -- Add flag to accounting RPC to indicate if job data is packed or not.
  3040. -- After all srun tasks have terminated on a node close the stdout/stderr
  3041. channel with the slurmstepd on that node.
  3042. -- In case of i/o error with slurmstepd log an error message and abort the
  3043. job.
  3044. -- Add --test-only option to sbatch command to validate the script and options.
  3045. The response includes expected start time and resources to be allocated.
  3046. * Changes in Slurm 14.03.0pre4
  3047. ==============================
  3048. -- Remove the ThreadID documentation from slurm.conf. This functionality has
  3049. been obsoleted by the LogTimeFormat.
  3050. -- Sched plugins - rename global and plugin functions names for consistency
  3051. with other plugin types.
  3052. -- BGQ - Added RebootQOSList option to bluegene.conf to allow an implicate
  3053. reboot of a block if only jobs in the list are running on it when cnodes
  3054. go into a failure state.
  3055. -- Correct task count of pending job steps.
  3056. -- Improve limit enforcement for jobs, set RLIMIT_RSS, RLIMIT_AS and/or
  3057. RLIMIT_DATA to enforce memory limit.
  3058. -- Pending job steps will have step_id of INFINITE rather than NO_VAL and
  3059. will be reported as "TBD" by scontrol and squeue commands.
  3060. -- Add logic so PMI_Abort or PMI2_Abort can propagate an exit code.
  3061. -- Added SlurmdPlugstack configuration parameter.
  3062. -- Added PriorityFlag DEPTH_OBLIVIOUS to have the depth of an association
  3063. not effect it's priorty.
  3064. -- Multi-thread the sinfo command (one thread per partition).
  3065. -- Added sgather tool to gather files from a job's compute nodes into a
  3066. central location.
  3067. -- Added configuration parameter FairShareDampeningFactor to offer a greater
  3068. priority range based upon utilization.
  3069. -- Change MaxArraySize and job's array_task_id from 16-bit to 32-bit field.
  3070. Additional Slurm enhancements are be required to support larger job arrays.
  3071. -- Added -S/--core-spec option to salloc, sbatch and srun commands to reserve
  3072. specialized cores for system use. Modify scontrol and sview to get/set
  3073. the new field. No enforcement exists yet for these new options.
  3074. struct job_info / slurm_job_info_t: Added core_spec
  3075. struct job_descriptorjob_desc_msg_t: Added core_spec
  3076. * Changes in Slurm 14.03.0pre3
  3077. ==============================
  3078. -- Do not set SLURM_NODEID environment variable on front-end systems.
  3079. -- Convert bitmap functions to use int32_t instead of int in data structures
  3080. and function arguments. This is to reliably enable use of bitmaps containing
  3081. up to 4 billion elements. Several data structures containing index values
  3082. were also changed from data type int to int32_t:
  3083. - Struct job_info / slurm_job_info_t: Changed exc_node_inx, node_inx, and
  3084. req_node_inx from type int to type int32_t
  3085. - job_step_info_t: Changed node_inx from type int to type int32_t
  3086. - Struct partition_info / partition_info_t: Changed node_inx from type int
  3087. to type int32_t
  3088. - block_job_info_t: Changed cnode_inx from type int to type int32_t
  3089. - block_info_t: Changed ionode_inx and mp_inx from type int to type int32_t
  3090. - Struct reserve_info / reserve_info_t: Changed node_inx from type int to
  3091. type int32_t
  3092. -- Modify qsub wrapper output to match torque command output, just print the
  3093. job ID rather than "Submitted batch job #"
  3094. -- Change Slurm error string for ESLURM_MISSING_TIME_LIMIT from
  3095. "Missing time limit" to
  3096. "Time limit specification required, but not provided"
  3097. -- Change salloc job_allocate error message header from
  3098. "Failed to allocate resources" to
  3099. "Job submit/allocate failed"
  3100. -- Modify slurmctld message retry logic to support Cray cold-standby SDB.
  3101. * Changes in Slurm 14.03.0pre2
  3102. ==============================
  3103. -- Added "JobAcctGatherParams" configuration parameter. Value of "NoShare"
  3104. disables accounting for shared memory.
  3105. -- Added fields to "scontrol show job" output: boards_per_node,
  3106. sockets_per_board, ntasks_per_node, ntasks_per_board, ntasks_per_socket,
  3107. ntasks_per_core, and nice.
  3108. -- Add squeue output format options for job command and working directory
  3109. (%o and %Z respectively).
  3110. -- Add stdin/out/err to sview job output.
  3111. -- Add new job_state of JOB_BOOT_FAIL for job terminations due to failure to
  3112. boot it's allocated nodes or BlueGene block.
  3113. -- CRAY - Add SelectTypeParameters NHC_NO_STEPS and NHC_NO which will disable
  3114. the node health check script for steps and allocations respectfully.
  3115. -- Reservation with CoreCnt: Avoid possible invalid memory reference.
  3116. -- Add new error code for attempt to create a reservation with duplicate name.
  3117. -- Validate that a hostlist file contains text (i.e. not a binary).
  3118. -- switch/generic - propagate switch information from srun down to slurmd and
  3119. slurmstepd.
  3120. -- CRAY - Do not package Slurm's libpmi or libpmi2 libraries. The Cray version
  3121. of those libraries must be used.
  3122. -- Added a new option to the scontrol command to view licenses that are
  3123. configured in use and avalable. 'scontrol show licenses'.
  3124. -- MySQL - Made Slurm compatible with 5.6
  3125. * Changes in Slurm 14.03.0pre1
  3126. ==============================
  3127. -- sview - improve scalability
  3128. -- Add task pointer to the task_post_term() function in task plugins. The
  3129. terminating task's PID is available in task->pid.
  3130. -- Move select/cray to select/alps
  3131. -- Defer sending SIGKILL signal to processes while core dump in progress.
  3132. -- Added JobContainerPlugin configuration parameter and plugin infrastructure.
  3133. -- Added partition configuration parameters AllowAccounts, AllowQOS,
  3134. DenyAccounts and DenyQOS.
  3135. -- The rpmbuild option for a cray system with ALPS has changed from
  3136. %_with_cray to %_with_cray_alps.
  3137. -- The log file timestamp format can now be selected at runtime via the
  3138. LogTimeFormat configuration option. See the slurm.conf and slurmdbd.conf
  3139. man pages for details.
  3140. -- Added switch/generic plugin to a job's convey network topology.
  3141. -- BLUEGENE - If block is in 'D' state or has more cnodes in error than
  3142. MaxBlockInError set the job wait reason appropriately.
  3143. -- API use: Generate an error return rather than fatal error and exit if the
  3144. configuraiton file is absent or invalid. This will permit Slurm APIs to be
  3145. more reliably used by other programs.
  3146. -- Add support for load-based scheduling, allocate jobs to nodes with the
  3147. largest number of available CPUs. Added SchedulingParameters paramter of
  3148. "CR_LLN" and partition parameter of "LLN=yes|no".
  3149. -- Added job_info() and step_info() functions to the gres plugins to extract
  3150. plugin specific fields from the job's or step's GRES data structure.
  3151. -- Added sbatch --signal option of "B:" to signal the batch shell rather than
  3152. only the spawned job steps.
  3153. -- Added sinfo and squeue format option of "%all" to print all fields available
  3154. for the data type with a vertical bar separating each field.
  3155. -- Add mechanism for job_submit plugin to generate error message for srun,
  3156. salloc or sbatch to stderr. New argument added to job_submit function in
  3157. the plugin.
  3158. -- Add StdIn, StdOut, and StdErr paths to job information dumped with
  3159. "scontrol show job".
  3160. -- Permit Slurm administrator to submit a batch job as any user.
  3161. -- Set a job's RLIMIT_AS limit based upon it's memory limit and VsizeFactor
  3162. configuration value.
  3163. -- Remove Postgres plugins
  3164. -- Make jobacct_gather/cgroup work correctly and also make all jobacct_gather
  3165. plugins more maintainable.
  3166. -- Proctrack/pgid - Add support for proctrack_p_plugin_get_pids() function.
  3167. -- Sched/backfill - Change default max_job_bf parameter from 50 to 100.
  3168. -- Added -I|--item-extract option to sh5util to extract data item from series.
  3169. * Changes in Slurm 2.6.10
  3170. =========================
  3171. -- Switch/nrt - On switch resource allocation failure, free partial allocation.
  3172. -- Switch/nrt - Properly track usage of CAU and RDMA resources with multiple
  3173. tasks per compute node.
  3174. -- Fix issue where user is requesting --acctg-freq=0 and no memory limits.
  3175. -- BGQ - Temp fix issue where job could be left on job_list after it finished.
  3176. -- BGQ - Fix issue where limits were checked on midplane counts instead of
  3177. cnode counts.
  3178. -- BGQ - Move code to only start job on a block after limits are checked.
  3179. -- Handle node ranges better when dealing with accounting max node limits.
  3180. -- Fix perlapi to compile correctly with perl 5.18
  3181. -- BGQ - Fix issue with uninitialized variable.
  3182. -- Correct sinfo --sort fields to match documentation: E => Reason,
  3183. H -> Reason Time (new), R -> Partition Name, u/U -> Reason user (new)
  3184. -- If an invalid assoc_ptr comes in don't use the id to verify it.
  3185. -- Sched/backfill modified to avoid using nodes in completing state.
  3186. -- Correct support for job --profile=none option and related documentation.
  3187. -- Properly enforce job --requeue and --norequeue options.
  3188. -- If a job --mem-per-cpu limit exceeds the partition or system limit, then
  3189. scale the job's memory limit and CPUs per task to satisfy the limit.
  3190. -- Correct logic to support Power7 processor with 1 or 2 threads per core
  3191. (CPU IDs are not consecutive).
  3192. * Changes in Slurm 2.6.9
  3193. ========================
  3194. -- Fix sinfo to work correctly with draining/mixed nodes as well as filtering
  3195. on Mixed state.
  3196. -- Fix sacctmgr update user with no "where" condition.
  3197. -- Fix logic bugs for SchedulerParameters option of max_rpc_cnt.
  3198. * Changes in Slurm 2.6.8
  3199. ========================
  3200. -- Add support for Torque/PBS job array options and environment variables.
  3201. -- CRAY/ALPS - Add support for CLE52
  3202. -- Fix issue where jobs still pending after a reservation would remain
  3203. in waiting reason ReqNodeNotAvail.
  3204. -- Update last_job_update when a job's state_reason was modified.
  3205. -- Free job_ptr->state_desc where ever state_reason is set.
  3206. -- Fixed sacct.1 and srun.1 manual pages which contains a hyphen where
  3207. a minus sign for options was intended.
  3208. -- sinfo - Make sure if partition name is long and the default the last char
  3209. doesn't get chopped off.
  3210. -- task/affinity - Protect against zero divide when simulating more hardware
  3211. than you really have.
  3212. -- NRT - Fix issue with 1 node jobs. It turns out the network does need to
  3213. be setup for 1 node jobs.
  3214. -- Fix recovery of job dependency on task of job array when slurmctld restarts.
  3215. -- mysql - Fix invalid memory reference.
  3216. -- Lock the /cgroup/freezer subsystem when creating files for tracking processes.
  3217. -- Fix preempt/partition_prio to avoid preempting jobs in partitions with
  3218. PreemptMode=OFF
  3219. -- launch/poe - Implicitly set --network in job step create request as needed.
  3220. -- Permit multiple batch job submissions to be made for each run of the
  3221. scheduler logic if the job submissions occur at the nearly same time.
  3222. -- Fix issue where associations weren't correct if backup takes control and
  3223. new associations were added since it was started.
  3224. -- Fix race condition is corner case with backup slurmctld.
  3225. -- With the backup slurmctld make sure we reinit beginning values in the
  3226. slurmdbd plugin.
  3227. -- Fix sinfo to work correctly with draining/mixed nodes.
  3228. -- MySQL - Fix it so a lock isn't held unnecessarily.
  3229. -- Added new SchedulerParameters option of max_rpc_cnt when too many RPCs
  3230. are active.
  3231. -- BGQ - Fix deny_pass to work correctly.
  3232. -- BGQ - Fix sub block steps using a block when the block has passthrough's
  3233. in it.
  3234. * Changes in Slurm 2.6.7
  3235. ========================
  3236. -- Properly enforce a job's cpus-per-task option when a job's allocation is
  3237. constrained on some nodes by the mem-per-cpu option.
  3238. -- Correct the slurm.conf man pages and checkpoint_blcr.html page
  3239. describing that jobs must be drained from cluster before deploying
  3240. any checkpoint plugin. Corrected in version 14.03.
  3241. -- Fix issue where if using munge and munge wasn't running and a slurmd
  3242. needed to forward a message, the slurmd would core dump.
  3243. -- Update srun.1 man page documenting the PMI2 support.
  3244. -- Fix slurmctld core dump when a jobs gets its QOS updated but there
  3245. is not a corresponding association.
  3246. -- If a job requires specific nodes and can not run due to those nodes being
  3247. busy, the main scheduling loop will block those specific nodes rather than
  3248. the entire queue/partition.
  3249. -- Fix minor memory leak when updating a job's name.
  3250. -- Fix minor memory leak when updating a reservation on a partition using "ALL"
  3251. nodes.
  3252. -- Fix minor memory leak when adding a reservation with a nodelist and core
  3253. count.
  3254. -- Update sacct man page description of job states.
  3255. -- BGQ - Fix minor memory leak when selecting blocks that can't immediately be
  3256. placed.
  3257. -- Fixed minor memory leak in backfill scheduler.
  3258. -- MYSQL - Fixed memory leak when querying clusters.
  3259. -- MYSQL - Fix when updating QOS on an association.
  3260. -- NRT - Fix to supply correct error messages to poe/pmd when a launch fails.
  3261. -- Add SLURM_STEP_ID to Prolog environment.
  3262. -- Add support for SchedulerParameters value of bf_max_job_start that limits
  3263. the total number of jobs that can be started in a single iteration of the
  3264. backfill scheduler.
  3265. -- Don't print negative number when dealing with large memory sizes with
  3266. sacct.
  3267. -- Fix sinfo output so that host in state allocated and mixed will not be
  3268. merged together.
  3269. -- GRES: Avoid crash if GRES configurations is inconstent.
  3270. -- Make S_SLURM_RESTART_COUNT item available to SPANK.
  3271. -- Munge plugins - Add sleep between retries if can't connect to socket.
  3272. -- Fix the database query to return all pending jobs in a given time interval.
  3273. -- switch/nrt - Correct logic to get dynamic window count.
  3274. -- Remove need to use job->ctx_params in the launch plugin, just to simplify
  3275. code.
  3276. -- NRT - Fix possible memory leak if using multiple adapters.
  3277. -- NRT - Fix issue where there are more than NRT_MAXADAPTERS on a system.
  3278. -- NRT - Increase Max number of adapters from 8 -> 9
  3279. -- NRT - Initialize missing variables when the PMD is starting a job.
  3280. -- NRT - Fix issue where we are launching hosts out of numerical order,
  3281. this would cause pmd's to hang.
  3282. -- NRT - Change xmalloc's to malloc just to be safe.
  3283. -- NRT - Sanity check to make sure a jobinfo is there before packing.
  3284. -- Add missing options to the print of TaskPluginParam.
  3285. -- Fix a couple of issues with scontrol reconfig and adding nodes to
  3286. slurm.conf. Rebooting daemons after adding nodes to the slurm.conf
  3287. is highly recommended.
  3288. * Changes in Slurm 2.6.6
  3289. ========================
  3290. -- sched/backfill - Fix bug that could result in failing to reserve resources
  3291. for high priority jobs.
  3292. -- Correct job RunTime if requeued from suspended state.
  3293. -- Reset job priority from zero (held) on manual resume from suspend state.
  3294. -- If FastSchedule=0 then do not DOWN a node with low memory or disk size.
  3295. -- Remove vestigial note.
  3296. -- Update sshare.1 man page making it consistent with sacctmgr.1.
  3297. -- Do not reset a job's priority when the slurmctld restarts if previously
  3298. set to some specific value.
  3299. -- sview - Fix regression where the Node tab wasn't able to add/remove columns.
  3300. -- Fix slurmstepd lock when job terminates inside the infiniband
  3301. network traffic accounting plugin.
  3302. -- Correct the documentation to read filesystem instead of Lustre. Update
  3303. the srun help.
  3304. -- Fix the acct_gather_filesystem_lustre.c to compute the Lustre accounting
  3305. data correctly accumulating differences between sampling intervals.
  3306. Fix the data structure mismatch between acct_gather_filesystem_lustre.c
  3307. and slurm_jobacct_gather.h which caused the hdf5 plugin to log incorrect
  3308. data.
  3309. -- Don't allow PMI_TIME to be zero which will cause floating exception.
  3310. -- Fix purging of old reservation errors in database.
  3311. -- MYSQL - If starting the plugin and the database isn't up attempt to
  3312. connect in a loop instead of producing a fatal.
  3313. -- BLUEGENE - If IONodesPerMP changes in bluegene.conf recalculate bitmaps
  3314. based on ionode count correctly on slurmctld restart.
  3315. -- Fix step allocation when some CPUs are not available due to memory limits.
  3316. This happens when one step is active and using memory that blocks the
  3317. scheduling of another step on a portion of the CPUs needed. The new step
  3318. is now delayed rather than aborting with "Requested node configuration is
  3319. not available".
  3320. -- Make sure node limits get assessed if no node count was given in request.
  3321. -- Removed obsolete slurm_terminate_job() API.
  3322. -- Update documentation about QOS limits
  3323. -- Retry task exit message from slurmstepd to srun on message timeout.
  3324. -- Correction to logic reserving all nodes in a specified partition.
  3325. -- Added support for selecting AMD GPU by setting GPU_DEVICE_ORDINAL env var.
  3326. -- Properly enforce GrpSubmit limit for job arrays.
  3327. -- CRAY - fix issue with using CR_ONE_TASK_PER_CORE
  3328. -- CRAY - fix memory leak when using accelerators
  3329. * Changes in Slurm 2.6.5
  3330. ========================
  3331. -- Correction to hostlist parsing bug introduced in v2.6.4 for hostlists with
  3332. more than one numeric range in brackets (e.g. rack[0-3]_blade[0-63]").
  3333. -- Add notification if using proctrack/cgroup and task/cgroup when oom hits.
  3334. -- Corrections to advanced reservation logic with overlapping jobs.
  3335. -- job_submit/lua - add cpus_per_task field to those available.
  3336. -- Add cpu_load to the node information available using the Perl API.
  3337. -- Correct a job's GRES allocation data in accounting records for non-Cray
  3338. systems.
  3339. -- Substantial performance improvement for systems with Shared=YES or FORCE
  3340. and large numbers of running jobs (replace bubble sort with quick sort).
  3341. -- proctrack/cgroup - Add locking to prevent race condition where one job step
  3342. is ending for a user or job at the same time another job stepsis starting
  3343. and the user or job container is deleted from under the starting job step.
  3344. -- Fixed sh5util loop when there are no node-step files.
  3345. -- Fix race condition on batch job termination that could result in a job exit
  3346. code of 0xfffffffe if the slurmd on node zero registers its active jobs at
  3347. the same time that slurmstepd is recording the job's exit code.
  3348. -- Correct logic returning remaining job dependencies in job information
  3349. reported by scontrol and squeue. Eliminates vestigial descriptors with
  3350. no job ID values (e.g. "afterany").
  3351. -- Improve performance of REQUEST_JOB_INFO_SINGLE RPC by removing unnecessary
  3352. locks and use hash function to find the desired job.
  3353. -- jobcomp/filetxt - Reopen the file when slurmctld daemon is reconfigured
  3354. or gets SIGHUP.
  3355. -- Remove notice of CVE with very old/deprecated versions of Slurm in
  3356. news.html.
  3357. -- Fix if hwloc_get_nbobjs_by_type() returns zero core count (set to 1).
  3358. -- Added ApbasilTimeout parameter to the cray.conf configuration file.
  3359. -- Handle in the API if parts of the node structure are NULL.
  3360. -- Fix srun hang when IO fails to start at launch.
  3361. -- Fix for GRES bitmap not matching the GRES count resulting in abort
  3362. (requires manual resetting of GRES count, changes to gres.conf file,
  3363. and slurmd restarts).
  3364. -- Modify sview to better support job arrays.
  3365. -- Modify squeue to support longer job ID values (for many job array tasks).
  3366. -- Fix race condition in authentication credential creation that could corrupt
  3367. memory. (NOTE: This race condition has existed since 2003 and would be
  3368. exceedingly rare.)
  3369. -- HDF5 - Fix minor memory leak.
  3370. -- Slurmstepd variable initialization - Without this patch, free() is called
  3371. on a random memory location (i.e. whatever is on the stack), which can
  3372. result in slurmstepd dying and a completed job not being purged in a
  3373. timely fashion.
  3374. -- Fix slurmstepd race condition when separate threads are reading and
  3375. modifying the job's environment, which can result in the slurmstepd failing
  3376. with an invalid memory reference.
  3377. -- Fix erroneous error messages when running gang scheduling.
  3378. -- Fix minor memory leak.
  3379. -- scontrol modified to suspend, resume, hold, uhold, or release multiple
  3380. jobs in a space separated list.
  3381. -- Minor debug error when a connection goes away at the end of a job.
  3382. -- Validate return code from calls to slurm_get_peer_addr
  3383. -- BGQ - Fix issues with making sure all cnodes are accounted for when mulitple
  3384. steps cause multiple cnodes in one allocation to go into error at the
  3385. same time.
  3386. -- scontrol show job - Correct NumNodes value calculated based upon job
  3387. specifications.
  3388. -- BGQ - Fix issue if user runs multiple sub-block jobs inside a multiple
  3389. midplane block that starts on a higher coordinate than it ends (i.e if a
  3390. block has midplanes [0010,0013] 0013 is the start even though it is
  3391. listed second in the hostlist).
  3392. -- BGQ - Add midplane to the total_cnodes used in the runjob_mux plugin
  3393. for better debug.
  3394. -- Update AllocNodes paragraph in slurm.conf.5.
  3395. * Changes in Slurm 2.6.4
  3396. ========================
  3397. -- Fixed sh5util to print its usage.
  3398. -- Corrected commit f9a3c7e4e8ec.
  3399. -- Honor ntasks-per-node option with exclusive node allocations.
  3400. -- sched/backfill - Prevent invalid memory reference if bf_continue option is
  3401. configured and slurm is reconfigured during one of the sleep cycles or if
  3402. there are any changes to the partition configuration or if the normal
  3403. scheduler runs and starts a job that the backfill scheduler is actively
  3404. working on.
  3405. -- Update man pages information about acct-freq and JobAcctGatherFrequency
  3406. to reflect only the latest supported format.
  3407. -- Minor document update to include note about PrivateData=Usage for the
  3408. slurm.conf when using the DBD.
  3409. -- Expand information reported with DebugFlags=backfill.
  3410. -- Initiate jobs pending to run in a reservation as soon as the reservation
  3411. becomes active.
  3412. -- Purged expired reservation even if it has pending jobs.
  3413. -- Corrections to calculation of a pending job's expected start time.
  3414. -- Remove some vestigial logic treating job priority of 1 as a special case.
  3415. -- Memory freeing up to avoid minor memory leaks at close of daemons
  3416. -- Updated documentation to give correct units being displayed.
  3417. -- Report AccountingStorageBackupHost with "scontrol show config".
  3418. -- init scripts ignore quotes around Pid file name specifications.
  3419. -- Fixed typo about command case in quickstart.html.
  3420. -- task/cgroup - handle new cpuset files, similar to commit c4223940.
  3421. -- Replace the tempname() function call with mkstemp().
  3422. -- Fix for --cpu_bind=map_cpu/mask_cpu/map_ldom/mask_ldom plus
  3423. --mem_bind=map_mem/mask_mem options, broken in 2.6.2.
  3424. -- Restore default behavior of allocating cores to jobs on a cyclic basis
  3425. across the sockets unless SelectTypeParameters=CR_CORE_DEFAULT_DIST_BLOCK
  3426. or user specifies other distribution options.
  3427. -- Enforce JobRequeue configuration parameter on node failure. Previously
  3428. always requeued the job.
  3429. -- acct_gather_energy/ipmi - Add delay before retry on read error.
  3430. -- select/cons_res with GRES and multiple threads per core, fix possible
  3431. infinite loop.
  3432. -- proctrack/cgroup - Add cgroup create retry logic in case one step is
  3433. starting at the same time as another step is ending and the logic to create
  3434. and delete cgroups overlaps.
  3435. -- Improve setting of job wait "Reason" field.
  3436. -- Correct sbatch documentation and job_submit/pbs plugin "%j" is job ID,
  3437. not "%J" (which is job_id.step_id).
  3438. -- Improvements to sinfo performance, especially for large numbers of
  3439. partitions.
  3440. -- SlurmdDebug - Permit changes to slurmd debug level with "scontrol reconfig"
  3441. -- smap - Avoid invalid memory reference with hidden nodes.
  3442. -- Fix sacctmgr modify qos set preempt+/-=.
  3443. -- BLUEGENE - fix issue where node count wasn't set up correctly when srun
  3444. preforms the allocation, regression in 2.6.3.
  3445. -- Add support for dependencies of job array elements (e.g.
  3446. "sbatch --depend=afterok:123_4 ...") or all elements of a job array (e.g.
  3447. "sbatch --depend=afterok:123 ...").
  3448. -- Add support for new options in sbatch qsub wrapper:
  3449. -W block=true (wait for job completion)
  3450. Clear PBS_NODEFILE environment variable
  3451. -- Fixed the MaxSubmitJobsPerUser limit in QOS which limited submissions
  3452. a job too early.
  3453. -- sched/wiki, sched/wiki2 - Fix to work with change logic introduced in
  3454. version 2.6.3 preventing Maui/Moab from starting jobs.
  3455. -- Updated the QOS limits documentation and man page.
  3456. * Changes in Slurm 2.6.3
  3457. ========================
  3458. -- Add support for some new #PBS options in sbatch scripts and qsub wrapper:
  3459. -l accelerator=true|false (GPU use)
  3460. -l mpiprocs=# (processors per node)
  3461. -l naccelerators=# (GPU count)
  3462. -l select=# (node count)
  3463. -l ncpus=# (task count)
  3464. -v key=value (environment variable)
  3465. -W depend=opts (job dependencies, including "on" and "before" options)
  3466. -W umask=# (set job's umask)
  3467. -- Added qalter and qrerun commands to torque package.
  3468. -- Corrections to qstat logic: job CPU count and partition time format.
  3469. -- Add job_submit/pbs plugin to translate PBS job dependency options to the
  3470. extend possible (no support for PBS "before" options) and set some PBS
  3471. environment variables.
  3472. -- Add spank/pbs plugin to set a bunch of PBS environment variables.
  3473. -- Backported sh5util from master to 2.6 as there are some important
  3474. bugfixes and the new item extraction feature.
  3475. -- select/cons_res - Correct MacCPUsPerNode partition constraint for CR_Socket.
  3476. -- scontrol - for setdebugflags command, avoid parsing "-flagname" as an
  3477. scontrol command line option.
  3478. -- Fix issue with step accounting if a job is requeued.
  3479. -- Close file descriptors on exec of prolog, epilog, etc.
  3480. -- Fix issue when a user has held a job and then sets the begin time
  3481. into the future.
  3482. -- Scontrol - Enable changing a job's stdout file.
  3483. -- Fix issues where memory or node count of a srun job is altered while the
  3484. srun is pending. The step creation would use the old values and possibly
  3485. hang srun since the step wouldn't be able to be created in the modified
  3486. allocation.
  3487. -- Add support for new SchedulerParameters value of "bf_max_job_part", the
  3488. maximum depth the backfill scheduler should go in any single partition.
  3489. -- acct_gather/infiniband plugin - Correct packets_in/out values.
  3490. -- BLUEGENE - Don't ignore a conn-type request from the user.
  3491. -- BGQ - Force a request on a Q for a MESH to be a TORUS in a dimension that
  3492. can only be a TORUS (1).
  3493. -- Change max message length from 100MB to 1GB before generating "Insane
  3494. message length" error.
  3495. -- sched/backfill - Prevent possible memory corruption due to use of
  3496. bf_continue option and long running scheduling cycle (pending jobs could
  3497. have been cancelled and purged).
  3498. -- CRAY - fix AcceleratorAllocation depth correctly for basil 1.3
  3499. -- Created the environment variable SLURM_JOB_NUM_NODES for srun jobs and
  3500. updated the srun man page.
  3501. -- BLUEGENE/CRAY - Don't set env variables that pertain to a node when Slurm
  3502. isn't doing the launching.
  3503. -- gres/gpu and gres/mic - Do not treat the existence of an empty gres.conf
  3504. file as a fatal error.
  3505. -- Fixed for if hours are specified as 0 the time days-0:min specification
  3506. is not parsed correctly.
  3507. -- switch/nrt - Fix for memory leak.
  3508. -- Subtract the PMII_COMMANDLEN_SIZE in contribs/pmi2/pmi2_api.c to prevent
  3509. certain implementation of snprintf() to segfault.
  3510. * Changes in Slurm 2.6.2
  3511. ========================
  3512. -- Fix issue with reconfig and GrpCPURunMins
  3513. -- Fix of wrong node/job state problem after reconfig
  3514. -- Allow users who are coordinators update their own limits in the accounts
  3515. they are coordinators over.
  3516. -- BackupController - Make sure we have a connection to the DBD first thing
  3517. to avoid it thinking we don't have a cluster name.
  3518. -- Correct value of min_nodes returned by loading job information to consider
  3519. the job's task count and maximum CPUs per node.
  3520. -- If running jobacct_gather/none fix issue on unpacking step completion.
  3521. -- Reservation with CoreCnt: Avoid possible invalid memory reference.
  3522. -- sjstat - Add man page when generating rpms.
  3523. -- Make sure GrpCPURunMins is added when creating a user, account or QOS with
  3524. sacctmgr.
  3525. -- Fix for invalid memory reference due to multiple free calls caused by
  3526. job arrays submitted to multiple partitions.
  3527. -- Enforce --ntasks-per-socket=1 job option when allocating by socket.
  3528. -- Validate permissions of key directories at slurmctld startup. Report
  3529. anything that is world writable.
  3530. -- Improve GRES support for CPU topology. Previous logic would pick CPUs then
  3531. reject jobs that can not match GRES to the allocated CPUs. New logic first
  3532. filters out CPUs that can not use the GRES, next picks CPUs for the job,
  3533. and finally picks the GRES that best match those CPUs.
  3534. -- Switch/nrt - Prevent invalid memory reference when allocating single adapter
  3535. per node of specific adapter type
  3536. -- CRAY - Make Slurm work with CLE 5.1.1
  3537. -- Fix segfault if submitting to multiple partitions and holding the job.
  3538. -- Use MAXPATHLEN instead of the hardcoded value 1024 for maximum file path
  3539. lengths.
  3540. -- If OverTimeLimit is defined do not declare failed those jobs that ended
  3541. in the OverTimeLimit interval.
  3542. * Changes in Slurm 2.6.1
  3543. ========================
  3544. -- slurmdbd - Allow job derived ec and comments to be modified by non-root
  3545. users.
  3546. -- Fix issue with job name being truncated to 24 chars when sending a mail
  3547. message.
  3548. -- Fix minor issues with spec file, missing files and including files
  3549. erroneously on a bluegene system.
  3550. -- sacct - fix --name and --partition options when using
  3551. accounting_storage/filetxt.
  3552. -- squeue - Remove extra whitespace of default printout.
  3553. -- BGQ - added head ppcfloor as an include dir when building.
  3554. -- BGQ - Better debug messages in runjob_mux plugin.
  3555. -- PMI2 Updated the Makefile.am to build a versioned library.
  3556. -- CRAY - Fix srun --mem_bind=local option with launch/aprun.
  3557. -- PMI2 Corrected buffer size computation in the pmi2_api.c module.
  3558. -- GRES accounting data wrong in database: gres_alloc, gres_req, and gres_used
  3559. fields were empty if the job was not started immediately.
  3560. -- Fix sbatch and srun task count logic when --ntasks-per-node specified,
  3561. but no explicit task count.
  3562. -- Corrected the hdf5 profile user guide and the acct_gather.conf
  3563. documentation.
  3564. -- IPMI - Fix Math bug getting new wattage.
  3565. -- Corrected the AcctGatherProfileType documentation in slurm.conf
  3566. -- Corrected the sh5util program to print the header in the csv file
  3567. only once, set the debug messages at debug() level, make the argument
  3568. check case insensitive and avoid printing duplicate \n.
  3569. -- If cannot collect energy values send message to the controller
  3570. to drain the node and log error slurmd log file.
  3571. -- Handle complete removal of CPURunMins time at the end of the job instead
  3572. of at multifactor poll.
  3573. -- sview - Add missing debug_flag options.
  3574. -- PGSQL - Notes about Postgres functionality being removed in the next
  3575. version of Slurm.
  3576. -- MYSQL - fix issue when rolling up usage and events happened when a cluster
  3577. was down (slurmctld not running) during that time period.
  3578. -- sched/wiki2 - Insure that Moab gets current CPU load information.
  3579. -- Prevent infinite loop in parsing configuration if including file containing
  3580. one blank line.
  3581. -- Fix pack and unpack between 2.6 and 2.5.
  3582. -- Fix job state recovery logic in which a job's accounting frequency was
  3583. not set. This would result in a value of 65534 seconds being used (the
  3584. equivalent of NO_VAL in uint16_t), which could result in the job being
  3585. requeued or aborted.
  3586. -- Validate a job's accounting frequency at submission time rather than
  3587. waiting for it's initiation to possibly fail.
  3588. -- Fix CPURunMins if a job is requeued from a failed launch.
  3589. -- Fix in accounting_storage/filetxt to correct start times which sometimes
  3590. could end up before the job started.
  3591. -- Fix issue with potentially referencing past an array in parse_time()
  3592. -- CRAY - fix issue with accelerators on a cray when parsing BASIL 1.3 XML.
  3593. -- Fix issue with a 2.5 slurmstepd locking up when talking to a 2.6 slurmd.
  3594. -- Add argument to priority plugin's priority_p_reconfig function to note
  3595. when the association and QOS used_cpu_run_secs field has been reset.
  3596. * Changes in Slurm 2.6.0
  3597. ========================
  3598. -- Fix it so bluegene and serial systems don't get warnings over new NODEDATA
  3599. enum.
  3600. -- When a job is aborted send a message for any tasks that have completed.
  3601. -- Correction to memory per CPU calculation on system with threads and
  3602. allocating cores or sockets.
  3603. -- Requeue batch job if it's node reboots (used to abort the job).
  3604. -- Enlarge maximum size of srun's hostlist file.
  3605. -- IPMI - Fix first poll to get correct consumed_energy for a step.
  3606. -- Correction to job state recovery logic that could result in assert failure.
  3607. -- Record partial step accounting record if allocated nodes fail abnormally.
  3608. -- Accounting - fix issue where PrivateData=jobs or users could potentially
  3609. show information to users that had no associations on the system.
  3610. -- Make PrivateData in slurmdbd.conf case insensitive.
  3611. -- sacct/sstat - Add format option ConsumedEnergyRaw to print full energy
  3612. values.
  3613. * Changes in Slurm 2.6.0rc2
  3614. ===========================
  3615. -- HDF5 - Fix issue with Ubuntu where HDF5 development headers are
  3616. overwritten by the parallel versions thus making it so we need handle
  3617. both cases.
  3618. -- ACCT_GATHER - handle suspending correctly for polling threads.
  3619. -- Make SLURM_DISTRIBUTION env var hold both types of distribution if
  3620. specified.
  3621. -- Remove hardcoded /usr/local from slurm.spec.
  3622. -- Modify slurmctld locking to improve performance under heavy load with
  3623. very large numbers of batch job submissions or job cancellations.
  3624. -- sstat - Fix issue where if -j wasn't given allow last argument to be checked
  3625. for as the job/step id.
  3626. -- IPMI - fix adjustment on poll when using EnergyIPMICalcAdjustment.
  3627. * Changes in Slurm 2.6.0rc1
  3628. ===========================
  3629. -- Added helper script for launching symmetric and MIC-only MPI tasks within
  3630. SLURM (in contribs/mic/mpirun-mic).
  3631. -- Change maximum delay for state save from 2 secs to 5 secs. Make timeout
  3632. configurable at build time by defining SAVE_MAX_WAIT.
  3633. -- Modify slurmctld data structure locking to interleave read and write
  3634. locks rather than always favor write locks over read locks.
  3635. -- Added sacct format option of "ALL" to print all fields.
  3636. -- Deprecate the SchedulerParameters value of "interval" use "bf_interval"
  3637. instead as documented.
  3638. -- Add acct_gather_profile/hdf5 to profile jobs with hdf5
  3639. -- Added MaxCPUsPerNode partition configuration parameter. This can be
  3640. especially useful to schedule systems with GPUs.
  3641. -- Permit "scontrol reboot_node" for nodes in MAINT reservation.
  3642. -- Added "PriorityFlags" value of "SMALL_RELATIVE_TO_TIME". If set, the job's
  3643. size component will be based upon not the job size alone, but the job's
  3644. size divided by it's time limit.
  3645. -- Added sbatch option "--ignore-pbs" to ignore "#PBS" options in the batch
  3646. script.
  3647. -- Rename slurm_step_ctx_params_t field from "mem_per_cpu" to "pn_min_memory".
  3648. Job step now accepts memory specification in either per-cpu or per-node
  3649. basis.
  3650. -- Add ability to specify host repitition count in the srun hostfile (e.g.
  3651. "host1*2" is equivalent to "host1,host1").
  3652. * Changes in Slurm 2.6.0pre3
  3653. ============================
  3654. -- Add milliseconds to default log message header (both RFC 5424 and ISO 8601
  3655. time formats). Disable milliseconds logging using the configure
  3656. parameter "--disable-log-time-msec". Default time format changes to
  3657. ISO 8601 (without time zone information). Specify "--enable-rfc5424time"
  3658. to restore the time zone information.
  3659. -- Add username (%u) to the filename pattern in the batch script.
  3660. -- Added options for front end nodes of AllowGroups, AllowUsers, DenyGroups,
  3661. and DenyUsers.
  3662. -- Fix sched/backfill logic to initiate jobs with maximum time limit over the
  3663. partition limit, but the minimum time limit permits it to start.
  3664. -- gres/gpu - Fix for gres.conf file with multiple files on a single line
  3665. using a slurm expression (e.g. "File=/dev/nvidia[0-1]").
  3666. -- Replaced ipmi.conf with generic acct_gather.conf file for all acct_gather
  3667. plugins. For those doing development to use this follow the model set
  3668. forth in the acct_gather_energy_ipmi plugin.
  3669. -- Added more options to update a step's information
  3670. -- Add DebugFlags=ThreadID which will print the thread id of the calling
  3671. thread.
  3672. -- CRAY - Allocate whole node (CPUs) in reservation despite what the
  3673. user requests. We have found any srun/aprun afterwards will work on a
  3674. subset of resources.
  3675. * Changes in Slurm 2.6.0pre2
  3676. ============================
  3677. -- Do not purge inactive interactive jobs that lack a port to ping (added
  3678. for MR+ operation).
  3679. -- Advanced reservations with hostname and core counts now supports asymetric
  3680. reservations (e.g. specific different core count for each node).
  3681. -- Added slurmctld/dynalloc plugin for MapReduce+ support.
  3682. -- Added "DynAllocPort" configuration parameter.
  3683. -- Added partition paramter of SelectTypeParameters to override system-wide
  3684. value.
  3685. -- Added cr_type to partition_info data structure.
  3686. -- Added allocated memory to node information available (within the existing
  3687. select_nodeinfo field of the node_info_t data structure). Added Allocated
  3688. Memory to node information displayed by sview and scontrol commands.
  3689. -- Make sched/backfill the default scheduling plugin rather than sched/builtin
  3690. (FIFO).
  3691. -- Added support for a job having different priorities in different partitions.
  3692. -- Added new SchedulerParameters configuration parameter of "bf_continue"
  3693. which permits the backfill scheduler to continue considering jobs for
  3694. backfill scheduling after yielding locks even if new jobs have been
  3695. submitted. This can result in lower priority jobs from being backfill
  3696. scheduled instead of newly arrived higher priority jobs, but will permit
  3697. more queued jobs to be considered for backfill scheduling.
  3698. -- Added support to purge reservation records from accounting.
  3699. -- Cray - Add support for Basil 1.3
  3700. * Changes in SLURM 2.6.0pre1
  3701. ============================
  3702. -- Add "state" field to job step information reported by scontrol.
  3703. -- Notify srun to retry step creation upon completion of other job steps
  3704. rather than polling. This results in much faster throughput for job step
  3705. execution with --exclusive option.
  3706. -- Added "ResvEpilog" and "ResvProlog" configuration parameters to execute a
  3707. program at the beginning and end of each reservation.
  3708. -- Added "slurm_load_job_user" function. This is a variation of
  3709. "slurm_load_jobs", but accepts a user ID argument, potentially resulting
  3710. in substantial performance improvement for "squeue --user=ID"
  3711. -- Added "slurm_load_node_single" function. This is a variation of
  3712. "slurm_load_nodes", but accepts a node name argument, potentially resulting
  3713. in substantial performance improvement for "sinfo --nodes=NAME".
  3714. -- Added "HealthCheckNodeState" configuration parameter identify node states
  3715. on which HealthCheckProgram should be executed.
  3716. -- Remove sacct --dump --formatted-dump options which were deprecated in
  3717. 2.5.
  3718. -- Added support for job arrays (phase 1 of effort). See "man sbatch" option
  3719. -a/--array for details.
  3720. -- Add new AccountStorageEnforce options of 'nojobs' and 'nosteps' which will
  3721. allow the use of accounting features like associations, qos and limits but
  3722. not keep track of jobs or steps in accounting.
  3723. -- Cray - Add new cray.conf parameter of "AlpsEngine" to specify the
  3724. communication protocol to be used for ALPS/BASIL.
  3725. -- select/cons_res plugin: Correction to CPU allocation count logic in for
  3726. cores without hyperthreading.
  3727. -- Added new SelectTypeParameter value of "CR_ALLOCATE_FULL_SOCKET".
  3728. -- Added PriorityFlags value of "TICKET_BASED" and merged priority/multifactor2
  3729. plugin into priority/multifactor plugin.
  3730. -- Add "KeepAliveTime" configuration parameter controlling how long sockets
  3731. used for srun/slurmstepd communications are kept alive after disconnect.
  3732. -- Added SLURM_SUBMIT_HOST to salloc, sbatch and srun job environment.
  3733. -- Added SLURM_ARRAY_TASK_ID to environment of job array.
  3734. -- Added squeue --array/-r option to optimize output for job arrays.
  3735. -- Added "SlurmctldPlugstack" configuration parameter for generic stack of
  3736. slurmctld daemon plugins.
  3737. -- Removed contribs/arrayrun tool. Use native support for job arrays.
  3738. -- Modify default installation locations for RPMs to match "make install":
  3739. _prefix /usr/local
  3740. _slurm_sysconfdir %{_prefix}/etc/slurm
  3741. _mandir %{_prefix}/share/man
  3742. _infodir %{_prefix}/share/info
  3743. -- Add acct_gather_energy/ipmi which works off freeipmi for energy gathering
  3744. * Changes in Slurm 2.5.8
  3745. ========================
  3746. -- Fix for slurmctld segfault on NULL front-end reason field.
  3747. -- Avoid gres step allocation errors when a job shrinks in size due to either
  3748. down nodes or explicit resizing. Generated slurmctld errors of this type:
  3749. "step_test ... gres_bit_alloc is NULL"
  3750. -- Fix bug that would leak memory and over-write the AllowGroups field if on
  3751. "scontrol reconfig" when AllowNodes is manually changed using scontrol.
  3752. -- Get html/man files to install in correct places with rpms.
  3753. -- Remove --program-prefix from spec file since it appears to be added by
  3754. default and appeared to break other things.
  3755. -- Updated the automake min version in autogen.sh to be correct.
  3756. -- Select/cons_res - Correct total CPU count allocated to a job with
  3757. --exclusive and --cpus-per-task options
  3758. -- switch/nrt - Don't allocate network resources unless job step has 2+ nodes.
  3759. -- select/cons_res - Avoid extraneous "oversubscribe" error messages.
  3760. -- Reorder get config logic to avoid deadlock.
  3761. -- Enforce QOS MaxCPUsMin limit when job submission contains no user-specified
  3762. time limit.
  3763. -- EpilogSlurmctld pthread is passed required arguments rather than a pointer
  3764. to the job record, which under some conditions could be purged and result
  3765. in an invalid memory reference.
  3766. * Changes in Slurm 2.5.7
  3767. ========================
  3768. -- Fix for linking to the select/cray plugin to not give warning about
  3769. undefined variable.
  3770. -- Add missing symbols to the xlator.h
  3771. -- Avoid placing pending jobs in AdminHold state due to backfill scheduler
  3772. interactions with advanced reservation.
  3773. -- Accounting - make average by task not cpu.
  3774. -- CRAY - Change logging of transient ALPS errors from error() to debug().
  3775. -- POE - Correct logic to support poe option "-euidevice sn_all" and
  3776. "-euidevice sn_single".
  3777. -- Accounting - Fix minor initialization error.
  3778. -- POE - Correct logic to support srun network instances count with POE.
  3779. -- POE - With the srun --launch-cmd option, report proper task count when
  3780. the --cpus-per-task option is used without the --ntasks option.
  3781. -- POE - Fix logic binding tasks to CPUs.
  3782. -- sview - Fix race condition where new information could of slipped past
  3783. the node tab and we didn't notice.
  3784. -- Accounting - Fix an invalid memory read when slurmctld sends data about
  3785. start job to slurmdbd.
  3786. -- If a prolog or epilog failure occurs, drain the node rather than setting it
  3787. down and killing all of its jobs.
  3788. -- Priority/multifactor - Avoid underflow in half-life calculation.
  3789. -- POE - pack missing variable to allow fanout (more than 32 nodes)
  3790. -- Prevent clearing reason field for pending jobs. This bug was introduced in
  3791. v2.5.5 (see "Reject job at submit time ...").
  3792. -- BGQ - Fix issue with preemption on sub-block jobs where a job would kill
  3793. all preemptable jobs on the midplane instead of just the ones it needed to.
  3794. -- switch/nrt - Validate dynamic window allocation size.
  3795. -- BGQ - When --geo is requested do not impose the default conn_types.
  3796. -- CRAY - Support CLE 4.2.0
  3797. -- RebootNode logic - Defers (rather than forgets) reboot request with job
  3798. running on the node within a reservation.
  3799. -- switch/nrt - Correct network_id use logic. Correct support for user sn_all
  3800. and sn_single options.
  3801. -- sched/backfill - Modify logic to reduce overhead under heavy load.
  3802. -- Fix job step allocation with --exclusive and --hostlist option.
  3803. -- Select/cons_res - Fix bug resulting in error of "cons_res: sync loop not
  3804. progressing, holding job #"
  3805. -- checkpoint/blcr - Reset max_nodes from zero to NO_VAL on job restart.
  3806. -- launch/poe - Fix for hostlist file support with repeated host names.
  3807. -- priority/multifactor2 - Prevent possible divide by zero.
  3808. -- srun - Don't check for executable if --test-only flag is used.
  3809. -- energy - On a single node only use the last task for gathering energy.
  3810. Since we don't currently track energy usage per task (only per step).
  3811. Otherwise we get double the energy.
  3812. * Changes in Slurm 2.5.6
  3813. ========================
  3814. -- Gres fix for requeued jobs.
  3815. -- Gres accounting - Fix regression in 2.5.5 for keeping track of gres
  3816. requested and allocated.
  3817. * Changes in Slurm 2.5.5
  3818. ========================
  3819. -- Fix for sacctmgr add qos to handle the 'flags' option.
  3820. -- Export SLURM_ environment variables from sbatch, even if "--export"
  3821. option does not explicitly list them.
  3822. -- If node is in more than one partition, correct counting of allocated CPUs.
  3823. -- If step requests more CPUs than possible in specified node count of job
  3824. allocation then return ESLURM_TOO_MANY_REQUESTED_CPUS rather than
  3825. ESLURM_NODES_BUSY and retrying.
  3826. -- CRAY - Fix SLURM_TASKS_PER_NODE to be set correctly.
  3827. -- Accounting - more checks for strings with a possible `'` in it.
  3828. -- sreport - Fix by adding planned down time to utilization reports.
  3829. -- Do not report an error when sstat identifies job steps terminated during
  3830. its execution, but log using debug type message.
  3831. -- Select/cons_res - Permit node removed from job by going down to be returned
  3832. to service and re-used by another job.
  3833. -- Select/cons_res - Tighter packing of job allocations on sockets.
  3834. -- SlurmDBD - fix to allow user root along with the slurm user to register a
  3835. cluster.
  3836. -- Select/cons_res - Fix for support of consecutive node option.
  3837. -- Select/cray - Modify build to enable direct use of libslurm library.
  3838. -- Bug fixes related to job step allocation logic.
  3839. -- Cray - Disable enforcement of MaxTasksPerNode, which is not applicable
  3840. with launch/aprun.
  3841. -- Accounting - When rolling up data from past usage ignore "idle" time from
  3842. a reservation when it has the "Ignore_Jobs" flag set. Since jobs could run
  3843. outside of the reservation in it's nodes without this you could have
  3844. double time.
  3845. -- Accounting - Minor fix to avoid reuse of variable erroneously.
  3846. -- Reject job at submit time if the node count is invalid. Previously such a
  3847. job submitted to a DOWN partition would be queued.
  3848. -- Purge vestigial job scripts when the slurmd cold starts or slurmstepd
  3849. terminates abnormally.
  3850. -- Add support for FreeBSD.
  3851. -- Add sanity check for NULL cluster names trying to register.
  3852. -- BGQ - Push action 'D' info to scontrol for admins.
  3853. -- Reset a job's reason from PartitionDown when the partition is set up.
  3854. -- BGQ - Handle issue where blocks would have a pending job on them and
  3855. while it was free cnodes would go into software error and kill the job.
  3856. -- BGQ - Fix issue where if for some reason we are freeing a block with
  3857. a pending job on it we don't kill the job.
  3858. -- BGQ - Fix race condition were a job could of been removed from a block
  3859. without it still existing there. This is extremely rare.
  3860. -- BGQ - Fix for when a step completes in Slurm before the runjob_mux notifies
  3861. the slurmctld there were software errors on some nodes.
  3862. -- BGQ - Fix issue on state recover if block states are not around
  3863. and when reading in state from DB2 we find a block that can't be created.
  3864. You can now do a clean start to rid the bad block.
  3865. -- Modify slurmdbd to retransmit to slurmctld daemon if it is not responding.
  3866. -- BLUEGENE - Fix issue where when doing backfill preemptable jobs were
  3867. never looked at to determine eligibility of backfillable job.
  3868. -- Cray/BlueGene - Disable srun --pty option unless LaunchType=launch/slurm.
  3869. -- CRAY - Fix sanity check for systems with more than 32 cores per node.
  3870. -- CRAY - Remove other objects from MySQL query that are available from
  3871. the XML.
  3872. -- BLUEGENE - Set the geometry of a job when a block is picked and the job
  3873. isn't a sub-block job.
  3874. -- Cray - avoid check of macro versions of CLE for version 5.0.
  3875. -- CRAY - Fix memory issue with reading in the cray.conf file.
  3876. -- CRAY - If hostlist is given with srun make sure the node count is the same
  3877. as the hosts given.
  3878. -- CRAY - If task count specified, but no tasks-per-node, then set the tasks
  3879. per node in the BASIL reservation request.
  3880. -- CRAY - fix issue with --mem option not giving correct amount of memory
  3881. per cpu.
  3882. -- CRAY - Fix if srun --mem is given outside an allocation to set the
  3883. APRUN_DEFAULT_MEMORY env var for aprun. This scenario will not display
  3884. the option when used with --launch-cmd.
  3885. -- Change sview to use GMutex instead of GStaticMutex
  3886. -- CRAY - set APRUN_DEFAULT_MEMROY instead of CRAY_AUTO_APRUN_OPTIONS
  3887. -- sview - fix issue where if a partition was completely in one state the
  3888. cpu count would be reflected correctly.
  3889. -- BGQ - fix for handling half rack system in STATIC of OVERLAP mode to
  3890. implicitly create full system block.
  3891. -- CRAY - Dynamically create BASIL XML buffer to resize as needed.
  3892. -- Fix checking if QOS limit MaxCPUMinsPJ is set along with DenyOnLimit to
  3893. deny the job instead of holding it.
  3894. -- Make sure on systems that use a different launcher than launch/slurm not
  3895. to attempt to signal tasks on the frontend node.
  3896. -- Cray - when a step is requested count other steps running on nodes in the
  3897. allocation as taking up the entire node instead of just part of the node
  3898. allocated. And always enforce exclusive on a step request.
  3899. -- Cray - display correct nodelist, node/cpu count on steps.
  3900. * Changes in Slurm 2.5.4
  3901. ========================
  3902. -- Fix bug in PrologSlurmctld use that would block job steps until node
  3903. responds.
  3904. -- CRAY - If a partition has MinNodes=0 and a batch job doesn't request nodes
  3905. put the allocation to 1 instead of 0 which prevents the allocation to
  3906. happen.
  3907. -- Better debug when the database is down and using the --cluster option in
  3908. the user commands.
  3909. -- When asking for job states with sacct, default to 'now' instead of midnight
  3910. of the current day.
  3911. -- Fix for handling a test-only job or immediate job that fails while being
  3912. built.
  3913. -- Comment out all of the logic in the job_submit/defaults plugin. The logic
  3914. is only an example and not meant for actual use.
  3915. -- Eliminate configuration file 4096 character line limitation.
  3916. -- More robust logic for tree message forward
  3917. -- BGQ - When cnodes fail in a timeout fashion correctly look up parent
  3918. midplane.
  3919. -- Correct sinfo "%c" (node's CPU count) output value for Bluegene systems.
  3920. -- Backfill - Responsive improvements for systems with large numbers of jobs
  3921. (>5000) and using the SchedulerParameters option bf_max_job_user.
  3922. -- slurmstepd: ensure that IO redirection openings from/to files correctly
  3923. handle interruption
  3924. -- BGQ - Able to handle when midplanes go into Hardware::SoftwareFailure
  3925. -- GRES - Correct tracking of specific resources used after slurmctld restart.
  3926. Counts would previously go negative as jobs terminate and decrement from
  3927. a base value of zero.
  3928. -- Fix for priority/multifactor2 plugin to not assert when configured with
  3929. --enable-debug.
  3930. -- Select/cons_res - If the job request specified --ntasks-per-socket and the
  3931. allocation using is cores, then pack the tasks onto the sockets up to the
  3932. specified value.
  3933. -- BGQ - If a cnode goes into an 'error' state and the block containing the
  3934. cnode does not have a job running on it do not resume the block.
  3935. -- BGQ - Handle blocks that don't free themselves in a reasonable time better.
  3936. -- BGQ - Fix for signaling steps when allocation ends before step.
  3937. -- Fix for backfill scheduling logic with job preemption; starts more jobs.
  3938. -- xcgroup - remove bugs with EINTR management in write calls
  3939. -- jobacct_gather - fix total values to not always == the max values.
  3940. -- Fix for handling node registration messages from older versions without
  3941. energy data.
  3942. -- BGQ - Allow user to request full dimensional mesh.
  3943. -- sdiag command - Correction to jobs started value reported.
  3944. -- Prevent slurmctld assert when invalid change to reservation with running
  3945. jobs is made.
  3946. -- BGQ - If signal is NODE_FAIL allow forward even if job is completing
  3947. and timeout in the runjob_mux trying to send in this situation.
  3948. -- BGQ - More robust checking for correct node, task, and ntasks-per-node
  3949. options in srun, and push that logic to salloc and sbatch.
  3950. -- GRES topology bug in core selection logic fixed.
  3951. -- Fix to handle init.d script for querying status and not return 1 on
  3952. success.
  3953. * Changes in SLURM 2.5.3
  3954. ========================
  3955. -- Gres/gpu plugin - If no GPUs requested, set CUDA_VISIBLE_DEVICES=NoDevFiles.
  3956. This bug was introduced in 2.5.2 for the case where a GPU count was
  3957. configured, but without device files.
  3958. -- task/affinity plugin - Fix bug in CPU masks for some processors.
  3959. -- Modify sacct command to get format from SACCT_FORMAT environment variable.
  3960. -- BGQ - Changed order of library inclusions and fixed incorrect declaration
  3961. to compile correctly on newer compilers
  3962. -- Fix for not building sview if glib exists on a system but not the gtk libs.
  3963. -- BGQ - Fix for handling a job cleanup on a small block if the job has long
  3964. since left the system.
  3965. -- Fix race condition in job dependency logic which can result in invalid
  3966. memory reference.
  3967. * Changes in SLURM 2.5.2
  3968. ========================
  3969. -- Fix advanced reservation recovery logic when upgrading from version 2.4.
  3970. -- BLUEGENE - fix for QOS/Association node limits.
  3971. -- Add missing "safe" flag from print of AccountStorageEnforce option.
  3972. -- Fix logic to optimize GRES topology with respect to allocated CPUs.
  3973. -- Add job_submit/all_partitions plugin to set a job's default partition
  3974. to ALL available partitions in the cluster.
  3975. -- Modify switch/nrt logic to permit build without libnrt.so library.
  3976. -- Handle srun task launch failure without duplicate error messages or abort.
  3977. -- Fix bug in QoS limits enforcement when slurmctld restarts and user not yet
  3978. added to the QOS list.
  3979. -- Fix issue where sjstat and sjobexitmod was installed in 2 different RPMs.
  3980. -- Fix for job request of multiple partitions in which some partitions lack
  3981. nodes with required features.
  3982. -- Permit a job to use a QOS they do not have access to if an administrator
  3983. manually set the job's QOS (previously the job would be rejected).
  3984. -- Make more variables available to job_submit/lua plugin: slurm.MEM_PER_CPU,
  3985. slurm.NO_VAL, etc.
  3986. -- Fix topology/tree logic when nodes defined in slurm.conf get re-ordered.
  3987. -- In select/cons_res, correct logic to allocate whole sockets to jobs. Work
  3988. by Magnus Jonsson, Umea University.
  3989. -- In select/cons_res, correct logic when job removed from only some nodes.
  3990. -- Avoid apparent kernel bug in 2.6.32 which apparently is solved in
  3991. at least 3.5.0. This avoids a stack overflow when running jobs on
  3992. more than 120k nodes.
  3993. -- BLUEGENE - If we made a block that isn't runnable because of a overlapping
  3994. block, destroy it correctly.
  3995. -- Switch/nrt - Dynamically load libnrt.so from within the plugin as needed.
  3996. This eliminates the need for libnrt.so on the head node.
  3997. -- BLUEGENE - Fix in reservation logic that could cause abort.
  3998. * Changes in SLURM 2.5.1
  3999. ========================
  4000. -- Correction to hostlist sorting for hostnames that contain two numeric
  4001. components and the first numeric component has various sizes (e.g.
  4002. "rack9blade1" should come before "rack10blade1")
  4003. -- BGQ - Only poll on initialized blocks instead of calling getBlocks on
  4004. each block independently.
  4005. -- Fix of task/affinity plugin logic for Power7 processors having hyper-
  4006. threading disabled (cpu mask has gaps).
  4007. -- Fix of job priority ordering with sched/builtin and priority/multifactor.
  4008. Patch from Chris Read.
  4009. -- CRAY - Fix for setting up the aprun for a large job (+2000 nodes).
  4010. -- Fix for race condition related to compute node boot resulting in node being
  4011. set down with reason of "Node <name> unexpectedly rebooted"
  4012. -- RAPL - Fix for handling errors when opening msr files.
  4013. -- BGQ - Fix for salloc/sbatch to do the correct allocation when asking for
  4014. -N1 -n#.
  4015. -- BGQ - in emulation make it so we can pretend to run large jobs (>64k nodes)
  4016. -- BLUEGENE - Correct method to update conn_type of a job.
  4017. -- BLUEGENE - Fix issue with preemption when needing to preempt multiple jobs
  4018. to make one job run.
  4019. -- Fixed issue where if an srun dies inside of an allocation abnormally it
  4020. would of also killed the allocation.
  4021. -- FRONTEND - fixed issue where if a systems nodes weren't defined in the
  4022. slurm.conf with NodeAddr's signals going to a step could be handled
  4023. incorrectly.
  4024. -- If sched/backfill starts a job with a QOS having NO_RESERVE and not job
  4025. time limit, start it with the partition time limit (or one year if the
  4026. partition has no time limit) rather than NO_VAL (140 year time limit);
  4027. -- Alter hostlist logic to allocate large grid dynamically instead of on
  4028. stack.
  4029. -- Change RPC version checks to support version 2.5 slurmctld with version 2.4
  4030. slurmd daemons.
  4031. -- Correct core reservation logic for use with select/serial plugin.
  4032. -- Exit scontrol command on stdin EOF.
  4033. -- Disable job --exclusive option with select/serial plugin.
  4034. * Changes in SLURM 2.5.0
  4035. ========================
  4036. -- Add DenyOnLimit flag for QOS to deny jobs at submission time if they
  4037. request resources that reach a 'Max' limit.
  4038. -- Permit SlurmUser or operator to change QOS of non-pending jobs (e.g.
  4039. running jobs).
  4040. -- BGQ - move initial poll to beginning of realtime interaction, which will
  4041. also cause it to run if the realtime server ever goes away.
  4042. * Changes in SLURM 2.5.0-rc2
  4043. ============================
  4044. -- Modify sbcast logic to survive slurmd daemon restart while file a
  4045. transmission is in progress.
  4046. -- Add retry logic to munge encode/decode calls. This is needed if the munge
  4047. deamon is under very heavy load (e.g. with 1000 slurmd daemons per compute
  4048. node).
  4049. -- Add launch and acct_gather_energy plugins to RPMs.
  4050. -- Restore support for srun "--mpi=list" option.
  4051. -- CRAY - Introduce step accounting for a Cray.
  4052. -- Modify srun to abandon I/O 60 seconds after the last task ends. Otherwise
  4053. an aborted slurmstepd can cause the srun process to hang indefinitely.
  4054. -- ENERGY - RAPL - alter code to close open files (and only open them once
  4055. where needed)
  4056. -- If the PrologSlurmctld fails, then requeue the job an indefinite number
  4057. of times instead of only one time.
  4058. * Changes in SLURM 2.5.0-rc1
  4059. ============================
  4060. -- Added Prolog and Epilog Guide (web page). Based upon work by Jason Sollom,
  4061. Cray Inc. and used by permission.
  4062. -- Restore gang scheduling functionality. Preemptor was not being scheduled.
  4063. Fix for bugzilla #3.
  4064. -- Add "cpu_load" to node information. Populate CPULOAD in node information
  4065. reported to Moab cluster manager.
  4066. -- Preempt jobs only when insufficient idle resources exist to start job,
  4067. regardless of the node weight.
  4068. -- Added priority/multifactor2 plugin based upon ticket distribution system.
  4069. Work by Janne Blomqvist, Aalto University.
  4070. -- Add SLURM_NODELIST to environment variables available to Prolog and Epilog.
  4071. -- Permit reservations to allow or deny access by account and/or user.
  4072. -- Add ReconfigFlags value of KeepPartState. See "man slurm.conf" for details.
  4073. -- Modify the task/cgroup plugin adding a task_pre_launch_priv function and
  4074. move slurmstepd outside of the step's cgroup. Work by Matthieu Hautreux.
  4075. -- Intel MIC processor support added using gres/mic plugin. BIG thanks to
  4076. Olli-Pekka Lehto, CSC-IT Center for Science Ltd.
  4077. -- Accounting - Change empty jobacctinfo structs to not actually be used
  4078. instead of putting 0's into the database we put NO_VALS and have sacct
  4079. figure out jobacct_gather wasn't used.
  4080. -- Cray - Prevent calling basil_confirm more than once per job using a flag.
  4081. -- Fix bug with topology/tree and job with min-max node count. Now try to
  4082. get max node count rather than minimizing leaf switches used.
  4083. -- Add AccountingStorageEnforce=safe option to provide method to avoid jobs
  4084. launching that wouldn't be able to run to completion because of a
  4085. GrpCPUMins limit.
  4086. -- Add support for RFC 5424 timestamps in logfiles. Disable with configuration
  4087. option of "--disable-rfc5424time". By Janne Blomqvist, Aalto University.
  4088. -- CRAY - Replace srun.pl with launch/aprun plugin to use srun to wrap the
  4089. aprun process instead of a perl script.
  4090. -- srun - Rename --runjob-opts to --launcher-opts to be used on systems other
  4091. than BGQ.
  4092. -- Added new DebugFlags - Energy for AcctGatherEnergy plugins.
  4093. -- start deprecation of sacct --dump --fdump
  4094. -- BGQ - added --verbose=OFF when srun --quiet is used
  4095. -- Added acct_gather_energy/rapl plugin to record power consumption by job.
  4096. Work by Yiannis Georgiou, Martin Perry, et. al., Bull
  4097. * Changes in SLURM 2.5.0.pre3
  4098. =============================
  4099. -- Add Google search to all web pages.
  4100. -- Add sinfo -T option to print reservation information. Work by Bill Brophy,
  4101. Bull.
  4102. -- Force slurmd exit after 2 minute wait, even if threads are hung.
  4103. -- Change node_req field in struct job_resources from 8 to 32 bits so we can
  4104. run more than 256 jobs per node.
  4105. -- sched/backfill: Improve accuracy of expected job start with respect to
  4106. reservations.
  4107. -- sinfo partition field size will be set the the length of the longest
  4108. partition name by default.
  4109. -- Make it so the parse_time will return a valid 0 if given epoch time and
  4110. set errno == ESLURM_INVALID_TIME_VALUE on error instead.
  4111. -- Correct srun --no-alloc logic when node count exceeds node list or task
  4112. task count is not a multiple of the node count. Work by Hongjia Cao, NUDT.
  4113. -- Completed integration with IBM Parallel Environment including POE and IBM's
  4114. NRT switch library.
  4115. * Changes in SLURM 2.5.0.pre2
  4116. =============================
  4117. -- When running with multiple slurmd daemons per node, enable specifying a
  4118. range of ports on a single line of the node configuration in slurm.conf.
  4119. -- Add reservation flag of Part_Nodes to allocate all nodes in a partition to
  4120. a reservation and automatically change the reservation when nodes are
  4121. added to or removed from the reservation. Based upon work by
  4122. Bill Brophy, Bull.
  4123. -- Add support for advanced reservation for specific cores rather than whole
  4124. nodes. Current limiations: homogeneous cluster, nodes idle when reservation
  4125. created, and no more than one reservation per node. Code is still under
  4126. development. Work by Alejandro Lucero Palau, et. al, BSC.
  4127. -- Add DebugFlag of Switch to log switch plugin details.
  4128. -- Correct job node_cnt value in job completion plugin when job fails due to
  4129. down node. Previously was too low by one.
  4130. -- Add new srun option --cpu-freq to enable user control over the job's CPU
  4131. frequency and thus it's power consumption. NOTE: cpu frequency is not
  4132. currently preserved for jobs being suspended and later resumed. Work by
  4133. Don Albert, Bull.
  4134. -- Add node configuration information about "boards" and optimize task
  4135. placement on minimum number of boards. Work by Rod Schultz, Bull.
  4136. * Changes in SLURM 2.5.0.pre1
  4137. =============================
  4138. -- Add new output to "scontrol show configuration" of LicensesUsed. Output is
  4139. "name:used/total"
  4140. -- Changed jobacct_gather plugin infrastructure to be cleaner and easier to
  4141. maintain.
  4142. -- Change license option count separator from "*" to ":" for consistency with
  4143. the gres option (e.g. "--licenses=foo:2 --gres=gpu:2"). The "*" will still
  4144. be accepted, but is no longer documented.
  4145. -- Permit more than 100 jobs to be scheduled per node (new limit is 250
  4146. jobs).
  4147. -- Restructure of srun code to allow outside programs to utilize existing
  4148. logic.
  4149. * Changes in SLURM 2.4.6
  4150. ========================
  4151. -- Correct WillRun authentication logic when issued for non-job owner.
  4152. -- BGQ - fix memory leak
  4153. -- BGQ - Fix to check block for action 'D' if it also has nodes in error.
  4154. * Changes in SLURM 2.4.5
  4155. ========================
  4156. -- Cray - On job kill requeust, send SIGCONT, SIGTERM, wait KillWait and send
  4157. SIGKILL. Previously just sent SIGKILL to tasks.
  4158. -- BGQ - Fix issue when running srun outside of an allocation and only
  4159. specifying the number of tasks and not the number of nodes.
  4160. -- BGQ - validate correct ntasks_per_node
  4161. -- BGQ - when srun -Q is given make runjob be quiet
  4162. -- Modify use of OOM (out of memory protection) for Linux 2.6.36 kernel
  4163. or later. NOTE: If you were setting the environment variable
  4164. SLURMSTEPD_OOM_ADJ=-17, it should be set to -1000 for Linux 2.6.36 kernel
  4165. or later.
  4166. -- BGQ - Fix job step timeout actually happen when done from within an
  4167. allocation.
  4168. -- Reset node MAINT state flag when a reservation's nodes or flags change.
  4169. -- Accounting - Fix issue where QOS usage was being zeroed out on a
  4170. slurmctld restart.
  4171. -- BGQ - Add 64 tasks per node as a valid option for srun when used with
  4172. overcommit.
  4173. -- BLUEGENE - With Dynamic layout mode - Fix issue where if a larger block
  4174. was already in error and isn't deallocating and underlying hardware goes
  4175. bad one could get overlapping blocks in error making the code assert when
  4176. a new job request comes in.
  4177. -- BGQ - handle pending actions on a block better when trying to deallocate it.
  4178. -- Accounting - Fixed issue where if nodenames have changed on a system and
  4179. you query against that with -N and -E you will get all jobs during that
  4180. time instead of only the ones running on -N.
  4181. -- BGP - Fix for HTC mode
  4182. -- Accounting - If a job start message fails to the SlurmDBD reset the db_inx
  4183. so it gets sent again. This isn't a major problem since the start will
  4184. happen when the job ends, but this does make things cleaner.
  4185. -- If an salloc is waiting for an allocation to happen and is canceled by the
  4186. user mark the state canceled instead of completed.
  4187. -- Fix issue in accounting if a user puts a '\' in their job name.
  4188. -- Accounting - Fix for if asking for users or accounts that were deleted
  4189. with associations get the deleted associations as well.
  4190. -- BGQ - Handle shared blocks that need to be removed and have jobs running
  4191. on them. This should only happen in extreme conditions.
  4192. -- Fix inconsistency for hostlists that have more than 1 range.
  4193. -- BGQ - Add mutex around recovery for the Real Time server to avoid hitting
  4194. DB2 so hard.
  4195. -- BGQ - If an allocation exists on a block that has a 'D' action on it fail
  4196. job on future step creation attempts.
  4197. * Changes in SLURM 2.4.4
  4198. ========================
  4199. -- BGQ - minor fix to make build work in emulated mode.
  4200. -- BGQ - Fix if large block goes into error and the next highest priority jobs
  4201. are planning on using the block. Previously it would fail those jobs
  4202. erroneously.
  4203. -- BGQ - Fix issue when a cnode going to an error (not SoftwareError) state
  4204. with a job running or trying to run on it.
  4205. -- Execute slurm_spank_job_epilog when there is no system Epilog configured.
  4206. -- Fix for srun --test-only to work correctly with timelimits
  4207. -- BGQ - If a job goes away while still trying to free it up in the
  4208. database, and the job is running on a small block make sure we free up
  4209. the correct node count.
  4210. -- BGQ - Logic added to make sure a job has finished on a block before it is
  4211. purged from the system if its front-end node goes down.
  4212. -- Modify strigger so that a filter option of "--user=0" is supported.
  4213. -- Correct --mem-per-cpu logic for core or socket allocations with multiple
  4214. threads per core.
  4215. -- Fix for older < glibc 2.4 systems to use euidaccess() instead of eaccess().
  4216. -- BLUEGENE - Do not alter a pending job's node count when changing it's
  4217. partition.
  4218. -- BGQ - Add functionality to make it so we track the actions on a block.
  4219. This is needed for when a free request is added to a block but there are
  4220. jobs finishing up so we don't start new jobs on the block since they will
  4221. fail on start.
  4222. -- BGQ - Fixed InactiveLimit to work correctly to avoid scenarios where a
  4223. user's pending allocation was started with srun and then for some reason
  4224. the slurmctld was brought down and while it was down the srun was removed.
  4225. -- Fixed InactiveLimit math to work correctly
  4226. -- BGQ - Add logic to make it so blocks can't use a midplane with a nodeboard
  4227. in error for passthrough.
  4228. -- BGQ - Make it so if a nodeboard goes in error any block using that midplane
  4229. for passthrough gets removed on a dynamic system.
  4230. -- BGQ - Fix for printing realtime server debug correctly.
  4231. -- BGQ - Cleaner handling of cnode failures when reported through the runjob
  4232. interface instead of through the normal method.
  4233. -- smap - spread node information across multiple lines for larger systems.
  4234. -- Cray - Defer salloc until after PrologSlurmctld completes.
  4235. -- Correction to slurmdbd communications failure handling logic, incorrect
  4236. error codes returned in some cases.
  4237. * Changes in SLURM 2.4.3
  4238. ========================
  4239. -- Accounting - Fix so complete 32 bit numbers can be put in for a priority.
  4240. -- cgroups - fix if initial directory is non-existent SLURM creates it
  4241. correctly. Before the errno wasn't being checked correctly
  4242. -- BGQ - fixed srun when only requesting a task count and not a node count
  4243. to operate the same way salloc or sbatch did and assign a task per cpu
  4244. by default instead of task per node.
  4245. -- Fix salloc --gid to work correctly. Reported by Brian Gilmer
  4246. -- BGQ - fix smap to set the correct default MloaderImage
  4247. -- BLUEGENE - updated documentation.
  4248. -- Close the batch job's environment file when it contains no data to avoid
  4249. leaking file descriptors.
  4250. -- Fix sbcast's credential to last till the end of a job instead of the
  4251. previous 20 minute time limit. The previous behavior would fail for
  4252. large files 20 minutes into the transfer.
  4253. -- Return ESLURM_NODES_BUSY rather than ESLURM_NODE_NOT_AVAIL error on job
  4254. submit when required nodes are up, but completing a job or in exclusive
  4255. job allocation.
  4256. -- Add HWLOC_FLAGS so linking to libslurm works correctly
  4257. -- BGQ - If using backfill and a shared block is running at least one job
  4258. and a job comes through backfill and can fit on the block without ending
  4259. jobs don't set an end_time for the running jobs since they don't need to
  4260. end to start the job.
  4261. -- Initialize bind_verbose when using task/cgroup.
  4262. -- BGQ - Fix for handling backfill much better when sharing blocks.
  4263. -- BGQ - Fix for making small blocks on first pass if not sharing blocks.
  4264. -- BLUEGENE - Remove force of default conn_type instead of leaving NAV
  4265. when none are requested. The Block allocator sets it up temporarily so
  4266. this isn't needed.
  4267. -- BLUEGENE - Fix deadlock issue when dealing with bad hardware if using
  4268. static blocks.
  4269. -- Fix to mysql plugin during rollup to only query suspended table when jobs
  4270. reported some suspended time.
  4271. -- Fix compile with glibc 2.16 (Kacper Kowalik)
  4272. -- BGQ - fix for deadlock where a block has error on it and all jobs
  4273. running on it are preemptable by scheduling job.
  4274. -- proctrack/cgroup: Exclude internal threads from "scontrol list pids".
  4275. Patch from Matthieu Hautreux, CEA.
  4276. -- Memory leak fixed for select/linear when preempting jobs.
  4277. -- Fix if updating begin time of a job to update the eligible time in
  4278. accounting as well.
  4279. -- BGQ - make it so you can signal steps when signaling the job allocation.
  4280. -- BGQ - Remove extra overhead if a large block has many cnode failures.
  4281. -- Priority/Multifactor - Fix issue with age factor when a job is estimated to
  4282. start in the future but is able to run now.
  4283. -- CRAY - update to work with ALPS 5.1
  4284. -- BGQ - Handle issue of speed and mutexes when polling instead of using the
  4285. realtime server.
  4286. -- BGQ - Fix minor sorting issue with sview when sorting by midplanes.
  4287. -- Accounting - Fix for handling per user max node/cpus limits on a QOS
  4288. correctly for current job.
  4289. -- Update documentation for -/+= when updating a reservation's
  4290. users/accounts/flags
  4291. -- Update pam module to work if using aliases on nodes instead of actual
  4292. host names.
  4293. -- Correction to task layout logic in select/cons_res for job with minimum
  4294. and maximum node count.
  4295. -- BGQ - Put final poll after realtime comes back into service to avoid
  4296. having the realtime server go down over and over again while waiting
  4297. for the poll to finish.
  4298. -- task/cgroup/memory - ensure that ConstrainSwapSpace=no is correctly
  4299. handled. Work by Matthieu Hautreux, CEA.
  4300. -- CRAY - Fix for sacct -N option to work correctly
  4301. -- CRAY - Update documentation to describe installation from rpm instead
  4302. or previous piecemeal method.
  4303. -- Fix sacct to work with QOS' that have previously been deleted.
  4304. -- Added all available limits to the output of sacctmgr list qos
  4305. * Changes in SLURM 2.4.2
  4306. ========================
  4307. -- BLUEGENE - Correct potential deadlock issue when hardware goes bad and
  4308. there are jobs running on that hardware.
  4309. -- If job is submitted to more than one partition, it's partition pointer can
  4310. be set to an invalid value. This can result in the count of CPUs allocated
  4311. on a node being bad, resulting in over- or under-allocation of its CPUs.
  4312. Patch by Carles Fenoy, BSC.
  4313. -- Fix bug in task layout with select/cons_res plugin and --ntasks-per-node
  4314. option. Patch by Martin Perry, Bull.
  4315. -- BLUEGENE - remove race condition where if a block is removed while waiting
  4316. for a job to finish on it the number of unused cpus wasn't updated
  4317. correctly.
  4318. -- BGQ - make sure we have a valid block when creating or finishing a step
  4319. allocation.
  4320. -- BLUEGENE - If a large block (> 1 midplane) is in error and underlying
  4321. hardware is marked bad remove the larger block and create a block over
  4322. just the bad hardware making the other hardware available to run on.
  4323. -- BLUEGENE - Handle job completion correctly if an admin removes a block
  4324. where other blocks on an overlapping midplane are running jobs.
  4325. -- BLUEGENE - correctly remove running jobs when freeing a block.
  4326. -- BGQ - correct logic to place multiple (< 1 midplane) steps inside a
  4327. multi midplane block allocation.
  4328. -- BGQ - Make it possible for a multi midplane allocation to run on more
  4329. than 1 midplane but not the entire allocation.
  4330. -- BGL - Fix for syncing users on block from Tim Wickberg
  4331. -- Fix initialization of protocol_version for some messages to make sure it
  4332. is always set when sending or receiving a message.
  4333. -- Reset backfilled job counter only when explicitly cleared using scontrol.
  4334. Patch from Alejandro Lucero Palau, BSC.
  4335. -- BLUEGENE - Fix for handling blocks when a larger block will not free and
  4336. while it is attempting to free underlying hardware is marked in error
  4337. making small blocks overlapping with the freeing block. This only
  4338. applies to dynamic layout mode.
  4339. -- Cray and BlueGene - Do not treat lack of usable front-end nodes when
  4340. slurmctld deamon starts as a fatal error. Also preserve correct front-end
  4341. node for jobs when there is more than one front-end node and the slurmctld
  4342. daemon restarts.
  4343. -- Correct parsing of srun/sbatch input/output/error file names so that only
  4344. the name "none" is mapped to /dev/null and not any file name starting
  4345. with "none" (e.g. "none.o").
  4346. -- BGQ - added version string to the load of the runjob_mux plugin to verify
  4347. the current plugin has been loaded when using runjob_mux_refresh_config
  4348. -- CGROUPS - Use system mount/umount function calls instead of doing fork
  4349. exec of mount/umount from Janne Blomqvist.
  4350. -- BLUEGENE - correct start time setup when no jobs are blocking the way
  4351. from Mark Nelson
  4352. -- Fixed sacct --state=S query to return information about suspended jobs
  4353. current or in the past.
  4354. -- FRONTEND - Made error warning more apparent if a frontend node isn't
  4355. configured correctly.
  4356. -- BGQ - update documentation about runjob_mux_refresh_config which works
  4357. correctly as of IBM driver V1R1M1 efix 008.
  4358. * Changes in SLURM 2.4.1
  4359. ========================
  4360. -- Fix bug for job state change from 2.3 -> 2.4 job state can now be preserved
  4361. correctly when transitioning. This also applies for 2.4.0 -> 2.4.1, no
  4362. state will be lost. (Thanks to Carles Fenoy)
  4363. * Changes in SLURM 2.4.0
  4364. ========================
  4365. -- Cray - Improve support for zero compute note resource allocations.
  4366. Partition used can now be configured with no nodes nodes.
  4367. -- BGQ - make it so srun -i<taskid> works correctly.
  4368. -- Fix parse_uint32/16 to complain if a non-digit is given.
  4369. -- Add SUBMITHOST to job state passed to Moab vial sched/wiki2. Patch by Jon
  4370. Bringhurst (LANL).
  4371. -- BGQ - Fix issue when running with AllowSubBlockAllocations=Yes without
  4372. compiling with --enable-debug
  4373. -- Modify scontrol to require "-dd" option to report batch job's script. Patch
  4374. from Don Albert, Bull.
  4375. -- Modify SchedulerParamters option to match documentation: "bf_res="
  4376. changed to "bf_resolution=". Patch from Rod Schultz, Bull.
  4377. -- Fix bug that clears job pending reason field. Patch fron Don Lipari, LLNL.
  4378. -- In etc/init.d/slurm move check for scontrol after sourcing
  4379. /etc/sysconfig/slurm. Patch from Andy Wettstein, University of Chicago.
  4380. -- Fix in scheduling logic that can delay jobs with min/max node counts.
  4381. -- BGQ - fix issue where if a step uses the entire allocation and then
  4382. the next step in the allocation only uses part of the allocation it gets
  4383. the correct cnodes.
  4384. -- BGQ - Fix checking for IO on a block with new IBM driver V1R1M1 previous
  4385. function didn't always work correctly.
  4386. -- BGQ - Fix issue when a nodeboard goes down and you want to combine blocks
  4387. to make a larger small block and are running with sub-blocks.
  4388. -- BLUEGENE - Better logic for making small blocks around bad nodeboard/card.
  4389. -- BGQ - When using an old IBM driver cnodes that go into error because of
  4390. a job kill timeout aren't always reported to the system. This is now
  4391. handled by the runjob_mux plugin.
  4392. -- BGQ - Added information on how to setup the runjob_mux to run as SlurmUser.
  4393. -- Improve memory consumption on step layouts with high task count.
  4394. -- BGQ - quiter debug when the real time server comes back but there are
  4395. still messages we find when we poll but haven't given it back to the real
  4396. time yet.
  4397. -- BGQ - fix for if a request comes in smaller than the smallest block and
  4398. we must use a small block instead of a shared midplane block.
  4399. -- Fix issues on large jobs (>64k tasks) to have the correct counter type when
  4400. packing the step layout structure.
  4401. -- BGQ - fix issue where if a user was asking for tasks and ntasks-per-node
  4402. but not node count the node count is correctly figured out.
  4403. -- Move logic to always use the 1st alphanumeric node as the batch host for
  4404. batch jobs.
  4405. -- BLUEGENE - fix race condition where if a nodeboard/card goes down at the
  4406. same time a block is destroyed and that block just happens to be the
  4407. smallest overlapping block over the bad hardware.
  4408. -- Fix bug when querying accounting looking for a job node size.
  4409. -- BLUEGENE - fix possible race condition if cleaning up a block and the
  4410. removal of the job on the block failed.
  4411. -- BLUEGENE - fix issue if a cable was in an error state make it so we can
  4412. check if a block is still makable if the cable wasn't in error.
  4413. -- Put nodes names in alphabetic order in node table.
  4414. -- If preempted job should have a grace time and preempt mode is not cancel
  4415. but job is going to be canceled because it is interactive or other reason
  4416. it now receives the grace time.
  4417. -- BGQ - Modified documents to explain new plugin_flags needed in bg.properties
  4418. in order for the runjob_mux to run correctly.
  4419. -- BGQ - change linking from libslurm.o to libslurmhelper.la to avoid warning.
  4420. * Changes in SLURM 2.4.0.rc1
  4421. =============================
  4422. -- Improve task binding logic by making fuller use of HWLOC library,
  4423. especially with respect to Opteron 6000 series processors. Work contributed
  4424. by Komoto Masahiro.
  4425. -- Add new configuration parameter PriorityFlags, based upon work by
  4426. Carles Fenoy (Barcelona Supercomputer Center).
  4427. -- Modify the step completion RPC between slurmd and slurmstepd in order to
  4428. eliminate a possible deadlock. Based on work by Matthieu Hautreux, CEA.
  4429. -- Change the owner of slurmctld and slurmdbd log files to the appropriate
  4430. user. Without this change the files will be created by and owned by the
  4431. user starting the daemons (likely user root).
  4432. -- Reorganize the slurmstepd logic in order to better support NFS and
  4433. Kerberos credentials via the AUKS plugin. Work by Matthieu Hautreux, CEA.
  4434. -- Fix bug in allocating GRES that are associated with specific CPUs. In some
  4435. cases the code allocated first available GRES to job instead of allocating
  4436. GRES accessible to the specific CPUs allocated to the job.
  4437. -- spank: Add callbacks in slurmd: slurm_spank_slurmd_{init,exit}
  4438. and job epilog/prolog: slurm_spank_job_{prolog,epilog}
  4439. -- spank: Add spank_option_getopt() function to api
  4440. -- Change resolution of switch wait time from minutes to seconds.
  4441. -- Added CrpCPUMins to the output of sshare -l for those using hard limit
  4442. accounting. Work contributed by Mark Nelson.
  4443. -- Added mpi/pmi2 plugin for complete support of pmi2 including acquiring
  4444. additional resources for newly launched tasks. Contributed by Hongjia Cao,
  4445. NUDT.
  4446. -- BGQ - fixed issue where if a user asked for a specific node count and more
  4447. tasks than possible without overcommit the request would be allowed on more
  4448. nodes than requested.
  4449. -- Add support for new SchedulerParameters of bf_max_job_user, maximum number
  4450. of jobs to attempt backfilling per user. Work by Bjørn-Helge Mevik,
  4451. University of Oslo.
  4452. -- BLUEGENE - fixed issue where MaxNodes limit on a partition only limited
  4453. larger than midplane jobs.
  4454. -- Added cpu_run_min to the output of sshare --long. Work contributed by
  4455. Mark Nelson.
  4456. -- BGQ - allow regular users to resolve Rack-Midplane to AXYZ coords.
  4457. -- Add sinfo output format option of "%R" for partition name without "*"
  4458. appended for default partition.
  4459. -- Cray - Add support for zero compute note resource allocation to run batch
  4460. script on front-end node with no ALPS reservation. Useful for pre- or post-
  4461. processing.
  4462. -- Support for cyclic distribution of cpus in task/cgroup plugin from Martin
  4463. Perry, Bull.
  4464. -- GrpMEM limit for QOSes and associations added Patch from Bjørn-Helge Mevik,
  4465. University of Oslo.
  4466. -- Various performance improvements for up to 500% higher throughput depending
  4467. upon configuration. Work supported by the Oak Ridge National Laboratory
  4468. Extreme Scale Systems Center.
  4469. -- Added jobacct_gather/cgroup plugin. It is not advised to use this in
  4470. production as it isn't currently complete and doesn't provide an equivalent
  4471. substitution for jobacct_gather/linux yet. Work by Martin Perry, Bull.
  4472. * Changes in SLURM 2.4.0.pre4
  4473. =============================
  4474. -- Add logic to cache GPU file information (bitmap index mapping to device
  4475. file number) in the slurmd daemon and transfer that information to the
  4476. slurmstepd whenever a job step is initiated. This is needed to set the
  4477. appropriate CUDA_VISIBLE_DEVICES environment variable value when the
  4478. devices are not in strict numeric order (e.g. some GPUs are skipped).
  4479. Based upon work by Nicolas Bigaouette.
  4480. -- BGQ - Remove ability to make a sub-block with a geometry with one or more
  4481. of it's dimensions of length 3. There is a limitation in the IBM I/O
  4482. subsystem that is problematic with multiple sub-blocks with a dimension
  4483. of length 3, so we will disallow them to be able to be created. This
  4484. mean you if you ask the system for an allocation of 12 c-nodes you will
  4485. be given 16. If this is ever fix in BGQ you can remove this patch.
  4486. -- BLUEGENE - Better handling blocks that go into error state or deallocate
  4487. while jobs are running on them.
  4488. -- BGQ - fix for handling mix of steps running at same time some of which
  4489. are full allocation jobs, and others that are smaller.
  4490. -- BGQ - fix for core dump after running multiple sub-block jobs on static
  4491. blocks.
  4492. -- BGQ - fixed sync issue where if a job finishes in SLURM but not in mmcs
  4493. for a long time after the SLURM job has been flushed from the system
  4494. we don't have to worry about rebooting the block to sync the system.
  4495. -- BGQ - In scontrol/sview node counts are now displayed with
  4496. CnodeCount/CnodeErrCount so to point out there are cnodes in an error state
  4497. on the block. Draining the block and having it reboot when all jobs are
  4498. gone will clear up the cnodes in Software Failure.
  4499. -- Change default SchedulerParameters max_switch_wait field value from 60 to
  4500. 300 seconds.
  4501. -- BGQ - catch errors from the kill option of the runjob client.
  4502. -- BLUEGENE - make it so the epilog runs until slurmctld tells it the job is
  4503. gone. Previously it had a timelimit which has proven to not be the right
  4504. thing.
  4505. -- FRONTEND - fix issue where if a compute node was in a down state and
  4506. an admin updates the node to idle/resume the compute nodes will go
  4507. instantly to idle instead of idle* which means no response.
  4508. -- Fix regression in 2.4.0.pre3 where number of submitted jobs limit wasn't
  4509. being honored for QOS.
  4510. -- Cray - Enable logging of BASIL communications with environment variables.
  4511. Set XML_LOG to enable logging. Set XML_LOG_LOC to specify path to log file
  4512. or "SLURM" to write to SlurmctldLogFile or unset for "slurm_basil_xml.log".
  4513. Patch from Steve Tronfinoff, CSCS.
  4514. -- FRONTEND - if a front end unexpectedly reboots kill all jobs but don't
  4515. mark front end node down.
  4516. -- FRONTEND - don't down a front end node if you have an epilog error
  4517. -- BLUEGENE - if a job has an epilog error don't down the midplane it was
  4518. running on.
  4519. -- BGQ - added new DebugFlag (NoRealTime) for only printing debug from
  4520. state change while the realtime server is running.
  4521. -- Fix multi-cluster mode with sview starting on a non-bluegene cluster going
  4522. to a bluegene cluster.
  4523. -- BLUEGENE - ability to show Rack Midplane name of midplanes in sview and
  4524. scontrol.
  4525. * Changes in SLURM 2.4.0.pre3
  4526. =============================
  4527. -- Let a job be submitted even if it exceeds a QOS limit. Job will be left
  4528. in a pending state until the QOS limit or job parameters change. Patch by
  4529. Phil Eckert, LLNL.
  4530. -- Add sacct support for the option "--name". Work by Yuri D'Elia, Center for
  4531. Biomedicine, EURAC Research, Italy.
  4532. -- BGQ - handle preemption.
  4533. -- Add an srun shepard process to cancel a job and/or step of the srun process
  4534. is killed abnormally (e.g. SIGKILL).
  4535. -- BGQ - handle deadlock issue when a nodeboard goes into an error state.
  4536. -- BGQ - more thorough handling of blocks with multiple jobs running on them.
  4537. -- Fix man2html process to compile in the build directory instead of the
  4538. source dir.
  4539. -- Behavior of srun --multi-prog modified so that any program arguments
  4540. specified on the command line will be appended to the program arguments
  4541. specified in the program configuration file.
  4542. -- Add new command, sdiag, which reports a variety of job scheduling
  4543. statistics. Based upon work by Alejandro Lucero Palau, BSC.
  4544. -- BLUEGENE - Added DefaultConnType to the bluegene.conf file. This makes it
  4545. so you can specify any connection type you would like (TORUS or MESH) as
  4546. the default in dynamic mode. Previously it always defaulted to TORUS.
  4547. -- Made squeue -n and -w options more consistent with salloc, sbatch, srun,
  4548. and scancel. Patch by Don Lipari, LLNL.
  4549. -- Have sacctmgr remove user records when no associations exist for that user.
  4550. -- Several header file changes for clean build with NetBSD. Patches from
  4551. Aleksej Saushev.
  4552. -- Fix for possible deadlock in accounting logic: Avoid calling
  4553. jobacct_gather_g_getinfo() until there is data to read from the socket.
  4554. -- Fix race condition that could generate "job_cnt_comp underflow" errors on
  4555. front-end architectures.
  4556. -- BGQ - Fix issue where a system with missing cables could cause core dump.
  4557. * Changes in SLURM 2.4.0.pre2
  4558. =============================
  4559. -- CRAY - Add support for GPU memory allocation using SLURM GRES (Generic
  4560. RESource) support. Work by Steve Trofinoff, CSCS.
  4561. -- Add support for job allocations with multiple job constraint counts. For
  4562. example: salloc -C "[rack1*2&rack2*4]" ... will allocate the job 2 nodes
  4563. from rack1 and 4 nodes from rack2. Support for only a single constraint
  4564. name been added to job step support.
  4565. -- BGQ - Remove old method for marking cnodes down.
  4566. -- BGQ - Remove BGP images from view in sview.
  4567. -- BGQ - print out failed cnodes in scontrol show nodes.
  4568. -- BGQ - Add srun option of "--runjob-opts" to pass options to the runjob
  4569. command.
  4570. -- FRONTEND - handle step launch failure better.
  4571. -- BGQ - Added a mutex to protect the now changing ba_system pointers.
  4572. -- BGQ - added new functionality for sub-block allocations - no preemption
  4573. for this yet though.
  4574. -- Add --name option to squeue to filter output by job name. Patch from Yuri
  4575. D'Elia.
  4576. -- BGQ - Added linking to runjob client libary which gives support to totalview
  4577. to use srun instead of runjob.
  4578. -- Add numeric range checks to scontrol update options. Patch from Phil
  4579. Eckert, LLNL.
  4580. -- Add ReconfigFlags configuration option to control actions of "scontrol
  4581. reconfig". Patch from Don Albert, Bull.
  4582. -- BGQ - handle reboots with multiple jobs running on a block.
  4583. -- BGQ - Add message handler thread to forward signals to runjob process.
  4584. * Changes in SLURM 2.4.0.pre1
  4585. =============================
  4586. -- BGQ - use the ba_geo_tables to figure out the blocks instead of the old
  4587. algorithm. The improves timing in the worst cases and simplifies the code
  4588. greatly.
  4589. -- BLUEGENE - Change to output tools labels from BP to Midplane
  4590. (i.e. BP List -> MidplaneList).
  4591. -- BLUEGENE - read MPs and BPs from the bluegene.conf
  4592. -- Modify srun's SIGINT handling logic timer (two SIGINTs within one second) to
  4593. be based microsecond rather than second timer.
  4594. -- Modify advance reservation to accept multiple specific block sizes rather
  4595. than a single node count.
  4596. -- Permit administrator to change a job's QOS to any value without validating
  4597. the job's owner has permission to use that QOS. Based upon patch by Phil
  4598. Eckert (LLNL).
  4599. -- Add trigger flag for a permanent trigger. The trigger will NOT be purged
  4600. after an event occurs, but only when explicitly deleted.
  4601. -- Interpret a reservation with Nodes=ALL and a Partition specification as
  4602. reserving all nodes within the specified partition rather than all nodes
  4603. on the system. Based upon patch by Phil Eckert (LLNL).
  4604. -- Add the ability to reboot all compute nodes after they become idle. The
  4605. RebootProgram configuration parameter must be set and an authorized user
  4606. must execute the command "scontrol reboot_nodes". Patch from Andriy
  4607. Grytsenko (Massive Solutions Limited).
  4608. -- Modify slurmdbd.conf parsing to accept DebugLevel strings (quiet, fatal,
  4609. info, etc.) in addition to numeric values. The parsing of slurm.conf was
  4610. modified in the same fashion for SlurmctldDebug and SlurmdDebug values.
  4611. The output of sview and "scontrol show config" was also modified to report
  4612. those values as strings rather than numeric values.
  4613. -- Changed default value of StateSaveLocation configuration parameter from
  4614. /tmp to /var/spool.
  4615. -- Prevent associations from being deleted if it has any jobs in running,
  4616. pending or suspended state. Previous code prevented this only for running
  4617. jobs.
  4618. -- If a job can not run due to QOS or association limits, then do not cancel
  4619. the job, but leave it pending in a system held state (priority = 1). The
  4620. job will run when its limits or the QOS/association limits change. Based
  4621. upon a patch by Phil Ekcert (LLNL).
  4622. -- BGQ - Added logic to keep track of cnodes in an error state inside of a
  4623. booted block.
  4624. -- Added the ability to update a node's NodeAddr and NodeHostName with
  4625. scontrol. Also enable setting a node's state to "future" using scontrol.
  4626. -- Add a node state flag of CLOUD and save/restore NodeAddr and NodeHostName
  4627. information for nodes with a flag of CLOUD.
  4628. -- Cray: Add support for job reservations with node IDs that are not in
  4629. numeric order. Fix for Bugzilla #5.
  4630. -- BGQ - Fix issue with smap -R
  4631. -- Fix association limit support for jobs queued for multiple partitions.
  4632. -- BLUEGENE - fix issue for sub-midplane systems to create a full system
  4633. block correctly.
  4634. -- BLUEGENE - Added option to the bluegene.conf to tell you are running on
  4635. a sub midplane system.
  4636. -- Added the UserID of the user issuing the RPC to the job_submit/lua
  4637. functions.
  4638. -- Fixed issue where if a job ended with ESLURMD_UID_NOT_FOUND and
  4639. ESLURMD_GID_NOT_FOUND where slurm would be a little over zealous
  4640. in treating missing a GID or UID as a fatal error.
  4641. -- If job time limit exceeds partition maximum, but job's minimum time limit
  4642. does not, set job's time limit to partition maximum at allocation time.
  4643. * Changes in SLURM 2.3.6
  4644. ========================
  4645. -- Fix DefMemPerCPU for partition definitions.
  4646. -- Fix to create a reservation with licenses and no nodes.
  4647. -- Fix issue with assoc_mgr if a bad state file is given and the database
  4648. isn't up at the time the slurmctld starts, not running the
  4649. priority/multifactor plugin, and then the database is started up later.
  4650. -- Gres: If a gres has a count of one and an associated file then when doing
  4651. a reconfiguration, the node's bitmap was not cleared resulting in an
  4652. underflow upon job termination or removal from scheduling matrix by the
  4653. backfill scheduler.
  4654. -- Fix race condition in job dependency logic which can result in invalid
  4655. memory reference.
  4656. * Changes in SLURM 2.3.5
  4657. ========================
  4658. -- Improve support for overlapping advanced reservations. Patch from
  4659. Bill Brophy, Bull.
  4660. -- Modify Makefiles for support of Debian hardening flags. Patch from
  4661. Simon Ruderich.
  4662. -- CRAY: Fix support for configuration with SlurmdTimeout=0 (never mark
  4663. node that is DOWN in ALPS as DOWN in SLURM).
  4664. -- Fixed the setting of SLURM_SUBMIT_DIR for jobs submitted by Moab (BZ#1467).
  4665. Patch by Don Lipari, LLNL.
  4666. -- Correction to init.d/slurmdbd exit code for status option. Patch by Bill
  4667. Brophy, Bull.
  4668. -- When the optional max_time is not specified for --switches=count, the site
  4669. max (SchedulerParameters=max_switch_wait=seconds) is used for the job.
  4670. Based on patch from Rod Schultz.
  4671. -- Fix bug in select/cons_res plugin when used with topology/tree and a node
  4672. range count in job allocation request.
  4673. -- Fixed moab_2_slurmdb.pl script to correctly work for end records.
  4674. -- Add support for new SchedulerParameters of max_depend_depth defining the
  4675. maximum number of jobs to test for circular dependencies (i.e. job A waits
  4676. for job B to start and job B waits for job A to start). Default value is
  4677. 10 jobs.
  4678. -- Fix potential race condition if MinJobAge is very low (i.e. 1) and using
  4679. slurmdbd accounting and running large amounts of jobs (>50 sec). Job
  4680. information could be corrupted before it had a chance to reach the DBD.
  4681. -- Fix state restore of job limit set from admin value for min_cpus.
  4682. -- Fix clearing of limit values if an admin removes the limit for max cpus
  4683. and time limit where it was previously set by an admin.
  4684. -- Fix issue where log message is more than 256 chars and then has a format.
  4685. -- Fix sched/wiki2 to support job account name, gres, partition name, wckey,
  4686. or working directory that contains "#" (a job record separator). Also fix
  4687. for wckey or working directory that contains a double quote '\"'.
  4688. -- CRAY - fix for handling memory requests from user for an allocation.
  4689. -- Add support for switches parameter to the job_submit/lua plugin. Work by
  4690. Par Andersson, NSC.
  4691. -- Fix to job preemption logic to preempt multiple jobs at the same time.
  4692. -- Fix minor issue where uid and gid were switched in sview for submitting
  4693. batch jobs.
  4694. -- Fix possible illegal memory reference in slurmctld for job step with
  4695. relative option. Work by Matthieu Hautreux (CEA).
  4696. -- Reset priority of system held jobs when dependency is satisfied. Work by
  4697. Don Lipari, LLNL.
  4698. * Changes in SLURM 2.3.4
  4699. ========================
  4700. -- Set DEFAULT flag in partition structure when slurmctld reads the
  4701. configuration file. Patch from Rémi Palancher.
  4702. -- Fix for possible deadlock in accounting logic: Avoid calling
  4703. jobacct_gather_g_getinfo() until there is data to read from the socket.
  4704. -- Fix typo in accounting when using reservations. Patch from Alejandro
  4705. Lucero Palau.
  4706. -- Fix to the multifactor priority plugin to calculate effective usage earlier
  4707. to give a correct priority on the first decay cycle after a restart of the
  4708. slurmctld. Patch from Martin Perry, Bull.
  4709. -- Permit user root to run a job step for any job as any user. Patch from
  4710. Didier Gazen, Laboratoire d'Aerologie.
  4711. -- BLUEGENE - fix for not allowing jobs if all midplanes are drained and all
  4712. blocks are in an error state.
  4713. -- Avoid slurmctld abort due to bad pointer when setting an advanced
  4714. reservation MAINT flag if it contains no nodes (only licenses).
  4715. -- Fix bug when requeued batch job is scheduled to run on a different node
  4716. zero, but attemts job launch on old node zero.
  4717. -- Fix bug in step task distribution when nodes are not configured in numeric
  4718. order. Patch from Hongjia Cao, NUDT.
  4719. -- Fix for srun allocating running within existing allocation with --exclude
  4720. option and --nnodes count small enough to remove more nodes. Patch from
  4721. Phil Eckert, LLNL.
  4722. -- Work around to handle certain combinations of glibc/kernel
  4723. (i.e. glibc-2.14/Linux-3.1) to correctly open the pty of the slurmstepd
  4724. as the job user. Patch from Mark Grondona, LLNL.
  4725. -- Modify linking to include "-ldl" only when needed. Patch from Aleksej
  4726. Saushev.
  4727. -- Fix smap regression to display nodes that are drained or down correctly.
  4728. -- Several bug fixes and performance improvements with related to batch
  4729. scripts containing very large numbers of arguments. Patches from Par
  4730. Andersson, NSC.
  4731. -- Fixed extremely hard to reproduce threading issue in assoc_mgr.
  4732. -- Correct "scontrol show daemons" output if there is more than one
  4733. ControlMachine configured.
  4734. -- Add node read lock where needed in slurmctld/agent code.
  4735. -- Added test for LUA library named "liblua5.1.so.0" in addition to
  4736. "liblua5.1.so" as needed by Debian. Patch by Remi Palancher.
  4737. -- Added partition default_time field to job_submit LUA plugin. Patch by
  4738. Remi Palancher.
  4739. -- Fix bug in cray/srun wrapper stdin/out/err file handling.
  4740. -- In cray/srun wrapper, only include aprun "-q" option when srun "--quiet"
  4741. option is used.
  4742. -- BLUEGENE - fix issue where if a small block was in error it could hold up
  4743. the queue when trying to place a larger than midplane job.
  4744. -- CRAY - ignore all interactive nodes and jobs on interactive nodes.
  4745. -- Add new job state reason of "FrontEndDown" which applies only to Cray and
  4746. IBM BlueGene systems.
  4747. -- Cray - Enable configure option of "--enable-salloc-background" to permit
  4748. the srun and salloc commands to be executed in the background. This does
  4749. NOT remove the ALPS limitation that only one job reservation can be created
  4750. for each Linux session ID.
  4751. -- Cray - For srun wrapper when creating a job allocation, set the default job
  4752. name to the executable file's name.
  4753. -- Add support for Cray ALPS 5.0.0
  4754. -- FRONTEND - if a front end unexpectedly reboots kill all jobs but don't
  4755. mark front end node down.
  4756. -- FRONTEND - don't down a front end node if you have an epilog error.
  4757. -- Cray - fix for if a frontend slurmd was started after the slurmctld had
  4758. already pinged it on startup the unresponding flag would be removed from
  4759. the frontend node.
  4760. -- Cray - Fix issue on smap not displaying grid correctly.
  4761. -- Fixed minor memory leak in sview.
  4762. * Changes in SLURM 2.3.3
  4763. ========================
  4764. -- Fix task/cgroup plugin error when used with GRES. Patch by Alexander
  4765. Bersenev (Institute of Mathematics and Mechanics, Russia).
  4766. -- Permit pending job exceeding a partition limit to run if its QOS flag is
  4767. modified to permit the partition limit to be exceeded. Patch from Bill
  4768. Brophy, Bull.
  4769. -- BLUEGENE - Fixed preemption issue.
  4770. -- sacct search for jobs using filtering was ignoring wckey filter.
  4771. -- Fixed issue with QOS preemption when adding new QOS.
  4772. -- Fixed issue with comment field being used in a job finishing before it
  4773. starts in accounting.
  4774. -- Add slashes in front of derived exit code when modifying a job.
  4775. -- Handle numeric suffix of "T" for terabyte units. Patch from John Thiltges,
  4776. University of Nebraska-Lincoln.
  4777. -- Prevent resetting a held job's priority when updating other job parameters.
  4778. Patch from Alejandro Lucero Palau, BSC.
  4779. -- Improve logic to import a user's environment. Needed with --get-user-env
  4780. option used with Moab. Patch from Mark Grondona, LLNL.
  4781. -- Fix bug in sview layout if node count less than configured grid_x_width.
  4782. -- Modify PAM module to prefer to use SLURM library with same major release
  4783. number that it was built with.
  4784. -- Permit gres count configuration of zero.
  4785. -- Fix race condition where sbcast command can result in deadlock of slurmd
  4786. daemon. Patch by Don Albert, Bull.
  4787. -- Fix bug in srun --multi-prog configuration file to avoid printing duplicate
  4788. record error when "*" is used at the end of the file for the task ID.
  4789. -- Let operators see reservation data even if "PrivateData=reservations" flag
  4790. is set in slurm.conf. Patch from Don Albert, Bull.
  4791. -- Added new sbatch option "--export-file" as needed for latest version of
  4792. Moab. Patch from Phil Eckert, LLNL.
  4793. -- Fix for sacct printing CPUTime(RAW) where the the is greater than a 32 bit
  4794. number.
  4795. -- Fix bug in --switch option with topology resulting in bad switch count use.
  4796. Patch from Alejandro Lucero Palau (Barcelona Supercomputer Center).
  4797. -- Fix PrivateFlags bug when using Priority Multifactor plugin. If using sprio
  4798. all jobs would be returned even if the flag was set.
  4799. Patch from Bill Brophy, Bull.
  4800. -- Fix for possible invalid memory reference in slurmctld in job dependency
  4801. logic. Patch from Carles Fenoy (Barcelona Supercomputer Center).
  4802. * Changes in SLURM 2.3.2
  4803. ========================
  4804. -- Add configure option of "--without-rpath" which builds SLURM tools without
  4805. the rpath option, which will work if Munge and BlueGene libraries are in
  4806. the default library search path and make system updates easier.
  4807. -- Fixed issue where if a job ended with ESLURMD_UID_NOT_FOUND and
  4808. ESLURMD_GID_NOT_FOUND where slurm would be a little over zealous
  4809. in treating missing a GID or UID as a fatal error.
  4810. -- Backfill scheduling - Add SchedulerParameters configuration parameter of
  4811. "bf_res" to control the resolution in the backfill scheduler's data about
  4812. when jobs begin and end. Default value is 60 seconds (used to be 1 second).
  4813. -- Cray - Remove the "family" specification from the GPU reservation request.
  4814. -- Updated set_oomadj.c, replacing deprecated oom_adj reference with
  4815. oom_score_adj
  4816. -- Fix resource allocation bug, generic resources allocation was ignoring the
  4817. job's ntasks_per_node and cpus_per_task parameters. Patch from Carles
  4818. Fenoy, BSC.
  4819. -- Avoid orphan job step if slurmctld is down when a job step completes.
  4820. -- Fix Lua link order, patch from Pär Andersson, NSC.
  4821. -- Set SLURM_CPUS_PER_TASK=1 when user specifies --cpus-per-task=1.
  4822. -- Fix for fatal error managing GRES. Patch by Carles Fenoy, BSC.
  4823. -- Fixed race condition when using the DBD in accounting where if a job
  4824. wasn't started at the time the eligible message was sent but started
  4825. before the db_index was returned information like start time would be lost.
  4826. -- Fix issue in accounting where normalized shares could be updated
  4827. incorrectly when getting fairshare from the parent.
  4828. -- Fixed if not enforcing associations but want QOS support for a default
  4829. qos on the cluster to fill that in correctly.
  4830. -- Fix in select/cons_res for "fatal: cons_res: sync loop not progressing"
  4831. with some configurations and job option combinations.
  4832. -- BLUEGNE - Fixed issue with handling HTC modes and rebooting.
  4833. * Changes in SLURM 2.3.1
  4834. ========================
  4835. -- Do not remove the backup slurmctld's pid file when it assumes control, only
  4836. when it actually shuts down. Patch from Andriy Grytsenko (Massive Solutions
  4837. Limited).
  4838. -- Avoid clearing a job's reason from JobHeldAdmin or JobHeldUser when it is
  4839. otherwise updated using scontrol or sview commands. Patch based upon work
  4840. by Phil Eckert (LLNL).
  4841. -- BLUEGENE - Fix for if changing the defined blocks in the bluegene.conf and
  4842. jobs happen to be running on blocks not in the new config.
  4843. -- Many cosmetic modifications to eliminate warning message from GCC version
  4844. 4.6 compiler.
  4845. -- Fix for sview reservation tab when finding correct reservation.
  4846. -- Fix for handling QOS limits per user on a reconfig of the slurmctld.
  4847. -- Do not treat the absence of a gres.conf file as a fatal error on systems
  4848. configured with GRES, but set GRES counts to zero.
  4849. -- BLUEGENE - Update correctly the state in the reason of a block if an
  4850. admin sets the state to error.
  4851. -- BLUEGENE - handle reason of blocks in error more correctly between
  4852. restarts of the slurmctld.
  4853. -- BLUEGENE - Fix minor potential memory leak when setting block error reason.
  4854. -- BLUEGENE - Fix if running in Static/Overlap mode and full system block
  4855. is in an error state, won't deny jobs.
  4856. -- Fix for accounting where your cluster isn't numbered in counting order
  4857. (i.e. 1-9,0 instead of 0-9). The bug would cause 'sacct -N nodename' to
  4858. not give correct results on these systems.
  4859. -- Fix to GRES allocation logic when resources are associated with specific
  4860. CPUs on a node. Patch from Steve Trofinoff, CSCS.
  4861. -- Fix bugs in sched/backfill with respect to QOS reservation support and job
  4862. time limits. Patch from Alejandro Lucero Palau (Barcelona Supercomputer
  4863. Center).
  4864. -- BGQ - fix to set up corner correctly for sub block jobs.
  4865. -- Major re-write of the CPU Management User and Administrator Guide (web
  4866. page) by Martin Perry, Bull.
  4867. -- BLUEGENE - If removing blocks from system that once existed cleanup of old
  4868. block happens correctly now.
  4869. -- Prevent slurmctld crashing with configuration of MaxMemPerCPU=0.
  4870. -- Prevent job hold by operator or account coordinator of his own job from
  4871. being an Administrator Hold rather than User Hold by default.
  4872. -- Cray - Fix for srun.pl parsing to avoid adding spaces between option and
  4873. argument (e.g. "-N2" parsed properly without changing to "-N 2").
  4874. -- Major updates to cgroup support by Mark Grondona (LLNL) and Matthieu
  4875. Hautreux (CEA) and Sam Lang. Fixes timing problems with respect to the
  4876. task_epilog. Allows cgroup mount point to be configurable. Added new
  4877. configuration parameters MaxRAMPercent and MaxSwapPercent. Allow cgroup
  4878. configuration parameters that are precentages to be floating point.
  4879. -- Fixed issue where sview wasn't displaying correct nice value for jobs.
  4880. -- Fixed issue where sview wasn't displaying correct min memory per node/cpu
  4881. value for jobs.
  4882. -- Disable some SelectTypeParameters for select/linear that aren't compatible.
  4883. -- Move slurm_select_init to proper place to avoid loading multiple select
  4884. plugins in the slurmd.
  4885. -- BGQ - Include runjob_plugin.so in the bluegene rpm.
  4886. -- Report correct job "Reason" if needed nodes are DOWN, DRAINED, or
  4887. NOT_RESPONDING, "Resources" rather than "PartitionNodeLimit".
  4888. -- BLUEGENE - Fixed issues with running on a sub-midplane system.
  4889. -- Added some missing calls to allow older versions of SLURM to talk to newer.
  4890. -- BGQ - allow steps to be ran.
  4891. -- Do not attempt to run HeathCheckProgram on powered down nodes. Patch from
  4892. Ramiro Alba, Centre Tecnològic de Tranferència de Calor, Spain.
  4893. * Changes in SLURM 2.3.0-2
  4894. ==========================
  4895. -- Fix for memory issue inside sview.
  4896. -- Fix issue where if a job was pending and the slurmctld was restarted a
  4897. variable wasn't initialized in the job structure making it so that job
  4898. wouldn't run.
  4899. * Changes in SLURM 2.3.0
  4900. ========================
  4901. -- BLUEGENE - make sure we only set the jobinfo_select start_loc on a job
  4902. when we are on a small block, not a regular one.
  4903. -- BGQ - fix issue where not copying the correct amount of memory.
  4904. -- BLUEGENE - fix clean start if jobs were running when the slurmctld was
  4905. shutdown and then the system size changed. This would probably only happen
  4906. if you were emulating a system.
  4907. -- Fix sview for calling a cray system from a non-cray system to get the
  4908. correct geometry of the system.
  4909. -- BLUEGENE - fix to correctly import pervious version of block state file.
  4910. -- BLUEGENE - handle loading better when doing a clean start with static
  4911. blocks.
  4912. -- Add sinfo format and sort option "%n" for NodeHostName and "%o" for
  4913. NodeAddr.
  4914. -- If a job is deferred due to partition limits, then re-test those limits
  4915. after a partition is modified. Patch from Don Lipari.
  4916. -- Fix bug which would crash slurmcld if job's owner (not root) tries to clear
  4917. a job's licenses by setting value to "".
  4918. -- Cosmetic fix for printing out debug info in the priority plugin.
  4919. -- In sview when switching from a bluegene machine to a regular linux cluster
  4920. and vice versa the node->base partition lists will be displayed if setup
  4921. in your .slurm/sviewrc file.
  4922. -- BLUEGENE - Fix for creating full system static block on a BGQ system.
  4923. -- BLUEGENE - Fix deadlock issue if toggling between Dynamic and Static block
  4924. allocation with jobs running on blocks that don't exist in the static
  4925. setup.
  4926. -- BLUEGENE - Modify code to only give HTC states to BGP systems and not
  4927. allow them on Q systems.
  4928. -- BLUEGENE - Make it possible for an admin to define multiple dimension
  4929. conn_types in a block definition.
  4930. -- BGQ - Alter tools to output multiple dimensional conn_type.
  4931. * Changes in SLURM 2.3.0.rc2
  4932. ============================
  4933. -- With sched/wiki or sched/wiki2 (Maui or Moab scheduler), insure that a
  4934. requeued job's priority is reset to zero.
  4935. -- BLUEGENE - fix to run steps correctly in a BGL/P emulated system.
  4936. -- Fixed issue where if there was a network issue between the slurmctld and
  4937. the DBD where both remained up but were disconnected the slurmctld would
  4938. get registered again with the DBD.
  4939. -- Fixed issue where if the DBD connection from the ctld goes away because of
  4940. a POLLERR the dbd_fail callback is called.
  4941. -- BLUEGENE - Fix to smap command-line mode display.
  4942. -- Change in GRES behavior for job steps: A job step's default generic
  4943. resource allocation will be set to that of the job. If a job step's --gres
  4944. value is set to "none" then none of the generic resources which have been
  4945. allocated to the job will be allocated to the job step.
  4946. -- Add srun environment value of SLURM_STEP_GRES to set default --gres value
  4947. for a job step.
  4948. -- Require SchedulerTimeSlice configuration parameter to be at least 5 seconds
  4949. to avoid thrashing slurmd daemon.
  4950. -- Cray - Fix to make nodes state in accounting consistent with state set by
  4951. ALPS.
  4952. -- Cray - A node DOWN to ALPS will be marked DOWN to SLURM only after reaching
  4953. SlurmdTimeout. In the interim, the node state will be NO_RESPOND. This
  4954. change makes behavior makes SLURM handling of the node DOWN state more
  4955. consistent with ALPS. This change effects only Cray systems.
  4956. -- Cray - Fix to work with 4.0.* instead of just 4.0.0
  4957. -- Cray - Modify srun/aprun wrapper to map --exclusive to -F exclusive and
  4958. --share to -F share. Note this does not consider the partition's Shared
  4959. configuration, so it is an imperfect mapping of options.
  4960. -- BLUEGENE - Added notice in the print config to tell if you are emulated
  4961. or not.
  4962. -- BLUEGENE - Fix job step scalability issue with large task count.
  4963. -- BGQ - Improved c-node selection when asked for a sub-block job that
  4964. cannot fit into the available shape.
  4965. -- BLUEGENE - Modify "scontrol show step" to show I/O nodes (BGL and BGP) or
  4966. c-nodes (BGQ) allocated to each step. Change field name from "Nodes=" to
  4967. "BP_List=".
  4968. -- Code cleanup on step request to get the correct select_jobinfo.
  4969. -- Memory leak fixed for rolling up accounting with down clusters.
  4970. -- BGQ - fix issue where if first job step is the entire block and then the
  4971. next parallel step is ran on a sub block, SLURM won't over subscribe cnodes.
  4972. -- Treat duplicate switch name in topology.conf as fatal error. Patch from Rod
  4973. Schultz, Bull
  4974. -- Minor update to documentation describing the AllowGroups option for a
  4975. partition in the slurm.conf.
  4976. -- Fix problem with _job_create() when not using qos's. It makes
  4977. _job_create() consistent with similar logic in select_nodes().
  4978. -- GrpCPURunMins in a QOS flushed out.
  4979. -- Fix for squeue -t "CONFIGURING" to actually work.
  4980. -- CRAY - Add cray.conf parameter of SyncTimeout, maximum time to defer job
  4981. scheduling if SLURM node or job state are out of synchronization with ALPS.
  4982. -- If salloc was run as interactive, with job control, reset the foreground
  4983. process group of the terminal to the process group of the parent pid before
  4984. exiting. Patch from Don Albert, Bull.
  4985. -- BGQ - set up the corner of a sub block correctly based on a relative
  4986. position in the block instead of absolute.
  4987. -- BGQ - make sure the recently added select_jobinfo of a step launch request
  4988. isn't sent to the slurmd where environment variables would be overwritten
  4989. incorrectly.
  4990. * Changes in SLURM 2.3.0.rc1
  4991. ============================
  4992. -- NOTE THERE HAVE BEEN NEW FIELDS ADDED TO THE JOB AND PARTITION STATE SAVE
  4993. FILES AND RPCS. PENDING AND RUNNING JOBS WILL BE LOST WHEN UPGRADING FROM
  4994. EARLIER VERSION 2.3 PRE-RELEASES AND RPCS WILL NOT WORK WITH EARLIER
  4995. VERSIONS.
  4996. -- select/cray: Add support for Accelerator information including model and
  4997. memory options.
  4998. -- Cray systems: Add support to suspend/resume salloc command to insure that
  4999. aprun does not get initiated when the job is suspended. Processes suspended
  5000. and resumed are determined by using process group ID and parent process ID,
  5001. so some processes may be missed. Since salloc runs as a normal user, it's
  5002. ability to identify processes associated with a job is limited.
  5003. -- Cray systems: Modify smap and sview to display all nodes even if multiple
  5004. nodes exist at each coordinate.
  5005. -- Improve efficiency of select/linear plugin with topology/tree plugin
  5006. configured, Patch by Andriy Grytsenko (Massive Solutions Limited).
  5007. -- For front-end architectures on which job steps are run (emulated Cray and
  5008. BlueGene systems only), fix bug that would free memory still in use.
  5009. -- Add squeue support to display a job's license information. Patch by Andy
  5010. Roosen (University of Deleware).
  5011. -- Add flag to the select APIs for job suspend/resume indicating if the action
  5012. is for gang scheduling or an explicit job suspend/resume by the user. Only
  5013. an explicit job suspend/resume will reset the job's priority and make
  5014. resources exclusively held by the job available to other jobs.
  5015. -- Fix possible invalid memory reference in sched/backfill. Patch by Andriy
  5016. Grytsenko (Massive Solutions Limited).
  5017. -- Add select_jobinfo to the task launch RPC. Based upon patch by Andriy
  5018. Grytsenko (Massive Solutions Limited).
  5019. -- Add DefMemPerCPU/Node and MaxMemPerCPU/Node to partition configuration.
  5020. This improves flexibility when gang scheduling only specific partitions.
  5021. -- Added new enums to print out when a job is held by a QOS instead of an
  5022. association limit.
  5023. -- Enhancements to sched/backfill performance with select/cons_res plugin.
  5024. Patch from Bjørn-Helge Mevik, University of Oslo.
  5025. -- Correct job run time reported by smap for suspended jobs.
  5026. -- Improve job preemption logic to avoid preempting more jobs than needed.
  5027. -- Add contribs/arrayrun tool providing support for job arrays. Contributed by
  5028. Bjørn-Helge Mevik, University of Oslo. NOTE: Not currently packaged as RPM
  5029. and manual file editing is required.
  5030. -- When suspending a job, wait 2 seconds instead of 1 second between sending
  5031. SIGTSTP and SIGSTOP. Some MPI implementation were not stopping within the
  5032. 1 second delay.
  5033. -- Add support for managing devices based upon Linux cgroup container. Based
  5034. upon patch by Yiannis Georgiou, Bull.
  5035. -- Fix memory buffering bug if a AllowGroups parameter of a partition has 100
  5036. or more users. Patch by Andriy Grytsenko (Massive Solutions Limited).
  5037. -- Fix bug in generic resource tracking of gres associated with specific CPUs.
  5038. Resources were being over-allocated.
  5039. -- On systems with front-end nodes (IBM BlueGene and Cray) limit batch jobs to
  5040. only one CPU of these shared resources.
  5041. -- Set SLURM_MEM_PER_CPU or SLURM_MEM_PER_NODE environment variables for both
  5042. interactive (salloc) and batch jobs if the job has a memory limit. For Cray
  5043. systems also set CRAY_AUTO_APRUN_OPTIONS environment variable with the
  5044. memory limit.
  5045. -- Fix bug in select/cons_res task distribution logic when tasks-per-node=0.
  5046. Patch from Rod Schultz, Bull.
  5047. -- Restore node configuration information (CPUs, memory, etc.) for powered
  5048. down when slurmctld daemon restarts rather than waiting for the node to be
  5049. restored to service and getting the information from the node (NOTE: Only
  5050. relevent if FastSchedule=0).
  5051. -- For Cray systems with the srun2aprun wrapper, rebuild the srun man page
  5052. identifying the srun optioins which are valid on that system.
  5053. -- BlueGene: Permit users to specify a separate connection type for each
  5054. dimension (e.g. "--conn-type=torus,mesh,torus").
  5055. -- Add the ability for a user to limit the number of leaf switches in a job's
  5056. allocation using the --switch option of salloc, sbatch and srun. There is
  5057. also a new SchedulerParameters value of max_switch_wait, which a SLURM
  5058. administrator can used to set a maximum job delay and prevent a user job
  5059. from blocking lower priority jobs for too long. Based on work by Rod
  5060. Schultz, Bull.
  5061. * Changes in SLURM 2.3.0.pre6
  5062. =============================
  5063. -- NOTE: THERE HAS BEEN A NEW FIELD ADDED TO THE CONFIGURATION RESPONSE RPC
  5064. AS SHOWN BY "SCONTROL SHOW CONFIG". THIS FUNCTION WILL ONLY WORK WHEN THE
  5065. SERVER AND CLIENT ARE BOTH RUNNING SLURM VERSION 2.3.0.pre6
  5066. -- Modify job expansion logic to support licenses, generic resources, and
  5067. currently running job steps.
  5068. -- Added an rpath if using the --with-munge option of configure.
  5069. -- Add support for multiple sets of DEFAULT node, partition, and frontend
  5070. specifications in slurm.conf so that default values can be changed mulitple
  5071. times as the configuration file is read.
  5072. -- BLUEGENE - Improved logic to place small blocks in free space before freeing
  5073. larger blocks.
  5074. -- Add optional argument to srun's --kill-on-bad-exit so that user can set
  5075. its value to zero and override a SLURM configuration parameter of
  5076. KillOnBadExit.
  5077. -- Fix bug in GraceTime support for preempted jobs that prevented proper
  5078. operation when more than one job was being preempted. Based on patch from
  5079. Bill Brophy, Bull.
  5080. -- Fix for running sview from a non-bluegene cluster to a bluegene cluster.
  5081. Regression from pre5.
  5082. -- If job's TMPDIR environment is not set or is not usable, reset to "/tmp".
  5083. Patch from Andriy Grytsenko (Massive Solutions Limited).
  5084. -- Remove logic for defunct RPC: DBD_GET_JOBS.
  5085. -- Propagate DebugFlag changes by scontrol to the plugins.
  5086. -- Improve accuracy of REQUEST_JOB_WILL_RUN start time with respect to higher
  5087. priority pending jobs.
  5088. -- Add -R/--reservation option to squeue command as a job filter.
  5089. -- Add scancel support for --clusters option.
  5090. -- Note that scontrol and sprio can only support a single cluster at one time.
  5091. -- Add support to salloc for a new environment variable SALLOC_KILL_CMD.
  5092. -- Add scontrol ability to increment or decrement a job or step time limit.
  5093. -- Add support for SLURM_TIME_FORMAT environment variable to control time
  5094. stamp output format. Work by Gerrit Renker, CSCS.
  5095. -- Fix error handling in mvapich plugin that could cause srun to enter an
  5096. infinite loop under rare circumstances.
  5097. -- Add support for multiple task plugins. Patch from Andriy Grytsenko (Massive
  5098. Solutions Limited).
  5099. -- Addition of per-user node/cpu limits for QOS's. Patch from Aaron Knister,
  5100. UMBC.
  5101. -- Fix logic for multiple job resize operations.
  5102. -- BLUEGENE - many fixes to make things work correctly on a L/P system.
  5103. -- Fix bug in layout of job step with --nodelist option plus node count. Old
  5104. code could allocate too few nodes.
  5105. * Changes in SLURM 2.3.0.pre5
  5106. =============================
  5107. -- NOTE: THERE HAS BEEN A NEW FIELD ADDED TO THE JOB STATE FILE. UPGRADES FROM
  5108. VERSION 2.3.0-PRE4 WILL RESULT IN LOST JOBS UNLESS THE "orig_dependency"
  5109. FIELD IS REMOVED FROM JOB STATE SAVE/RESTORE LOGIC. ON CRAY SYSTEMS A NEW
  5110. "confirm_cookie" FIELD WAS ADDED AND HAS THE SAME EFFECT OF DISABLING JOB
  5111. STATE RESTORE.
  5112. -- BLUEGENE - Improve speed of start up when removing blocks at the beginning.
  5113. -- Correct init.d/slurm status to have non-zero exit code if ANY Slurm
  5114. damon that should be running on the node is not running. Patch from Rod
  5115. Schulz, Bull.
  5116. -- Improve accuracy of response to "srun --test-only jobid=#".
  5117. -- Fix bug in front-end configurations which reports job_cnt_comp underflow
  5118. errors after slurmctld restarts.
  5119. -- Eliminate "error from _trigger_slurmctld_event in backup.c" due to lack of
  5120. event triggers.
  5121. -- Fix logic in BackupController to properly recover front-end node state and
  5122. avoid purging active jobs.
  5123. -- Added man pages to html pages and the new cpu_management.html page.
  5124. Submitted by Martin Perry / Rod Schultz, Bull.
  5125. -- Job dependency information will only show the currently active dependencies
  5126. rather than the original dependencies. From Dan Rusak, Bull.
  5127. -- Add RPCs to get the SPANK environment variables from the slurmctld daemon.
  5128. Patch from Andrej N. Gritsenko.
  5129. -- Updated plugins/task/cgroup/task_cgroup_cpuset.c to support newer
  5130. HWLOC_API_VERSION.
  5131. -- Do not build select/bluegene plugin if C++ compiler is not installed.
  5132. -- Add new configure option --with-srun2aprun to build an srun command
  5133. which is a wrapper over Cray's aprun command and supports many srun
  5134. options. Without this option, the srun command will advise the user
  5135. to use the aprun command.
  5136. -- Change container ID supported by proctrack plugin from 32-bit to 64-bit.
  5137. -- Added contribs/cray/libalps_test_programs.tar.gz with tools to validate
  5138. SLURM's logic used to support Cray systems.
  5139. -- Create RPM for srun command that is a wrapper for the Cray/ALPS aprun
  5140. command. Dependent upon .rpmmacros parameter of "%_with_srun2aprun".
  5141. -- Add configuration parameter MaxStepCount to limit effect of bad batch
  5142. scripts.
  5143. -- Moving to github
  5144. -- Fix for handling a 2.3 system talking to a 2.2 slurmctld.
  5145. -- Add contribs/lua/job_submit.license.lua script. Update job_submit and Lua
  5146. related documentation.
  5147. -- Test if _make_batch_script() is called with a NULL script.
  5148. -- Increase hostlist support from 24k to 64k nodes.
  5149. -- Renamed the Accounting Storage database's "DerivedExitString" job field to
  5150. "Comment". Provided backward compatible support for "DerivedExitString" in
  5151. the sacctmgr tool.
  5152. -- Added the ability to save the job's comment field to the Accounting
  5153. Storage db (to the formerly named, "DerivedExitString" job field). This
  5154. behavior is enabled by a new slurm.conf parameter:
  5155. AccountingStoreJobComment.
  5156. -- Test if _make_batch_script() is called with a NULL script.
  5157. -- Increase hostlist support from 24k to 64k nodes.
  5158. -- Fix srun to handle signals correctly when waiting for a step creation.
  5159. -- Preserve the last job ID across slurmctld daemon restarts even if the job
  5160. state file can not be fully recovered.
  5161. -- Made the hostlist functions be able to arbitrarily handle any size
  5162. dimension no matter what the size of the cluster is in dimensions.
  5163. * Changes in SLURM 2.3.0.pre4
  5164. =============================
  5165. -- Add GraceTime to Partition and QOS data structures. Preempted jobs will be
  5166. given this time interval before termination. Work by Bill Brophy, Bull.
  5167. -- Add the ability for scontrol and sview to modify slurmctld DebugFlags
  5168. values.
  5169. -- Various Cray-specific patches:
  5170. - Fix a bug in distinguishing XT from XE.
  5171. - Avoids problems with empty nodenames on Cray.
  5172. - Check whether ALPS is hanging on to nodes, which happens if ALPS has not
  5173. yet cleaned up the node partition.
  5174. - Stops select/cray from clobbering node_ptr->reason.
  5175. - Perform 'safe' release of ALPS reservations using inventory and apkill.
  5176. - Compile-time sanity check for the apbasil and apkill files.
  5177. - Changes error handling in do_basil_release() (called by
  5178. select_g_job_fini()).
  5179. - Warn that salloc --no-shell option is not supported on Cray systems.
  5180. -- Add a reservation flag of "License_Only". If set, then jobs using the
  5181. reservation may use the licenses associated with it plus any compute nodes.
  5182. Otherwise the job is limited to the compute nodes associated with the
  5183. reservation.
  5184. -- Change slurm.conf node configuration parameter from "Procs" to "CPUs".
  5185. Both parameters will be supported for now.
  5186. -- BLUEGENE - fix for when user requests only midplane names with no count at
  5187. job submission time to process the node count correctly.
  5188. -- Fix job step resource allocation problem when both node and tasks counts
  5189. are specified. New logic selects nodes with larger CPU counts as needed.
  5190. -- BGQ - make it so srun wraps runjob (still under construction, but works
  5191. for most cases)
  5192. -- Permit a job's QOS and Comment field to both change in a single RPC. This
  5193. was previously disabled since Moab stored the QOS within the Comment field.
  5194. -- Add support for jobs to expand in size. Submit additional batch job with
  5195. the option "--dependency=expand:<jobid>". See web page "faq.html#job_size"
  5196. for details. Restrictions to be removed in the future.
  5197. -- Added --with-alps-emulation to configure, and also an optional cray.conf
  5198. to setup alps location and database information.
  5199. -- Modify PMI data types from 16-bits to 32-bits in order to support MPICH2
  5200. jobs with more than 65,536 tasks. Patch from Hongjia Cao, NUDT.
  5201. -- Set slurmd's soft process CPU limit equal to it's hard limit and notify the
  5202. user if the limit is not infinite.
  5203. -- Added proctrack/cgroup and task/cgroup plugins from Matthieu Hautreux, CEA.
  5204. -- Fix slurmctld restart logic that could leave nodes in UNKNOWN state for a
  5205. longer time than necessary after restart.
  5206. * Changes in SLURM 2.3.0.pre3
  5207. =============================
  5208. -- BGQ - Appears to work correctly in emulation mode, no sub blocks just yet.
  5209. -- Minor typos fixed
  5210. -- Various bug fixes for Cray systems.
  5211. -- Fix bug that when setting a compute node to idle state, it was failing to
  5212. set the systems up_node_bitmap.
  5213. -- BLUEGENE - code reorder
  5214. -- BLUEGENE - Now only one select plugin for all Bluegene systems.
  5215. -- Modify srun to set the SLURM_JOB_NAME environment variable when srun is
  5216. used to create a new job allocation. Not set when srun is used to create a
  5217. job step within an existing job allocation.
  5218. -- Modify init.d/slurm script to start multiple slurmd daemons per compute
  5219. node if so configured. Patch from Matthieu Hautreux, CEA.
  5220. -- Change license data structure counters from uint16_t to uint32_t to support
  5221. larger license counts.
  5222. * Changes in SLURM 2.3.0.pre2
  5223. =============================
  5224. -- Log a job's requeue or cancellation due to preemption to that job's stderr:
  5225. "*** JOB 65547 CANCELLED AT 2011-01-21T12:59:33 DUE TO PREEMPTION ***".
  5226. -- Added new job termination state of JOB_PREEMPTED, "PR" or "PREEMPTED" to
  5227. indicate job termination was due to preemption.
  5228. -- Optimize advanced reservations resource selection for computer topology.
  5229. The logic has been added to select/linear and select/cons_res, but will
  5230. not be enabled until the other select plugins are modified.
  5231. -- Remove checkpoint/xlch plugin.
  5232. -- Disable deletion of partitions that have unfinished jobs (pending,
  5233. running or suspended states). Patch from Martin Perry, BULL.
  5234. -- In sview, disable the sorting of node records by name at startup for
  5235. clusters over 1000 nodes. Users can enable this by selecting the "Name"
  5236. tab. This change dramatically improves scalability of sview.
  5237. -- Report error when trying to change a node's state from scontrol for Cray
  5238. systems.
  5239. -- Do not attempt to read the batch script for non-batch jobs. This patch
  5240. eliminates some inappropriate error messages.
  5241. -- Preserve NodeHostName when reordering nodes due to system topology.
  5242. -- On Cray/ALPS systems do node inventory before scheduling jobs.
  5243. -- Disable some salloc options on Cray systems.
  5244. -- Disable scontrol's wait_job command on Cray systems.
  5245. -- Disable srun command on native Cray/ALPS systems.
  5246. -- Updated configure option "--enable-cray-emulation" (still under
  5247. development) to emulate a cray XT/XE system, and auto-detect a real
  5248. Cray XT/XE systems (removed no longer needed --enable-cray configure
  5249. option). Building on native Cray systems requires the
  5250. cray-MySQL-devel-enterprise rpm and expat XML parser library/headers.
  5251. * Changes in SLURM 2.3.0.pre1
  5252. =============================
  5253. -- Added that when a slurmctld closes the connection to the database it's
  5254. registered host and port are removed.
  5255. -- Added flag to slurmdbd.conf TrackSlurmctldDown where if set will mark idle
  5256. resources as down on a cluster when a slurmctld disconnects or is no
  5257. longer reachable.
  5258. -- Added support for more than one front-end node to run slurmd on
  5259. architectures where the slurmd does not execute on the compute nodes
  5260. (e.g. BlueGene). New configuration parameters FrontendNode and FrontendAddr
  5261. added. See "man slurm.conf" for more information.
  5262. -- With the scontrol show job command when using the --details option, show
  5263. a batch job's script.
  5264. -- Add ability to create reservations or partitions and submit batch jobs
  5265. using sview. Also add the ability to delete reservations and partitions.
  5266. -- Added new configuration parameter MaxJobId. Once reached, restart job ID
  5267. values at FirstJobId.
  5268. -- When restarting slurmctld with priority/basic, increment all job priorities
  5269. so the highest job priority becomes TOP_PRIORITY.
  5270. * Changes in SLURM 2.2.8
  5271. ========================
  5272. -- Prevent background salloc disconnecting terminal at termination. Patch by
  5273. Don Albert, Bull.
  5274. -- Fixed issue where preempt mode is skipped when creating a QOS. Patch by
  5275. Bill Brophy, Bull.
  5276. -- Fixed documention (html) for PriorityUsageResetPeriod to match that in the
  5277. man pages. Patch by Nancy Kritkausky, Bull.
  5278. * Changes in SLURM 2.2.7
  5279. ========================
  5280. -- Eliminate zombie process created if salloc exits with stopped child
  5281. process. Patch from Gerrit Renker, CSCS.
  5282. -- With default configuration on non-Cray systems, enable salloc to be
  5283. spawned as a background process. Based upon work by Don Albert (Bull) and
  5284. Gerrit Renker (CSCS).
  5285. -- Fixed Regression from 2.2.4 in accounting where an inherited limit
  5286. would not be set correctly in the added child association.
  5287. -- Fixed issue with accounting when asking for jobs with a hostlist.
  5288. -- Avoid clearing a node's Arch, OS, BootTime and SlurmdStartTime when
  5289. "scontrol reconfig" is run. Patch from Martin Perry, Bull.
  5290. * Changes in SLURM 2.2.6
  5291. ========================
  5292. -- Fix displaying of account coordinators with sacctmgr. Possiblity to show
  5293. deleted accounts. Only a cosmetic issue, since the accounts are already
  5294. deleted, and have no associations.
  5295. -- Prevent opaque ncurses WINDOW struct on OS X 10.6.
  5296. -- Fix issue with accounting when using PrivateData=jobs... users would not be
  5297. able to view there own jobs unless they were admin or coordinators which is
  5298. obviously wrong.
  5299. -- Fix bug in node stat if slurmctld is restarted while nodes are in the
  5300. process of being powered up. Patch from Andriy Grytsenko.
  5301. -- Change maximum batch script size from 128k to 4M.
  5302. -- Get slurmd -f option working. Patch from Andriy Grytsenko.
  5303. -- Fix for linking problem on OSX. Patches from Jon Bringhurst (LANL) and
  5304. Tyler Strickland.
  5305. -- Reset a job's priority to zero (suspended) when Moab requeues the job.
  5306. Patch from Par Andersson, NSC.
  5307. -- When enforcing accounting, fix polling for unknown uids for users after
  5308. the slurmctld started. Previously one would have to issue a reconfigure
  5309. to the slurmctld to have it look for new uids.
  5310. -- BLUEGENE - if a block goes into an error state. Fix issue where accounting
  5311. wasn't updated correctly when the block was resumed.
  5312. -- Synchronize power-save module better with scheduler. Patch from
  5313. Andriy Grytsenko (Massive Solutions Limited).
  5314. -- Avoid SEGV in association logic with user=NULL. Patch from
  5315. Andriy Grytsenko (Massive Solutions Limited).
  5316. -- Fixed issue in accounting where it was possible for a new
  5317. association/wckey to be set incorrectly as a default the new object
  5318. was added after an original default object already existed. Before
  5319. the slurmctld would need to be restarted to fix the issue.
  5320. -- Updated the Normalized Usage section in priority_multifactor.shtml.
  5321. -- Disable use of SQUEUE_FORMAT env var if squeue -l, -o, or -s option is
  5322. used. Patch from Aaron Knister (UMBC).
  5323. * Changes in SLURM 2.2.5
  5324. ========================
  5325. -- Correct init.d/slurm status to have non-zero exit code if ANY Slurm
  5326. damon that should be running on the node is not running. Patch from Rod
  5327. Schulz, Bull.
  5328. -- Improve accuracy of response to "srun --test-only jobid=#".
  5329. -- Correct logic to properly support --ntasks-per-node option in the
  5330. select/cons_res plugin. Patch from Rod Schulz, Bull.
  5331. -- Fix bug in select/cons_res with respect to generic resource (gres)
  5332. scheduling which prevented some jobs from starting as soon as possible.
  5333. -- Fix memory leak in select/cons_res when backfill scheduling generic
  5334. resources (gres).
  5335. -- Fix for when configuring a node with more resources than in real life
  5336. and using task/affinity.
  5337. -- Fix so slurmctld will pack correctly 2.1 step information. (Only needed if
  5338. a 2.1 client is talking to a 2.2 slurmctld.)
  5339. -- Set powered down node's state to IDLE+POWER after slurmctld restart instead
  5340. of leaving in UNKNOWN+POWER. Patch from Andrej Gritsenko.
  5341. -- Fix bug where is srun's executable is not on it's current search path, but
  5342. can be found in the user's default search path. Modify slurmstepd to find
  5343. the executable. Patch from Andrej Gritsenko.
  5344. -- Make sview display correct cpu count for steps.
  5345. -- BLUEGENE - when running in overlap mode make sure to check the connection
  5346. type so you can create overlapping blocks on the exact same nodes with
  5347. different connection types (i.e. one torus, one mesh).
  5348. -- Fix memory leak if MPI ports are reserved (for OpenMPI) and srun's
  5349. --resv-ports option is used.
  5350. -- Fix some anomalies in select/cons_res task layout when using the
  5351. --cpus-per-task option. Patch from Martin Perry, Bull.
  5352. -- Improve backfill scheduling logic when job specifies --ntasks-per-node and
  5353. --mem-per-cpu options on a heterogeneous cluster. Patch from Bjorn-Helge
  5354. Mevik, University of Oslo.
  5355. -- Print warning message if srun specifies --cpus-per-task larger than used
  5356. to create job allocation.
  5357. -- Fix issue when changing a users name in accounting, if using wckeys would
  5358. execute correctly, but bad memcopy would core the DBD. No information
  5359. would be lost or corrupted, but you would need to restart the DBD.
  5360. * Changes in SLURM 2.2.4
  5361. ========================
  5362. -- For batch jobs for which the Prolog fails, substitute the job ID for any
  5363. "%j" in the job's output or error file specification.
  5364. -- Add licenses field to the sview reservation information.
  5365. -- BLUEGENE - Fix for handling extremely overloaded system on Dynamic system
  5366. dealing with starting jobs on overlapping blocks. Previous fallout
  5367. was job would be requeued. (happens very rarely)
  5368. -- In accounting_storage/filetxt plugin, substitute spaces within job names,
  5369. step names, and account names with an underscore to insure proper parsing.
  5370. -- When building contribs/perlapi ignore both INSTALL_BASE and PERL_MM_OPT.
  5371. Use PREFIX instead to avoid build errors from multiple installation
  5372. specifications.
  5373. -- Add job_submit/cnode plugin to support resource reservations of less than
  5374. a full midplane on BlueGene computers. Treat cnodes as liceses which can
  5375. be reserved and are consumed by jobs. This reservation mechanism for less
  5376. than an entire midplane is still under development.
  5377. -- Clear a job's "reason" field when a held job is released.
  5378. -- When releasing a held job, calculate a new priority for it rather than
  5379. just setting the priority to 1.
  5380. -- Fix for sview started on a non-bluegene system to pick colors correctly
  5381. when talking to a real bluegene system.
  5382. -- Improve sched/backfill's expected start time calculation.
  5383. -- Prevent abort of sacctmgr for dump command with invalid (or no) filename.
  5384. -- Improve handling of job updates when using limits in accounting, and
  5385. updating jobs as a non-admin user.
  5386. -- Fix for "squeue --states=all" option. Bug would show no jobs.
  5387. -- Schedule jobs with reservations before those without reservations.
  5388. -- Fix squeue/scancel to query correctly against accounts of different case.
  5389. -- Abort an srun command when it's associated job gets aborted due to a
  5390. dependency that can not be satisfied.
  5391. -- In jobcomp plugins, report start time of zeroif pending job is cancelled.
  5392. Previously may report expected start time.
  5393. -- Fixed sacctmgr man to state correct variables.
  5394. -- Select nodes based upon their Weight when job allocation requests include
  5395. a constraint field with a count (e.g. "srun --constraint=gpu*2 -N4 a.out").
  5396. -- Add support for user names that are entirely numeric and do not treat them
  5397. as UID values. Patch from Dennis Leepow.
  5398. -- Patch to un/pack double values properly if negative value. Patch from
  5399. Dennis Leepow
  5400. -- Do not reset a job's priority when requeued or suspended.
  5401. -- Fix problemm that could let new jobs start on a node in DRAINED state.
  5402. -- Fix cosmetic sacctmgr issue where if the user you are trying to add
  5403. doesn't exist in the /etc/passwd file and the account you are trying
  5404. to add them to doesn't exist it would print (null) instead of the bad
  5405. account name.
  5406. -- Fix associations/qos for when adding back a previously deleted object
  5407. the object will be cleared of all old limits.
  5408. -- BLUEGENE - Added back a lock when creating dynamic blocks to be more thread
  5409. safe on larger systems with heavy load.
  5410. * Changes in SLURM 2.2.3
  5411. ========================
  5412. -- Update srun, salloc, and sbatch man page description of --distribution
  5413. option. Patches from Rod Schulz, Bull.
  5414. -- Applied patch from Martin Perry to fix "Incorrect results for task/affinity
  5415. block second distribution and cpus-per-task > 1" bug.
  5416. -- Avoid setting a job's eligible time while held (priority == 0).
  5417. -- Substantial performance improvement to backfill scheduling. Patch from
  5418. Bjorn-Helge Mevik, University of Oslo.
  5419. -- Make timeout for communications to the slurmctld be based upon the
  5420. MessageTimeout configuration parameter rather than always 3 seconds.
  5421. Patch from Matthieu Hautreux, CEA.
  5422. -- Add new scontrol option of "show aliases" to report every NodeName that is
  5423. associated with a given NodeHostName when running multiple slurmd daemons
  5424. per compute node (typically used for testing purposes). Patch from
  5425. Matthieu Hautreux, CEA.
  5426. -- Fix for handling job names with a "'" in the name within MySQL accounting.
  5427. Patch from Gerrit Renker, CSCS.
  5428. -- Modify condition under which salloc execution delayed until moved to the
  5429. foreground. Patch from Gerrit Renker, CSCS.
  5430. Job control for interactive salloc sessions: only if ...
  5431. a) input is from a terminal (stdin has valid termios attributes),
  5432. b) controlling terminal exists (non-negative tpgid),
  5433. c) salloc is not run in allocation-only (--no-shell) mode,
  5434. d) salloc runs in its own process group (true in interactive
  5435. shells that support job control),
  5436. e) salloc has been configured at compile-time to support background
  5437. execution and is not currently in the background process group.
  5438. -- Abort salloc if no controlling terminal and --no-shell option is not used
  5439. ("setsid salloc ..." is disabled). Patch from Gerrit Renker, CSCS.
  5440. -- Fix to gang scheduling logic which could cause jobs to not be suspended
  5441. or resumed when appropriate.
  5442. -- Applied patch from Martin Perry to fix "Slurmd abort when using task
  5443. affinity with plane distribution" bug.
  5444. -- Applied patch from Yiannis Georgiou to fix "Problem with cpu binding to
  5445. sockets option" behaviour. This change causes "--cpu_bind=sockets" to bind
  5446. tasks only to the CPUs on each socket allocated to the job rather than all
  5447. CPUs on each socket.
  5448. -- Advance daily or weekly reservations immediately after termination to avoid
  5449. having a job start that runs into the reservation when later advanced.
  5450. -- Fix for enabling users to change there own default account, wckey, or QOS.
  5451. -- BLUEGENE - If using OVERLAP mode fixed issue with multiple overlapping
  5452. blocks in error mode.
  5453. -- Fix for sacctmgr to display correctly default accounts.
  5454. -- scancel -s SIGKILL will always sent the RPC to the slurmctld rather than
  5455. the slurmd daemon(s). This insures that tasks in the process of getting
  5456. spawned are killed.
  5457. -- BLUEGENE - If using OVERLAP mode fixed issue with jobs getting denied
  5458. at submit if the only option for their job was overlapping a block in
  5459. error state.
  5460. * Changes in SLURM 2.2.2
  5461. ========================
  5462. -- Correct logic to set correct job hold state (admin or user) when setting
  5463. the job's priority using scontrol's "update jobid=..." rather than its
  5464. "hold" or "holdu" commands.
  5465. -- Modify squeue to report unset --mincores, --minthreads or --extra-node-info
  5466. values as "*" rather than 65534. Patch from Rod Schulz, BULL.
  5467. -- Report the StartTime of a job as "Unknown" rather than the year 2106 if its
  5468. expected start time was too far in the future for the backfill scheduler
  5469. to compute.
  5470. -- Prevent a pending job reason field from inappropriately being set to
  5471. "Priority".
  5472. -- In sched/backfill with jobs having QOS_FLAG_NO_RESERVE set, then don't
  5473. consider the job's time limit when attempting to backfill schedule. The job
  5474. will just be preempted as needed at any time.
  5475. -- Eliminated a bug in sbatch when no valid target clusters are specified.
  5476. -- When explicitly sending a signal to a job with the scancel command and that
  5477. job is in a pending state, then send the request directly to the slurmctld
  5478. daemon and do not attempt to send the request to slurmd daemons, which are
  5479. not running the job anyway.
  5480. -- In slurmctld, properly set the up_node_bitmap when setting it's state to
  5481. IDLE (in case the previous node state was DOWN).
  5482. -- Fix smap to process block midplane names correctly when on a bluegene
  5483. system.
  5484. -- Fix smap to once again print out the Letter 'ID' for each line of a block/
  5485. partition view.
  5486. -- Corrected the NOTES section of the scancel man page
  5487. -- Fix for accounting_storage/mysql plugin to correctly query cluster based
  5488. transactions.
  5489. -- Fix issue when updating database for clusters that were previously deleted
  5490. before upgrade to 2.2 database.
  5491. -- BLUEGENE - Handle mesh torus check better in dynamic mode.
  5492. -- BLUEGENE - Fixed race condition when freeing block, most likely only would
  5493. happen in emulation.
  5494. -- Fix for calculating used QOS limits correctly on a slurmctld reconfig.
  5495. -- BLUEGENE - Fix for bad conn-type set when running small blocks in HTC mode.
  5496. -- If salloc's --no-shell option is used, then do not attempt to preserve the
  5497. terminal's state.
  5498. -- Add new SLURM configure time parameter of --disable-salloc-background. If
  5499. set, then salloc can only execute in the foreground. If started in the
  5500. background, then a message will be printed and the job allocation halted
  5501. until brought into the foreground.
  5502. NOTE: THIS IS A CHANGE IN DEFAULT SALLOC BEHAVIOR FROM V2.2.1, BUT IS
  5503. CONSISTENT WITH V2.1 AND EARLIER.
  5504. -- Added the Multi-Cluster Operation web page.
  5505. -- Removed remnant code for enforcing max sockets/cores/threads in the
  5506. cons_res plugin (see last item in 2.1.0-pre5). This was responsible
  5507. for a bug reported by Rod Schultz.
  5508. -- BLUEGENE - Set correct env vars for HTC mode on a P system to get correct
  5509. block.
  5510. -- Correct RunTime reported by "scontrol show job" for pending jobs.
  5511. * Changes in SLURM 2.2.1
  5512. ========================
  5513. -- Fix setting derived exit code correctly for jobs that happen to have the
  5514. same jobid.
  5515. -- Better checking for time overflow when rolling up in accounting.
  5516. -- Add scancel --reservation option to cancel all jobs associated with a
  5517. specific reservation.
  5518. -- Treat reservation with no nodes like one that starts later (let jobs of any
  5519. size get queued and do not block any pending jobs).
  5520. -- Fix bug in gang scheduling logic that would temporarily resume to many jobs
  5521. after a job completed.
  5522. -- Change srun message about job step being deferred due to SlurmctldProlog
  5523. running to be more clear and only print when --verbose option is used.
  5524. -- Made it so you could remove the hold on jobs with sview by setting the
  5525. priority to infinite.
  5526. -- BLUEGENE - better checking small blocks in dynamic mode whether a full
  5527. midplane job could run or not.
  5528. -- Decrease the maximum sleep time between srun job step creation retry
  5529. attempts from 60 seconds to 29 seconds. This should eliminate a possible
  5530. synchronization problem with gang scheduling that could result in job
  5531. step creation requests only occuring when a job is suspended.
  5532. -- Fix to prevent changing a held job's state from HELD to DEPENDENCY
  5533. until the job is released. Patch from Rod Schultz, Bull.
  5534. -- Fixed sprio -M to reflect PriorityWeight values from remote cluster.
  5535. -- Fix bug in sview when trying to update arbitrary field on more than one
  5536. job. Formerly would display information about one job, but update next
  5537. selected job.
  5538. -- Made it so QOS with UsageFactor set to 0 would make it so jobs running
  5539. under that QOS wouldn't add time to fairshare or association/qos
  5540. limits.
  5541. -- Fixed issue where QOS priority wasn't re-normalized until a slurmctld
  5542. restart when a QOS priority was changed.
  5543. -- Fix sprio to use calculated numbers from slurmctld instead of
  5544. calulating it own numbers.
  5545. -- BLUEGENE - fixed race condition with preemption where if the wind blows the
  5546. right way the slurmctld could lock up when preempting jobs to run others.
  5547. -- BLUEGENE - fixed epilog to wait until MMCS job is totally complete before
  5548. finishing.
  5549. -- BLUEGENE - more robust checking for states when freeing blocks.
  5550. -- Added correct files to the slurm.spec file for correct perl api rpm
  5551. creation.
  5552. -- Added flag "NoReserve" to a QOS to make it so all jobs are created equal
  5553. within a QOS. So if larger, higher priority jobs are unable to run they
  5554. don't prevent smaller jobs from running even if running the smaller
  5555. jobs delay the start of the larger, higher priority jobs.
  5556. -- BLUEGENE - Check preemptees one by one to preempt lower priority jobs first
  5557. instead of first fit.
  5558. -- In select/cons_res, correct handling of the option
  5559. SelectTypeParameters=CR_ONE_TASK_PER_CORE.
  5560. -- Fix for checking QOS to override partition limits, previously if not using
  5561. QOS some limits would be overlooked.
  5562. -- Fix bug which would terminate a job step if any of the nodes allocated to
  5563. it were removed from the job's allocation. Now only the tasks on those
  5564. nodes are terminated.
  5565. -- Fixed issue when using a storage_accounting plugin directly without the
  5566. slurmDBD updates weren't always sent correctly to the slurmctld, appears to
  5567. OS dependent, reported by Fredrik Tegenfeldt.
  5568. * Changes in SLURM 2.2.0
  5569. ========================
  5570. -- Change format of Duration field in "scontrol show reservation" output from
  5571. an integer number of minutes to "[days-]hours:minutes:seconds".
  5572. -- Add support for changing the reservation of pending or running jobs.
  5573. -- On Cray systems only, salloc sends SIGKILL to spawned process group when
  5574. job allocation is revoked. Patch from Gerrit Renker, CSCS.
  5575. -- Fix for sacctmgr to work correctly when modifying user associations where
  5576. all the associations contain a partition.
  5577. -- Minor mods to salloc signal handling logic: forwards more signals and
  5578. releases allocation on real-time signals. Patch from Gerrit Renker, CSCS.
  5579. -- Add salloc logic to preserve tty attributes after abnormal exit. Patch
  5580. from Mark Grondona, LLNL.
  5581. -- BLUEGENE - Fix for issue in dynamic mode when trying to create a block
  5582. overlapping a block with no job running on it but in configuring state.
  5583. -- BLUEGENE - Speedup by skipping blocks that are deallocating for other jobs
  5584. when starting overlapping jobs in dynamic mode.
  5585. -- Fix for sacct --state to work correctly when not specifying a start time.
  5586. -- Fix upgrade process in accounting from 2.1 for clusters named "cluster".
  5587. -- Export more jobacct_common symbols needed for the slurm api on some systems.
  5588. * Changes in SLURM 2.2.0.rc4
  5589. ============================
  5590. -- Correction in logic to spread out over time highly parallel messages to
  5591. minimize lost messages. Effects slurmd epilog complete messages and PMI
  5592. key-pair transmissions. Patch from Gerrit Renker, CSCS.
  5593. -- Fixed issue where if a system has unset messages to the dbd in 2.1 and
  5594. upgrades to 2.2. Messages are now processed correctly now.
  5595. -- Fixed issue where assoc_mgr cache wasn't always loaded correctly if the
  5596. slurmdbd wasn't running when the slurmctld was started.
  5597. -- Make sure on a pthread create in step launch that the error code is looked
  5598. at. Improves fault-tolerance of slurmd.
  5599. -- Fix setting up default acct/wckey when upgrading from 2.1 to 2.2.
  5600. -- Fix issue with associations attached to a specific partition with no other
  5601. association, and requesting a different partition.
  5602. -- Added perlapi to the slurmdb to the slurm.spec.
  5603. -- In sched/backfill, correct handling of CompleteWait parameter to avoid
  5604. backfill scheduling while a job is completing. Patch from Gerrit Renker,
  5605. CSCS.
  5606. -- Send message back to user when trying to launch job on computing lacking
  5607. that user ID. Patch from Hongjia Cao, NUDT.
  5608. -- BLUEGENE - Fix it so 1 midplane clusters will run small block jobs.
  5609. -- Add Command and WorkDir to the output of "scontrol show job" for job
  5610. allocations created using srun (not just sbatch).
  5611. -- Fixed sacctmgr to not add blank defaultqos' when doing a cluster dump.
  5612. -- Correct processing of memory and disk space specifications in the salloc,
  5613. sbatch, and srun commands to work properly with a suffix of "MB", "GB",
  5614. etc. and not only with a single letter (e.g. "M", "G", etc.).
  5615. -- Prevent nodes with suspended jobs from being powered down by SLURM.
  5616. -- Normalized the way pidfile are created by the slurm daemons.
  5617. -- Fixed modifying the root association to no read in it's last value
  5618. when clearing a limit being set.
  5619. -- Revert some resent signal handling logic from salloc so that SIGHUP sent
  5620. after the job allocation will properly release the allocation and cause
  5621. salloc to exit.
  5622. -- BLUEGENE - Fix for recreating a block in a ready state.
  5623. -- Fix debug flags for incorrect logic when dealing with DEBUG_FLAG_WIKI.
  5624. -- Report reservation's Nodes as a hostlist expression of all nodes rather
  5625. than using "ALL".
  5626. -- Fix reporting of nodes in BlueGene reservation (was reporting CPU count
  5627. rather than cnode count in scontrol output for NodeCnt field).
  5628. * Changes in SLURM 2.2.0.rc3
  5629. ============================
  5630. -- Modify sacctmgr command to accept plural versions of options (e.g. "Users"
  5631. in addition to "User"). Patch from Don Albert, BULL.
  5632. -- BLUEGENE - make it so reset of boot counter happens only on state change
  5633. and not when a new job comes along.
  5634. -- Modify srun and salloc signal handling so they can be interrupted while
  5635. waiting for an allocation. This was broken in version 2.2.0.rc2.
  5636. -- Fix NULL pointer reference in sview. Patch from Gerrit Renker, CSCS.
  5637. -- Fix file descriptor leak in slurmstepd on spank_task_post_fork() failure.
  5638. Patch from Gerrit Renker, CSCS.
  5639. -- Fix bug in preserving job state information when upgrading from SLURM
  5640. version 2.1. Bug introduced in version 2.2.0-pre10. Patch from Par
  5641. Andersson, NSC.
  5642. -- Fix bug where if using the slurmdbd if a job wasn't able to start right
  5643. away some accounting information may be lost.
  5644. -- BLUEGENE - when a prolog failure happens the offending block is put in
  5645. an error state.
  5646. -- Changed the last column heading of the sshare output from "FS Usage" to
  5647. "FairShare" and added more detail to the sshare man page.
  5648. -- Fix bug in enforcement of reservation by account name. Used wrong index
  5649. into an array. Patch from Gerrit Renker, CSCS.
  5650. -- Modify job_submit/lua plugin to treat any non-zero return code from the
  5651. job_submit and job_modify functions as an error and the user request should
  5652. be aborted.
  5653. -- Fix bug which would permit pending job to be started on completing node
  5654. when job preemption is configured.
  5655. * Changes in SLURM 2.2.0.rc2
  5656. ============================
  5657. -- Fix memory leak in job step allocation logic. Patch from Hongjia Cao, NUDT.
  5658. -- If a preempted job was submitted with the --no-requeue option then cancel
  5659. rather than requeue it.
  5660. -- Fix for problems when adding a user for the first time to a new cluster
  5661. with a 2.1 sacctmgr without specifying a default account.
  5662. -- Resend TERMINATE_JOB message only to nodes that the job still has not
  5663. terminated on. Patch from Hongjia Cao, NUDT.
  5664. -- Treat time limit specification of "0:300" as a request for 300 seconds
  5665. (5 minutes) instead of one minute.
  5666. -- Modify sched/backfill plugin logic to continue working its way down the
  5667. queue of jobs rather than restarting at the top if there are no changes in
  5668. job, node, or partition state between runs. Patch from Hongjia Cao, NUDT.
  5669. -- Improve scalability of select/cons_res logic. Patch from Matthieu Hautreux,
  5670. CEA.
  5671. -- Fix for possible deadlock in the slurmstepd when cancelling a job that is
  5672. also writing a large amount of data to stderr.
  5673. -- Fix in select/cons_res to eliminate "mem underflow" error when the
  5674. slurmctld is reconfigured while a job is in completing state.
  5675. -- Send a message to the a user's job when it's real or virual memory limit
  5676. is exceeded. :
  5677. -- Apply rlimits right before execing the users task so to lower the risk of
  5678. the task exiting because the slurmstepd ran over a limit (log file size,
  5679. etc.)
  5680. -- Add scontrol command of "uhold <job_id>" so that an administrator can hold
  5681. a job and let the job's owner release it. The scontrol command of
  5682. "hold <job_id>" when executed by a SLURM administrator can only be released
  5683. by a SLURM administrator and not the job owner.
  5684. -- Change atoi to slurm_atoul in mysql plugin, needed for running on 32-bit
  5685. systems in some cases.
  5686. -- If a batch job is found to be missing from a node, make its termination
  5687. state be NODE_FAIL rather than CANCELLED.
  5688. -- Fatal error put back if running a bluegene or cray plugin from a controller
  5689. not of that type.
  5690. -- Make sure jobacct_gather plugin is not shutdown before messing with the
  5691. proccess list.
  5692. -- Modify signal handling in srun and salloc commands to avoid deadlock if the
  5693. malloc function is interupted and called again. The malloc function is
  5694. thread safe, but not reentrant, which is a problem when signal handling if
  5695. the malloc function itself has a lock. Problem fixed by moving signal
  5696. handling in those commands to a new pthread.
  5697. -- In srun set job abort flag on completion to handle the case when a user
  5698. cancels a job while the node is not responding but slurmctld has not yet
  5699. the node down. Patch from Hongjia Cao, NUDT.
  5700. -- Streamline the PMI logic if no duplicate keys are included in the key-pairs
  5701. managed. Substantially improves performance for large numbers of tasks.
  5702. Adds support for SLURM_PMI_KVS_NO_DUP_KEYS environment variable. Patch
  5703. from Hongjia Cao, NUDT.
  5704. -- Fix issues with sview dealing with older versions of sview and saving
  5705. defaults.
  5706. -- Remove references to --mincores, --minsockets, and --minthreads from the
  5707. salloc, sbatch and srun man pages. These options are defunct, Patch from
  5708. Rod Schultz, Bull.
  5709. -- Made openssl not be required to build RPMs, it is not required anymore
  5710. since munge is the default crypto plugin.
  5711. -- sacctmgr now has smarts to figure out if a qos is a default qos when
  5712. modifing a user/acct or removing a qos.
  5713. -- For reservations on BlueGene systems, set and report c-node counts rather
  5714. than midplane counts.
  5715. * Changes in SLURM 2.2.0.rc1
  5716. ============================
  5717. -- Add show_flags parameter to the slurm_load_block_info() function.
  5718. -- perlapi has been brought up to speed courtesy of Hongjia Coa. (make sure to
  5719. run 'make clean' if building in a different dir than source)
  5720. -- Fixed regression in pre12 in crypto/munge when running with
  5721. --enable-multiple-slurmd which would cause the slurmd's to core.
  5722. -- Fixed regression where cpu count wasn't figured out correctly for steps.
  5723. -- Fixed issue when using old mysql that can't handle a '.' in the table
  5724. name.
  5725. -- Mysql plugin works correctly without the SlurmDBD
  5726. -- Added ability to query batch step with sstat. Currently no accounting data
  5727. is stored for the batch step, but the internals are inplace if we decide to
  5728. do that in the future.
  5729. -- Fixed some backwards compatibility issues with 2.2 talking to 2.1.
  5730. -- Fixed regression where modifying associations didn't get sent to the
  5731. slurmctld.
  5732. -- Made sshare sort things the same way saccmgr list assoc does
  5733. (alphabetically)
  5734. -- Fixed issue with default accounts being set up correctly.
  5735. -- Changed sortting in the slurmctld so sshare output is similar to that of
  5736. sacctmgr list assoc.
  5737. -- Modify reservation logic so that daily and weekly reservations maintain
  5738. the same time when daylight savings time starts or ends in the interim.
  5739. -- Edit to make reservations handle updates to associations.
  5740. -- Added the derived exit code to the slurmctld job record and the derived
  5741. exit code and string to the job record in the SLURM db.
  5742. -- Added slurm-sjobexit RPM for SLURM job exit code management tools.
  5743. -- Added ability to use sstat/sacct against the batch step.
  5744. -- Added OnlyDefaults option to sacctmgr list associations.
  5745. -- Modified the fairshare priority formula to F = 2**(-Ue/S)
  5746. -- Modify the PMI functions key-pair exchange function to support a 32-bit
  5747. counter for larger job sizes. Patch from Hongjia Cao, NUDT.
  5748. -- In sched/builtin - Make the estimated job start time logic faster (borrowed
  5749. new logic from sched/backfill and added pthread) and more accurate.
  5750. -- In select/cons_res fix bug that could result in a job being allocated zero
  5751. CPUs on some nodes. Patch from Hongjia Cao, NUDT.
  5752. -- Fix bug in sched/backfill that could set expected start time of a job too
  5753. far in the future.
  5754. -- Added ability to enforce new limits given to associations/qos on
  5755. pending jobs.
  5756. -- Increase max message size for the slurmdbd from 1000000 to 16*1024*1024
  5757. -- Increase number of active threads in the slurmdbd from 50 to 100
  5758. -- Fixed small bug in src/common/slurmdb_defs.c reported by Bjorn-Helge Mevik
  5759. -- Fixed sacctmgr's ability to query associations against qos again.
  5760. -- Fixed sview show config on non-bluegene systems.
  5761. -- Fixed bug in selecting jobs based on sacct -N option
  5762. -- Fix bug that prevented job Epilog from running more than once on a node if
  5763. a job was requeued and started no job steps.
  5764. -- Fixed issue where node index wasn't stored correcting when using DBD.
  5765. -- Enable srun's use of the --nodes option with --exclusive (previously the
  5766. --nodes option was ignored).
  5767. -- Added UsageThreshold and Flags to the QOS object.
  5768. -- Patch to improve threadsafeness in the mysql plugins.
  5769. -- Add support for fair-share scheduling to be based upon resource use at
  5770. the level of bank accounts and ignore use of individual users. Patch by
  5771. Par Andersson, National Supercomputer Centre, Sweden.
  5772. * Changes in SLURM 2.2.0.pre12
  5773. ==============================
  5774. -- Log if Prolog or Epilog run for longer than MessageTimeout / 2.
  5775. -- Log the RPC number associated with messages from slurmctld that timeout.
  5776. -- Fix bug in select/cons_res logic when job allocation includes --overcommit
  5777. and --ntasks-per-node options and the node has fewer CPUs than the count
  5778. specified by --ntasks-per-node.
  5779. -- Fix bug in gang scheduling and job preemption logic so that preempted jobs
  5780. get resumed properly after a slurmctld hot-start.
  5781. -- Fix bug in select/linear handling of gang scheduled jobs that could result
  5782. in run_job_cnt underflow error message.
  5783. -- Fix bug in gang scheduling logic to properly support partitions added
  5784. using the scontrol command.
  5785. -- Fix a segmentation fault in sview where the 'excluded_partitions' field
  5786. was set to NULL, caused by the absence of ~/.slurm/sviewrc.
  5787. -- Rewrote some calls to is_user_any_coord() in src/plugins/accounting_storage
  5788. modules to make use of is_user_any_coord()'s return value.
  5789. -- Add configure option of --with=dimensions=#.
  5790. -- Modify srun ping logic so that srun would only be considered not responsive
  5791. if three ping messages were not responded to. Patch from Hongjia Cao (NUDT).
  5792. -- Preserve a node's ReasonTime field after scontrol reconfig command. Patch
  5793. from Hongjia Cao (NUDT).
  5794. -- Added the authority for users with AdminLevel's defined in the SLURM db
  5795. (Operators and Admins) and account coordinators to invoke commands that
  5796. affect jobs, reservations, nodes, etc.
  5797. -- Fix for slurmd restart on completing node with no tasks to get the correct
  5798. state, completing. Patch from Hongjia Cao (NUDT).
  5799. -- Prevent scontrol setting a node's Reason="". Patch from Hongjia Cao (NUDT).
  5800. -- Add new functions hostlist_ranged_string_malloc,
  5801. hostlist_ranged_string_xmalloc, hostlist_deranged_string_malloc, and
  5802. hostlist_deranged_string_xmalloc which will allocate memory as needed.
  5803. -- Make the slurm commands support both the --cluster and --clusters option.
  5804. Previously, some commands support one of those options, but not the other.
  5805. -- Fix bug when resizing a job that has steps running on some of those nodes.
  5806. Avoid killing the job step on remaining nodes. Patch from Rod Schultz
  5807. (BULL). Also fix bug related to tracking the CPUs allocated to job steps
  5808. on each node after releasing some nodes from the job's allocation.
  5809. -- Applied patch from Rod Schultz / Matthieu Hautreux to keep the Node-to-Host
  5810. cache from becoming corrupted when a hostname cannot be resolved.
  5811. -- Export more symbols in libslurm for job and node state information
  5812. translation (numbers to strings). Patch from Hongia Cao, NUDT.
  5813. -- Add logic to retry sending RESPONSE_LAUNCH_TASKS messages from slurmd to
  5814. srun. Patch from Hongia Cao, NUDT.
  5815. -- Modify bit_unfmt_hexmask() and bit_unfmt_binmask() functions to clear the
  5816. bitmap input before setting the bits indicated in the input string.
  5817. -- Add SchedulerParameters option of bf_window to control how far into the
  5818. future that the backfill scheduler will look when considering jobs to start.
  5819. The default value is one day. See "man slurm.conf" for details.
  5820. -- Fix bug that can result in duplicate job termination records in accounting
  5821. for job termination when slurmctld restarts or reconfigures.
  5822. -- Modify plugin and library logic as needed to support use of the function
  5823. slurm_job_step_stat() from user commands.
  5824. -- Fix race condition in which PrologSlurmctld failure could cause slurmctld
  5825. to abort.
  5826. -- Fix bug preventing users in secondary user groups from being granted access
  5827. to partitions configured with AllowGroups.
  5828. -- Added support for a default account and wckey per cluster within accounting.
  5829. -- Modified select/cons_res plugin so that if MaxMemPerCPU is configured and a
  5830. job specifies it's memory requirement, then more CPUs than requested will
  5831. automatically be allocated to a job to honor the MaxMemPerCPU parameter.
  5832. -- Added the derived_ec (exit_code) member to job_info_t. exit_code captures
  5833. the exit code of the job script (or salloc) while derived_ec contains the
  5834. highest exit code of all the job steps.
  5835. -- Added SLURM_JOB_EXIT_CODE and SLURM_JOB_DERIVED_EC variables to the
  5836. EpilogSlurmctld environment
  5837. -- More work done on the accounting_storage/pgsql plugin, still beta.
  5838. Patch from Hongjia Cao (NUDT).
  5839. -- Major updates to sview from Dan Rusak (Bull), including:
  5840. - Persistent option selections for each tab page
  5841. - Clean up topology in grids
  5842. - Leverage AllowGroups and Hidden options
  5843. - Cascade full-info popups for ease of selection
  5844. -- Add locks around the MySQL calls for proper operation if the non-thread
  5845. safe version of the MySQL library is used.
  5846. -- Remove libslurm.a, libpmi.a and libslurmdb.a from SLURM RPM. These static
  5847. libraries are not generally usable.
  5848. -- Fixed bug in sacctmgr when zeroing raw usage reported by Gerrit Renker.
  5849. * Changes in SLURM 2.2.0.pre11
  5850. ==============================
  5851. -- Permit a regular user to change the partition of a pending job.
  5852. -- Major re-write of the job_submit/lua plugin to pass pointers to available
  5853. partitions and use lua metatables to reference the job and partition fields.
  5854. -- Add support for serveral new trigger types: SlurmDBD failure/restart,
  5855. Database failure/restart, Slurmctld failure/restart.
  5856. -- Add support for SLURM_CLUSTERS environment variable in the sbatch, sinfo,
  5857. squeue commands.
  5858. -- Modify the sinfo and squeue commands to report state of multiple clusters
  5859. if the --clusters option is used.
  5860. -- Added printf __attribute__ qualifiers to info, debug, ... to help prevent
  5861. bad/incorrect parameters being sent to them. Original patch from
  5862. Eygene Ryabinkin (Russian Research Centre).
  5863. -- Fix bug in slurmctld job completion logic when nodes allocated to a
  5864. completing job are re-booted. Patch from Hongjia Cao (NUDT).
  5865. -- In slurmctld's node record data structure, rename "hilbert_integer" to
  5866. "node_rank".
  5867. -- Add topology/node_rank plugin to sort nodes based upon rank loaded from
  5868. BASIL on Cray computers.
  5869. -- Fix memory leak in the auth/munge and crypto/munge plugins in the case of
  5870. some failure modes.
  5871. * Changes in SLURM 2.2.0.pre10
  5872. ==============================
  5873. -- Fix issue when EnforcePartLimits=yes in slurm.conf all jobs where no nodecnt
  5874. was specified the job would be seen to have maxnodes=0 which would not
  5875. allow jobs to run.
  5876. -- Fix issue where if not suspending a job the gang scheduler does the correct
  5877. kill procedure.
  5878. -- Fixed some issues when dealing with jobs from a 2.1 system so they live
  5879. after an upgrade.
  5880. -- In srun, log if --cpu_bind options are specified, but not supported by the
  5881. current system configuration.
  5882. -- Various Patchs from Hongjia Cao dealing with bugs found in sacctmgr and
  5883. the slurmdbd.
  5884. -- Fix bug in changing the nodes allocated to a running job and some node
  5885. names specified are invalid, avoid invalid memory reference.
  5886. -- Fixed filename substitution of %h and %n based on patch from Ralph Bean
  5887. -- Added better job sorting logic when preempting jobs with qos.
  5888. -- Log the IP address and port number for some communication errors.
  5889. -- Fix bug in select/cons_res when --cpus_per_task option is used, could
  5890. oversubscribe resources.
  5891. -- In srun, do not implicitly set the job's maximum node count based upon a
  5892. required hostlist.
  5893. -- Avoid running the HealthCheckProgram on non-responding nodes rather than
  5894. DOWN nodes.
  5895. -- Fix bug in handling of poll() functions on OS X (SLURM was ignoring POLLIN
  5896. if POLLHUP flag was set at the same time).
  5897. -- Pulled Cray logic out of common/node_select.c into it's own
  5898. select/cray plugin cons_res is the default. To use linear add 'Linear' to
  5899. SelectTypeParameters.
  5900. -- Fixed bug where resizing jobs didn't correctly set used limits correctly.
  5901. -- Change sched/backfill default time interval to 30 seconds and defer attempt
  5902. to backfill schedule if slurmctld has more than 5 active RPCs. General
  5903. improvements in logic scalability.
  5904. -- Add SchedulerParameters option of default_sched_depth=# to control how
  5905. many jobs on queue should be tested for attempted scheduling when a job
  5906. completes or other routine events. Default value is 100 jobs. The full job
  5907. queue is tested on a less frequent basis. This option can dramatically
  5908. improve performance on systems with thousands of queued jobs.
  5909. -- Gres/gpu now sets the CUDA_VISIBLE_DEVICES environment to control which
  5910. GPU devices should be used for each job or job step and CUDA version 3.1+
  5911. is used. NOTE: SLURM's generic resource support is still under development.
  5912. -- Modify select/cons_res to pack jobs onto allocated nodes differently and
  5913. minimize system fragmentation. For example on nodes with 8 CPUs each, a
  5914. job needing 10 CPUs will now ideally be allocated 8 CPUs on one node and
  5915. 2 CPUs on another node. Previously the job would have ideally been
  5916. allocated 5 CPUs on each node, fragmenting the unused resources more.
  5917. -- Modified the behavior of update_job() in job_mgr.c to return when the first
  5918. error is encountered instead of continuing with more job updates.
  5919. -- Removed all references to the following slurm.conf parameters, all of which
  5920. have been removed or replaced since version 2.0 or earlier: HashBase,
  5921. HeartbeatInterval, JobAcctFrequency, JobAcctLogFile (instead use
  5922. AccountingStorageLoc), JobAcctType, KillTree, MaxMemPerTask, and
  5923. MpichGmDirectSupport.
  5924. -- Fix bug in slurmctld restart logic that improperly reported jobs had
  5925. invalid features: "Job 65537 has invalid feature list: fat".
  5926. -- BLUEGENE - Removed thread pool for destroying blocks. It turns out the
  5927. memory leak we were concerned about for creating and destroying threads
  5928. in a plugin doesn't exist anymore. This increases throughput dramatically,
  5929. allowing multiple jobs to start at the same time.
  5930. -- BLUEGENE - Removed thread pool for starting and stopping jobs. For similar
  5931. reasons as noted above.
  5932. -- BLUEGENE - Handle blocks that never deallocate.
  5933. * Changes in SLURM 2.2.0.pre9
  5934. =============================
  5935. -- sbatch can now submit jobs to multiple clusters and run on the earliest
  5936. available.
  5937. -- Fix bug introduced in pre8 that prevented job dependencies and job
  5938. triggers from working without the --enable-debug configure option.
  5939. -- Replaced slurm_addr with slurm_addr_t
  5940. -- Replaced slurm_fd with slurm_fd_t
  5941. -- Skeleton code added for BlueGeneQ.
  5942. -- Jobs can now be submitted to multiple partitions (job queues) and use the
  5943. one permitting earliest start time.
  5944. -- Change slurmdb_coord_table back to acct_coord_table to keep consistant
  5945. with < 2.1.
  5946. -- Introduced locking system similar to that in the slurmctld for the
  5947. assoc_mgr.
  5948. -- Added ability to change a users name in accounting.
  5949. -- Restore squeue support for "%G" format (group id) accidentally removed in
  5950. 2.2.0.pre7.
  5951. -- Added preempt_mode option to QOS.
  5952. -- Added a grouping=individual for sreport size reports.
  5953. -- Added remove_qos logic to jobs running under a QOS that was removed.
  5954. -- scancel now exits with a 1 if any job is non-existant when canceling.
  5955. -- Better handling of select plugins that don't exist on various systems for
  5956. cross cluster communication. Slurmctld, slurmd, and slurmstepd now only
  5957. load the default select plugin as well.
  5958. -- Better error handling when loading plugins.
  5959. -- Prevent scontrol from aborting if getlogin() returns NULL.
  5960. -- Prevent scontrol segfault when there are hidden nodes.
  5961. -- Prevent srun segfault after task launch failure.
  5962. -- Added job_submit/lua plugin.
  5963. -- Fixed sinfo on a bluegene system to print correctly the output for:
  5964. sinfo -e -o "%9P %6m %.4c %.22F %f"
  5965. -- Add scontrol commands "hold" and "release" to simplify setting a job's
  5966. priority to 0 or 1. Also tests that the job is in pending state.
  5967. -- Increase maximum node list size (for incoming RPC) from 1024 bytes to 64k.
  5968. -- In the backup slurmctld, purge triggers before recovering trigger state to
  5969. avoid duplicate entries.
  5970. -- Fix bug in sacct processing of --fields= option.
  5971. -- Fix bug in checkpoint/blcr for jobs spanning multiple nodes introduced when
  5972. changing some variable names in version 2.2.0.pre5.
  5973. -- Removed the vestigal set_max_cluster_usage() function from the Priority
  5974. Plugin API.
  5975. -- Modify the output of "scontrol show job" for the field ReqS:C:T=. Fields
  5976. not specified by the user will be reported as "*" instead of 65534.
  5977. -- Added DefaultQOS option for an association.
  5978. -- BLUEGENE - Added -B option to the slurmctld to clear created blocks from
  5979. the system on start.
  5980. -- BLUEGENE - Added option to scontrol & sview to recreate existing blocks.
  5981. -- Fixed flags for returning messages to use the correct munge key when going
  5982. cross-cluster.
  5983. -- BLUEGENE - Added option to scontrol & sview to resume blocks in an error
  5984. state instead of just freeing them.
  5985. -- sview patched to allow multiple row selection of jobs, patch from Dan Rusak
  5986. -- Lower default slurmctld server thread count from 1024 to 256. Some systems
  5987. process threads on a last-in first-out basis and the high thread count was
  5988. causing unexpectedly high delays for some RPCs.
  5989. -- Added to sacctmgr the ability for admins to reset the raw usage of a user
  5990. or account
  5991. -- Improved the efficiency of a few lines in sacctmgr
  5992. * Changes in SLURM 2.2.0.pre8
  5993. =============================
  5994. -- Add DebugFlags parameter of "Backfill" for sched/backfill detailed logging.
  5995. -- Add DebugFlags parameter of "Gang" for detailed logging of gang scheduling
  5996. activities.
  5997. -- Add DebugFlags parameter of "Priority" for detailed logging of priority
  5998. multifactor activities.
  5999. -- Add DebugFlags parameter of "Reservation" for detailed logging of advanced
  6000. reservations.
  6001. -- Add run time to mail message upon job termination and queue time for mail
  6002. message upon job begin.
  6003. -- Add email notification option for job requeue.
  6004. -- Generate a fatal error if the srun --relative option is used when not
  6005. within an existing job allocation.
  6006. -- Modify the meaning of InactiveLimit slightly. It will now cancel the job
  6007. allocation created using the salloc or srun command if those commands
  6008. cease responding for the InactiveLimit regardless of any running job steps.
  6009. This parameter will no longer effect jobs spawned using sbatch.
  6010. -- Remove AccountingStoragePass and JobCompPass from configuration RPC and
  6011. scontrol show config command output. The use of SlurmDBD is still strongly
  6012. recommended as SLURM will have limited database functionality or protection
  6013. otherwise.
  6014. -- Add sbatch options of --export and SBATCH_EXPORT to control which
  6015. environment variables (if any) get propagated to the spawned job. This is
  6016. particularly important for jobs that are submitted on one cluster and run
  6017. on a different cluster.
  6018. -- Fix bug in select/linear when used with gang scheduling and there are
  6019. preempted jobs at the time slurmctld restarts that can result in over-
  6020. subscribing resources.
  6021. -- Added keeping track of the qos a job is running with in accounting.
  6022. -- Fix for handling correctly jobs that resize, and also reporting correct
  6023. stats on a job after it finishes.
  6024. -- Modify gang scheduler so with SelectTypeParameter=CR_CPUS and task
  6025. affinity is enabled, keep track of the individual CPUs allocated to jobs
  6026. rather than just the count of CPUs allocated (which could overcommit
  6027. specific CPUs for running jobs).
  6028. -- Modify select/linear plugin data structures to eliminate underflow errors
  6029. for the exclusive_cnt and tot_job_cnt variables (previously happened when
  6030. slurmctld reconfigured while the job was in completing state).
  6031. -- Change slurmd's working directory (and location of core files) to match
  6032. that of the slurmctld daemon: the same directory used for log files,
  6033. SlurmdLogFile (if specified with an absolute pathname) otherwise the
  6034. directory used to save state, SlurmdSpoolDir.
  6035. -- Add sattach support for the --pty option.
  6036. -- Modify slurmctld communications logic to accept incoming messages on more
  6037. than one port for improved scalability.
  6038. -- Add SchedulerParameters option of "defer" to avoid trying to schedule a
  6039. job at submission time, but to attempt scheduling many jobs at once for
  6040. improved performance under heavy load.
  6041. -- Correct logic controlling slurmctld thread limit eliminating check of
  6042. RLIMIT_STACK.
  6043. -- Make slurmctld's trigger logic more robust in the event that job records
  6044. get purged before their trigger can be processed (e.g. MinJobAge=1).
  6045. -- Add support for users to hold/release their own jobs (submit the job with
  6046. srun/sbatch --hold/-H option or use "scontrol update jobid=# priority=0"
  6047. to hold and "scontrol update jobid=# priority=1" to release).
  6048. -- Added ability for sacct to query jobs by qos and a range of timelimits.
  6049. -- Added ability for sstat to query pids of steps running.
  6050. -- Support time specification in UTS format with a prefix of "uts" (e.g.
  6051. "sbatch --begin=uts458389988 my.script").
  6052. * Changes in SLURM 2.2.0.pre7
  6053. =============================
  6054. -- Fixed issue with sacctmgr if querying against non-existent cluster it
  6055. works the same way as 2.1.
  6056. -- Added infrastructure to support allocation of generic node resources (gres).
  6057. -Modified select/linear and select/cons_res plugins to allocate resources
  6058. at the level of a job without oversubcription.
  6059. -Get sched/backfill operating with gres allocations.
  6060. -Get gres configuration changes (reconfiguration) working.
  6061. -Have job steps allocate resources.
  6062. -Modified job step credential to include the job's and step's gres
  6063. allocation details.
  6064. -Integrate with HWLOC library to identify GPUs and NICs configured on each
  6065. node.
  6066. -- SLURM commands (squeue, sinfo, etc...) can now go cross-cluster on like
  6067. linux systems. Cross-cluster for bluegene to linux and such should
  6068. work fine, even sview.
  6069. -- Added the ability to configure PreemptMode on a per-partition basis.
  6070. -- Change slurmctld's default thread limit count to 1024, but adjust that down
  6071. as needed based upon the process's resource limits.
  6072. -- Removed the non-functional "SystemCPU" and "TotalCPU" reporting fields from
  6073. sstat and updated man page
  6074. -- Correct location of apbasil command on Cray XT systems.
  6075. -- Fixed bug in MinCPU and AveCPU calculations in sstat command
  6076. -- Send message to srun when the Prolog takes too long (MessageTimeout) to
  6077. complete.
  6078. -- Change timeout for socket connect() to be half of configured MessageTimeout.
  6079. -- Added high-throughput computing web page with configuration guidance.
  6080. -- Use more srun sockets to process incoming PMI (MPICH2) connections for
  6081. better scalability.
  6082. -- Added DebugFlags for the select/bluegene plugin: DEBUG_FLAG_BG_PICK,
  6083. DEBUG_FLAG_BG_WIRES, DEBUG_FLAG_BG_ALGO, and DEBUG_FLAG_BG_ALGO_DEEP.
  6084. -- Remove vestigial job record field "kill_on_step_done" (internal to the
  6085. slurmctld daemon only).
  6086. -- For MPICH2 jobs: Clear PMI state between job steps.
  6087. * Changes in SLURM 2.2.0.pre6
  6088. =============================
  6089. -- sview - added ability to see database configuration.
  6090. -- sview - added ability to add/remove visible tabs.
  6091. -- sview - change way grid highlighting takes place on selected objects.
  6092. -- Added infrastructure to support allocation of generic node resources.
  6093. -Added node configuration parameter of Gres=.
  6094. -Added ability to view/modify a node's gres using scontrol, sinfo and sview.
  6095. -Added salloc, sbatch and srun --gres option.
  6096. -Added ability to view a job or job step's gres using scontrol, squeue and
  6097. sview.
  6098. -Added new configuration parameter GresPlugins to define plugins used to
  6099. manage generic resources.
  6100. -Added framework for gres plugins.
  6101. -Added DebugFlags option of "gres" for detailed debugging of gres actions.
  6102. -- Slurmd modified to log slow slurmstepd startup and note possible file system
  6103. problem.
  6104. -- sview - There is now a .slurm/sviewrc created when running sview.
  6105. Defaults are put in there as to how sview looks when first launched.
  6106. You can set these by Ctrl-S or Options->Set Default Settings.
  6107. -- Add scontrol "wait_job <job_id>" option to wait for nodes to boot as needed.
  6108. Useful for batch jobs (in Prolog, PrologSlurmctld or the script) if powering
  6109. down idle nodes.
  6110. -- Added salloc and sbatch option --wait-all-nodes. If set non-zero, job
  6111. initiation will be delayed until all allocated nodes have booted. Salloc
  6112. will log the delay with the messages "Waiting for nodes to boot" and "Nodes
  6113. are ready for job".
  6114. -- The Priority/mulitfactor plugin now takes into consideration size of job
  6115. in cpus as well as size in nodes when looking at the job size factor.
  6116. Previously only nodes were considered.
  6117. -- When using the SlurmDBD messages waiting to be sent will be combined
  6118. and sent in one message.
  6119. -- Remove srun's --core option. Move the logic to an optional SPANK plugin
  6120. (currently in the contribs directory, but plan to distribute through
  6121. http://code.google.com/p/slurm-spank-plugins/).
  6122. -- Patch for adding CR_CORE_DEFAULT_DIST_BLOCK as a select option to layout
  6123. jobs using block layout across cores within each node instead of cyclic
  6124. which was previously the default.
  6125. -- Accounting - When removing associations if jobs are running, those jobs
  6126. must be killed before proceeding. Before the jobs were killed
  6127. automatically thus causing user confusion on what is most likely an
  6128. admin's mistake.
  6129. -- sview - color column keeps reference color when highlighting.
  6130. -- Configuration parameter MaxJobCount changed from 16-bit to 32-bit field.
  6131. The default MaxJobCount was changed from 5,000 to 10,000.
  6132. -- SLURM commands (squeue, sinfo, etc...) can now go cross-cluster on like
  6133. linux systems. Cross-cluster for bluegene to linux and such does not
  6134. currently work. You can submit jobs with sbatch. Salloc and srun are not
  6135. cross-cluster compatible, and given their nature to talk to actual compute
  6136. nodes these will likely never be.
  6137. -- salloc modified to forward SIGTERM to the spawned program.
  6138. -- In sched/wiki2 (for Moab support) - Add GRES and WCKEY fields to MODIFYJOBS
  6139. and GETJOBS commands. Add GRES field to GETNODES command.
  6140. -- In struct job_descriptor and struct job_info: rename min_sockets to
  6141. sockets_per_node, min_cores to cores_per_socket, and min_threads to
  6142. threads_per_core (the values are not minimum, but represent the target
  6143. values).
  6144. -- Fixed bug in clearing a partition's DisableRootJobs value reported by
  6145. Hongjia Cao.
  6146. -- Purge (or ignore) terminated jobs in a more timely fashion based upon the
  6147. MinJobAge configuration parameter. Small values for MinJobAge should improve
  6148. responsiveness for high job throughput.
  6149. * Changes in SLURM 2.2.0.pre5
  6150. =============================
  6151. -- Modify commands to accept time format with one or two digit hour value
  6152. (e.g. 8:00 or 08:00 or 8:00:00 or 08:00:00).
  6153. -- Modify time parsing logic to accept "minute", "hour", "day", and "week" in
  6154. addition to the currently accepted "minutes", "hours", etc.
  6155. -- Add slurmd option of "-C" to print actual hardware configuration and exit.
  6156. -- Pass EnforcePartLimits configuration parameter from slurmctld for user
  6157. commands to see the correct value instead of always "NO".
  6158. -- Modify partition data structures to replace the default_part,
  6159. disable_root_jobs, hidden and root_only fields with a single field called
  6160. "flags" populated with the flags PART_FLAG_DEFAULT, PART_FLAG_NO_ROOT
  6161. PART_FLAG_HIDDEN and/or PART_FLAG_ROOT_ONLY. This is a more flexible
  6162. solution besides making for smaller data structures.
  6163. -- Add node state flag of JOB_RESIZING. This will only exist when a job's
  6164. accounting record is being written immediately before or after it changes
  6165. size. This permits job accounting records to be written for a job at each
  6166. size.
  6167. -- Make calls to jobcomp and accounting_storage plugins before and after a job
  6168. changes size (with the job state being JOB_RESIZING). All plugins write a
  6169. record for the job at each size with intermediate job states being
  6170. JOB_RESIZING.
  6171. -- When changing a job size using scontrol, generate a script that can be
  6172. executed by the user to reset SLURM environment variables.
  6173. -- Modify select/linear and select/cons_res to use resources released by job
  6174. resizing.
  6175. -- Added to contribs foundation for Perl extension for slurmdb library.
  6176. -- Add new configuration parameter JobSubmitPlugins which provides a mechanism
  6177. to set default job parameters or perform other site-configurable actions at
  6178. job submit time.
  6179. -- Better postgres support for accounting, still beta.
  6180. -- Speed up job start when using the slurmdbd.
  6181. -- Forward step failure reason back to slurmd before in some cases it would
  6182. just be SLURM_FAILURE returned.
  6183. -- Changed squeue to fail when passed invalid -o <output_format> or
  6184. -S <sort_list> specifications.
  6185. * Changes in SLURM 2.2.0.pre4
  6186. =============================
  6187. -- Add support for a PropagatePrioProcess configuration parameter value of 2
  6188. to restrict spawned task nice values to that of the slurmd daemon plus 1.
  6189. This insures that the slurmd daemon always have a higher scheduling
  6190. priority than spawned tasks.
  6191. -- Add support in slurmctld, slurmd and slurmdbd for option of "-n <value>" to
  6192. reset the daemon's nice value.
  6193. -- Fixed slurm_load_slurmd_status and slurm_pid2jobid to work correctly when
  6194. multiple slurmds are in use.
  6195. -- Altered srun to set max_nodes to min_nodes if not set when doing an
  6196. allocation to mimic that which salloc and sbatch do. If running a step if
  6197. the max isn't set it remains unset.
  6198. -- Applied patch from David Egolf (David.Egolf@Bull.com). Added the ability
  6199. to purge/archive accounting data on a day or hour basis, previously
  6200. it was only available on a monthly basis.
  6201. -- Add support for maximum node count in job step request.
  6202. -- Fix bug in CPU count logic for job step allocation (used count of CPUS per
  6203. node rather than CPUs allocated to the job).
  6204. -- Add new configuration parameters GroupUpdateForce and GroupUpdateTime.
  6205. See "man slurm.conf" for details about how these control when slurmctld
  6206. updates its information of which users are in the groups allowed to use
  6207. partitions.
  6208. -- Added sacctmgr list events which will list events that have happened on
  6209. clusters in accounting.
  6210. -- Permit a running job to shrink in size using a command of
  6211. "scontrol update JobId=# NumNodes=#" or
  6212. "scontrol update JobId=# NodeList=<names>". Subsequent job steps must
  6213. explicitly specify an appropriate node count to work properly.
  6214. -- Added resize_time field to job record noting the time of the latest job
  6215. size change (to be used for accounting purposes).
  6216. -- sview/smap now hides hidden partitions and their jobs by default, with an
  6217. option to display them.
  6218. * Changes in SLURM 2.2.0.pre3
  6219. =============================
  6220. -- Refine support for TotalView partial attach. Add parameter to configure
  6221. program of "--enable-partial-attach".
  6222. -- In select/cons_res, the count of CPUs on required nodes was formerly
  6223. ignored in enforcing the maximum CPU limit. Also enforce maximum CPU
  6224. limit when the topology/tree plugin is configured (previously ignored).
  6225. -- In select/cons_res, allocate cores for a job using a best-fit approach.
  6226. -- In select/cons_res, for jobs that can run on a single node, use a best-fit
  6227. packing approach.
  6228. -- Add support for new partition states of DRAIN and INACTIVE and new partition
  6229. option of "Alternate" (alternate partition to use for jobs submitted to
  6230. partitions that are currently in a state of DRAIN or INACTIVE).
  6231. -- Add group membership cache. This can substantially speed up slurmctld
  6232. startup or reconfiguration if many partitions have AllowGroups configured.
  6233. -- Added slurmdb api for accessing slurm DB information.
  6234. -- In select/linear: Modify data structures for better performance and to
  6235. avoid underflow error messages when slurmctld restarts while jobs are
  6236. in completing state.
  6237. -- Added hash for slurm.conf so when nodes check in to the controller it can
  6238. verify the slurm.conf is the same as the one it is running. If not an
  6239. error message is displayed. To silence this message add NO_CONF_HASH
  6240. to DebugFlags in your slurm.conf.
  6241. -- Added error code ESLURM_CIRCULAR_DEPENDENCY and prevent circular job
  6242. dependencies (e.g. job 12 dependent upon job 11 AND job 11 is dependent
  6243. upon job 12).
  6244. -- Add BootTime and SlurmdStartTime to available node information.
  6245. -- Fixed moab_2_slurmdb to work correctly under new database schema.
  6246. -- Slurmd will drain a compute node when the SlurmdSpoolDir is full.
  6247. * Changes in SLURM 2.2.0.pre2
  6248. =============================
  6249. -- Add support for spank_get_item() to get S_STEP_ALLOC_CORES and
  6250. S_STEP_ALLOC_MEM. Support will remain for S_JOB_ALLOC_CORES and
  6251. S_JOB_ALLOC_MEM.
  6252. -- Kill individual job steps that exceed their memory limit rather than
  6253. killing an entire job if one step exceeds its memory limit.
  6254. -- Added configuration parameter VSizeFactor to enforce virtual memory limits
  6255. for jobs and job steps as a percentage of their real memory allocation.
  6256. -- Add scontrol ability to update job step's time limits.
  6257. -- Add scontrol ability to update job's NumCPUs count.
  6258. -- Add --time-min options to salloc, sbatch and srun. The scontrol command
  6259. has been modified to display and modify the new field. sched/backfill
  6260. plugin has been changed to alter time limits of jobs with the
  6261. --time-min option if doing so permits earlier job initiation.
  6262. -- Add support for TotalView symbol MPIR_partial_attach_ok with srun support
  6263. to release processes which TotalView does not attach to.
  6264. -- Add new option for SelectTypeParameters of CR_ONE_TASK_PER_CORE. This
  6265. option will allocate one task per core by default. Without this option,
  6266. by default one task will be allocated per thread on nodes with more than
  6267. one ThreadsPerCore configured.
  6268. -- Avoid accounting separately for a current pid corresponds to a Light Weight
  6269. Process (Thread POSIX) appearing in the /proc directory. Only account for
  6270. the original process (pid==tgid) to avoid accounting for memory use more
  6271. than once.
  6272. -- Add proctrack/cgroup plugin which uses Linux control groups (aka cgroup)
  6273. to track processes on Linux systems having this feature enabled (kernel
  6274. >= 2.6.24).
  6275. -- Add logging of license transations including job_id.
  6276. -- Add configuration parameters SlurmSchedLogFile and SlurmSchedLogLevel to
  6277. support writing scheduling events to a separate log file.
  6278. -- Added contribs/web_apps/chart_stats.cgi, a web app that invokes sreport to
  6279. retrieve from the accounting storage db a user's request for job usage or
  6280. machine utilization statistics and charts the results to a browser.
  6281. -- Massive change to the schema in the storage_accounting/mysql plugin. When
  6282. starting the slurmdbd the process of conversion may take a few minutes.
  6283. You might also see some errors such as 'error: mysql_query failed: 1206
  6284. The total number of locks exceeds the lock table size'. If you get this,
  6285. do not worry, it is because your setting of innodb_buffer_pool_size in
  6286. your my.cnf file is not set or set too low. A decent value there should
  6287. be 64M or higher depending on the system you are running on. See
  6288. RELEASE_NOTES for more information. But setting this and then
  6289. restarting the mysqld and slurmdbd will put things right. After this
  6290. change we have noticed 50-75% increase in performance with sreport and
  6291. sacct.
  6292. -- Fix for MaxCPUs to honor partitions of 1 node that have more than the
  6293. maxcpus for a job.
  6294. -- Add support for "scontrol notify <message>" to work for batch jobs.
  6295. * Changes in SLURM 2.2.0.pre1
  6296. =============================
  6297. -- Added RunTime field to scontrol show job report
  6298. -- Added SLURM_VERSION_NUMBER and removed SLURM_API_VERSION from
  6299. slurm/slurm.h.
  6300. -- Added support to handle communication with SLURM 2.1 clusters. Job's
  6301. should not be lost in the future when upgrading to higher versions of
  6302. SLURM.
  6303. -- Added withdeleted options for listing clusters, users, and accounts
  6304. -- Remove PLPA task affinity functions due to that package being deprecated.
  6305. -- Preserve current partition state information and node Feature and Weight
  6306. information rather than use contents of slurm.conf file after slurmctld
  6307. restart with -R option or SIGHUP. Replace information with contents of
  6308. slurm.conf after slurmctld restart without -R or "scontrol reconfigure".
  6309. See RELEASE_NOTES file fore more details.
  6310. -- Modify SLURM's PMI library (for MPICH2) to properly execute an executable
  6311. program stand-alone (single MPI task launched without srun).
  6312. -- Made GrpCPUs and MaxCPUs limits work for select/cons_res.
  6313. -- Moved all SQL dependant plugins into a seperate rpm slurm-sql. This
  6314. should be needed only where a connection to a database is needed (i.e.
  6315. where the slurmdbd is running)
  6316. -- Add command line option "no_sys_info" to PAM module to supress system
  6317. logging of "access granted for user ...", access denied and other errors
  6318. will still be logged.
  6319. -- sinfo -R now has the user and timestamp in separate fields from the reason.
  6320. -- Much functionality has been added to account_storage/pgsql. The plugin
  6321. is still in a very beta state. It is still highly advised to use the
  6322. mysql plugin, but if you feel like living on the edge or just really
  6323. like postgres over mysql for some reason here you go. (Work done
  6324. primarily by Hongjia Cao, NUDT.)
  6325. * Changes in SLURM 2.1.17
  6326. =========================
  6327. -- Correct format of --begin reported in salloc, sbatch and srun --help
  6328. message.
  6329. -- Correct logic for regular users to increase nice value of their own jobs.
  6330. * Changes in SLURM 2.1.16
  6331. =========================
  6332. -- Fixed minor warnings from gcc-4.5
  6333. -- Fixed initialization of accounting_stroage_enforce in the slurmctld.
  6334. -- Fixed bug where if GrpNodes was lowered while pending jobs existed and where
  6335. above the limit the slurmctld would seg fault.
  6336. -- Fixed minor memory leak when unpack error happens on an
  6337. association_shares_object_t.
  6338. -- Set Lft and Rgt correctly when adding association. Fix for regression
  6339. caused in 2.1.15, cosmetic fix only.
  6340. -- Replaced optarg which was undefined in some spots to make sure ENV vars are
  6341. set up correctly.
  6342. -- When removing an account from a cluster with sacctmgr you no longer get
  6343. a list of previously deleted associations.
  6344. -- Fix to make jobcomp/(pg/my)sql correctly work when the database name is
  6345. different than the default.
  6346. * Changes in SLURM 2.1.15
  6347. =========================
  6348. -- Fix bug in which backup slurmctld can purge job scripts (and kill batch
  6349. jobs) when it assumes primary control, particularly when this happens
  6350. multiple times in a short time interval.
  6351. -- In sched/wiki and sched/wiki2 add IWD (Initial Working Directory) to the
  6352. information reported about jobs.
  6353. -- Fix bug in calculating a daily or weekly reservation start time when the
  6354. reservation is updated. Patch from Per Lundqvist (National Supercomputer
  6355. Centre, Linköping University, Sweden).
  6356. -- Fix bug in how job step memory limits are calculated when the --relative
  6357. option is used.
  6358. -- Restore operation of srun -X option to forward SIGINT to spawned tasks
  6359. without killing them.
  6360. -- Fixed a bug in calculating the root account's raw usage reported by Par
  6361. Andersson
  6362. -- Fixed a bug in sshare displaying account hierarchy reported by Per
  6363. Lundqvist.
  6364. -- In select/linear plugin, when a node allocated to a running job is removed
  6365. from a partition, only log the event once. Fixes problem reported by Per
  6366. Lundqvist.
  6367. * Changes in SLURM 2.1.14
  6368. =========================
  6369. -- Fixed coding mistakes in _slurm_rpc_resv_show() and job_alloc_info() found
  6370. while reviewing the code.
  6371. -- Fix select/cons_res logic to prevent allocating resources while jobs
  6372. previously allocated resources on the node are still completing.
  6373. -- Fixed typo in job_mgr.c dealing with qos instead of associations.
  6374. -- Make sure associations and qos' are initiated when added.
  6375. -- Fixed wrong initialization for wckeys in the association manager.
  6376. -- Added wiki.conf configuration parameter of HidePartitionNodes. See
  6377. "man wiki.conf" for more information.
  6378. -- Add "JobAggregationTime=#" field SchedulerParameter configuration parameter
  6379. output.
  6380. -- Modify init.d/slurm and slurmdbd scripts to prevent the possible
  6381. inadvertent inclusion of "." in LD_LIBRARY_PATH environment variable.
  6382. To fail, the script would need to be executed by user root or SlurmUser
  6383. without the LD_LIBRARY_PATH environment variable set and there would
  6384. have to be a maliciously altered library in the working directory.
  6385. Thanks to Raphael Geissert for identifying the problem. This addresses
  6386. security vulnerability CVE-2010-3380.
  6387. * Changes in SLURM 2.1.13
  6388. =========================
  6389. -- Fix race condition which can set a node state to IDLE on slurmctld startup
  6390. even if it has running jobs.
  6391. * Changes in SLURM 2.1.12
  6392. =========================
  6393. -- Fixes for building on OS X 10.5.
  6394. -- Fixed a few '-' without a '\' in front of them in the man pages.
  6395. -- Fixed issues in client tools where a requeued job did get displayed
  6396. correctly.
  6397. -- Update typos in doc/html/accounting.shtml doc/html/resource_limits.shtml
  6398. doc/man/man5/slurmdbd.conf.5 and doc/man/man5/slurm.conf.5
  6399. -- Fixed a bug in exitcode:signal display in sacct
  6400. -- Fix bug when request comes in for consumable resources and the -c option
  6401. is used in conjunction with -O
  6402. -- Fixed squeue -o "%h" output formatting
  6403. -- Change select/linear message "error: job xxx: best_fit topology failure"
  6404. to debug type.
  6405. -- BLUEGENE - Fix for sinfo -R to group all midplanes together in a single
  6406. line for midplanes in an error state instead of 1 line for each midplane.
  6407. -- Fix srun to work correctly with --uid when getting an allocation
  6408. and creating a step, also fix salloc to assume identity at the correct
  6409. time as well.
  6410. -- BLUEGENE - Fixed issue with jobs being refused when running dynamic mode
  6411. and every job on the system happens to be the same size.
  6412. -- Removed bad #define _SLURMD_H from slurmd/get_mach_stat.h. Didn't appear
  6413. to cause any problems being there, just incorrect syntax.
  6414. -- Validate the job ID when salloc or srun receive an SRUN_JOB_COMPLETE RPC to
  6415. avoid killing the wrong job if the original command exits and the port gets
  6416. re-used by another command right away.
  6417. -- Fix to node in correct state in accounting when updating it to drain from
  6418. scontrol/sview.
  6419. -- BLUEGENE - Removed incorrect unlocking on error cases when starting jobs.
  6420. -- Improve logging of invalid sinfo and squeue print options.
  6421. -- BLUEGENE - Added check to libsched_if to allow root to run even outside of
  6422. SLURM. This is needed when running certain blocks outside of SLURM in HTC
  6423. mode.
  6424. * Changes in SLURM 2.1.11-2
  6425. ===========================
  6426. -- BLUEGENE - make it so libsched_if.so is named correctly on 'L' it is
  6427. libsched_if64.so and on 'P' it is libsched_if.so
  6428. * Changes in SLURM 2.1.11
  6429. =========================
  6430. -- BLUEGENE - fix sinfo to not get duplicate entries when running command
  6431. sinfo -e -o "%9P %6m %.4c %.22F %f"
  6432. -- Fix bug that caused segv when deleting a partition with pending jobs.
  6433. -- Better error message for when trying to modify an account's name with
  6434. sacctmgr.
  6435. -- Added back removal of #include "src/common/slurm_xlator.h" from
  6436. select/cons_res.
  6437. -- Fix incorrect logic in global_accounting in regression tests for
  6438. setting QOS.
  6439. -- BLUEGENE - Fixed issue where removing a small block in dynamic mode,
  6440. and other blocks also in that midplane needed to be removed and were in
  6441. and error state. They all weren't removed correctly in accounting.
  6442. -- Prevent scontrol segv with "scontrol show node <name>" command with nodes
  6443. in a hidden partition.
  6444. -- Fixed sizing of popup grids in sview.
  6445. -- Fixed sacct when querying against a jobid the start time is not set.
  6446. -- Fix configure to get correct version of pkg-config if both 32bit and 64bit
  6447. libs are installed.
  6448. -- Fix issue with sshare not sorting correctly the tree of associations.
  6449. -- Update documentation for sreport.
  6450. -- BLUEGENE - fix regression in 2.1.10 on assigning multiple jobs to one block.
  6451. -- Minor memory leak fixed when killing job error happens.
  6452. -- Fix sacctmgr list assoc when talking to a 2.2 slurmdbd.
  6453. * Changes in SLURM 2.1.10
  6454. =========================
  6455. -- Fix memory leak in sched/builtin plugin.
  6456. -- Fixed sbatch to work correctly when no nodes are specified, but
  6457. --ntasks-per-node is.
  6458. -- Make sure account and wckey for a job are lower case before inserting into
  6459. accounting.
  6460. -- Added note to squeue documentation about --jobs option displaying jobs
  6461. even if they are on hidden partitions.
  6462. -- Fix srun to work correctly with --uid when getting an allocation
  6463. and creating a step.
  6464. -- Fix for when removing a limit from a users association inside the
  6465. fairshare tree the parents limit is now inherited automatically in
  6466. the slurmctld. Previously the slurmctld would have to be restarted.
  6467. This problem only exists when setting a users association limit to -1.
  6468. -- Patch from Matthieu Hautreux (CEA) dealing with possible overflows that
  6469. could come up with the select/cons_res plugin with uint32_t's being treated
  6470. as uint16_t's.
  6471. -- Correct logic for creating a reservation with a Duration=Infinite (used to
  6472. set reservation end time in the past).
  6473. -- Correct logic for creating a reservation that properly handles the OVERLAP
  6474. and IGNORE_JOBS flags (flags were ignored under some conditions).
  6475. -- Fixed a fair-share calculation bug in the priority/multifactor plugin.
  6476. -- Make sure a user entry in the database that was previously deleted is
  6477. restored clean when added back, i.e. remove admin privileges previously
  6478. given.
  6479. -- BLUEGENE - Future start time is set correctly when eligible time for a job
  6480. is in the future, but the job can physically run earlier.
  6481. -- Updated Documentation for sacctmgr for Wall and CPUMin options stating when
  6482. the limit is reached running jobs will be killed.
  6483. -- Fix deadlock issue in the slurmctld when lowering limits in accounting to
  6484. lower than that of pending jobs.
  6485. -- Fix bug in salloc, sbatch and srun that could under some conditions process
  6486. the --threads-per-core, --cores-per-socket and --sockets-per-node options
  6487. improperly.
  6488. -- Fix bug in select/cons_res with memory management plus job preemption with
  6489. job removal (e.g. requeue) which under some conditions failed to preempt
  6490. jobs.
  6491. -- Fix deadlock potential when using qos and associations in the slurmctld.
  6492. -- Update documentation to state --ntasks-per-* is for a maximum value
  6493. instead of an absolute.
  6494. -- Get ReturnToService=2 working for front-end configurations (e.g. Cray or
  6495. BlueGene).
  6496. -- Do not make a non-responding node available for use after running
  6497. "scontrol update nodename=<name> state=resume". Wait for node to respond
  6498. before use.
  6499. -- Added slurm_xlator.h to jobacct_gather plugins so they resolve symbols
  6500. correctly when linking to the slurm api.
  6501. -- You can now update a jobs QOS from scontrol. Previously you could only do
  6502. this from sview.
  6503. -- BLUEGENE - Fixed bug where if running in non-dynamic mode sometimes the
  6504. start time returned for a job when using test-only would not be correct.
  6505. * Changes in SLURM 2.1.9
  6506. ========================
  6507. -- In select/linear - Fix logic to prevent over-subscribing memory with shared
  6508. nodes (Shared=YES or Shared=FORCE).
  6509. -- Fix for handling -N and --ntasks-per-node without specifying -n with
  6510. salloc and sbatch.
  6511. -- Fix jobacct_gather/linux if not polling on tasks to give tasks time to
  6512. start before doing initial gather.
  6513. -- When changing priority with the multifactor plugin we make sure we update
  6514. the last_job_update variable.
  6515. -- Fixed sview for gtk < 2.10 to display correct debug level at first.
  6516. -- Fixed sview to not select too fast when using a mouse right click.
  6517. -- Fixed sacct to display correct timelimits for jobs from accounting.
  6518. -- Fixed sacct when running as root by default query all users as documented.
  6519. -- In proctrack/linuxproc, skip over files in /proc that are not really user
  6520. processes (e.g. "/proc/bus").
  6521. -- Fix documentation bug for slurmdbd.conf
  6522. -- Fix slurmctld to update qos preempt list without restart.
  6523. -- Fix bug in select/cons_res that in some cases would prevent a preempting job
  6524. from using of resources already allocated to a preemptable running job.
  6525. -- Fix for sreport in interactive mode to honor parsable/2 options.
  6526. -- Fixed minor bugs in sacct and sstat commands
  6527. -- BLUEGENE - Fixed issue if the slurmd becomes unresponsive and you have
  6528. blocks in an error state accounting is correct when the slurmd comes
  6529. back up.
  6530. -- Corrected documentation for -n option in srun/salloc/sbatch
  6531. -- BLUEGENE - when running a willrun test along with preemption the bluegene
  6532. plugin now does the correct thing.
  6533. -- Fix possible memory corruption issue which can cause slurmctld to abort.
  6534. -- BLUEGENE - fixed small memory leak when setting up env.
  6535. -- Fixed deadlock if using accounting and cluster changes size in the
  6536. database. This can happen if you mistakenly have multiple primary
  6537. slurmctld's running for a single cluster, which should rarely if ever
  6538. happen.
  6539. -- Fixed sacct -c option.
  6540. -- Critical bug fix in sched/backfill plugin that caused memory corruption.
  6541. * Changes in SLURM 2.1.8
  6542. ========================
  6543. -- Update BUILD_NOTES for AIX and bgp systems on how to get sview to
  6544. build correctly.
  6545. -- Update man page for scontrol when nodes are in the "MIXED" state.
  6546. -- Better error messages for sacctmgr.
  6547. -- Fix bug in allocation of CPUs with select/cons_res and --cpus-per-task
  6548. option.
  6549. -- Fix bug in dependency support for afterok and afternotok options to insure
  6550. that the job's exit status gets checked for dependent jobs prior to puring
  6551. completed job records.
  6552. -- Fix bug in sched/backfill that could set an incorrect expected start time
  6553. for a job.
  6554. -- BLUEGENE - Fix for systems that have midplanes defined in the database
  6555. that don't exist.
  6556. -- Accounting, fixed bug where if removing an object a rollback wasn't
  6557. possible.
  6558. -- Fix possible scontrol stack corruption when listing jobs with very a long
  6559. job or working directory name (over 511 characters).
  6560. -- Insure that SPANK environment variables set by salloc or sbatch get
  6561. propagated to the Prolog on all nodes by setting SLURM_SPANK_* environment
  6562. variables for srun's use.
  6563. -- In sched/wiki2 - Add support for the MODIFYJOB command to alter a job's
  6564. comment field
  6565. -- When a cluster first registers with the SlurmDBD only send nodes in an
  6566. non-usable state. Before all nodes were sent.
  6567. -- Alter sacct to be able to query jobs by association id.
  6568. -- Edit documentation for scontrol stating ExitCode as something not alterable.
  6569. -- Update documentation about ReturnToService and silently rebooting nodes.
  6570. -- When combining --ntasks-per-node and --exclusive in an allocation request
  6571. the correct thing, giving the allocation the entire node but only
  6572. ntasks-per-node, happens.
  6573. -- Fix accounting transaction logs when deleting associations to put the
  6574. ids instead of the lfts which could change over time.
  6575. -- Fix support for salloc, sbatch and srun's --hint option to avoid allocating
  6576. a job more sockets per node or more cores per socket than desired. Also
  6577. when --hint=compute_bound or --hint=memory_bound then avoid allocating more
  6578. than one task per hyperthread (a change in behavior, but almost certainly
  6579. a preferable mode of operation).
  6580. * Changes in SLURM 2.1.7
  6581. ========================
  6582. -- Modify srun, salloc and sbatch parsing for the --signal option to accept
  6583. either a signal name in addition to the previously supported signal
  6584. numbers (e.g. "--signal=USR2@200").
  6585. -- BLUEGENE - Fixed sinfo --long --Node output for cpus on a single cnode.
  6586. -- In sched/wiki2 - Fix another logic bug in support of Moab being able to
  6587. identify preemptable jobs.
  6588. -- In sched/wiki2 - For BlueGene systems only: Fix bug preventing Moab from
  6589. being able to correctly change the node count of pending jobs.
  6590. -- In select/cons_res - Fix bug preventing job preemption with a configuration
  6591. of Shared=FORCE:1 and PreemptMode=GANG,SUSPEND.
  6592. -- In the TaskProlog, add support for an "unset" option to clear environment
  6593. variables for the user application. Also add support for embedded white-
  6594. space in the environment variables exported to the user application
  6595. (everything after the equal sign to the end of the line is included without
  6596. alteration).
  6597. -- Do not install /etc/init.d/slurm or /etc/init.d/slurmdbd on AIX systems.
  6598. -- BLUEGENE - fixed check for small blocks if a node card of a midplane is
  6599. in an error state other jobs can still run on the midplane on other
  6600. nodecards.
  6601. -- BLUEGENE - Check to make sure job killing is in the active job table in
  6602. DB2 when killing the job.
  6603. -- Correct logic to support ResvOverRun configuration parameter.
  6604. -- Get --acctg-freq option working for srun and salloc commands.
  6605. -- Fix sinfo display of drained nodes correctly with the summarize flag.
  6606. -- Fix minor memory leaks in slurmd and slurmstepd.
  6607. -- Better error messages for failed step launch.
  6608. -- Modify srun to insure compatability of the --relative option with the node
  6609. count requested.
  6610. * Changes in SLURM 2.1.6-2
  6611. ==========================
  6612. -- In sched/wiki2 - Fix logic in support of Moab being able to identify
  6613. preemptable jobs.
  6614. -- Applied fixes to a debug4 message in priority_multifactor.c sent in by
  6615. Per Lundqvist
  6616. -- BLUEGENE - Fixed issue where incorrect nodecards could be picked when
  6617. looking at combining small blocks to make a larger small block.
  6618. * Changes in SLURM 2.1.6
  6619. ========================
  6620. -- For newly submitted jobs, report expected start time in squeue --start as
  6621. "N/A" rather than current time.
  6622. -- Correct sched/backfill logic so that it runs in a more timely fashion.
  6623. -- Fixed issue if running on accounting cache and priority/multifactor to
  6624. initialize the root association when the database comes back up.
  6625. -- Emulated BLUEGENE - fixed issue where blocks weren't always created
  6626. correctly when loading from state. This does not apply to a real
  6627. bluegene system, only emulated.
  6628. -- Fixed bug when job is completing and its cpu_cnt would be calculated
  6629. incorrectly, possibly resulting in an underflow being logged.
  6630. -- Fixed bug where if there are pending jobs in a partition which was
  6631. updated to have no nodes in it the slurmctld would dump core.
  6632. -- Fixed smap and sview to display partitions with no nodes in them.
  6633. -- Improve configure script's logic to detect LUA libraries.
  6634. -- Fix bug that could cause slurmctld to abort if select/cons_res is used AND a
  6635. job is submitted using the --no-kill option AND one of the job's nodes goes
  6636. DOWN AND slurmctld restarts while that job is still running.
  6637. -- In jobcomp plugins, job time limit was sometimes recorded improperly if not
  6638. set by user (recorded huge number rather than partition's time limit).
  6639. * Changes in SLURM 2.1.5
  6640. ========================
  6641. -- BLUEGENE - Fixed display of draining nodes for sinfo -R.
  6642. -- Fixes to scontrol and sview when setting a job to an impossible start time.
  6643. -- Added -h to srun for help.
  6644. -- Fix for sacctmgr man page to remove erroneous 'with' statements.
  6645. -- Fix for unpacking jobs with accounting statistics, previously it appears
  6646. only steps were unpacked correctly, for the most case sacct would only
  6647. display this information making this fix a very minor one.
  6648. -- Changed scontrol and sview output for jobs with unknown end times from
  6649. 'NONE' to 'Unknown'.
  6650. -- Fixed mysql plugin to reset classification when adding a
  6651. previously deleted cluster.
  6652. -- Permit a batch script to reset umask and have that propagate to tasks
  6653. spawed by subsequent srun. Previously the umask in effect when sbatch was
  6654. executed was propagated to tasks spawed by srun.
  6655. -- Modify slurm_job_cpus_allocated_on_node_id() and
  6656. slurm_job_cpus_allocated_on_node() functions to not write explanation of
  6657. failures to stderr. Only return -1 and set errno.
  6658. -- Correction in configurator.html script. Prolog and Epilog were reversed.
  6659. -- BLUEGENE - Fixed race condition where if a nodecard has an error on an
  6660. un-booted block when a job comes to use it before the state checking
  6661. thread notices it which could cause the slurmctld to lock up on a
  6662. non-dynamic system.
  6663. -- In select/cons_res with FastSchedule=0 and Procs=# defined for the node,
  6664. but no specific socket/core/thread count configured, avoid fatal error if
  6665. the number of cores on a node is less than the number of Procs configured.
  6666. -- Added ability for the perlapi to utilize opaque data types returned from
  6667. the C api.
  6668. -- BLUEGENE - made the perlapi get correct values for cpus per node,
  6669. Previously it would give the number of cpus per cnode instead of midplane.
  6670. -- BLEUGENE - Fixed issue where if a block being selected for a job to use
  6671. and during the process a hardware failure happens, previously the block
  6672. would still be allowed to be used which would fail or requeue the job
  6673. depending on the configuration.
  6674. -- For SPANK job environment, avoid duplicate "SPANK_" prefix for environment
  6675. set by sbatch jobs.
  6676. -- Make squeue select jobs on hidden partitions when requesting more than one.
  6677. -- Avoid automatically cancelling job steps when all of the tasks on some node
  6678. have gracefully terminated.
  6679. * Changes in SLURM 2.1.4
  6680. ========================
  6681. -- Fix for purge script in accounting to use correct options.
  6682. -- If SelectType=select/linear and SelectTypeParameters=CR_Memory fix bug that
  6683. would fail to release memory reserved for a job if "scontrol reconfigure"
  6684. is executed while the job is in completing state.
  6685. -- Fix bug in handling event trigger for job time limit while job is still
  6686. in pending state.
  6687. -- Fixed display of Ave/MaxCPU in sacct for jobs. Steps were printed
  6688. correctly.
  6689. -- When node current features differs from slurm.conf, log the node names
  6690. using a hostlist expression rather than listing individual node names.
  6691. -- Improve ability of srun to abort job step for some task launch failures.
  6692. -- Fix mvapich plugin logic to release the created job allocation on
  6693. initialization failure (previously the failures would cancel job step,
  6694. but retain job allocation).
  6695. -- Fix bug in srun for task count so large that it overflows int data type.
  6696. -- Fix important bug in select/cons_res handling of ntasks-per-core parameter
  6697. that was uncovered by a bug fixed in v2.1.3. Bug produced fatal error for
  6698. slurmctld: "cons_res: cpus computation error".
  6699. -- Fix bug in select/cons_res handling of partitions configured with
  6700. Shared=YES. Prior logic failed to support running multiple jobs per node.
  6701. * Changes in SLURM 2.1.3-2
  6702. ==========================
  6703. -- Modified spec file to obsolete pam_slurm when installing
  6704. the slurm-pam_slurm rpm.
  6705. * Changes in SLURM 2.1.3-1
  6706. ==========================
  6707. -- BLUEGENE - Fix issues on static/overlap systems where if a midplane
  6708. was drained you would not be able to create new blocks on it.
  6709. -- In sched/wiki2 (for Moab): Add excluded host list to job information
  6710. using new keyword "EXCLUDE_HOSTLIST".
  6711. -- Correct slurmd reporting of incorrect socket/core/thread counts.
  6712. -- For sched/wiki2 (Moab): Do not extend a job's end time for suspend/resume
  6713. or startup delay due to node boot time. A job's end time will always be
  6714. its start time plus time limit.
  6715. -- Added build-time option (to configure program) of --with-pam_dir to
  6716. specify the directory into which PAM modules get installed, although it
  6717. should pick the proper directory by default. "make install" and "rpmbuild"
  6718. should now put the pam_slurm.so file in the proper directory.
  6719. -- Modify PAM module to link against SLURM API shared library and use exported
  6720. slurm_hostlist functions.
  6721. -- Do not block new jobs with --immediate option while another job is in the
  6722. process of being requeued (which can take a long time for some node failure
  6723. modes).
  6724. -- For topology/tree, log invalid hostnames in a single hostlist expression
  6725. rather than one per line.
  6726. -- A job step's default time limit will be UNLIMITED rather than partition's
  6727. default time limit. The step will automatically be cancelled as part of the
  6728. job termination logic when the job's time limit is reached.
  6729. -- sacct - fixed bug when checking jobs against a reservation
  6730. -- In select/cons_res, fix support for job allocation with --ntasks_per_node
  6731. option. Previously could allocate too few CPUs on some nodes.
  6732. -- Adjustment made to init message to the slurmdbd to allow backwards
  6733. compatibility with future 2.2 release. YOU NEED TO UPGRADE SLURMDBD
  6734. BEFORE ANYTHING ELSE.
  6735. -- Fix accounting when comment of down/drained node has double quotes in it.
  6736. * Changes in SLURM 2.1.2
  6737. ========================
  6738. -- Added nodelist to sview for jobs on non-bluegene systems
  6739. -- Correction in value of batch job environment variable SLURM_TASKS_PER_NODE
  6740. under some conditions.
  6741. -- When a node silently fails which is already drained/down the reason
  6742. for draining for the node is not changed.
  6743. -- Srun will ignore SLURM_NNODES environment variable and use the count of
  6744. currently allocated nodes if that count changes during the job's lifetime
  6745. (e.g. job allocation uses the --no-kill option and a node goes DOWN, job
  6746. step would previously always fail).
  6747. -- Made it so sacctmgr can't add blank user or account. The MySQL plugin
  6748. will also reject such requests.
  6749. -- Revert libpmi.so version for compatibility with SLURM version 2.0 and
  6750. earlier to avoid forcing applications using a specific libpmi.so version to
  6751. rebuild unnecessarily (revert from libpmi.so.21.0.0 to libpmi.so.0.0.0).
  6752. -- Restore support for a pending job's constraints (required node features)
  6753. when slurmctld is restarted (internal structure needed to be rebuilt).
  6754. -- Removed checkpoint_blcr.so from the plugin rpm in the slurm.spec since
  6755. it is also in the blcr rpm.
  6756. -- Fixed issue in sview where you were unable to edit the count
  6757. of jobs to share resources.
  6758. -- BLUEGENE - Fixed issue where tasks on steps weren't being displayed
  6759. correctly with scontrol and sview.
  6760. -- BLUEGENE - fixed wiki2 plugin to report correct task count for pending
  6761. jobs.
  6762. -- BLUEGENE - Added /etc/ld.so.conf.d/slurm.conf to point to the
  6763. directory holding libsched_if64.so when building rpms.
  6764. -- Adjust get_wckeys call in slurmdbd to allow operators to list wckeys.
  6765. * Changes in SLURM 2.1.1
  6766. ========================
  6767. -- Fix for case sensitive databases when a slurmctld has a mixed case
  6768. clustername to lower case the string to easy compares.
  6769. -- Fix squeue if job is completing and failed to print remaining
  6770. nodes instead of failed message.
  6771. -- Fix sview core when searching for partitions by state.
  6772. -- Fixed setting the start time when querying in sacct to the
  6773. beginning of the day if not set previously.
  6774. -- Defined slurm_free_reservation_info_msg and slurm_free_topo_info_msg
  6775. in common/slurm_protocol_defs.h
  6776. -- Avoid generating error when a job step includes a memory specification and
  6777. memory is not configured as a consumable resource.
  6778. -- Patch for small memory leak in src/common/plugstack.c
  6779. -- Fix sview search on node state.
  6780. -- Fix bug in which improperly formed job dependency specification can cause
  6781. slurmctld to abort.
  6782. -- Fixed issue where slurmctld wouldn't always get a message to send cluster
  6783. information when registering for the first time with the slurmdbd.
  6784. -- Add slurm_*_trigger.3 man pages for event trigger APIs.
  6785. -- Fix bug in job preemption logic that would free allocated memory twice.
  6786. -- Fix spelling issues (from Gennaro Oliva)
  6787. -- Fix issue when changing parents of an account in accounting all children
  6788. weren't always sent to their respected slurmctlds until a restart.
  6789. -- Restore support for srun/salloc/sbatch option --hint=nomultithread to
  6790. bind tasks to cores rather than threads (broken in slurm v2.1.0-pre5).
  6791. -- Fix issue where a 2.0 sacct could not talk correctly to a 2.1 slurmdbd.
  6792. -- BLUEGENE - Fix issue where no partitions have any nodes assigned them to
  6793. alert user no blocks can be created.
  6794. -- BLUEGENE - Fix smap to put BGP images when using -Dc on a Blue Gene/P
  6795. system.
  6796. -- Set SLURM_SUBMIT_DIR environment variable for srun and salloc commands to
  6797. match behavior of sbatch command.
  6798. -- Report WorkDir from "scontrol show job" command for jobs launched using
  6799. salloc and srun.
  6800. -- Update correctly the wckey when changing it on a pending job.
  6801. -- Set wckeyid correctly in accounting when cancelling a pending job.
  6802. -- BLUEGENE - critical fix where jobs would be killed incorrectly.
  6803. -- BLUEGENE - fix for sview putting multiple ionodes on to nodelists when
  6804. viewing the jobs tab.
  6805. * Changes in SLURM 2.1.0
  6806. ========================
  6807. -- Improve sview layout of blocks in use.
  6808. -- A user can now change the dimensions of the grid in sview.
  6809. -- BLUEGENE - improved startup speed further for large numbers of defined
  6810. blocks
  6811. -- Fix to _get_job_min_nodes() in wiki2/get_jobs.c suggested by Michal Novotny
  6812. -- BLUEGENE - fixed issues when updating a pending job when a node
  6813. count was incorrect for the asked for connection type.
  6814. -- BLUEGENE - fixed issue when combining blocks that are in ready states to
  6815. make a larger block from those or make multiple smaller blocks by
  6816. splitting the larger block. Previously this would only work with block
  6817. in a free state.
  6818. -- Fix bug in wiki(2) plugins where if HostFormat=2 and the task list is
  6819. greater than 64 we don't truncate. Previously this would mess up Moab
  6820. by sending a truncated task list when doing a get jobs.
  6821. -- Added update slurmctld debug level to sview when in admin mode.
  6822. -- Added logic to make sure if enforcing a memory limit when using the
  6823. jobacct_gather plugin a user can no longer turn off the logic to enforce
  6824. the limit.
  6825. -- Replaced many calls to getpwuid() with reentrant uid_to_string()
  6826. -- The slurmstepd will now refresh it's log file handle on a reconfig,
  6827. previously if a log was rolled any output from the stepd was lost.