Mae Red Hat yn datblygu system ffeiliau NVFS newydd sy'n effeithlon ar gyfer cof NVM

Mikuláš Patočka, un o ddatblygwyr LVM ac awdur nifer o dyfeisiadauyn ymwneud ag optimeiddio systemau storio, gweithio yn Red Hat, cyflwyno system ffeiliau newydd ar restr bostio datblygwr cnewyllyn Linux NVFS, gyda'r nod o greu FS cryno a chyflym ar gyfer sglodion cof nad yw'n anweddol (NVM, cof anweddol, er enghraifft NVDIMM), gan gyfuno perfformiad RAM gyda'r gallu i storio cynnwys yn barhaol.

Ystyriwyd profiad yr FS wrth ddatblygu NVFS NEWYDD, a grëwyd yn benodol ar gyfer cof NVM yn 2017, ond heb ei dderbyn i'r cnewyllyn Linux a cyfyngedig cefnogaeth ar gyfer cnewyllyn Linux o 4.13 i 5.1.
Mae'r FS NVFS arfaethedig yn llawer symlach na NOVA (4972 o linellau cod yn erbyn 21459), yn darparu'r cyfleustodau fsck, mae ganddo berfformiad uwch, mae'n cefnogi priodoleddau estynedig (xattrs), labeli diogelwch, ACLs a chwotâu, ond nid yw'n cefnogi cipluniau. Pensaernïaeth Mae NVFS yn agos at
Mae system ffeiliau Ext4 yn cyd-fynd yn dda â'r model o systemau ffeiliau sy'n seiliedig ar yr is-system VFS, sy'n eich galluogi i leihau nifer yr haenau a gwneud y tro gyda modiwl nad oes angen clytiau i'r cnewyllyn arno.

Mae NVFS yn defnyddio'r rhyngwyneb cnewyllyn DAX ar gyfer mynediad uniongyrchol i ddyfeisiau cof parhaus, gan osgoi storfa'r dudalen. Er mwyn gwneud y gorau o weithrediad cof NVM â chyfeiriad byte, mae cynnwys y gyriant yn cael ei fapio i ofod cyfeiriad llinellol y cnewyllyn heb ddefnyddio haen dyfais bloc traddodiadol a storfa ganolraddol. Defnyddir i storio cynnwys cyfeiriadur coeden sail (coeden radix) lle mae enw pob ffeil wedi'i stwnsio a'r gwerth hash yn cael ei ddefnyddio wrth chwilio'r goeden.

Sicrheir cywirdeb data gan ddefnyddio’r “diweddariadau meddal“(fel yn UFS o FreeBSD a FFS o OpenBSD) heb ddefnyddio cyfnodolyn. Er mwyn osgoi llygredd ffeiliau yn NVFS, mae gweithrediadau newid data yn cael eu grwpio yn y fath fodd fel na all damwain arwain at golli blociau neu inodau, ac mae uniondeb strwythurau yn cael ei adfer gan ddefnyddio'r cyfleustodau fsck. Mae'r cyfleustodau fsck yn gweithredu mewn modd aml-edau ac yn darparu perfformiad 'n Ysgrublaidd o 1.6 miliwn inodes yr eiliad.

В profion perfformiad Perfformiodd NVFS weithrediad copi coeden ffynhonnell cnewyllyn Linux ar gof NVM tua 10% yn gyflymach na NOVA, 30% yn gyflymach nag ext4, a 37% yn gyflymach na XFS. Yn y prawf adalw data, roedd NVFS yn gyflymach na NOVA o 3%, ac ext4 a XFS gan 15% (ond gyda storfa disg gweithredol, roedd NOVA 15% yn arafach).
Yn y prawf gweithrediadau cyfeiriadur miliwn, perfformiodd NVFS yn well na NOVA o 40%, ext4 o 22%, a XFS o 46%. Wrth efelychu gweithgaredd DBMS, perfformiodd system ffeiliau NVFS yn well na NOVA o 20%, ext4 18 gwaith, a XFS 5 gwaith yn well. Yn y prawf fs_mark, roedd perfformiad NVFS a NOVA fwy neu lai ar yr un lefel, tra bod ext4 a XFS ar ei hôl hi tua 3 gwaith.

Mae oedi systemau ffeil traddodiadol ar gof NVM oherwydd y ffaith nad ydynt wedi'u cynllunio ar gyfer mynd i'r afael beit, a ddefnyddir mewn cof anweddol, sy'n edrych fel RAM rheolaidd. Mae darllen o yriannau confensiynol yn sicrhau atomigedd y gweithrediad ar lefel darllen/ysgrifennu sector, tra bod cof NVM yn darparu mynediad ar lefel geiriau peiriant unigol. Yn ogystal, mae systemau ffeiliau traddodiadol yn ceisio lleihau dwyster mynediad i'r cyfryngau, sy'n cael ei ystyried yn amlwg yn arafach na RAM, a hefyd yn ceisio grwpio gweithrediadau i sicrhau darllen dilyniannol wrth ddefnyddio gyriannau caled, proses ciwiau ceisiadau, ymladd darnio a gwahanu'r blaenoriaethau gweithrediadau gwahanol. Ar gyfer cof NVM, mae cymhlethdodau o'r fath yn ddiangen, gan fod cyflymder mynediad data yn debyg i RAM, ac nid yw'r gorchymyn mynediad o bwys.

Ffynhonnell: opennet.ru

Ychwanegu sylw