F2FS-ის მოგზაურობა და რატომ არის მნიშვნელოვანი ფაილური სისტემები: ინტერვიუ სტან დიმიტრიევთან Tuxera-დან

XDA ინტერვიუებს სტან დიმიტრიევს Tuxera-დან, ფინური კომპანიისგან, რომელიც სპეციალიზირებულია ფაილურ სისტემებში. Stan განიხილავს ფაილურ სისტემებს და F2FS-ის მომავალს.

ფაილური სისტემები არ განიხილება XDA-ზე ან სხვა ფორუმზე ძალიან ხშირად. თემა მოიცავს უამრავ დაბალი დონის განვითარებას, ამიტომ დეველოპერები ურჩევნიათ ფოკუსირება მოახდინონ აპლიკაციებზე, ROM-ებზე ან ბირთვებზე. მიუხედავად ამისა, ფაილური სისტემა ყველა შენახვის მნიშვნელოვანი ნაწილია. ეს არის ტექნოლოგია, რომელიც ასახავს იმას, თუ როგორ ხდება თქვენი მოწყობილობის საცავში მონაცემების შენახვა და მიღება. არსებობს მრავალი სხვადასხვა სახის ფაილური სისტემა - თითოეულს აქვს თავისი დადებითი და უარყოფითი მხარეები - და ერთის არჩევამ შეიძლება დიდი განსხვავება გამოიწვიოს სტაბილურობასა და შესრულებაში. მაშ, როგორ აკეთებენ OEM-ები ამ არჩევანს? სიამოვნება მქონდა საუბარი სტენ დიმიტრიევი, საზოგადოებასთან ურთიერთობის და კომუნიკაციების მენეჯერი ტუქსერაფინური კომპანია, რომელიც უზრუნველყოფს ფაილური სისტემის გადაწყვეტილებებს ბევრ დიდ OEM-ს.

კითხვა: შეგიძლია გაგაცნო შენი თავი და ტუქსერა?

პასუხი: მე ვარ სტენ დიმიტრიევი. მას შემდეგ რაც მე მივიღე ჩემი პირველი Android ტელეფონი (HTC EVO 3D), მე გავხდი XDA საზოგადოების აქტიური ფანი. ვთქვათ, დავაყენე საბაჟო ROM და გავაუქმე ჩემი გარანტია პირველ დღეს (სტენ. დიმიტრიევი არის ფორუმის წევრი XDA-ზე). რამდენიმე წლის წინ, მე დავაფუძნე სტარტაპ პროექტი Corgi for Feedly, იმ დროს XDA საზოგადოება ძალიან დაგვეხმარა აპლიკაციის განსაზღვრასა და განვითარებაში.

ამჟამად მე ვარ PR & კომუნიკაციების მენეჯერი Tuxera-ში, რომელიც არის წამყვანი ჩაშენებული შენახვის პროგრამული უზრუნველყოფა, უფრო სწორად, ფაილური სისტემები ბაზარზე. ჩვენი პროგრამული უზრუნველყოფა ფლობს მილიარდზე მეტ მოწყობილობას და მისი ნახვა შესაძლებელია უახლეს ფლაგმანურ ტელეფონებში, მანქანებში, მარშრუტიზატორებში, თვითმფრინავებსა და კამერებში. კომპანიის ისტორია დაიწყო NTFS-3G-ით, როდესაც ჩვენმა პრეზიდენტმა და CTO Szabolcs “Szaka” Szakactics-მა შექმნა NTFS Linux მოწყობილობებთან მუშაობისთვის. ამჟამად, ჩვენ ვავითარებთ საკუთარ ფაილურ სისტემებს და დანერგვას როგორც გარე, ასევე ჩაშენებული შენახვისთვის და ვმუშაობთ საავტომობილო კომპანიების უმეტესობასთან, ისევე როგორც სმარტფონების ბევრ კომპანიასთან.

აქ Tuxera-ში ჩვენ საკმაოდ ხშირად ვესტუმრებით XDA ფორუმებს, განსაკუთრებით მაშინ, როდესაც ვხსნით ავარიულ მოწყობილობას ან ვპოულობთ მორგებულ ROM-ს/კერნელს სათამაშოდ. ბევრი ჩემი კოლეგა ხშირად სტუმრობს XDA-ს, რათა წაიკითხოს უახლესი ღრმა ტექნიკური სიახლეები Android და Linux ეკოსისტემების შესახებ.

კითხვა: ფაილური სისტემები ჩვენი მოწყობილობების განუყოფელი ნაწილია, მაგრამ ძალიან ცოტამ იცის მათი როლის, გაუმჯობესებების, ძლიერი და სუსტი მხარეების შესახებ. რა არის ეს საჩუქარი და რატომ უნდა დაინტერესდეს უფრო მეტი ადამიანი ფაილური სისტემებით, რომლებიც აერთიანებს მათ მონაცემებს?

პასუხი: ფაილური სისტემები Linux-ის ბირთვის სასიცოცხლო ელემენტია, რომელიც პასუხისმგებელია მოწყობილობასა და მის საცავს შორის არსებულ ყველა ურთიერთქმედებებზე. ყოველ ჯერზე, როცა იღებთ სურათს, ხსნით აპს ან უყურებთ ვიდეოს – ფაილური სისტემა თამაშობს მთავარ როლს OS-ისთვის, რომ წვდომა და შეინახოს ყველა ფაილი. ფაილური სისტემები გარკვეული პერიოდის განმავლობაში არც თუ ისე საინტერესო იყო, მთავარი მიზეზი ის არის, რომ შესრულების შეფერხება მეხსიერებიდან მოდიოდა.

მაგრამ იმის გამო, რომ ფლეშის სიჩქარე ძალიან სწრაფია, განსაკუთრებით UFS-ის დანერგვით, ახლა ეს არის პროგრამული უზრუნველყოფა, რომელიც საჭიროებს მოდერნიზებას, რომ არ დარჩეს ფლეშის შესრულება. ფაილურ სისტემას არა მხოლოდ შეუძლია გავლენა მოახდინოს შენახვის სიჩქარეზე, არამედ ის ასევე მნიშვნელოვან როლს ასრულებს ტელეფონის მუშაობის გრძელვადიან პერსპექტივაში. არასწორად გაკეთების შემთხვევაში, საცავი დაიშლება, ფენომენი, რომლის დროსაც შენახვის არაეფექტურმა გამოყენებამ შეიძლება შეამციროს მოწყობილობის მუშაობა. ასეთი შესაძლებლობის მინიმუმამდე შემცირება ფაილური სისტემის მნიშვნელოვანი მახასიათებელია.

კითხვა: რა არის F2FS (პრაიმერი) და რატომ დაიწყო მან Android-ისკენ მიმავალი გზა? რომელი OEM იყო წამყვანი ბრალდებით?

პასუხი: F2FS არის ღია კოდის ფაილური სისტემა, ძირითადი ტემპით, რომ ის განკუთვნილია ფლეშ შენახვის არქიტექტურისთვის. NAND საცავი (flash) გამოიყენება ყველა მიმდინარე Android ტელეფონში, როგორც წესი, როგორც eMMC ან UFS გადაწყვეტილებები. პროექტი თავდაპირველად შეიმუშავა Samsung-მა და მოიპოვა დიდი ინტერესი ზოგიერთი მობილური OEM-ის მხრიდან. ჩვენ არ გვაქვს მონაცემები, რომელ OEM-ებმა დაიწყეს ეს ცვლა. მაგრამ, რაც მე ვიცი, პირადად, Motorola იყო პირველი, ბევრი სხვა OEM, როგორიცაა OnePlus და Huawei, მალევე მოჰყვა ამ ცვლილებას.

კითხვა: რა უპირატესობები ჰქონდა მას? OEM-ები ასახელებენ შენახვის უფრო სწრაფ ოპერაციებს და ინტერფეისის მუშაობას, მაგრამ არის თუ არა რაიმე სხვა უპირატესობა?

A: მოედანი საკმაოდ მარტივი იყო, F2FS მოაქვს უმაღლესი შესრულება ფლეშზე დაფუძნებულ საცავში. თქვენი სისტემა ჩაიტვირთება უფრო სწრაფად (სწრაფი წაკითხვის სიჩქარე), ჩაწერის სიჩქარე უფრო მაღალი იქნება, რაც საშუალებას მოგცემთ ჩაიწეროთ მძიმე 4K, მაღალი კადრების სიხშირე შენელებული მოძრაობით და 360 გრადუსიანი ვიდეოები. გარდა ამისა, სისტემასა და მეხსიერებას შორის შეყოვნება იქნება ულტრა დაბალი, რაც იმას ნიშნავს, რომ ანიმაცია და გახსნის აპლიკაციები ბევრად უფრო მყუდრო იქნება.

კითხვა: საკითხები, კონკრეტულად, როგორც ჩანს, კონცენტრირებულია დამამცირებელ შესრულებაზე. შეგიძლია უფრო ღრმად ამიხსნა? რა არის მიზეზი?

პასუხი: F2FS-ის იდეა მართლაც შესანიშნავი იყო ფლეშ მოწყობილობებისთვის რაც შეიძლება სწრაფად მუშაობის მისაღწევად. მაგრამ ასევე მნიშვნელოვანია გრძელვადიან პერსპექტივაში შესრულებაზე ფოკუსირება. აპარატურა ყოველთვის შეიძლება სწრაფად გამოვიდეს, მაგრამ ამ სიჩქარის მუდმივად შენარჩუნება გაცილებით რთული გამოწვევაა. Android-ის გამოყენების შემთხვევაში, მოწყობილობის მეხსიერება უმეტეს დროს თითქმის სავსეა და ათასობით წაკითხვის ჩაწერის ოპერაცია ხდება ზოგჯერ წამშიც კი. ბევრი პოპულარული აპლიკაცია აწარმოებს სერვისებს ფონზე, ეს ნიშნავს, რომ აპლიკაცია აკეთებს წაკითხვის/ჩაწერის ოპერაციებს მაშინაც კი, როდესაც თქვენ არ ხსნით მას. თუ არასწორად გაკეთდა, ჩაწერის ოპერაციებმა შეიძლება მკვეთრად გაზარდოს მეხსიერების ფრაგმენტაცია, რაც ყოველი შემდეგი წაკითხვის/ჩაწერის ოპერაციას კიდევ უფრო შენელდება.

ჩვენ ვხედავთ მეხსიერების ფრაგმენტაციას, როგორც Android მოწყობილობებში მუშაობის დაქვეითების ერთ-ერთ მიზეზს. ახლა რაც უნდა განისაზღვროს არის თუ არა პრობლემები გამოწვეული ტექნიკის თავსებადობით და როგორ მუშაობს ფაილური სისტემა შენახვა სხვადასხვა OEM-დან, ან ფოკუსირებულია თუ არა F2FS არქიტექტურა საწყის სიჩქარეზე, და ეს გავლენას ახდენს გრძელვადიან პერსპექტივაზე შესრულება. პრობლემები ასევე შეიძლება გამოწვეული იყოს შეცდომებით, რადგან ფაილური სისტემა ჯერ კიდევ დამუშავების პროცესშია.

Q: არის თუ არა სხვა შესრულების ან სანდოობის საკითხები, რომლებიც ნაკლებად ცნობილია?

პასუხი: ერთი საინტერესო რამ, რაც აღმოვაჩინეთ, არის ის, რომ F2FS-ს აქვს მოულოდნელი ზედნადები, სულ მცირე რამდენიმე ასეული მბ თქვენი საცავი ქეშირებისა და შენახვის შესანარჩუნებლად. ეს ნამდვილად ლოგიკურია, თუ თქვენ გაქვთ 64 GB მეხსიერება ან მეტი, მაგრამ ბიუჯეტის ტელეფონებზე 8 GB, 16 GB ROM ზომის, ეს შეიძლება იყოს პრობლემა.

მთავარი დასკვნა ის არის, რომ F2FS-ის ამჟამინდელი დანერგვა შესანიშნავია მხოლოდ წასაკითხი გარემოებისთვის, როდესაც გსურთ უფრო მაღალი სიჩქარის მიღწევა. F2FS-ს სჭირდება ფოკუსირება მისი გრძელვადიანი მეხსიერების მუშაობის გაუმჯობესებაზე მცირე ფაილებთან მაღალი ურთიერთქმედებისას, რადგან ასე ხდება Android-ის გარემოში.

ეს გარკვეულწილად თეორიების ბრძოლაა. თქვენ შეგიძლიათ წარმოიდგინოთ, რომ ტექნიკის შესრულება იმდენად სწრაფია, რომ დეგრადაცია არ იქნება პრობლემა. ან თქვენ უყურებთ მას საპირისპიროდ, სადაც აპარატურა იმდენად სწრაფია, რომ ცოტა ნელი შესრულება, რომელიც შეიძლება შენარჩუნდეს გრძელვადიან პერსპექტივაში, არის ის, რაც უნდა მიაღწიოთ. F2FS-მა აირჩია პირველი მიდგომა და აქ არასწორი ვარიანტები არ არის, ეს არის მნიშვნელოვანი ექსპერიმენტის გაკეთება და სწავლის მრუდი მთელი ინდუსტრიისთვის. როგორც ითქვა, რასაც ჩვენ ამჟამად ვხედავთ, არის ის, რომ გრძელვადიანი შესრულება ახლა მთავარი აქცენტი უნდა იყოს.

Q: ზოგიერთმა OEM-მა უარი თქვა F2FS-ის გამოყენებაზე, ხოლო სხვები, როგორიცაა Huawei, კვლავ უჭერენ მხარს F2FS-ს ბოლო მოწყობილობებზე. როგორ ფიქრობთ, არსებობს რაიმე ტენდენცია? (ნელი მიღება, ან სრული მიტოვება)

პასუხი: არსებობს მრავალი სცენარი, თუ რატომ გააგრძელებენ OEM-ები F2FS-ის გამოყენებას.

  • OEM-ს შეიძლება ჰქონდეს F2FS-ის საკუთარი იმპლემენტაცია, რომელიც ცნობილ საკითხებს გარკვეულ ასწორებს.

  • OEM-ს შეიძლება ჰქონდეს ძალიან კარგი კავშირი ფლეშ მეხსიერების მწარმოებელთან, რადგან აქვს წვდომა NAND-ის FTL ფენაზე და ტუნინგზე. ფაილურ სისტემას, რომელიც კარგად მუშაობს აპარატურასთან, შეუძლია მნიშვნელოვანი გაუმჯობესების მოტანა, მათ შორის ფლეშის ფრაგმენტაციაში შენახვა.

  • OEM-ს შეუძლია ამჯობინოს ფოკუსირება ტელეფონის თავდაპირველ შესრულებაზე, რადგან სმარტფონის სიცოცხლის საშუალო ციკლი დაახლოებით 2 წელია და როცა ტელეფონი ნელდება, ისინი უკვე ყიდულობენ ახალს.

  • OEM-ს ასევე შეიძლება ჰქონდეს დეფრაგმენტაციის სერვისის გაშვება, ამან შეიძლება ნაწილობრივ გადაჭრას F2FS-ის პრობლემები.

ეს არის რამდენიმე შესაძლო სცენარი, ამავდროულად, ჩვენ ვხედავთ, რომ ზოგიერთი OEM უკვე არის დავუბრუნდეთ Ext4-ის გამოყენებას, მაგალითად OnePlus 3T იყენებდა F2FS-ს, მაგრამ OnePlus-ის ყველა ახალი მოდელი იყენებს Ext4.

კითხვა: F2FS-ს ამჟამად ესაჭიროება დეფრაგმენტაციის გადაწყვეტა, რომელსაც შეუძლია გადაჭრას პრობლემა, რომელიც ამჟამად ჩნდება F2FS-თან.

პასუხი: დეფრაგმენტაციის ხელსაწყოები არსებობდა გარკვეული პერიოდის განმავლობაში, მთავარი უპირატესობა ის არის, რომ მათ შეუძლიათ მეხსიერების ბლოკების გადანაწილება/გადაწერა, რათა შეამცირონ მეხსიერების ფრაგმენტაცია. მაგრამ ამ მიდგომის პრობლემა ის არის, რომ თქვენ გადაწერთ ფლეშ მეხსიერების უჯრედებს, რაც ამცირებს შენახვის ხანგრძლივობას. საუკეთესო სცენარი პირველ რიგში იქნება მონაცემების ჭკვიანურად ჩაწერა. ზიანის კონტროლის გაკეთება არ არის გამოსავალი.

იფიქრეთ იმაზე, როგორც ოთახში არეულობა, ირგვლივ ბევრი ნივთის გადაყრით და შემდეგ უჯრებში მათი დალაგებით. რატომ არ გააკეთე ეს მაშინვე?

Q: მოახერხეს თუ არა OEM-ებმა წინააღმდეგობა გაუწიონ ან გადაწყვიტონ F2FS-ის შემაკავებელი ზოგიერთი საკითხი? მაგალითად, Huawei უარყოფს დამამცირებელ შესრულებას და დროთა განმავლობაში ავრცელებს უფრო სწრაფ UX-ს, ნაწილობრივ მათი „AI“-ს წყალობით.

პასუხი: კარგად, თუ AI-ს შეუძლია გააანალიზოს შენახვის ქცევა და გადაწეროს ფაილური სისტემა, რომ იმუშაოს კონკრეტულ ფლეშ მოწყობილობაზე, ამან შეიძლება გადაჭრას ფრაგმენტაციის საკითხები. AI-ს ასევე შეუძლია გაანალიზოს რომელ აპებს ან ფუნქციებს იყენებს ადამიანი ძირითადად და წინასწარ ჩატვირთოს/შენახოს ისინი შესაბამისად - ტელეფონის ფუნქციები უფრო მყუდროდ იგრძნობა, რაც არ გადაჭრის ფრაგმენტაციის საკითხს თუმცა. ჩემი მთავარი ვარაუდი ისაა, რომ ოპტიმიზაციის უმეტესობა დაკავშირებულია მომხმარებლის სივრცესთან და არა ღრმა ტექნიკური ფაილური სისტემის ოპტიმიზაცია.

Q: რა არის სხვა საინტერესო ფაილური სისტემის განვითარება, რომელიც უნდა ვიცოდეთ? როგორ იმოქმედებენ ისინი მომხმარებლის გამოცდილებაზე, თუნდაც დახვეწილ ან დაბალ დონეზე?

პასუხი: F2FS და Ext4 ჯერ კიდევ ძალიან სასიცოცხლოდ მნიშვნელოვანია და არის ფაილური სისტემები ღია კოდისთვის. Ext4 უფრო მომწიფებული და საიმედოა, მაგრამ შესაძლოა შეზღუდოს ფლეშის შესრულება; F2FS უფრო სწრაფია, მაგრამ ასევე უფრო ექსპერიმენტული. მთელი სიტუაცია, როდესაც პროგრამული უზრუნველყოფა ხდება ბოთლი, არის ის, რაც ფაილურ სისტემებს კვლავ ამაღელვებელს ხდის. ჩვენ გადავდივართ ყოველი წამიდან, ყოველი მილიწამის რაოდენობამდე, გარემო და ფაილური სისტემები მნიშვნელოვან როლს შეასრულებენ მუშაობის ამ ამაღლებაში. ფაილური სისტემებისთვის ყველაზე საინტერესო განვითარება იქნება ჭეშმარიტად ფლეშ ოპტიმიზებული გადაწყვეტის შექმნა, რომელსაც შეუძლია შეინარჩუნოს ფლეშის შესრულება.

Tuxera-ში ჩვენ ვავითარებთ Tuxera Flash File System-ს, სადაც ვაკეთებთ ისეთ რამეებს, როგორიცაა აპარატურის სპეციფიკური პროგრამული უზრუნველყოფა ოპტიმიზაცია, რომელიც უზრუნველყოფს ფაილური სისტემის ოპტიმიზებას კონკრეტული მოწყობილობისთვის, გამოყენების შემთხვევაში და ფლეშისთვის მეხსიერება. საავტომობილო წარმოებაში ყოფნისას, ჩვენ ძირითადად ფოკუსირებული ვართ ფლეშ მეხსიერების გრძელვადიან შესრულებაზე და დეგრადაციაზე. ეს უფრო ოპტიმიზაციის ტექნიკის x პროგრამული ტიპისაა, რომელზეც სტივ ჯობსი საუბრობდა. მანქანათმცოდნეობის გამოყენება ასეთი „დრაივერების“ შესაქმნელად არის ის, რაც, ჩვენი აზრით, შეიძლება მართლაც საინტერესო იყოს შენახვის მთელი ინდუსტრიისთვის.

კითხვა: ჩვენი ფიზიკური ფლეშ საცავი ასევე აჩქარებს, როგორ ხედავთ ამ ფაქტს გავლენას როგორც საბოლოო მომხმარებლის გამოცდილებაზე, ასევე ფაილური სისტემების მომავალზე?

პასუხი: რაც უფრო სწრაფად ხდება აპარატურა, პროგრამულმა უზრუნველყოფამ უნდა უზრუნველყოს, რომ მას შეუძლია დაიცვას ამ მოწინავე აპარატურის არქიტექტურა, ეს არის მთავარი გამოწვევა ფაილური სისტემების გადასაჭრელად ამჟამად. თქვენ შეიძლება გქონდეთ მოწყობილობის წაკითხვისა და ჩაწერის წარმოუდგენელი მახასიათებლები, მაგრამ თუ პროგრამული უზრუნველყოფის დასტას მოაქვს დამატებითი შეყოვნება - მომხმარებლის გამოცდილება არ იგრძნობა ისეთი მყიფე. ეს არის საინტერესო დრო ფაილური სისტემის განვითარებისთვის, რადგან აშკარაა საჭირო უფრო სწრაფი, სწრაფი და კიდევ უფრო საიმედო ტექნოლოგია მობილურისთვის.

მაგრამ რაც უფრო სწრაფად ხდება ფლეში, მთავარი კითხვა ჩნდება, რა არის სიჩქარე, რომლის დროსაც შესრულება ხდება შეუსაბამო? იფიქრეთ იმაზე, როგორც Retina ეკრანის გარჩევადობა, სადაც პიქსელის მაღალი სიმკვრივე ნამდვილად არ ხდის სურათს უფრო მკვეთრს ადამიანის თვალისთვის.

კითხვა: გმადლობთ დროისთვის.

A: მადლობა!