XTX Markets ընկերությունը TernFS ֆայլային համակարգի կոդը բացել է, որը նախագծվել է տարածված պահեստավորման ստեղծման համար, որն ընդգրկում է մի քանի տարածականորեն բաժանված տվյալների կենտրոններ և կարող է պահել տասնյակ էքսաբայթների տվյալներ, միլիարդավոր ֆայլեր և հարյուր միլիոնավոր կատալոգներ, որոնց հետ կարող են միաժամանակ փոխազդել միլիոնավոր հաճախորդներ: Նախագծի կոդը գրված է C++ և Go լեզուներով և տարածվում է GPLv2 լիցենզիայի տակ: Հանրային կարգավորումների և հաճախորդական գրադարանների հետ կապված specs տրամադրվում են Apache 2.0 լիցենզիայի տակ:
ՀՖ- ն օպտիմիզացված է մեքենայական ուսումնառության համակարգերի համար բնորոշ բեռների համար՝ ֆայլերի գրառում և ընթերցում, որոնք ստեղծվել են և որոնք չեն փոխվել, և որոնք պարունակում են ավելի քան մի քանի մեգաբայթ տվյալներ: ՀՖ- ն նախատեսված չէ նոր կատալոգների հաճախակի ստեղծման և ֆայլերի հաճախակի տեղափոխման համար: Բյուրեղակում է հեռացվող ֆայլերի կամ կատալогеերի վերականգնումը, ինչպես նաև լրիվ վերադարձնելու քաղաքականությունների կարգավորումները: ՀՖ- ի պարունակությունը կարող է կրկնապատկվել մի քանի տվյալների կենտրոններում տարբեր շրջաններում: Պահեստային узлы- ն կարող են ներառել տարբեր տիպի հավաքիչներ (թերթիկների և Flash- հիշողության հիման վրա):
Մասնակի կետերի բացակայությունը և բարձր պահեստավորման կայունության ապահովումը նախագծման պահանջներից մեկն էր. անսպասելի էներգիայի անջատումները չպետք է հանգեցնեն ֆայլային համակարգի վնասման, և ֆայլերը չեն կարող լինել մասամբ թողարկված (нәрե¡ լուսաբանված ֆայլերը ընդունելի չեն: Երկու տարի շահագործման ընթացքում տուժողական դեպքեր, որոնք հանգեցրել են տվյալների կորուստների, տեղի չեն ունեցել:
TernFS- ի վրա հիմնված պահեստի ներդրումը XTX Markets- ում սկսվել է 2023 թվականի ամռանը՝ ֆայլային համակարգի մեկուկես տարվա մշակման հետո: 2024 թվականի կեսին XTX Markets- ի բոլոր մեքենայական ուսուցման համակարգերը տեղափոխվել են TernFS: Այժմ պահեստը կազմում է 30 հազարից ավել հավաքիչներ և 10 հազար Flash- հավաքիչներ՝ երեք տվյալների կենտրոններում: Պահվող տվյալների ընդհանուր ծավալը գնահատվում է 500 պետաբայթ, իսկ պիկ կատարողականությունը՝ մի քանի պետաբայթ մեկ վայրկյան: Պահեստը օգտագործվում է 100 հազարից ավել հաշվարկվող узлы- ների կլաստերում: Երկու տարի շահագործման ընթացքում տվյալների կորուսային դեպքեր չեն եղել:
TernFS- ի սահմանափակումներից են. գրանցված ֆայլերը չեն կարող լինել փոփոխված; 2 ՄԲ-ից ցածր ֆայլերի աշխատանքում ցածր արդյունավետություն; կատալոգների ստեղծման և ջնջման գործողությունների ցածր կատարողականություն; մուտքի լիազորությունների բացակայություն:
TernFS պահեստային կլաստերը կազմող բաղադրիչներ:
- Մետադասերի պահեստային узлы- ներ, որոնք պատասխանատու են կատալոգների կառուցվածքի և ֆայլերի հատկությունների մասին տեղեկատվության կառավարման համար:
- Կոորդինացիոն հանգույցներ (CDC՝ Cross-Directory Coordinator), որոնք իրականացնում են թրանդակցիաներ, որոնք ընդգրկում են տարբեր կատալոգներ։
- Պահպանման ծառայություններ, որոնք ապահովում են ֆայլերի բովանդակության պահպանում։
- Ռեեստր, որը պարունակում է մանրամասներ բոլոր մնացած ծառայությունների մասին և վերահսկում է դրանց աշխատանքը։
- Հաճախորդային ծառայություններ օգտվողների դիմելու համար ՖՍ․
- ternweb՝ մուտք պահպանման տարածք через Web API։
- terncli՝ հրահանգային տողի ինտերֆեյս։
- ternfs.ko՝ Linux-ի միջուկի մոդուլ, որը թույլ է տալիս ավտոմատացնել պահեստը որպես տեղական ՖՍ։
- ternfuse՝ ՖՍ-ով աշխատելու հաճախորդի իրականացում, որը օգտագործում է FUSE ենթակառուցվածքը։
- terns3՝ Amazon S3 API- ի իրականացում։
- Հակաերկրային գործընթացներ․
- GC՝ աղբը հավաքող, որը ազատում է ժամկետանց նկարահանումները (հեռացված, բայց չմաքրված ֆայլեր) և մաքրում է հատվածները վերջնականապես հեռացվող ֆայլերի համար։
- scrubber՝ տվյալների degrade-ի հայտնաբերում եւ վերականգնում։
- migrator՝ պահեստից պակաս ձախողված սկավառակի բացառումը։

Ընտանիք: opennet.ru
