Facebook Hermit, amûrek ji bo darvekirina bernameya dubarekirî diweşîne

Facebook (li Federasyona Rûsyayê qedexe ye) koda amûra Hermit weşand, ku hawîrdorek ji bo darvekirina diyarker a bernameyan diafirîne, rê dide ku rêvekirinên cihêreng bigihîjin heman encamê û bi karanîna heman daneya têketinê îdamê dubare bikin. Koda projeyê bi Rust hatî nivîsandin û di bin lîsansa BSD de tê belav kirin.

Di dema darvekirina normal de, encam ji hêla cûrbecûr faktorên derveyî ve tê bandor kirin, wek mînak dema niha, plansazkirina mijarê, navnîşanên bîranîna virtual, daneyên ji hilberînerê hejmarên pseudorandom, û nasnameyên cihêreng ên bêhempa. Hermit destûrê dide te ku hûn bernameyekê di konteynirekê de bimeşînin ku tê de ev faktor di nav beşên paşîn de domdar dimînin. Pêkanîna dubarekirî, ku bi tevahî pîvanên hawîrdorê yên ne-domdar ji nû ve çêdike, dikare ji bo teşhîsa xeletiyê, debugkirina pir-gavekî bi bezandinên dubare, afirandina jîngehek sabît ji bo ceribandinên paşveçûnê, ceribandina stresê, nasîna pirsgirêkên bi pirtirs û di pergalên avakirina dubare de were bikar anîn.

Facebook Hermit, amûrek ji bo darvekirina bernameya dubarekirî diweşîne

Jîngehek ji nû ve hilberandin bi navgîniya bangên pergalê ve tê afirandin, hin ji wan bi rêkarên xwe yên ku encamek mayînde çêdikin têne guheztin, û hin jî berbi kernelê ve têne rêve kirin, piştî ku encam ji daneyên ne-domdar têne paqij kirin. Ji bo girtina bangên pergalê, çarçoveya reverie tê bikar anîn, ku koda wê jî ji hêla Facebookê ve tê weşandin. Ji bo ku guheztinên di pergala pelan de û daxwazên torê bandorê li pêşkeftina darvekirinê nekin, darvekirin bi karanîna wêneyek FS-ya sabît û bi gihandina torên derveyî neçalak tête kirin. Dema ku xwe digihîne jeneratorê jimareya pseudo-random, Hermit rêzek pêşbirkê ku her gava ku tê dest pê kirin dubare dike.

Yek ji bandorên guhêrbar ên herî tevlihev ên li ser pêşkeftina darvekirinê nexşerêya têxê ye, ku tevgera wê bi gelek faktorên derveyî ve girêdayî ye, wek mînak hejmara navikên CPU û hebûna mijarên din ên darvekirinê. Ji bo misogerkirina behremendiya dûbarebar a plansazker, hemî mijar bi rêzikî ve girêdayî bi tenê yek bingehek CPU-yê ve têne darve kirin û rêza ku tê de kontrol li ser mijaran tê veguheztin diparêzin. Destûr tê dayîn ku her mijar hejmarek rêwerzan bicîh bîne, piştî ku darvekirin disekine û tê veguheztinek din (ji bo bisînorkirina CPU PMU (Yekîneya Çavdêriya Performansê), ya ku piştî hejmarek diyarkirî ya şaxên şertî darvekirinê rawestîne).

Ji bo teşhîskirina pirsgirêkên bi têlan ji ber şert û mercên nijadê, Hermit xwedan modek e ji bo tespîtkirina operasyonên ku fermana darvekirinê wan ji rêzê bû û bû sedema girtina anormal. Ji bo tespîtkirina pirsgirêkên weha, berawirdkirinek ji dewletên ku tê de operasyona rast û bidawîbûna nenormal a darvekirinê hatine tomar kirin, tê kirin.

Source: opennet.ru

Add a comment