PĂ«rkthimi i reflektimeve tĂ« Teodor Tsâo (Theodore Tsâo), krijuesit tĂ« sistemit tĂ« skedarĂ«ve Ext4, mbi zhvillimin e ext4, sistemin e skedarĂ«ve BcacheFS, bĂ«rthamĂ«n e Linux-it, ZFS, kodin e sjelljes dhe sistemet e skedarĂ«ve nĂ« pĂ«rgjithĂ«si:
Rreth zhvillimit të ext4.
Ădo lĂ«shim i bĂ«rthamĂ«s ext4 Ă«shtĂ« rezultat i punĂ«s sĂ« mĂ« shumĂ« se gjashtĂ« personave. Aktualisht, shumica e kohĂ«s time shpenzohet nĂ« rishikimin e kodit, kryerjen e testeve dhe pĂ«rmirĂ«simin e aplikacionit tĂ« testeve {kvm,gce,qemu,android}-xfstests. Dhe mbĂ«shtetem shumĂ« nĂ« 2-3 zhvillues tĂ« tjerĂ« qĂ« punojnĂ« nĂ« SUSE dhe IBM, tĂ« cilĂ«t mĂ« ndihmojnĂ« me rishikimin e kodit.
Rreth BcacheFS
NĂ«se jemi tĂ« sinqertĂ«, bcachefs nuk Ă«shtĂ« njĂ« projekt krejtĂ«sisht i vetĂ«m â pĂ«r shembull, Kent ka qenĂ« autori i 72% tĂ« patch-eve midis lĂ«shimeve tĂ« kernelit 6.11 dhe 6.12, ndĂ«rsa nga 103 patch-e pĂ«r ext4 gjatĂ« tĂ« njĂ«jtit periudhĂ« kohore, unĂ« kam qenĂ« autor i saktĂ«sisht 0%. Kjo Ă«shtĂ« sepse unĂ« besoj fort se programimi Ă«shtĂ« njĂ« sport ekipor, dhe roli im si drejtor teknik Ă«shtĂ« tĂ« lejoj pjesĂ«marrĂ«sit e ext4 tĂ« bĂ«jnĂ« çdo gjĂ« tĂ« mundshme pĂ«r tĂ« pĂ«rmirĂ«suar sistemin e skedarĂ«ve. Ne mbajmĂ« konferenca çdo javĂ«, dhe Derrick Wong, zhvilluesi senior i XFS dhe ish-shtypshkrues i XFS, merr pjesĂ« nĂ« kĂ«to konferenca â dhe, siç dihet, unĂ« e kam ndihmuar atĂ« me çështjet e testimit tĂ« XFS, ndĂ«rsa Derrick mĂ« ka ndihmuar mua me çështjet e ndryshme tĂ« testimit tĂ« ext4 dhe madje ka shqyrtuar disa patch-e tĂ« ext4. Ne bashkĂ«punojmĂ« me njĂ«ri-tjetrin, dhe kjo Ă«shtĂ« e mirĂ«.
UnĂ« u jap tĂ« tjerĂ«ve mundĂ«sinĂ« tĂ« vendosin nĂ«se duan t'i besojnĂ« tĂ« dhĂ«nat e tyre njĂ« programuesi tĂ« vetĂ«m, i cili mund tĂ« jetĂ« mĂ« i talentuar se unĂ«, por do t'ju jap njĂ« kĂ«shillĂ« â mund tĂ« "mashtrosh", duke sjellĂ« njĂ« ekip pĂ«r tĂ« zgjidhur problemin. Nuk Ă«shtĂ« e domosdoshme ta bĂ«ni kĂ«tĂ« vetĂ«. Sigurisht, pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ« duhet tĂ« dini si tĂ« zgjoni mĂ« tĂ« mirĂ«n nga tĂ« tjerĂ«t, dhe duhet tĂ« punoni sĂ« bashku. Po ashtu, njĂ« sjellje e sjellshme ndaj njĂ«ri-tjetrit nĂ« listat e diskutimeve nuk do dĂ«mtonte.
Rreth bërthamës, CoC, mundësive dhe të ardhmes së ext4
Ext4 vërtet fiton disa funksione të reja, por ato janë ato që kompanitë janë të gatshme t'i financojnë, sepse kthimi i investimit për zhvillimin e funksioneve ka kuptim nga pikëpamja e kostove dhe përfitimeve. Për shembull, fscrypt dhe katalogët pa regjistrim ishin funksione të dobishme për Android dhe Chrome OS, dhe janë financuar, të paktën pjesërisht, nga këto grupe zhvilluesish (Steam gjithashtu ishte i shqetësuar për një zhvendosje të regjistrit dhe mbështeti një nga inxhinierët). Ne dëshirojmë të shtojmë mbështetje për shkruarjen pa ndërprerje, sepse kjo do të përmirësojë performancën e bazave të të dhënave në pajisjet e imituara të bllokut në cloud, ku mund të garantohen 16k regjistrime atomike, duke eliminuar nevojën për dyfisht të tamponizimit në MySQL dhe PostgreSQL.
(Në të vërtetë, Amazon dhe Google mund ta bëjnë këtë në produktet e tyre të DBMS, duke bërë supozime mbi mënyrën se si funksionojnë Amazon EBS dhe Google Persistent Disk, por ne duam ta bëjmë këtë në një mënyrë më të përgjithshme, që do të jetë më e mbështetur në afat të gjatë). Kjo është më pak tërheqëse se gjëra të tilla si reflinks, por kthimi i investimeve është shumë më i lehtë për t'u justifikuar, si për shkak të kostove më të ulta (më pak punë për zhvillim, testim dhe kualifikim për implementimin e korporatave), ashtu edhe për shkak se përfitimet janë shumë më të lehta për t'u vlerësuar në mënyrë të saktë. Gjëra si 'mund të kursej koston e pagës për XX inxhinierë të programit gjatë pesë vjetëve' janë shumë më të lehta për të bërë për këtë lloj funksionaliteti që rrit produktivitetin.
Në dallim nga kjo, reflinks janë të këndshme, por nuk mund të gjej një klient që është i gatshëm të paguajë shpenzimet për zhvillimin, ose një kompani që mendon se klientët e tyre do të blejnë më shumë nga produkti i tyre nëse ata shtojnë reflinks në ext4. Kjo mund të duket jashtëzakonisht korporative, por ka një histori për inxhinierët e ZFS që filluan një projekt nga e para, pa kërkuar leje nga drejtimi dhe pa marrë sugjerime nga departamenti i shitjeve, dhe i paraqitën Sun-it atë që ishte në fakt një fakt i kryer.
DĂ«gjohet mirĂ«, por kur e kujtojmĂ« se nĂ« fund Sun filloi tĂ« humbiste para derisa ishte e detyruar tĂ« shitej tek njĂ« kompani tjetĂ«r, dhe faktikisht organizata inxhinierike qĂ« mbĂ«shteste ZFS nuk ekziston mĂ«. NĂ« atĂ« kohĂ«, kur u njoftua ZFS, unĂ« isha pjesĂ«marrĂ«s nĂ« njĂ« studim tĂ« kompanisĂ« pĂ«r tĂ« asistuar nĂ«se kishte kuptim tĂ« investonim nĂ« tiparet e sistemit tĂ« skedarĂ«ve pĂ«r AIX dhe Linux â dhe arritĂ«m nĂ« pĂ«rfundimin se jo, kthimi i investimit ishte i vogĂ«l, dhe tiparet e reja tĂ« sistemit tĂ« skedarĂ«ve nuk do tĂ« çonin nĂ« njĂ« rritje tĂ« numrit tĂ« klientĂ«ve qĂ« blinin pajisje, software ose sisteme IBM. Mund tĂ« ishte njĂ« kohĂ« e vĂ«shtirĂ« pĂ«r IBM, por ajo ende ekziston, ndĂ«rsa Sun jo.
Ajo kohë shënon gjithashtu momentin kur përfaqësuesit e disa kompanive Linux u mblodhën së bashku për të diskutuar sesi Linux do të konkurronte me ZFS. Në atë takim u propozuar ideja se btrfs do të ishte përgjigjja afatgjatë, ndërsa ext4 do të ishte një zgjidhje afatshkurtër, e cila do të sigurojë mbështetje për gjëra si ndryshimi i madhësisë në kohë reale, numra bllokesh 64-bit dhe gjëra të tjera që ishin në sistemet tradicionale të Unix Legacy dhe nuk ishin në ext3.
Në atë takim, më kërkuan të përcaktoj se çfarë do të nevojitej për të krijuar një sistem të ri skedarësh. Unë bëra një studim, duke parë sa përpjekje ishin kërkuar për të krijuar sisteme skedarësh të tillë si GPFS dhe JFS nga IBM, advfs nga Digital, vlerësova sa kishte kërkuar Sun për të krijuar ZFS dhe për të çuar këtë sistem skedarësh në një gjendje plotësisht të gatshme për prodhim. Përgjigjja që mora ishte rreth 100 veta-vite, me një vlerësim të ulët në 50 veta-vite dhe një vlerësim të lartë në 200 veta-vite (por kjo ishte për GPFS, e cila ishte një sistem skedarësh klastra, dhe për këtë arsye shumë më e komplikuar).
Unë e informova këtë në mbledhje, dhe një inxhinier i lartë nga Intel tha: «Jo, mos e thoni këtë për drejtuesit, sepse ata kurrë nuk do ta miratojnë projektin! Thuajini atyre se btrfs do të jetë gati brenda 18 muajsh». Unë i lejojnë njerëzit të vendosin vetë se kur btrfs arrin statusin e «gatishmërisë për përdorim korporativ», veçanërisht për ato funksione të reja tërheqëse që duhej të konkuronin me ZFS, por nuk mendoj se është e diskutueshme se kjo nuk ndodhi brenda 18 muajsh.
Ed edhe para se Sun të shpërbëhej, shumë kompani që dërguan përfaqësuesit e tyre në takim refuzuan pjesëmarrjen e inxhinierëve në punën mbi btrfs, dhe padyshim, kjo nuk ndihmoi. Por, ndoshta, kjo kishte të bënte me faktin se kompanitë janë organizata racionaliste që marrin vendime për shfrytëzimin e investimeve, dhe financimi i një sistemi të ri skedarësh nuk kishte po aq kuptim sa t'u thuash njerëzve se Linux do të kishte një përgjigje për ZFS.
Duke u kthyer pas, mund të thuhet se, ndonëse ZFS kishte këto karakteristika vërtet të mrekullueshme, ato ishin të pamjaftueshme për të bërë që shumica e përdoruesve të zgjidhnin Solaris në krahasim me blerjen e platformave x86 shumë më të lira dhe instalimin e Linux. Dhe deri në atë kohë, kur Sun vendosi të provonte strategjinë OpenSolaris dhe Solaris x86, ishte tepër vonë. Efektet rrjetërore ishin të mëdha, dhe strategjia x86 nuk jepte përgjigje për pyetjen se si një kompani, Sun, mund të paguante pagat e gjithë inxhinierëve super të talentuar që punonin mbi Solaris. Blerja e një serveri x86 për 5000 dollarë nuk ofron një kthim të madh të investimit krahasuar me serverin SunFire E10k Sparc për 100000 dollarë, të cilin Sun e quante «pikë» në «dot Com».
The essence is that engineering in the real world is a compromise, and business realities are part of that compromise. I do not apologize for preferring to eat well, and for wanting to earn enough money to eventually retire. This, in turn, means I need to understand how I contribute to my employer's success by at least 10 times my salary. If I can achieve this while continuing to work with open source and helping other companies make money so they are willing to contribute to ext4, well, that's part of the challenge and why I love working with open source.
Dhe, duke u kthyer te Kodi i sjelljes, do të them se pothuajse të gjithë mirëmbajtësit e sistemeve kryesore të skedarëve mbështetën Kodin jo për ndonjë arsyesh të dobëta liberale. Kjo është sepse na nevojitet çdo inxhinier i gatshëm të kontribuojë në projektin tonë, dhe shumica nga ne kemi parë njerëz që janë hequr dorë nga puna në Linux dhe janë kaluar në sisteme të tjera operative (e di për një person që kaloi në Windows dhe ishte një zhvillues i çmuar i bërthamës Linux në IBM Linux Technology Center) ose punonin në projekte të brendshme, por jo në ato që kërkonin bashkëpunim me LKML, për shkak të një ambienti toksik nga disa njerëz në listën e postimeve.
NĂ« disa raste, shqetĂ«simet ishin tĂ« pabaza; pĂ«r shembull, Linus bĂ«rtiti ndaj njĂ« zhvilluesi mĂ« tĂ« vjetĂ«r qĂ« vĂ«rtet duhej tĂ« kishte ditur mĂ« mirĂ« dhe me tĂ« cilin Linus takoheshin personalisht nĂ« shumicĂ«n e rasteve, dhe kishte marrĂ«dhĂ«nie tĂ« vendosur. Problemi Ă«shtĂ« se fillestarĂ«t nuk e dinin kĂ«tĂ« dhe kishin frikĂ« â "e çfarĂ« nĂ«se Linus mĂ« ndĂ«shkon publikisht ashtu siç bĂ«ri me Steve", pa kuptuar se nĂ« praktikĂ« kjo nuk do tĂ« ndodhte. Kjo Ă«shtĂ« arsyeja pse kemi Kodin e Sjelljes; ai nuk Ă«shtĂ« pĂ«r ne, inxhinierĂ«t e vjetĂ«r, por pĂ«r tĂ« mbĂ«shtetur inxhinierĂ«t mĂ« tĂ« rinj nĂ« ekipet tona, tĂ« cilĂ«t dĂ«shirojmĂ« t'i trajnojmĂ« qĂ« nĂ« njĂ« moment tĂ« ndĂ«rojnĂ« vendin tonĂ« kur vjen koha pĂ«r pensionim, ose na godet njĂ« autobus, ose ndryshe largohemi nga ky botĂ«.
Mos haroni për 50-100 vite punë në krijimin e një sistemi skedarësh të gatshëm për t'u përdorur në një mjedis korporativ. Na nevojiten të gjithë inxhinierët që mund të angazhojmë, dhe shumë prej nesh kryejnë punë shtesë në kohën e lirë, sepse na intereson. Krijimi i një sistemi skedarësh me cilësi të lartë është një punë ekipore, dhe na nevojitet çdo inxhinier i talentuar që mund të arrijmë. Edhe nëse një inxhinier është një programues super 10-fish, nëse ai rezulton të frikësojë shumë inxhinierë të tjerë që mund të punonin në testim, optimizimin e përformancës etj., thjesht nuk ia vlen të lejojmë dikë të sillet keq.
Burimi: opennet.ru
