Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

MiniDevicesInfo

Апгрэйды ПК / Новыя распрацоўкі

Тэхналогіі 21-га стагоддзя імкліва рухаюцца наперад. Адна з такіх тэхналогій - SSD, закліканая змяніць (а на практыцы дапоўніць) састарэлую дыскавую тэхналогію HDD.

Асноўныя вартасці SSD перад HDD ўжо знаёмыя ўсім, гэта - хуткасць доступу, хуткасць доступу да адвольных блокам, паменшаныя габарыты, паменшанае энергаспажыванне і як следства нагрэў.

Нягледзячы на ​​перавагі SSD перад традыцыйнымі дыскамі, гэтай тэхналогіі вельмі шмат гадоў. Я б нават сказаў больш чым жорсткім дыскам, аднак у сілу дарагоўлі, тады (у канцы 70-хх - 80-е) яны каштавалі не ў паўтара-два разы больш звычайных дыскаў, а раз у дваццаць. Пры гэтым вельмі хутка зношваліся і займалі ці ледзь не столькі ж, колькі і матчына плата.

На дадзены момант SSD - гэта фактычна флешка з інтэрфейсам ... а вось мы і плаўна падышлі да галоўнай тэмы. Калі коратка, то інтэрфейс носьбіта інфармацыі - гэта шына са сваімі стандартамі, плюсамі і мінусамі, са сваім наборам каманд, пры дапамозе якой девайс падключаецца да кампутара (цэнтральнаму працэсару, або паўднёваму мосце - не мае значэння). Гэты інтэрфейс - узровень паміж прыладай і аперацыйнай сістэмай, з якім аднолькава паспяхова працуе і прылада і аперацыйная сістэма. Не варта блытаць інтэрфейс з формаў-фактарам раздыма, паколькі інтэрфейс - праграмная штука, а раз'ём - апаратная, і скажам так, вам нішто не перашкодзіць зрабіць кабель злучэння вашага жорсткага дыска з LAN-кабеля з раздымамі RJ-45, праўда сеткавым ад гэтага ваш дыск не стане. Такім чынам, раз'ём (або формаў-фактар, хоць не зусім карэктна) - гэта ўсяго толькі рэалізацыя падлучэння прылады. Інтэрфейс, ён жа пратакол - набор праграмных стандартаў для працы АС з прыладай, падлучаным праз гэты раздым.

Інтэрфейс, ён жа пратакол - набор праграмных стандартаў для працы АС з прыладай, падлучаным праз гэты раздым

Дастаткова стары інтэрфейс для працы з носьбітамі інфармацыі - ATA. У сапраўдны момант ванільнага версія гэтага інтэрфейсу-пратаколу безнадзейна састарэла, і выцесненая больш новымі стандартамі тым жа самым ATA, аброслым мыліцамі, якія дазваляюць адрасаваць больш прасторы, дадаюць чаргу каманд і іншыя новаўвядзенні, актуальныя для сучаснага свету.

Адным з такіх інтэрфейсаў з'яўляецца SATA, а дакладней AHCI. У гэтым выпадку найменні наогул заблытаныя. Першапачаткова SATA - быў паўнавартасным стандартам, затым з яго зрабілі агульная назва для сістэмы носьбітаў інфармацыі, які падключаецца пры дапамозе шасці правадоў, паслядоўным падключэннем (г.зн. адна прылада на порт) і наборам AHCI-каманд, якія ў сваю чаргу падтрымліваюць стандарт NCQ - чаргу, калі па нашым.

Каб прыладзе быць SATA, яму не абавязкова мець SATA-раздым, яно можа быць выканана ў фармаце eSATA, у фармаце mSATA (больш нагадвае MiniPCI), нават у фармаце паўнавартаснага PCI і падлучацца праз гэтую шыну. Проста яно будзе эмуляваць, і сістэма не будзе яго бачыць як PCI, а будзе бачыць як SATA і працаваць з ім як з SATA.

На дадзены момант максімальная хуткасць чытання праз SATA - 600 МБС, і гэта прадыктавана ў першую чаргу электрычнымі абмежаваннямі, не так лёгка перадаць праз 4 драты на высокіх хуткасцях. І 600 МБС - цалкам сабе выдатная хуткасць, улічваючы што хуткасць аддачы інфармацыі з бліна жорсткага дыска - фізічна парадку 90 МБС, а хуткасць чытання флэшкі наогул 60 МБС, тэарэтычная, максімальная. Увогуле 600 МБС цалкам хапала з галавой для цвёрдых дыскаў. Пакуль не з'явіліся SSD. Набор мікрасхем памяці аддае інфармацыю на вельмі высокіх хуткасцях, акрамя ўсяго яму не ўласціва вялікі час пошуку, і ня ўласцівасці прастоі пры запісе. Прагрэсу спатрэбіўся ўсяго толькі год, каб наблізіцца ўшчыльную да абмежавання порта, і яшчэ год, каб у некалькі разоў перагнаць яго.

Каб нівеліраваць гэтыя прастоі, быў прыдуманы новы інтэрфейс - NVM Express. Кампаніі якія яго распрацоўвалі, прадумалі ўсё да дробязяў. Памяншэнне затрымак, стандартызацыя усіх мыліц, кіраванне доступам, паралельны доступ (шмат'ядравыя CPU ўхваляюць), механізм чэргаў, апрацоўка перапыненняў, спрашчэнне кіраўнікоў каманд, і шмат чаго іншага. Атрыманая солянка цалкам здольная здзівіць тых, хто нарадзіўся ў 20-м стагоддзі людзей: сярэдняя хуткасць чытання - 2.5 Гбс. Ўзрушаюча.

Аднак вельмі хутка выявіўся той жа самы недахоп што і ў выпадку мікрасхем памяці з SATA-інтэрфейсам, і ў тым месцы, дзе яго зусім ня чакалі - у архітэктуры праграмнага забеспячэння.

Уявіце сабе двух людзей, адзін слухае, другі ўслых чытае кнігу. Колькасць часу, за якое слухач паспее спазнаць гэтую кнігу, першапачаткова залежыць ад хуткасці чытача, i гэтае звычайнае становішча рэчаў. А цяпер уявіце, што чытае кнігу, паскарае чытанне. Кніга будзе пачутая хутчэй. Калі хто чытае яшчэ паспрабуе - то ўвод гэтай кнігі ў вушы слухача адбудзецца яшчэ хутчэй. Але калі хуткасць павялічыць ЯШЧЭ, то струмень слоў стане няскладным, і слухач яго папросту не зразумее. Атрымліваецца, што на самой справе колькасць часу на ўвод кнігі ў вушы слухача, залежыць не толькі ад хуткасці які чытае, а яшчэ і ад магчымасці слухача адрозніваць словы. Падобная сітуацыя адбылася і з Linux. Які чытае кнігу (сутнасць носьбіт інфармацыі) стаў перадаваць інфармацыю занадта хутка, слухач (сістэма ўводу-вываду) перастала за ім паспяваць, у выніку ўся сістэма працуе на максімальных магчымасцях слухача, пры ўмее хутка чытача. Нічога страшнага ў гэтым няма, такая сістэма будзе працаваць у тры разы хутчэй, чым сістэмы двухгадовай даўнасці. Дрэнна тое, што фізічна яна можа працаваць хутчэй у пяць разоў. І будзе.

Такім чынам, тэма артыкула - паскарэнне Linux на SSD NVM Express - Samsung N950 Pro

Уступныя дадзеныя:

Матчына плата MiniITX MSI B150I Gaming Pro

Працэсар Intel Pentium G4400 Skylake

АЗП 8Gb DDR4 2133MHz

SSD M.2 NVME Samsung 950Pro, хуткасць чытання - 2500 Мб / c, хуткасць запісу - 1500 Мб / c

Аперацыйная сістэма Debian 8.4 (на самай справе не мае значэння)

Жудасныя тормазы пры загрузцы, і пры працы. З устаноўленым DE Cinnamon, гэтая канфігурацыя адкрывае Firefox за 2-3 секунды, што ня ёсьць гут. Павінна імгненна.

Разгледзім паслядоўна працэс загрузкі ад пачатку і да гатоўнасці працы:

Спярша загружаецца BIOS. Або UEFI - гэта ня важна. Гэтая прашыўка ініцыялізуе прылады і шукае загрузнік на адным з носьбітаў інфармацыі. Гэты загрузнік - MBR або файл UEFI, у сваю чаргу загружае паўнавартасны лоадер, у нашым выпадку гэта GRUB. Лоадер чытае свой канфігурацыйны файл, /boot/grub/grub.cfg і загружае субмодули, шрыфты і выконвае скрыпты, выводзячы спіс магчымых АС і іх меню.

Калі мы націскаем ўвод на тым ці іншым меню (з Лінуксам, зразумела), наш GRUB падгружае дадатковыя модулі неабходныя для доступу да падзелу дыска, некаторыя графічныя модулі. Потым ён загружае ў памяць ядро ​​з радком параметраў, і так званы ramdisk, initrd - сціснуты набор модуляў і бібліятэк, неабходны для пачатковага старту. Пасля загрузкі рамдиска, ядро ​​перадае кіраванне файлу / init, які знаходзіцца на тым раздзеле, які быў паказаны параметрам root = ў радку параметраў ядра. Сістэма ініцыялізацыі, яна ж init - набор скрыптоў рознай ступені сапсаванасці ў розны час, па сутнасці з'яўляюцца автозагрузчиками сэрвісаў, прылад, і гэтак далей. Апошнім з гэтых скрыптоў з'яўляецца менеджэр дысплеяў, альбо менеджэр кансоляў. Далейшая загрузка залежыць ад налад пэўнай АС, яны бываюць рознымі, але часцей за ўсё два варыянты - альбо выдаецца запрашэнне ў выпадку мэнэджара кансоляў, альбо выдаецца графічнае запрашэнне ў выпадку з дысплейных мэнэджарам. Але не заўсёды. Абодва спосабу могуць мець автологин (г.зн. будзе залагініцца пад карыстальнікам без запрашэння). Затым грузіцца інтэрпрэтатар (як правіла гэта bash) у выпадку з кансольнай загрузкай, альбо кіраўнік вокнаў (працоўны стол) у выпадку з графічнай загрузкай. Гэтыя праграмы з'яўляюцца практычна канчатковымі, за выключэннем іх уласных автозагрузок, якія могуць утрымліваць у сабе падключаюцца смачнасці накшталт докбара, панэляў, расфарбовак, і іншага смецця. Але гэта ўжо ўсё роўна.

Як бачым, этапаў загрузкі шмат. На самай справе іх яшчэ больш, паколькі многія драйверы прыладаў могуць быць убудаваны ў ядро, але многія ляжаць у выглядзе асобных модуляў і падгружаюцца па меры неабходнасці.

Такім чынам, першае што мы павінны зразумець, як і ў выпадку з HDD, лепш адзін вялікі файл, чым шмат дробных. "Лепш" тут можа вар'іравацца ў шырокіх межах: десятимегабайтный файл загрузіцца хутчэй, чым дзесяці стокилобайтных (у суме даюць ўсяго толькі мегабайт). Як гэтага дасягнуць - мы даведаемся пазней.

Другое - прынцып KISS не заўсёды добра, і адсутнасць прынцыпу KISS не заўсёды добра таксама. Нагадаю, гэты прынцып абвяшчае рабіць адну рэч адным прыладай, не вынаходзячы камбайны. У нашым выпадку загрузкі, нават не ўдаючыся ў падрабязнасці відаць, што некаторыя нюансы робяцца па некалькі разоў. Прыклад - загрузка драйвераў на дыск і ФС. Ну трызненне ж, калі GRUB загрузіўся, значыць дыск УЖЕ даступны, і не трэба падгружаць драйверы ў initrd, а затым у ядры. Як ад гэтага пазбавіцца - мы таксама даведаемся пазней.

Трэцяе - заўсёды трэба ўсведамляць што базавую ядро ​​і наогул базавая сістэма пабудаваная на аснове найбольш распаўсюджаных канфігурацый, і з аднаго боку раздуць для як мага большай сумяшчальнасці, а з другога боку, не падтрымлівае многія фічы зноў жа для як мага большай сумяшчальнасці. Драйверы відэа, драйверы дыскаў, драйверы USB працуюць на сярэдняй арыфметычнай аптымізацыі і хуткасці. А гэта часцей за ўсё павольна. Туды ж адносяцца і ўсякія новыя тэхналогіі, накшталт нашага nvme

Што ж нам трэба зрабіць?

Па-першае, пазбавіцца ад пракладак. Пракладкі ад якіх лягчэй за ўсё пазбавіцца без лішняга галаўнога болю - гэта як ні дзіўна initrd і дысплейных менеджэр. Для таго каб пазбавіцца ад першага - трэба ўсяго толькі закаментаваць адзін радок. Каб пазбавіцца ад другога - яго трэба проста не ставіць, або выдаліць калі ўжо паставілі. Гэта значыць дамагчыся кансольнай загрузкі.

Па-другое, прымусіць нашу АС грузіць ўсе фічы для паскарэння працы.

Па-трэцяе, зрабіць так, каб па магчымасці ўсё Грузія толькі адным файлам.

Паколькі простае пазбаўленне ад initrd прывядзе да немагчымасці загрузкі (ядро не зможа загрузіцца), ды і фічы проста так не з'явяцца, адзіны спосаб зрабіць гэта - перасабраць ядро.

Гэта лёгка. Асабліва на debian-based сістэмах, Debian, Ubuntu, Elementary, Mint і іншых. На іншых канфігураванне будзе сапраўды такім жа, але зборка можа трохі адрознівацца. Якія пакеты трэба пампаваць і ставіць, я тлумачыць не буду, пра гэта можна пачытаць тут (Адкрыецца ў новым акне)

Нам варта стварыць першапачатковую канфігурацыю камандай make localyesconfig - гэтая каманда створыць папярэднюю канфігурацыю на аснове працуюць у дадзены момант модуляў, з опцыяй ўключэння гэтага ўсяго ў ядро ​​(памятаем, мы фарміруем адзін вялікі файл). Таму будзе лепш калі на гэтым этапе вы ўставіце ў ваш кампутар ўсе прылады, якія патэнцыйна могуць выкарыстоўвацца - вебку, флэшкі, сеткавыя карты.

Далей я проста напішу якія параметры трэба сканфігураваць для мацнейшага паскарэння і падтрымкі фіч на прыладах NVM Express:

General setup ---> Kernel compression mode ---> выбіраем XZ. Гэты алогоритм сціску найбольш хуткі, хай і не вельмі эканомны.

General setup ---> T imers subsystem ---> Выбіраем Periodic timer ticks (constant rate, no dynticks) - наш працэсар сам разбярэцца як яму працаваць з задачамі, ня трэба яму перашкаджаць

Processor type and features ---> Выбіраем максімальна набліжаны працэсар да нашага, і яго некаторыя фічы, падтрымку Hyperthreading, ці проста многоядерность.

P reemption Model ---> Preemptible Kernel (Low-Latency Desktop) - гэта дазволіць максімальна хутка апрацоўваць усе задачы

Timer frequency ---> 300 HZ - вышэй няма сэнсу, працэсар будзе дарма тузацца, ніжэй - таксама, інакш рэакцыя сістэмы будзе запозненай.

Device Drivers ---> <*> NVM Express block device - ставім зорачку, гэты драйвер павінен быць вкомпілірованы ў ядро

Device Drivers ---> SCSI device support ---> [*] SCSI: use blk-mq I / O path by default - абавязкова. Гэта дазволіць сістэме ўводу высновы выкарыстоўваць паралелізм пры чытанні або запісы на NVM-носьбіце

Астатнія параметры вы павінны выставіць самі, зыходзячы з наяўнасці або адсутнасці прылад на вашым кампутары

Ідзем далей.

File systems ---> <*> The Extended 4 (ext4) filesystem - у выпадку калі вы карыстаецеся ext4 або ext3. Іншымі словамі, вы павінны вкомпілірованы ў ядро ​​тую ФС, якая ўсталяваная ў вас.

File systems ---> <*> FUSE (Filesystem in Userspace) support - гэта дазволіць мантаваць дыскі ў графічных абалонках

File systems ---> DOS / FAT / NT Filesyste ms ---> Тут можна паставіць усе зорачкі, ці ўсе модулі, гэта трэба толькі калі ў вас ёсць файлавыя сістэмы выдатныя ад каранёвай. Флэшкі, дыскі, і гэтак далей.

Не забудзьцеся гэтак жа выставіць неабходныя вашым НЕлинукс ФС, кадоўкі ў меню Native language support --->

Пасля кампіляцыі і ўстаноўкі новага ядра, нам варта адрэдагаваць файл /boot/grub/grub.cfg і закаментаваць радок з выклікам нашага initrd. Калі вы яго пакінеце - нічога страшнага не здарыцца, але сістэма будзе загружаць два разы адны і тыя ж модулі. Калі вы яго закомментируете - нічога страшнага гэтак жа не адбудзецца, бо ўся ваша інфармацыя нікуды не выдаліцца. Пасля гэтага ў радку загрузкі вашага ядра, трэба змяніць параметр root з знакавай UUID-прылады, на яго блочны шлях, напрыклад root = / dev / nvme0n1p2

Пасля перазагрузкі па ідэі, новае ядро ​​і ў цэлым сістэма, павінны загружацца адчувальна хутчэй, і займаць менш месца на дыску і ў памяці. Калі вы не змаглі загрузіць ядро ​​(дакладней яно не змагло прімонтіровать сістэмны падзел і ўпала ў "kernel panic-not syncing: VFS: unable to mount root fs" - гэта азначае, што вы няправільна назвалі сістэмны падзел у параметрах ядра, або забыліся вкомпілірованы драйвер, спецыфічны для вашай АС (напрыклад вкомплилировали падтрымку ext4, але забыліся btrfs, і менавіта на ім размешчана ваша сістэма).

Працяг будзе...


Пазнакі тэксту: Linux NVM PCI-E SSD

Пазнакі тэксту: Linux NVM PCI-E SSD

https://minidevices.info/images/ava.png

https://minidevices.info/images/ava.png

2016-06-03 14:53 2016-06-03 14:53 2016-06-03 14:53 root Linux NVM PCI-E SSD

Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.