Thathas aâ cleachdadh lorg eisimeileachd gnĂŹomh ann an dĂ ta ann an diofar raointean de mhion-sgrĂšdadh dĂ ta: riaghladh stòr-dĂ ta, glanadh dĂ ta, innleadaireachd cĂšl stòr-dĂ ta agus sgrĂšdadh dĂ ta. Tha sinn mar-thĂ air fhoillseachadh mu na h-eisimeileachd fhèin Anastasia Birillo agus Nikita Bobrov saor an asgaidh. An turas seo, tha Anastasia, a cheumnaich bhon Ionad Saidheans Coimpiutaireachd am-bliadhna, a 'roinn leasachadh na h-obrach seo mar phĂ irt den obair rannsachaidh a dhĂŹon i aig an ionad.

Taghadh gnĂŹomh
Fhad âs a bha mi ag ionnsachadh aig an ionad CS, thòisich mi aâ sgrĂšdadh stòran-dĂ ta ann an doimhneachd, is e sin, a bhith a âlorg eisimeileachd gnĂŹomh agus eadar-dhealachadh. Bha an cuspair seo co-cheangailte ri cuspair an obair-cĂšrsa agam aig an oilthigh, agus mar sin fhad âs a bha mi ag obair air an obair cĂšrsa, thòisich mi aâ leughadh artaigilean mu dhiofar eisimeileachd ann an stòran-dĂ ta. SgrĂŹobh mi lèirmheas air an raon seo - aon den chiad fhear agam ann am Beurla agus chuir e a-steach e gu co-labhairt SEIM-2017. Bha mi glè thoilichte nuair a fhuair mi a-mach gun deach gabhail rithe Ă s deidh a h-uile cĂ il, agus cho-dhĂšin mi sgrĂšdadh nas doimhne a dhèanamh air aâ chuspair. Chan eil am bun-bheachd fhèin Ăšr - thòisich e air a chleachdadh air ais anns na 90an, ach eadhon a-nis tha e air a chleachdadh ann an iomadh raon.
Rè an dà rna semeastar agam aig an ionad, thòisich mi air pròiseact rannsachaidh gus algorithms a leasachadh airson eisimeileachd gnÏomh a lorg. Dh'obraich i air còmhla ri oileanach ceumnachaidh Oilthigh Stà ite St. Petersburg Nikita Bobrov aig JetBrains Research.
Computational iom-fhillteachd a 'lorg eisimeileachd gnĂŹomh
Is e am prĂŹomh dhuilgheadas iom-fhillteachd coimpiutaireachd. Tha an Ă ireamh de dhâ eisimeileachd as lugha agus neo-bheag air a chuingealachadh gu h-Ă rd leis an luach
cĂ ite
- Ă ireamh de fheartan clĂ r. Tha Ăšine obrachaidh nan algorithms an urra chan ann a-mhĂ in air an Ă ireamh de bhuadhan, ach cuideachd air an Ă ireamh de shreathan. Anns na 90n, dhâ fhaodadh algoirmean sgrĂšdaidh lagh feadarail air PC deasg Ă bhaisteach seataichean dĂ ta a phròiseasadh anns a bheil suas ri 20 buadhan agus deichean de mhĂŹltean de shreathan ann an suas ri grunn uairean a thĂŹde. Bidh algorithms Ăšr-nodha a tha aâ ruith air pròiseasairean ioma-cridhe aâ lorg eisimeileachd airson seataichean dĂ ta anns a bheil ceudan de fheartan (suas ri 200) agus ceudan de mhĂŹltean de shreathan ann an timcheall air an aon Ăšine. Ach, chan eil seo gu leòr: tha Ă m mar sin neo-iomchaidh airson aâ mhòr-chuid de thagraidhean san t-saoghal fhĂŹor. Mar sin, leasaich sinn dòighean-obrach gus algorithms gnĂ thaichte a luathachadh.
Sgeama caching airson eadar-ghearraidhean partition
Anns aâ chiad phĂ irt den obair, leasaich sinn sgeamaichean caching airson clas de dhâ algoirmean a bhios aâ cleachdadh an dòigh eadar-sgaraidh dealachaidh. Is e seata de liostaichean a thâ ann an sgaradh airson feart, far a bheil Ă ireamhan loidhne anns gach liosta leis na h-aon luachan airson feart sònraichte. Canar brabhsair ris gach liosta den leithid. Bidh mòran de algorithms an latha an-diugh aâ cleachdadh sgaraidhean gus faighinn a-mach a bheil eisimeileachd air a chumail no nach eil, is e sin, tha iad aâ cumail ris an lema: eisimeileachd
air a chumail ma tha
. An seo
tha sgaradh air a shònrachadh agus tha bun-bheachd meud sgaradh air a chleachdadh - an Ă ireamh de chlĂ ran a tha ann. Algorithms a bhios a 'cleachdadh sgaraidhean, nuair a thèid an eisimeileachd a bhriseadh, cuir buadhan a bharrachd air taobh clĂŹ an eisimeileachd, agus an uairsin ath-Ă ireamhachadh, a' coileanadh obrachadh eadar-ghearradh de phĂ irtean. Canar speisealachadh anns na h-artaigilean ris an obair seo. Ach mhothaich sinn gum faodar sgaraidhean airson eisimeileachd a bhiodh air an cumail dĂŹreach Ă s deidh beagan chuairtean de shònrachadh ath-chleachdadh gu gnĂŹomhach, a dhâ fhaodadh Ăšine ruith nan algorithms a lughdachadh gu mòr, leis gu bheil an obair eadar-ghearraidh daor.
Mar sin, mhol sinn heuristic stèidhichte air Shannon Entropy agus Ginny Uncertainty, a bharrachd air ar meatrach, ris an can sinn Reverse Entropy. Is e atharrachadh beag a thâ ann air Shannon Entropy agus bidh e ag Ă rdachadh mar a tha cho sònraichte sa tha an t-seata dĂ ta aâ dol am meud. Tha an heuristic a thathar aâ moladh mar a leanas:

tha e
- an ĂŹre de dhâaona-ghnothach an sgaradh a chaidh a thomhas o chionn ghoirid
agus
tha e na mheadhan air ĂŹrean Ă raid airson buadhan fa leth. Chaidh na trĂŹ meatrach a chaidh a mhĂŹneachadh gu h-Ă rd a dhearbhadh mar mheatrach gun samhail. Faodaidh tu cuideachd mothachadh gu bheil dĂ inneal-atharrachaidh anns an heuristic. Tha aâ chiad fhear aâ sealltainn cho faisg âs a tha an sgaradh gnĂ thach air aâ phrĂŹomh iuchair agus aâ leigeil leat na h-earrainnean sin a tha fada bhon iuchair a dhâ fhaodadh a bhith air an tasgadh gu ĂŹre nas motha. Leigidh an dĂ rna mion-atharrachaidh leat sĂšil a chumail air seilbh tasgadan agus mar sin aâ brosnachadh barrachd sgaraidhean a chuir ris an tasgadan ma tha Ă ite an-asgaidh ri fhaighinn. Leig fuasgladh soirbheachail na duilgheadas seo leinn an algairim PYRO a luathachadh le 10-40%, a rèir an t-seata dĂ ta. Is fhiach a bhith mothachail gur e an algairim PYRO an fheadhainn as soirbheachaile san raon seo.
Anns an fhigear gu h-ĂŹosal chĂŹ thu na toraidhean bho bhith aâ cur an gnĂŹomh an heuristic a chaidh a mholadh an coimeas ri dòigh-obrach bunaiteach airson tasgadh coin-flip. Tha an X axis logarithmic.

Dòigh eile airson sgaradh a stòradh
An uairsin mhol sinn dòigh eile airson sgaraidhean a stòradh. Is e seata de chlĂ ran a thâ ann am pĂ irtean, agus bidh gach fear dhiubh aâ stòradh Ă ireamhan de thuples le luachan co-ionann airson buadhan sònraichte. Faodaidh sreathan fada de Ă ireamhan tuple a bhith anns na cruinneachaidhean sin, mar eisimpleir ma tha an dĂ ta ann an clĂ r air òrdachadh. Mar sin, mhol sinn sgeama teannachaidh airson stòradh phĂ irtean, is e sin stòradh luachan eadar-amail ann an cruinneachaidhean de phĂ irtean:
$$display$$pi(X) = {{fo-thalamh{1, 2, 3, 4, 5}_{A' chiad eadar-ama}, fo-bhratach{7, 8}_{Dara eadar-à m}, 10}}\ saighead sÏos{ Compression} \ pi(X) = {{underbrace{$, 1, 5}_{A' chiad~eadar-ama}, fo-chòmhdach{7, 8}_{Dara~eadar-ama}, 10}}$$display$$
Bha an dòigh seo comasach air caitheamh cuimhne a lughdachadh rè obrachadh an algairim TONE bho 1 gu 25%. Tha an algairim TONE na algairim clasaigeach airson a bhith aâ lorg laghan feadarail; bidh e aâ cleachdadh sgaraidhean rè a chuid obrach. Mar phĂ irt den chleachdadh, chaidh an algairim TONE a thaghadh, leis gu robh e mòran na bâ fhasa stòradh eadar-ama a chuir an gnĂŹomh na, mar eisimpleir, ann am PYRO gus measadh a dhèanamh a bheil an dòigh-obrach a chaidh a mholadh ag obair. Tha na toraidhean a gheibhear air an taisbeanadh anns an fhigear gu h-ĂŹosal. Tha an X axis logarithmic.

Co-labhairt ADBIS-2019
Stèidhichte air toraidhean an rannsachaidh, san t-Sultain 2019 dhâ fhoillsich mi artaigil aig an 23mh Co-labhairt Eòrpach air Adhartasan ann an Stòran-dĂ ta agus Siostaman Fiosrachaidh (ADBIS-2019). Rè an taisbeanaidh, chaidh an obair a thoirt fa-near le Bernhard Thalheim, neach cudromach ann an raon nan stòran-dĂ ta. Bha toraidhean an rannsachaidh mar bhunait air an trĂ chdas agam aig aâ cheum maighstireachd ann am matamataig agus meacanaig aig Oilthigh StĂ ite St Petersburg, nuair a chaidh an dĂ dhòigh-obrach a chaidh a mholadh (caching and compression) a chur an gnĂŹomh anns an dĂ algairim: TANE agus PYRO. A bharrachd air an sin, sheall na co-dhĂšnaidhean gu bheil na dòighean-obrach a chaidh a mholadh uile-choitcheann, oir air an dĂ algorithm, leis an dĂ dhòigh-obrach, chaidh lĂšghdachadh mòr ann an caitheamh cuimhne fhaicinn, a bharrachd air lĂšghdachadh mòr ann an Ăšine obrachaidh nan algorithms.
Source: www.habr.com
