Reiser5-ը հայտարարում է Burst Buffers-ի (Տվյալների աստիճանավորում) աջակցության մասին

Էդուարդ Շիշկին հայտարարել է Reiser5 նախագծի շրջանակներում ստեղծված նոր հնարավորություններ։ Ռայզեր5 ա ReiserFS ֆայլային համակարգի զգալիորեն վերանախագծված տարբերակ, որում զուգահեռ մասշտաբային տրամաբանական ծավալների աջակցությունն իրականացվում է ֆայլային համակարգի մակարդակով, այլ ոչ թե բլոկային սարքի մակարդակով, ինչը թույլ է տալիս արդյունավետորեն բաշխել տվյալները տրամաբանական ծավալով:

Վերջին շրջանում մշակված նորամուծություններից է տրամադրումը
օգտագործողի համար փոքր բարձր կատարողականություն ավելացնելու հնարավորություն
արգելափակել սարքը (օրինակ՝ NVRAM) կանչվել է վստահված անձի սկավառակԴեպի
համեմատաբար մեծ տրամաբանական ծավալ՝ կազմված դանդաղից
բյուջետային մղումներ: Սա տպավորություն կստեղծի, որ բոլորը
ծավալը կազմված է նույն թանկարժեք բարձր կատարողականությամբ
սարքեր, ինչպիսիք են «պրոքսի սկավառակը»:

Իրականացված մեթոդը հիմնված էր այն պարզ դիտարկման վրա, որ գործնականում սկավառակը անընդհատ գրված չէ, և I/O բեռնվածության կորը ունի գագաթների ձև: Նման «գագաթների» միջև ընկած ժամանակահատվածում միշտ հնարավոր է վերականգնել տվյալները վստահված սկավառակից՝ հետին պլանում գտնվող բոլոր տվյալները (կամ միայն մի մասը) վերագրանցելով հիմնական, «դանդաղ» պահեստին: Այսպիսով, վստահված անձի սկավառակը միշտ պատրաստ է տվյալների նոր մաս ստանալու համար:

Այս տեխնիկան (հայտնի է որպես Burst Buffers) ի սկզբանե առաջացել է
բարձր կատարողական հաշվարկների ոլորտները (HPC): Բայց պարզվեց, որ այն նաև պահանջարկ ունի սովորական հավելվածների համար, հատկապես նրանց համար, որոնք ավելի մեծ պահանջներ են դնում տվյալների ամբողջականության վրա (սովորաբար տվյալների բազաների տարբեր տեսակներ): Նման հավելվածները ցանկացած ֆայլում ցանկացած փոփոխություն կատարում են ատոմային եղանակով, մասնավորապես՝

  • նախ, ստեղծվում է նոր ֆայլ, որը պարունակում է փոփոխված տվյալները.
  • այս նոր ֆայլն այնուհետև գրվում է սկավառակի վրա՝ օգտագործելով fsync(2);
  • դրանից հետո նոր ֆայլը վերանվանվում է հին, որն ավտոմատ կերպով
    Ազատում է հին տվյալներով զբաղեցրած բլոկները:

    Այս բոլոր քայլերը, այս կամ այն ​​չափով, նշանակալի են առաջացնում
    կատարողականի վատթարացում ցանկացած ֆայլային համակարգի վրա: Իրավիճակը
    բարելավվում է, եթե նոր ֆայլը նախ գրվի հատկացված ֆայլին
    բարձր արդյունավետությամբ սարք, որը հենց այն է, ինչ տեղի է ունենում ներսում
    ֆայլային համակարգ Burst Buffers-ի աջակցությամբ:

    Reiser5-ում նախատեսվում է կամընտիր ուղարկել ոչ միայն
    ֆայլի նոր տրամաբանական բլոկներ, բայց նաև ընդհանրապես բոլոր կեղտոտ էջերը: Ավելին,
    ոչ միայն տվյալներ ունեցող էջեր, այլ նաև մետա տվյալներ, որոնք
    գրված են (2) և (3) քայլերով:

    Վստահված սկավառակների աջակցությունն իրականացվում է կանոնավոր աշխատանքի համատեքստում
    Reiser5 տրամաբանական հատորներ, հայտարարեց տարեսկզբին։ Այն է,
    «proxy disk - main storage» ագրեգատային համակարգը նորմալ է
    տրամաբանական ծավալը միայն այն տարբերությամբ, որ պրոքսի սկավառակն ունի առաջնահերթություն
    ի թիվս այլ ծավալային բաղադրիչների սկավառակի հասցեների բաշխման քաղաքականության մեջ:

    Տրամաբանական ծավալի վրա վստահված անձի սկավառակ ավելացնելը չի ​​ուղեկցվում որևէ մեկի կողմից
    տվյալների վերաբալանսը, և դրա հեռացումը տեղի է ունենում ճիշտ այնպես, ինչպես
    սովորական սկավառակի հեռացում: Բոլոր վստահված սկավառակի գործողությունները ատոմային են:
    Սխալների մշակումը և համակարգի տեղակայումը (ներառյալ համակարգի խափանումից հետո) տեղի է ունենում ճիշտ այնպես, ինչպես եթե վստահված սկավառակը սովորական բաղադրիչ լիներ
    տրամաբանական ծավալը.

    Վստահված սկավառակ ավելացնելուց հետո տրամաբանական ծավալի ընդհանուր հզորությունը
    ավելանում է այս սկավառակի հզորությամբ: Ազատ տարածության մոնիտորինգ
    վստահված սկավառակը կատարվում է այնպես, ինչպես մյուս ծավալային բաղադրիչների համար, այսինքն. օգտագործելով volume.reiser4(8) կոմունալ ծրագիրը:

    Պրոքսի սկավառակը պետք է պարբերաբար մաքրվի, այսինքն. վերակայել տվյալները
    այն դեպի հիմնական պահեստ: Բետա կայունության հասնելուց հետո Reiser5
    մաքրումը նախատեսվում է ավտոմատ կերպով (այն կկառավարի
    հատուկ միջուկի թել): Այս փուլում մաքրման պատասխանատվությունը
    հենվում է օգտագործողի հետ: Տվյալների վերակայում վստահված անձի սկավառակից դեպի հիմնականը
    պահեստավորումն արտադրվում է՝ պարզապես զանգահարելով volume.reiser4 կոմունալ տարբերակը՝ տարբերակով
    «-բ». Որպես փաստարկ, դուք պետք է նշեք տրամաբանականի տեղադրման կետը
    հատորները Իհարկե, դուք պետք է հիշեք, որ պարբերաբար մաքրում եք: Համար
    Դա անելու համար կարող եք գրել պարզ shell script:

    Եթե ​​վստահված անձի սկավառակի վրա ազատ տեղ չկա, բոլոր տվյալները
    ավտոմատ կերպով գրվում են հիմնական պահեստում: Միեւնույն ժամանակ, լռելյայն
    FS-ի ընդհանուր կատարումը նվազում է (անընդհատ զանգերի պատճառով
    բոլոր առկա գործարքների կատարման ընթացակարգերը): Ընտրովի կարող եք սահմանել
    ռեժիմ՝ առանց կատարողականի կորստի: Այնուամենայնիվ, այս դեպքում սկավառակը
    Պրոքսի սարքի տարածքը կօգտագործվի ավելի քիչ արդյունավետ:
    Հարմար է օգտագործել մետատվյալների ենթաբաժինը (աղյուսը) որպես վստահված սկավառակ, պայմանով, որ այն ստեղծվի բավականաչափ բարձր արդյունավետությամբ բլոկային սարքի վրա:

    Source: opennet.ru

  • Добавить комментарий