Ke kūkulu nei ʻo Red Hat i kahi ʻōnaehana faila NVFS hou i kūpono no ka hoʻomanaʻo NVM

ʻO Mikuláš Patočka, kekahi o nā mea hoʻomohala o LVM a me ka mea kākau o ka helu o mea hanapili i ka optimization o nā ʻōnaehana mālama, hana ma Red Hat, hoopuka ʻōnaehana faila hou ma ka papa inoa leka uila kernel Linux NVFS, i manaʻo i ka hana ʻana i kahi FS paʻa a wikiwiki hoʻi no nā chips memory non-volatile (NVM, non-volatile memory, no ka laʻana NVDIMM), e hui pū ana i ka hana RAM me ka hiki ke mālama mau i nā ʻike.

Ua noʻonoʻo ʻia ka ʻike o ka FS i ka hoʻomohala ʻana i ka NVFS NOVA, i hana kūikawā no ka hoʻomanaʻo NVM ma 2017, akā ʻaʻole i ʻae ʻia i loko o ka Linux kernel a kaupalena kākoʻo no nā kernels Linux mai 4.13 a i 5.1.
ʻOi aku ka maʻalahi o ka FS NVFS i manaʻo ʻia ma mua o NOVA (4972 laina o ke code versus 21459), hāʻawi i ka pono fsck, ʻoi aku ka kiʻekiʻe o ka hana, kākoʻo i nā ʻano lōʻihi (xattrs), nā lepili palekana, nā ACL a me nā quota, akā ʻaʻole kākoʻo i nā snapshot. Hoʻolālā NVFS kokoke i
Ua kūpono ka ʻōnaehana faila Ext4 i ke kumu hoʻohālike o nā ʻōnaehana waihona e pili ana i ka subsystem VFS, kahi e hiki ai iā ʻoe ke hōʻemi i ka helu o nā papa a hana me kahi module ʻaʻole koi i nā pā i ka kernel.

Hoʻohana ʻo NVFS i ka interface kernel DAX no ke kiʻi pololei ʻana i nā mea hoʻomanaʻo hoʻomau, kaʻalo ʻana i ka cache ʻaoʻao. No ka hoʻokō ʻana i ka hana o ka hoʻomanaʻo NVM byte-addressed, hoʻopaʻa ʻia nā ʻike o ka drive i ke kikowaena laina laina o ka kernel me ka ʻole o ka hoʻohana ʻana i kahi papa hana poloka kuʻuna a me kahi huna waena. Hoʻohana ʻia no ka mālama ʻana i nā maʻiʻo o ka papa kuhikuhi kumu kumu (lāʻau radix) kahi i hoʻopaʻa ʻia ai kēlā me kēia inoa faila a hoʻohana ʻia ka waiwai hash i ka wā e ʻimi ai i ka lāʻau.

Hoʻopaʻa ʻia ka pono o ka ʻikepili me ka "nā mea hou palupalu"(e like me UFS mai FreeBSD a me FFS mai OpenBSD) me ka hoʻohana ʻole ʻana i ka puke pai. I mea e pale aku ai i ka palaho o ka faila ma NVFS, ua hui pū ʻia nā hana hoʻololi ʻikepili ma ke ʻano i hiki ʻole ai i kahi ulia ke alakaʻi i ka nalowale o nā poloka a i ʻole nā ​​inodes, a hoʻihoʻi ʻia ka pono o nā hale me ka hoʻohana ʻana i ka pono fsck. Hoʻohana ʻia ka pono fsck ma ke ʻano multi-threaded a hāʻawi i ka hana hoʻoikaika ikaika o 1.6 miliona inodes i kekona.

В nā hoʻokolohua hana Hana ʻo NVFS i ka hana kope kumu kumu kumu kumu Linux ma ka hoʻomanaʻo NVM ma kahi o 10% ʻoi aku ka wikiwiki ma mua o NOVA, 30% ʻoi aku ka wikiwiki ma mua o ext4, a me 37% ʻoi aku ka wikiwiki ma mua o XFS. Ma ka ho'āʻo hoʻihoʻi ʻikepili, ʻoi aku ka wikiwiki o NVFS ma mua o NOVA e 3%, a ʻo ext4 a me XFS ma 15% (akā me ka cache disk ikaika, ʻo NOVA ka 15% lohi).
Ma ka hoʻāʻo ʻana o ka hana papa kuhikuhi miliona, ʻoi aku ka NVFS ma mua o NOVA ma 40%, ext4 e 22%, a me XFS ma 46%. I ka hoʻohālikelike ʻana i ka hana DBMS, ʻoi aku ka maikaʻi o ka ʻōnaehana faila NVFS iā NOVA ma 20%, ext4 ma 18 mau manawa, a me XFS ma 5 mau manawa. Ma ka ho'āʻo fs_mark, ua like ka hana o NVFS a me NOVA i ka pae like, aʻo ext4 a me XFS i hala ma hope o 3 mau manawa.

ʻO ka lag o nā ʻōnaehana faila maʻamau ma ka hoʻomanaʻo NVM ma muli o ka mea ʻaʻole lākou i hoʻolālā ʻia no ka helu byte, i hoʻohana ʻia i ka hoʻomanaʻo non-volatile, e like me ka RAM maʻamau. ʻO ka heluhelu ʻana mai nā drive maʻamau e hōʻoia i ka atomicity o ka hana ma ka pae heluhelu / kākau ʻana, ʻoiai ʻo NVM hoʻomanaʻo e hāʻawi i ke komo ma ka pae o nā huaʻōlelo mīkini hoʻokahi. Eia kekahi, ho'āʻo nā ʻōnaehana faila kuʻuna e hōʻemi i ka ikaika o ke komo ʻana i ka media, i manaʻo ʻia ʻoi aku ka lohi ma mua o ka RAM, a e hoʻāʻo pū i nā hana pūʻulu e hōʻoia i ka heluhelu ʻana i ka wā e hoʻohana ai i nā paʻakikī paʻakikī, kaʻina noiʻi queues, hakakā fragmentation a hoʻokaʻawale i ka. nā mea nui o nā hana like ʻole. No ka hoʻomanaʻo NVM, ʻaʻole pono ia mau hoʻopiʻi, no ka mea, ua hoʻohālikelike ʻia ka wikiwiki o ka loaʻa ʻana o ka ʻikepili me RAM, a ʻaʻohe mea nui ke kauoha komo.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka