The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от opennews on 10-Янв-12, 20:55 
Shaohua Li представил (https://lkml.org/lkml/2012/1/4/18) в списке рассылки ядра Linux начальную версию планировщика ввода-вывода FIOPS (от аббревиатуры IOPS - Input/Output Operations Per Second, количество операций ввода/вывода в секунду), предназначенного для работы с твердотельными накопителями и Flash-памятью. В настоящее время патчи носят экспериментальный характер.

FIOPS во многом подобен используемому ныне планировщику CFQ, также имеющему несколько оптимизаций для твердотельных дисков, но спроектирован с оглядкой на работу исключительно с Flash-памятью. Например, FIOPS полностью игнорирует такие параметры накопителя как время перемещения головок, зависимость времени записи от расположения данных на диске, учитывает более высокие скорости записи и чтения, зависимость скорость выполнения запроса от его размера и т.д.

В настоящее время реализация имеет ряд проблем и недоработок, таких как отсутствие поддержки ioprio, механизма cgroups, поддержки трассировки, а также автом...

URL: https://lkml.org/lkml/2012/1/4/18
Новость: http://www.opennet.me/opennews/art.shtml?num=32768

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от ВКПб on 10-Янв-12, 20:55 
А как одновременно использовать noop и этот ваш fiops?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +4 +/
Сообщение от Аноним (??) on 10-Янв-12, 21:32 
> А как одновременно использовать noop и этот ваш fiops?

Или трусы или крестик. Хотя назначить вон тому девайсу одно, а вот энтому другое вроде как можно.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

46. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Oleg (??) on 11-Янв-12, 10:26 
Можно.

$ cat /sys/class/block/sda/queuescheduler
noop [cfq]
$ echo noop > /sys/class/block/sda/queue/scheduler
$ cat /sys/class/block/sda/queue/scheduler
[noop] cfq
$ echo cfq > /sys/class/block/sda/queue/scheduler
$ cat /sys/class/block/sda/queue/scheduler
noop [cfq]

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

71. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от pavlinux (ok) on 11-Янв-12, 17:15 
А можна на /dev/sda, для MySQL юзать CFQ, а для марьяжа noop ?  
для остальных на /dev/sda1 - as
на /dev/sda2, где живет /var - deadline
на /dev/sda3, где живет своп - noop

А  можна при (iowait < 5) - юзать noop, а выше переключатся на CFS
А при (iowait < 5) на /dev/sda1, но 10 < loadaverage < 50 y MySQL, переключатся на deadline, выше на CFS, ниже - noop  

А можна, всем кто обращается к /var/log, с 3 до 6 утра юзать CFS, остальное время deadline.


И ваще, предлагаю добавить в структуру elf_header поля для привязки екзешника
к  планировщикам I/O и шыдулеру :D

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

76. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Ваня (??) on 11-Янв-12, 17:52 
Отправил ваши пожелания разработчикам. Впредь, пожалуйста, делайте это самостоятельно.
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

78. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 18:02 
Ты бы подумал головой? Планировщик IO на разделах одного блочного ус-ва не имеет смысла
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

94. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +4 +/
Сообщение от pavlinux (ok) on 11-Янв-12, 19:33 
> Ты бы подумал головой? Планировщик IO на разделах одного блочного ус-ва не
> имеет смысла

Ты бы подумал головой? Чем раздел раздел блочного уст-ва отличается
от всего блочного устройства. А так же подумать на темы: Может ли
блочное устройство быть разделом более высшей иерархии. Что такое LVM.
Что такое RAID. Нахера я сюда написал. Зачем я живу.

Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

79. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 18:03 
> А можна на /dev/sda, для MySQL юзать CFQ, а для марьяжа noop?

Ну так запатч сорц чтобы в зависимости от того чья запись юзался разный шедулер. Или ты надеешься что у них есть такая же конфигурация? :)

> для остальных на /dev/sda1 - as
> на /dev/sda2, где живет /var - deadline
> на /dev/sda3, где живет своп - noop

А подевайсово и так можно рулить, вон человек написал как шедулеры на девайс менять. Так что боян - фич уже есть.

> И ваще, предлагаю добавить в структуру elf_header поля для привязки екзешника
> к  планировщикам I/O и шыдулеру :D

Ну так сорц тебе в руки и компилер в спину :))

Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

98. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от pavlinux (ok) on 11-Янв-12, 19:36 
> А подевайсово и так можно рулить, вон человек написал как шедулеры на
> девайс менять. Так что боян - фич уже есть.

Ну если многое написанное это флудъ, то о динамической смене шедулера при простое
я б задумался.

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

123. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 06:55 
> Ну если многое написанное это флудъ, то о динамической смене шедулера при
> простое я б задумался.

Типа, шедулить ничегонеделание накопителя да еще динамически менять алгоритм ничегонеделания? А что, идея. Правда физический смысл этого мне не совсем понятен, наверное это что-то типа нарезки вакуума на дольки ножом.

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

153. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от pavlinux (ok) on 12-Янв-12, 23:42 
>> Ну если многое написанное это флудъ, то о динамической смене шедулера при
>> простое я б задумался.
> Типа, шедулить ничегонеделание накопителя да еще динамически менять алгоритм ничегонеделания?
> А что, идея. Правда физический смысл этого мне не совсем понятен,
> наверное это что-то типа нарезки вакуума на дольки ножом.

Ну как критерий ничегонеделания, я предложил if ( iowait < 5 )
Смысл переколбашивать приоритеты, очереди, приоритеты очередей, для 5 задач.
Обычная FIFO (noop) быстрее все раскидает.

Ответить | Правка | ^ к родителю #123 | Наверх | Cообщить модератору

2. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от klalafuda on 10-Янв-12, 21:10 

Может быть я конечно ошибаюсь, но разве сегодня кто-то вообще пытается делать оптимизацию дискового IO на основании 'время перемещения головок, зависимость времени записи от расположения данных на диске'? С учетом того, что у всех винтов уже сто лет в обед как на борту по N мегабайт кеша да и AFAIU получить реальную, физическую, геометрию винта - это ещё постараться нужно на уровне фирмваря ибо отрепортить винт может хоть 10ть пластин а реально там стоит скажем две..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +3 +/
Сообщение от koct9i email on 10-Янв-12, 21:44 
время позиционирования практически линейно растёт с дистанцией перемещения головок, почти с нуля до 10мс (у медленных мобильных до 20мс)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +2 +/
Сообщение от Аноним (??) on 10-Янв-12, 21:50 
Man NCQ, хотя бы. Относительно свежая технология, встраиванием которой не так давно много кто был заморочен.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –3 +/
Сообщение от iZEN (ok) on 10-Янв-12, 23:10 
> Man NCQ, хотя бы. Относительно свежая технология, встраиванием которой не так давно много кто был заморочен.

И насколько процентов увеличивается производительность совремнных винчестеров при задействовании NCQ? Процентов 5-7, наверное. Как-то несерьёзно. Очередь команд маленькая, чтобы хорошо оптимизировать дисковый I/O.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

12. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 10-Янв-12, 23:39 
> И насколько процентов увеличивается производительность совремнных винчестеров при задействовании NCQ? Процентов 5-7, наверное. Как-то несерьёзно. Очередь команд маленькая, чтобы хорошо оптимизировать дисковый I/O.

Это одна из техник, вместе с прочими, такими, как в новости, прирост может быть выше.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

164. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 13-Янв-12, 20:47 
> Это одна из техник, вместе с прочими, такими, как в новости, прирост
> может быть выше.

Это он видимо пытался как обычно сказать "у меня нет, поэтому мне это не нужно".

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

27. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 05:17 
> Процентов 5-7, наверное. Как-то несерьёзно.

5-7% это лучше чем 0%. И вообще, это весьма приличный прирост в определенных случаях.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

31. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +2 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:10 
> NCQ? Процентов 5-7, наверное. Как-то несерьёзно. Очередь команд маленькая, чтобы хорошо
> оптимизировать дисковый I/O.

Поэтому какойнить ext4 еще и реализует delayed allocation, в надежде нагрести побольше данных которые можно более-менее линейно записать потом на диск.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от all_glory_to_the_hypnotoad (ok) on 11-Янв-12, 00:18 
NCQ работает с геометрией диска только внутри девайса, со стороны ОС это просто интерфейс поддержки "многопоточности" io для диска. В общем, это как бы совсем не тот пример.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

21. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от Аноним (??) on 11-Янв-12, 00:54 
> это просто интерфейс поддержки "многопоточности" io для диска.

Другими словами, это интерфейс для оптимизации работы с данными.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

7. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –2 +/
Сообщение от iZEN (ok) on 10-Янв-12, 23:07 
Неужели в Linux только сейчас начали избавляться от зависимости планирования дисковых операций от аппаратных особенностей усройств хранения? Во FreeBSD например, судя по книжке "Архитектура и реализация", в GEOM намеренно отказались от учёта физических параметров винчестеров, таких, как время перемещения головки. Поэтому там достаточно примитивный планировщик I/O, которому в общем-то по барабану, с каким накопилем он работает — с HDD или SSD.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +4 +/
Сообщение от ДашенькаАнонимочка on 10-Янв-12, 23:17 
Судя по книжке? Ой, Великий и Могучий BSDшнег Изен оказывается не читал исходников даже, раз "судя по книжке". А гонору то сколько постоянно, а на деле оказалось... тьфу
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

13. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman on 10-Янв-12, 23:56 
Не, в geom есть и "продвинутый" планировщик, с 2008 анонсирован кажись.

http://retis.sssup.it/~fabio/freebsd/geom_sched/proto/

# man gsched
NAME
     gsched -- control utility for disk scheduler GEOM class

SYNOPSIS
     gsched create [-v] [-a algorithm] provider ...
     gsched insert [-v] [-a algorithm] provider ...
     gsched configure [-v] [-a algorithm] node ...
     gsched destroy [-fv] node ...
     gsched reset [-v] node ...
     gsched { list | status | load | unload }

DESCRIPTION
     The gsched utility (also callable as geom sched ...) changes the schedul-
     ing policy of the requests going to a provider.
...
# geom disk list
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 160041885696 (149G)
   Sectorsize: 512
   Mode: r6w6e23
   descr: ST9160310AS
   ident: (null)
   fwsectors: 63
   fwheads: 16

# kldload geom_sched
# geom sched insert -a rr ada0

# geom disk list
Geom name: ada0
Providers:
1. Name: ada0.sched.
   Mediasize: 160041885696 (149G)
   Sectorsize: 512
   Mode: r6w6e23
   descr: ST9160310AS
   ident: (null)
   fwsectors: 63
   fwheads: 16

Все это только и на работающей системе. Как бэ все, шедулер вставлен. Провайдер - этот тот кто сверху и к нам ближе :)

Тестировать с цифирями долго, нужно нескольк дисков, корректно нагрузить, надо думать о корректности измерений, не готов, оставляю пока на других.

http://ivoras.net/freebsd/freebsd9.html
Generic GEOM IO schedulers
Status: Committed to -CURRENT
Will appear in 9.0: sure
Authors: Luigi Rizzo, Fabio Checconi
Web: commit message

The new framework, integrated with GEOM, allows for multiple disk IO schedulers to be used, if necessary, on different IO providers (e.g. drives). The usage of some IO schedulers can increase responsiveness in certain kinds of IO workloads, for example a mix of sequential and random IO.

http://svnweb.FreeBSD.org/base?view=revision&revision=206497

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от iZEN (ok) on 11-Янв-12, 00:00 
> Не, в geom есть и "продвинутый" планировщик, с 2008 анонсирован кажись.

Ага. :) Только народ его в 9'ке увидел:

> http://ivoras.net/freebsd/freebsd9.html
> Generic GEOM IO schedulers
> Status: Committed to -CURRENT
> Will appear in 9.0: sure

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

14. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman on 10-Янв-12, 23:59 
PS

ишшо с картинками
http://info.iet.unipi.it/~luigi/geom_sched/

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Anonymouse on 11-Янв-12, 00:00 
Ну не читал - дык я и не припомню чтоб он заявлял де учавствует в разработке подсистемы хранения фряхи .... насколько я помню - он жабщик :)
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

114. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –2 +/
Сообщение от Аноним (??) on 11-Янв-12, 21:56 
> - он жабщик :)

При том это диагноз. Гарантирующий на 99.9% что субъект никогда не сможет понять как все это на самом деле работает и почему оно именно вот так. Особо клинические еще и умудряются гордиться своей тупостью, например считая указатели чем-то таким из ряда вон.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +2 +/
Сообщение от iZEN (ok) on 11-Янв-12, 00:02 
> Судя по книжке?

Вообще полезно изучать иногда историю на предмет принятия того или иного ключевого решения. Почему именно так, а не иначе сделали, чтобы ошибок не повторять.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

41. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 07:50 
> Вообще полезно изучать иногда историю на предмет принятия того или иного ключевого решения.

В те поры не могли принимать решения для удобства ssd по причине отсутствия таковых :)

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman on 11-Янв-12, 00:37 
> Судя по книжке? Ой, Великий и Могучий BSDшнег Изен оказывается не читал
> исходников даже, раз "судя по книжке". А гонору то сколько постоянно,
> а на деле оказалось... тьфу

2005 год

http://www.freebsd.org/doc/ru/articles/5-roadmap/major-issue...
----
GEOM: уровень блоков GEOM был разработан с учётом работы без Giant и он позволяет работать модулям GEOM и низлежащим драйверам блочных устройств без Giant. На данный момент только драйверы ata(4) и aac(4) разделены и работают без Giant. Работа над остальными драйверами блочных устройств ведётся. Изоляция CAM-подсистемы требует отказа от использования Giant практически во всех драйверах SCSI; работа над этим ещё не начиналась. [ сейчас уже закончена ]

Кроме того, в GEOM имеется опасность снижения производительности из-за обработки ею вышестоящих и нижестоящих потоков данных в потоках выполнения ядра. В решении этой проблемы может помочь улучшение и упрощение технологии переключения контекстов выполнения.
----

И iZen прав, планировщик geom_io действительно простой
http://svnweb.FreeBSD.org/base/release/9.0.0/sys/geom/
http://svnweb.FreeBSD.org/base/release/9.0.0/sys/geom/geom_i...

Заниматься физикой - не дело GEOM.
Ниже его есть CAM - common access module, а уж он и обчаеться c ata/scsi.

http://svnweb.FreeBSD.org/base/release/9.0.0/sys/cam/

И как ни планируй, все одно... если ssd накопитель занят, более они-с принять не могут и посылает драйвер нафик - то нафик так нафик. Можно как-то размазывать эту манную кашу порциями, дабы дикого тупизма всем и сразу не получилось, но ... шибко это пофик контролеру накопителя, он сам умный.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

40. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:49 
> Можно как-то размазывать эту манную кашу порциями, дабы дикого тупизма
> всем и сразу не получилось, но ... шибко это пофик контролеру
> накопителя, он сам умный.

Так цель размазки не сделать ssd быстрее чем он есть, а разделить кашу между получателями относительно честным образом. А не так что один сожрал всю кастрюлю а остальные полдня голодными и злыми сидели.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

47. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от xxx (??) on 11-Янв-12, 10:28 
> И iZen прав, планировщик geom_io действительно простой
> http://svnweb.FreeBSD.org/base/release/9.0.0/sys/geom/
> http://svnweb.FreeBSD.org/base/release/9.0.0/sys/geom/geom_i...

Да, только заявлять, что его простота - это превосходство над Linux глупо. И, кстати, его простота как раз приводит зачастую к тормозам, об этом уже не раз упоминалось в списках рассылки.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

62. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman on 11-Янв-12, 15:54 
>> И iZen прав, планировщик geom_io действительно простой
>> http://svnweb.FreeBSD.org/base/release/9.0.0/sys/geom/
>> http://svnweb.FreeBSD.org/base/release/9.0.0/sys/geom/geom_i...
> Да, только заявлять, что его простота - это превосходство над Linux глупо.

Найдите хоть слово, где я написал о "превосходство над ХХХ"
Неужели вы нашли в моем тексте такой сферический идиотизм?

> И, кстати, его простота как раз приводит зачастую к тормозам, об
> этом уже не раз упоминалось в списках рассылки.

Рассуждения о "торморзах" неплохо бы подкреплять аргументами.
А то выглядит как путстая трепотня из пустого в порожнее.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

96. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от xxx (??) on 11-Янв-12, 19:34 
> Найдите хоть слово, где я написал о "превосходство над ХХХ"
> Неужели вы нашли в моем тексте такой сферический идиотизм?

Это касалось iZen'а и его любви везде упоминать FreeBSD как верх совершенства.

> Рассуждения о "торморзах" неплохо бы подкреплять аргументами.

Разработчики FreeBSD приводят аргументы, см. списки рассылки, BSDCan (гугл).

> А то выглядит как путстая трепотня из пустого в порожнее.

Пуствая трепотня - это рассуждать о планировщиках ввода-вывода Linux и GEOM, не зная их архитектуры и устройства.


Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

112. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 11-Янв-12, 21:49 
>> Найдите хоть слово, где я написал о "превосходство над ХХХ"
>> Неужели вы нашли в моем тексте такой сферический идиотизм?
> Это касалось iZen'а и его любви везде упоминать FreeBSD как верх совершенства.

Не, а че, товарищь в антитезу масссового упоминающим про верх совершенства систему XXX.

>> Рассуждения о "торморзах" неплохо бы подкреплять аргументами.
> Разработчики FreeBSD приводят аргументы, см. списки рассылки, BSDCan (гугл).

Угу. Так и пишут в отчетах и презентациях BSDCan - "тармаза ваще глюкавые".

>> А то выглядит как путстая трепотня из пустого в порожнее.
> Пуствая трепотня - это рассуждать о планировщиках ввода-вывода Linux и GEOM, не
> зная их архитектуры и устройства.

90% _это_ делают на форумах о сиcтеме XXX? И че? :)

Ответить | Правка | ^ к родителю #96 | Наверх | Cообщить модератору

129. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от xxx (??) on 12-Янв-12, 08:57 
>Угу. Так и пишут в отчетах и презентациях BSDCan - "тармаза ваще глюкавые".

Нет, что ты, они технически аргументировано упоминают о проблемах GEOM.

>90% _это_ делают на форумах о сиcтеме XXX? И че? :)

А opennet чем хуже?

Ответить | Правка | ^ к родителю #112 | Наверх | Cообщить модератору

156. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 13-Янв-12, 00:30 
>>Угу. Так и пишут в отчетах и презентациях BSDCan - "тармаза ваще глюкавые".
> Нет, что ты, они технически аргументировано упоминают о проблемах GEOM.

О проблемах! Ух как! С каких пор математико-инженерные задачи по продумыванию и написанию логики стали проблемами? Ну если только нечем думать, тоды да - проблема :)

Какое тусово? BSDCan 2005? Giant lock при SMP? Так уже переписали два раза.
Или что-то иное?

http://www.bsdcan.org/

PS Постарайтесь указывать на цитату, а то получается, слышали звон а вот где он.
Кстати, спасибо - почитал материалы конференции 2011, есть интересные моменты.

Ответить | Правка | ^ к родителю #129 | Наверх | Cообщить модератору

168. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 14-Янв-12, 15:04 
> С каких пор математико-инженерные задачи по продумыванию
> и написанию логики стали проблемами?

Не вмешиваясь в выяснение благородных донов, отмечу, что по-аглицки "задача" (в т.ч. математическая) и есть "problem". :)  Про инженерные зуб не дам, там и "task" проглядывает (ср. IETF).  Насколько понимаю, разница в смысле -- примерно вдоль "озарение" vs "докопать".

Ответить | Правка | ^ к родителю #156 | Наверх | Cообщить модератору

169. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 15-Янв-12, 00:08 
>> С каких пор математико-инженерные задачи по продумыванию
>> и написанию логики стали проблемами?
> Не вмешиваясь в выяснение благородных донов, отмечу, что по-аглицки "задача" (в т.ч.
> математическая) и есть "problem". :)

во-первых, мы не англицкие - годы совдепии изменили лингвистичекую картину настолько, что даже изначально эквивалентные понятия имеют теперь разные смыслы, а заимствованые слова также накладываются на чуждую понятийную систему и мутируют в понятии.
примеров приводить не буду, их есть навалом, кто двуязычен, тот и так поймет, кто одноязычен - много надо  рассказывать.
во-вторых, problem в переводе - это очень тяжело/трудно разрешимая ситуация.

проблем процесс, как обычно, в голове.

Ответить | Правка | ^ к родителю #168 | Наверх | Cообщить модератору

170. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 15-Янв-12, 00:18 
> во-первых, мы не англицкие

Разумеется.

> [...] кто двуязычен, тот и так поймет, кто одноязычен - много надо  рассказывать.

А кто три+язычен, тем можно заметить, что данный Вами ниже однозначный перевод заведомо многозначного термина после объяснения семантической неэквивалентности понятийных баз смотрится особо оригинально? :)

> во-вторых, problem в переводе - это очень тяжело/трудно разрешимая ситуация.

Только в учебниках по математике (о которой упомянул) -- это задача и точка.

PS: вспомнилось: "водка хороша, но мясо протухло".

Ответить | Правка | ^ к родителю #169 | Наверх | Cообщить модератору

171. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 15-Янв-12, 00:30 
>> во-первых, мы не англицкие
> А кто три+язычен, тем можно заметить, что данный Вами ниже однозначный перевод
> заведомо многозначного термина после объяснения семантической неэквивалентности понятийных
> баз смотрится особо оригинально? :)

да нифига оригинального. если в англиском это более трудная ситуация, выкрутиться из которой стоит много средств и усилий, то в русском - все, капец, неразрешимая, будем биться насмерть.
будем и дальше умничать?

Ответить | Правка | ^ к родителю #170 | Наверх | Cообщить модератору

172. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 15-Янв-12, 00:57 
> будем и дальше умничать?

Будьте добры, почитайте (хотя бы) http://en.academic.ru/dic.nsf/cide/139309/Problem

Вы так трогательно апеллировали к первоисточникам в виде исходников, что я отказываюсь верить своим глазам, когда будучи посланы в словарь -- проявляете чудеса твердолобия.

Ответить | Правка | ^ к родителю #171 | Наверх | Cообщить модератору

173. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 15-Янв-12, 01:29 
>> будем и дальше умничать?
> Будьте добры, почитайте (хотя бы) http://en.academic.ru/dic.nsf/cide/139309/Problem

Не буду. У меня стоит dict локально.

Report in wake of phone hacking scandal says contact between officers and journalists has 'not been transparent enough'

A too-close relationship between senior Metropolitan police officers and sections of the media compromises the ability of both to investigate each other, an independent report in the wake of phone hacking has concluded.
...
Это Гардиан, Защитник (перевести попечитель - как-то...), одно из некоторых, которые пробегаю периодически что быть в курсе как и чем дышат в мире. Гардиан, к примеру, желтовата и санта-барбариста, но читать бывает интереснее.

И я четко осознаю отличия говорящих "this is problem" и "это проблема", вплоть до придыхания и дальнейшего поведения. В том числе пишущей школо... молодых людей в форумах опеннет.
Я их периодически изучаю, пофлеймить немножко, когда есть время.

Будем дальше умничать? Или вы хотите оставить за собой последнее слово? Ок, оно за вами.

PS
http://www.opennet.me/openforum/vsluhforumID3/82394.html#214

Попытался перевести молодому человеку заметку братьев Jolitz 92 года.
Долго мучался как перевести uncumbered - в русскоязычном простанстве легаси-понятия вынесены напрочь, а для америкаца или брита они как дышать.

Ответ, как в том анекдоте - "ба, а ше цэ таке було? - цэ море, сынку, море".

"Мы гороховые зерна, ... вот мы вырастили смену"

Ответить | Правка | ^ к родителю #172 | Наверх | Cообщить модератору

174. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 15-Янв-12, 01:44 
>>> будем и дальше умничать?
>> Будьте добры, почитайте (хотя бы) http://en.academic.ru/dic.nsf/cide/139309/Problem
> Не буду. У меня стоит dict локально.

#155

Ответить | Правка | ^ к родителю #173 | Наверх | Cообщить модератору

20. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от Аноним (??) on 11-Янв-12, 00:53 
в GEOM намеренно отказались от учёта физических параметров
> винчестеров, таких, как время перемещения головки. Поэтому там достаточно примитивный
> планировщик I/O, которому в общем-то по барабану

Так вот почему дисковые операции так аццки торбозят на бзде... Я думал это только FFS виновата, а оказывается еще и это.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

22. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –3 +/
Сообщение от iZEN (ok) on 11-Янв-12, 01:25 
> Так вот почему дисковые операции так аццки торбозят на бзде... Я думал это только FFS виновата, а оказывается еще и это.

Тормозили в 2005-2007г.г., когда был GIANT_LOCK. Сейчас этого нет — избавились от глобальных блокировок в ряде ключевых мест.

(Мне вот до сих пор непонятна природа Linux BUG#12309. Чем он вызван, интересно? Я, вот, когда копирую большой файл на Фре, не замечаю тормозов и лагов курсора мыши, а в Linux десктоп весь "становится колом".)

Ещё вопрос, можно ли в Gentoo безболезненно для воспроизведения MKV 720p осуществлять компиляцию, допустим, LibreOffice в несколько потоков? На Фре это легко и непринуждённо, так сказать, лагов не почувствуешь.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

24. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от ананим on 11-Янв-12, 02:30 
>Мне вот до сих пор непонятна природа Linux BUG#12309. Чем он вызван, интересно?

и мне не понятно.
ни разу не попадался.
>Я, вот, когда копирую большой файл на Фре, не замечаю тормозов и лагов курсора мыши, а в Linux десктоп весь "становится колом".

врёшь как троцкий.
на том железе, где (возможно) есть "Linux BUG#12309" бздя вообще не заведётся.
драйверов нема.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

38. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –2 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:46 
> и мне не понятно.
> ни разу не попадался.

Мне тоже. Но изену же виднее. Хоть он и видел линуксы только на картинке.

> врёшь как троцкий.
> на том железе, где (возможно) есть "Linux BUG#12309" бздя вообще не заведётся.
> драйверов нема.

Тсс! Не мешай господам теоретикам обогащать лужи метаном!

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

48. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от savant (ok) on 11-Янв-12, 11:40 
А я вот его частенько ощущаю.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

65. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Michael Shigorin email(ok) on 11-Янв-12, 16:06 
> А я вот его частенько ощущаю.

Притащили недавно восьмигиговую USB-флэшку, попросили занулить.  Оставил, вскоре отошёл.  Прихожу -- даже мышиный курсор не шавелится.  Ну, думаю, ОНО.  Оставил ещё, благо время обеденное, что ли.  Прихожу -- прочухалось.

Флэшка, как коллега и упоминала, навернулась и только делала вид, что принимает данные.

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

68. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от savant (ok) on 11-Янв-12, 16:23 
>> А я вот его частенько ощущаю.
> Притащили недавно восьмигиговую USB-флэшку, попросили занулить.  Оставил, вскоре отошёл.
>  Прихожу -- даже мышиный курсор не шавелится.  Ну, думаю,
> ОНО.  Оставил ещё, благо время обеденное, что ли.  Прихожу
> -- прочухалось.
> Флэшка, как коллега и упоминала, навернулась и только делала вид, что принимает
> данные.

ещё ощутить можно, если систему загнать в своппинг и пытаться например шариться в интернете. из-за iowait система вполне себе прилегает на "подумать" и это может продолжаться очень долго.

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

81. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 18:08 
> ещё ощутить можно, если систему загнать в своппинг и пытаться например шариться
> в интернете. из-за iowait система вполне себе прилегает на "подумать" и
> это может продолжаться очень долго.

А я думал что она прилегает в основном потому что если процессу понадобились страницы а они вдруг раз и в свопе как назло - процесс трапнется и будет стоять колом, до тех пор пока ядро ему из свопа страниц не выдернет и не пустит его работать дальше, сделав вид что никакого трапа на самом деле не было и вообще вот она, ваша память.

Хинт: да, дисковая память на обычном магнитном диске - это очень медленный эмулятор оперативки. Грешно пользоваться оным и ругаться на то что он тормозит. By design.

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

180. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от netch (ok) on 23-Янв-12, 20:17 
> на том железе, где (возможно) есть "Linux BUG#12309" бздя вообще не заведётся.

Эта грабля появилась в Linux 2.1, стукнула по нам со всего размаху с перехода на ядра 2.2 (с хостинга пришлось снять всё, что не было жизненно важно на localhost, включая mysql, и всё равно из-за этого в итоге потеряли половину тогдашних юзеров, пока не смогли проапгрейдить железо на значительно более толстое). В 2.4 она сохранялась в полный рост. В 2.6 её чуть-чуть подлечили, но не радикально.
Сегодня я её наблюдал на 3.1, когда сделал zypper up в виртуалке - через несколько минут хост-система стала колом. Итого, её не могут вылечить более 10 лет.
Ни у одной из опробованных BSD такого нет - у них грамотно расставленные приоритеты и dirty buffer вытесняется вперёд по отношению к working set живых процессов.
Переход на Linux 2.0, где этого не было, разумеется, сейчас не пройдёт, да и незачем, если есть фряха.

> врёшь как троцкий.

ты - да. Трындишь не имея ни малейшего представления о фактах.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

37. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:45 
> (Мне вот до сих пор непонятна природа Linux BUG#12309. Чем он вызван, интересно?

А это вообще мало кому понятно. Этот баг лезет далеко не везде, иначе его давно бы уже замочили. Более того, вполне вероятно что дуралеи навалили в багтрекер дюжину похожих по симптомам багов под один заголовок. Случается. Кое-какие идеи насчет улучшения латентности операций записи - были поюзаны разработчиками, см. недавние новости. Но совсем не факт что это именно фикс именно того бага и именно в понимании разных его обладателей.

> Я, вот, когда копирую большой файл на Фре, не замечаю тормозов и лагов курсора мыши,
> а в Linux десктоп весь "становится колом".)

А у меня почему-то десктоп не становится колом. Странно.

> Ещё вопрос, можно ли в Gentoo безболезненно для воспроизведения MKV 720p осуществлять
> компиляцию, допустим, LibreOffice в несколько потоков? На Фре это легко и
> непринуждённо, так сказать, лагов не почувствуешь.

Кто о чем, а вшивый про баню...

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

60. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от фтыш on 11-Янв-12, 14:53 
>Ещё вопрос, можно ли в Gentoo безболезненно для воспроизведения MKV 720p осуществлять компиляцию, допустим, LibreOffice в несколько потоков?

Лехко, постоянно так делаю. Ставишь приоритеты nice/ionice в make.conf и вперед. Только LO собирать это безумие, бинарный пакет нормально работает.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

75. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от iZEN (ok) on 11-Янв-12, 17:50 
>>Ещё вопрос, можно ли в Gentoo безболезненно для воспроизведения MKV 720p осуществлять компиляцию, допустим, LibreOffice в несколько потоков?
> Лехко, постоянно так делаю. Ставишь приоритеты nice/ionice в make.conf и вперед.

А если не ставить приоритеты? (Я не ставлю.)

> Только
> LO собирать это безумие, бинарный пакет нормально работает.

У меня на этот счёт нет никаких заморочек, поскольку привык собирать всё ПО из дерева портов. Системный Clang, кстати, компилирует ПО быстрее, чем GCC — так, десктопное окружение на Xfce (firefox, thunderbird, gedit, gnome-mplayer и т.д.) с нуля собирается примерно за 3 часа. С GCC на это тратиться 4-5 часов.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

113. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 21:51 
> А если не ставить приоритеты? (Я не ставлю.)

"А если рельсу?!" (анекдот про японскую пилу vs суровые сибирские мужики)

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

175. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 17-Янв-12, 11:15 
>  Системный Clang, кстати, компилирует ПО быстрее, чем GCC

С равным уровнем оптимизации?

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

181. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от netch (ok) on 23-Янв-12, 20:22 
> Чем он вызван, интересно?

Неумением понимать, что ценность изменённых (dirty) страниц в кэше диска значительно меньше страниц активных процессов. То есть грубый ляп дизайна MM (VM в терминах BSD).
Появился в 2.1 (для ширнармасс - в 2.2). До этого или не было, или не проявлялся.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

63. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –2 +/
Сообщение от uniman on 11-Янв-12, 16:01 
> Так вот почему дисковые операции так аццки торбозят на бзде...

Бздя - это новая файловая система в Linux?
Попробуйте использовать ее надлежащим способом или обратиться за советом по использованию.

>Я думал

Интересное наблюдение :)

> это только FFS виновата, а оказывается еще и это.

С добрым утром! На дворе UFS2+journal & ZFS.
Виноваты в глобальном потеплении теперь они.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

30. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 06:04 
> Во FreeBSD например, судя по книжке "Архитектура и реализация", в GEOM намеренно отказались от учёта физических параметров винчестеров, таких, как время перемещения головки.

Проще говоря, нормальный планировщик IO там написать так и не осилили.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

36. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 07:40 
> Проще говоря, нормальный планировщик IO там написать так и не осилили.

Проще говоря, изен как обычно пытается приподнести голожопость как фичу - мол, это не мы бомжи, это так и задумано. И вообще, это такой дизайнерский изыск! Это сейчас так модно!

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

70. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman on 11-Янв-12, 17:04 
>> Проще говоря, нормальный планировщик IO там написать так и не осилили.
> Проще говоря, изен как обычно пытается приподнести голожопость как фичу - мол,
> это не мы бомжи, это так и задумано. И вообще, это
> такой дизайнерский изыск! Это сейчас так модно!

Для тех кто в танке.

http://ivoras.net/freebsd/freebsd9.html

Generic GEOM IO schedulers
Status: Committed to -CURRENT
Will appear in 9.0: sure
Authors: Luigi Rizzo, Fabio Checconi
Web: commit message

The new framework, integrated with GEOM, allows for multiple disk IO schedulers to be used, if necessary, on different IO providers (e.g. drives). The usage of some IO schedulers can increase responsiveness in certain kinds of IO workloads, for example a mix of sequential and random IO.
----

You _can_ use multiple IO schedule. Пример со вставкой планировщика geom sched на лету уже приводил.

#man gsched
NAME
     gsched -- control utility for disk scheduler GEOM class

                                                                   Available algorithms
                include: rr, which implements anticipatory scheduling with
                round robin service among clients; as, which implements a sim-
                ple form of anticipatory scheduling with no per-client queue.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

64. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –2 +/
Сообщение от uniman on 11-Янв-12, 16:04 
> Проще говоря, нормальный планировщик IO там написать так и не осилили.

Да, он не планирует за для походы за продуктами в магазин. Это несомненно недостаток.

Вы не могли бы сформулировать критерии "нормального планировщика" и передать их разработчикам?


Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

125. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 07:01 
> Вы не могли бы сформулировать критерии "нормального планировщика" и передать их разработчикам?

Не тот случай когда 1 размера хватает всем. Поэтому у пингвиноидов их вон на выбор есть, а будет еще больше.


Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

157. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 13-Янв-12, 02:19 
>> Вы не могли бы сформулировать критерии "нормального планировщика" и передать их разработчикам?
> Не тот случай когда 1 размера хватает всем. Поэтому у пингвиноидов их
> вон на выбор есть, а будет еще больше.

То есть критерии стратегирования файловой системы вы сформулировать не компетентны.

1 Вам наверное будет нетрудно привести тогда хотя бы орг-технические аргументы необходимости применения различных планировщиков дискового ввода-вывода? Ну хотя бы что эти планировщики планируют?

Можно с указанием фрагментов исходных текстов. Я пойму.

2 Может у упомянутых вами пингвиноидов (кто это? разработчки ядра linux, люди-пингвины?) что-то не получается в достижении трубуемого отклика и прочих технических параметров от файловых систем?

Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

161. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 13-Янв-12, 20:43 
> То есть критерии стратегирования файловой системы вы сформулировать не компетентны.

Угу. Хотя-бы потому что не знаю какие еще в будущем будут накопители. Ну вот например запускают в производство MRAM. Ты знаешь какие у него физические свойства и какие из-за этого будут требования по их учету к планировщику? Я вот пока слабо представляю себе свойства всего этого.

> 1 Вам наверное будет нетрудно привести тогда хотя бы орг-технические аргументы необходимости
> применения различных планировщиков дискового ввода-вывода?

Да пожалуйста. Физические свойства флеша и вращающихся дисков настолько различны что крайне глупо шедулить их одним и тем же алгоритмом без учета их физических особенностей. Алгоритм для дисков - должен учитывать тормозной seek и стараться минимизировать перемещения голов и/или например "наказывать" тех кто много их гоняет, если допустим цель - относительно честно поделить доступ к диску между всеми. Алгоритм для флеша на seek внимание обращать не должен, а вот потенциальную тормознутость записи в некоторых ситуациях - очень даже неплохо бы учесть. Для каких-то еще типов накопителей оптимально учесть что-то еще.

> Ну хотя бы что эти планировщики планируют?
> Можно с указанием фрагментов исходных текстов. Я пойму.

Все исходники есть на kernel.org. Для cfq вроде кто-то даже фрагмент постил - там где проверяется что это rotational media или нет. И алгоритм меняется, соответственно.

> 2 Может у упомянутых вами пингвиноидов (кто это? разработчки ядра linux, люди-пингвины?)
> что-то не получается в достижении трубуемого отклика и прочих технических параметров
> от файловых систем?

Да при чем тут файловые системы? Планировщик ввода-выводы делит ресурсы устройства на всех по некоей политике. В лине этому всему уделяют внимание например потому что стоит где-то хост с виртуалками. На нем орда юзеров, допустим. Будет нехорошо, если один юзер из своей виртуалки узурпирует все ресурсы железа, положив остальных на лопатки. Ну понятно что бсдельники далеки от этого (наверное потому что я как-то не видел бсд в роли host в продакшне крутящем кучи юзерских виртуалок за бабки).

Ответить | Правка | ^ к родителю #157 | Наверх | Cообщить модератору

167. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 13-Янв-12, 22:01 
>> То есть критерии стратегирования файловой системы вы сформулировать не компетентны.
> Угу. Хотя-бы потому что не знаю какие еще в будущем будут накопители.

Те, в разработке интефейсов к которым вы примете горячее участие.
Впереди планеты всей.
Не теряйте, батенька, времени.

http://www.t10.org/intro.htm


>> Ну хотя бы что эти планировщики планируют?
>> Можно с указанием фрагментов исходных текстов. Я пойму.
> Все исходники есть на kernel.org. Для cfq вроде кто-то ...

... где-то.

Понятно.

PS

Универсальный алгоритм:
- Ваш код гавно!
- Но ты смотрел его?
- Не смотрел, патамучно ваш код гавно!
- Почему?
- Ваш код гавно, а кто так не считает, те казлы!

Opensource world. Next generation.

Ответить | Правка | ^ к родителю #161 | Наверх | Cообщить модератору

187. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 01-Фев-12, 16:43 
> - Почему?
> - Ваш код гaвно, а кто так не считает, те казлы!

А в этом что-то есть. Например, осознать что UFS всего лишь древний помет мамонта с угребищной архитектурой можно просто окинув взглядом общую архитектуру ФС. Читать целиком код этого ископаемого барахла - лишняя работа. Пусть он хоть трижды замечательный на вкус, архитектурной угребищности ФС в целом это не отменяет.

Ответить | Правка | ^ к родителю #167 | Наверх | Cообщить модератору

190. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 01-Фев-12, 18:05 
>> - Почему?
>> - Ваш код гaвно, а кто так не считает, те казлы!
> А в этом что-то есть. Например, осознать что UFS всего лишь древний
> помет мамонта с угребищной архитектурой можно просто окинув взглядом общую архитектуру
> ФС. Читать целиком код этого ископаемого барахла - лишняя работа. Пусть
> он хоть трижды замечательный на вкус, архитектурной угребищности ФС в целом
> это не отменяет.

Судя по тексту, вы в этом вопросе разобрались. В каком месте код устарел и не отвечает техническим требованиям?

$ ls -l /usr/src/sys/ufs/ufs/
total 708
-rw-r--r--  1 root   wheel   3342 21 Jan  2010 README.acls
-rw-r--r--  1 root   wheel   4549 21 Jan  2010 README.extattr
-rw-r--r--  1 root   wheel   2105 23 Jul  2010 acl.h
-rw-r--r--  1 root   wheel   8526  2 Jan 23:41 dinode.h
-rw-r--r--  1 root   wheel   5848 21 Jan  2010 dir.h
-rw-r--r--  1 root   wheel   5259 17 Oct 18:13 dirhash.h
-rw-r--r--  1 root   wheel   6068 21 Jan  2010 extattr.h
-rw-r--r--  1 root   wheel   1629 21 Jan  2010 gjournal.h
-rw-r--r--  1 root   wheel   7516  2 Jan 23:41 inode.h
-rw-r--r--  1 root   wheel   9510  2 Jan 23:41 quota.h
-rw-r--r--  1 root   wheel  17313  2 Jan 23:41 ufs_acl.c
-rw-r--r--  1 root   wheel  11060 21 Jan  2010 ufs_bmap.c
-rw-r--r--  1 root   wheel  36965  2 Jan 23:41 ufs_dirhash.c
-rw-r--r--  1 root   wheel  34990 17 Oct 18:13 ufs_extattr.c
-rw-r--r--  1 root   wheel   5378  2 Jan 23:41 ufs_extern.h
-rw-r--r--  1 root   wheel   3638  2 Jan 23:41 ufs_gjournal.c
-rw-r--r--  1 root   wheel   6259  2 Jan 23:41 ufs_inode.c
-rw-r--r--  1 root   wheel  41201  2 Jan 23:41 ufs_lookup.c
-rw-r--r--  1 root   wheel  44124 15 Jan 19:56 ufs_quota.c
-rw-r--r--  1 root   wheel   5194  2 Jan 23:41 ufs_vfsops.c
-rw-r--r--  1 root   wheel  70254  2 Jan 23:41 ufs_vnops.c
-rw-r--r--  1 root   wheel   6232  2 Jan 23:41 ufsmount.h

PS
Насколько понимаю, вы эксперт по файловым системам. Поэтому вам не составит труда указать.

Ответить | Правка | ^ к родителю #187 | Наверх | Cообщить модератору

32. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:18 
> Неужели в Linux только сейчас начали избавляться от зависимости планирования дисковых операций
> от аппаратных особенностей усройств хранения?

Напротив, сделали планировщик специально для конкретного типа устройств хранения.

> планировщик I/O, которому в общем-то по барабану, с каким накопилем он
> работает — с HDD или SSD.

Ага, только проблема в том что для ssd и hdd удобны довольно разные "стили" обмена данными. Например, у SSD нет особого penalty за seek через полдевайса в отличие от винча. Зато ему очень удобно если данные валятся большими блоками, по размеру erase-block флеша и смещение этих данных - по началу блока накопителя. Еще файловая система может подыгрывать SSD высылая ему команду trim, указывающую что "мы больше вон те блоки не юзаем, можешь их подгрести GC'ом когда делать нечего". Сие улучшает скорость записи, т.к. контроллеру ssd приходится не решать проблемы по мере их возникновения, стопоря запись, а появляется шанс заранее дорогу расчистить, чтобы потом по ней "с ветерком" шпарить.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

67. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +2 +/
Сообщение от uniman on 11-Янв-12, 16:22 
> Еще файловая система может
> подыгрывать SSD высылая ему команду trim, указывающую что "мы больше вон
> те блоки не юзаем, можешь их подгрести GC'ом когда делать нечего".
> Сие улучшает скорость записи, т.к. контроллеру ssd приходится не решать проблемы
> по мере их возникновения, стопоря запись, а появляется шанс заранее дорогу
> расчистить, чтобы потом по ней "с ветерком" шпарить.

Гм, матчасть...

Вообще-то посылать TRIM - не дело слоя FS с бородатого года. В коде FS это вообще командо для контролеро как бы не обязано фигурировать.
Дело FS - файло по блокам абстрактного массива распихивать. Вот другой вопрос - как, учитывая пару л-тройке логических слоев до реального физического массива.

Насчет реализации TRIM ункутри FBSD. Да есть оно.
Насчет как работает - сам не тестировал, все как-то накопители без этого попадаются.

К примеру, кусочек кода, где меняется поведение очереди в зависимости от трям/не-трям контролера.
http://svnweb.FreeBSD.org/base/release/9.0.0/sys/cam/ata/ata...

/*
* Actually translate the requested transfer into one the physical driver
* can understand.  The transfer is described by a buf and will include
* only one physical transfer.
*/
static void
adastrategy(struct bio *bp)
{
.......    
        /*
         * Place it in the queue of disk activities for this disk
         */
        if (bp->bio_cmd == BIO_DELETE &&

            (softc->flags & ADA_FLAG_CAN_TRIM))
                bioq_disksort(&softc->trim_queue, bp);
        else
                bioq_disksort(&softc->bio_queue, bp);
........
}

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

83. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 18:27 
>> по мере их возникновения, стопоря запись, а появляется шанс заранее дорогу
>> расчистить, чтобы потом по ней "с ветерком" шпарить.
> Гм, матчасть...

Что - матчасть?

> Вообще-то посылать TRIM - не дело слоя FS с бородатого года.

ФС лучше всех остальных знает когда вон те данные на ФС уже никому не нужны. Стало быть, ей и инициировать это дело.

> В коде FS это вообще командо для контролеро как бы не обязано фигурировать.

Если честно - я не смотрел сорцы как это организовано. Я знаю что как минимум ext4 и btrfs это умеют, как и мое оборудование, и это работает. Если мне попадет шлея под хвост - ну ок, я сунусь и посмотрю как это сделано.

> Дело FS - файло по блокам абстрактного массива распихивать.

Ну так в этом процессе как раз и обнаружится что блоки по адресу от X до Y нам и не требуются уже. Логично захинтить накопитель о том фактк что их можно почистить. Как именно сделана отсылка trim я честно говоря не смотрел. Я только поигрался с этой механикой и заметил что это работает (есть вполне доступные методы проверки).

> Вот другой вопрос - как, учитывая пару л-тройке логических слоев
> до реального физического массива.

Если через эти слои можно адресно записывать блоки то почему нельзя их же и чистить?

> Насчет реализации TRIM ункутри FBSD. Да есть оно.

А я то думал что у ней внутри неонка :)

> Насчет как работает - сам не тестировал, все как-то накопители без этого
> попадаются.

Практически любой современный ssd например просто обязан trim уметь - фича уже довольно баянистая. А на механическом диске оно как-то и не надо - нет физического смысла. Это всего лишь хинт контроллеру накопителя что он может если хочет заранее стереть эти блоки. Чтобы не пришлось это делать в те моменты когда приперло по причине отсутствия чистых блоков, внепланово просрав скорость записи (erase блока флеша - довольно медленная операция).

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

86. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от uniman (ok) on 11-Янв-12, 19:01 
>>> по мере их возникновения, стопоря запись, а появляется шанс заранее дорогу
>>> расчистить, чтобы потом по ней "с ветерком" шпарить.
>> Гм, матчасть...
> Что - матчасть?
>> Вообще-то посылать TRIM - не дело слоя FS с бородатого года.
> ФС лучше всех остальных знает когда вон те данные на ФС уже
> никому не нужны. Стало быть, ей и инициировать это дело.

Иницировать - это да. Может быть.

>> В коде FS это вообще командо для контролеро как бы не обязано фигурировать.
> Если честно - я не смотрел сорцы как это организовано.
> Если через эти слои можно адресно записывать блоки то почему нельзя их
> же и чистить?

Блин :) Матчасть. Никто не "чистит блоки". В них есть функ запись, из них есть функ чтения.
Как бэ все.
В метаблоках он может быть помечен как занятый, может как свободный.
Прочитал метаблоки в память, пометил как свободные, синхронизировал метаблоки из памяти на диск - все.

Командой TRIM дополнительно информируется SSD при обновлении метаблоков, что, мол, воооон в те блоки с фуфлом в них - можно писать, ну и SSD весело в них пишет, если считает необходимым.
Говорят, это SSD облегчает его нелегкую кремниевую жизнь.

Традиционно FS логика Unix кроме чтения и записи особо никак не коммутировала с слоем драйверов. То есть пипл старался так делать.
Ну вот теперь традиции меняются :)

> Насчет реализации TRIM ункутри FBSD. Да есть оно.
> А я то думал что у ней внутри неонка :)

Некоторые так и думают, в своем мире. Судя по комментариям.

>> Насчет как работает - сам не тестировал, все как-то накопители без этого
>> попадаются.
> Практически любой современный ssd например просто обязан trim уметь - фича уже
> довольно баянистая.

Да хрен там. Может я такой невезучий. Или может прогресивное человечество ушло вперед, и унесло триманутое SSD с собой.

Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

110. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 21:42 
> Иницировать - это да. Может быть.

Ну я при случае залезу в сорц и посмотрю как они это делают. Все-таки любопытно. Что-то не думаю что они там прямо из драйвера ФС напрямую накопителю команды кидают. Это было бы как-то совсем уж по хакерски. Они конечно любят что-то такое отмочить, но не настолько же? :)

>> Если через эти слои можно адресно записывать блоки то почему нельзя их
>> же и чистить?
> Блин :) Матчасть. Никто не "чистит блоки". В них есть функ запись,
> из них есть функ чтения.

Неправильно. У флеша есть три различных процедуры. Чтение - ну там все просто и понятно. А вот запись на самом деле является сочетанием 2 взаимодополняющих операций, гоняющих биты ячеек в разные стороны, как то program, когда желаемые данные пишутся в 1 чистую страницу, и erase, когда все страницы erase-блока очищаются одним чихом. CoW логика и уровень трансляции соответственно утрясают такие вот странные свойства своего физического уровня с желанием представить это как якобы диск с какими-то там якобы секторами, которых на самом деле нифига нет. Trim позволяет сборщику мусора контроллера флеша понять что блоки уже не используются и почистить их заранее. В противном случае у сборщика мусора в контроллере есть одна довольно тупая проблема: а он не знает, нужны вам еще вон те данные или уже нет. На них не написано! Как я понимаю, он может сделать выводы лишь на основе логики "если они вот это переписали, оно уже точно было не нужно". Что как-то не слишком оптимально. Trim позволяет реализовывать более удачную упреждащую логику сбора мусора заранее, до того как реально припрет что-то записать и обнаружить что надо оказывается чего-то там перелопатить.

> Как бэ все.

Как бэ щаззз.

> В метаблоках он может быть помечен как занятый, может как свободный.
> Прочитал метаблоки в память, пометил как свободные, синхронизировал метаблоки из памяти
> на диск - все.

Я не знаю кто такие метаблоки, но флеш оперирует двумя понятиями - относительно мелкие страницы на 1..4 кило и относительно большие erase block на 64...512 кило.

> Командой TRIM дополнительно информируется SSD при обновлении метаблоков,
> что, мол, воооон в те блоки с фуфлом в них - можно писать,

Еще один неандерталец, который явно не в курсе что у флеша нет понятия записи как таковой, а есть расщепление этой операции на две взаимодополняющие - erase и program.

>  ну и SSD весело в них пишет, если считает необходимым.
> Говорят, это SSD облегчает его нелегкую кремниевую жизнь.

Говорят, что это позволяет контроллеру на ssd понять что вон те блоки уже никому нафиг не нужны и можно заранее их erase'ануть. Это бы все-равно пришлось сделать потом для их использования, но если это делать когда приперло записать туда что-то - так сперва придется дождаться конца erase а только потом делать program. А это медленее чем немедленно вфигачить желаемое (program) в заранее очищенные страницы. С соответствующим результатом для скорости операции "записи" (которая по факту сочетание erase и program).

> Традиционно FS логика Unix кроме чтения и записи особо никак не коммутировала
> с слоем драйверов. То есть пипл старался так делать.
> Ну вот теперь традиции меняются :)

SSD вообще на диски не похожи. Какой козел придумал что он должен выглядеть как диск я не знаю но он заслуживает прогулки на эшафот. За создание геморроя остальным в "благих" целях обратной совместимости.

>> Насчет реализации TRIM ункутри FBSD. Да есть оно.
>> А я то думал что у ней внутри неонка :)
> Некоторые так и думают, в своем мире. Судя по комментариям.

Ну просто мало меня интересуют кишки этой вашей FBSD, просто потому что я не собираюсь ей пользоваться в обозримом будущем. Кишки флешатины или там пингвина - а почему бы и нет, собственно? Я и тем и другим пользуюсь и буду пользоваться в обозримом будущем. Такой я вот редиска.

>> Практически любой современный ssd например просто обязан trim уметь - фича уже
>> довольно баянистая.
> Да хрен там. Может я такой невезучий. Или может прогресивное человечество ушло
> вперед, и унесло триманутое SSD с собой.

У упомянутых арчеводов есть довольно простой и забавный метод проверки работы trim через смотрение в каком секторе лежит файл, его стирание и смотрение с тем что стало с этим сектором после sync. Правда у них разумеется применительно к линуксу и ext4, насколько их инструкции прокатят для bsd и тамошних ФС я не знаю.

Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

115. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от uniman (ok) on 11-Янв-12, 21:59 
> Еще один неандерталец, который явно не в курсе что у флеша нет
> понятия записи как таковой, а есть расщепление этой операции на две
> взаимодополняющие - erase и program.

Ну спасибо. Теперь буду жить по другому. Стану бриться и перестану ругаться матом.

Ваще то я писал с точки зрения того самого интерфейса ATAPI/SCSI.
Если вы найдете в спецификации SCSI команду РАСЩЕПИТЬ и ЗАЩИМИТЬ, то даже стану носить галстук.

Ответить | Правка | ^ к родителю #110 | Наверх | Cообщить модератору

116. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 22:25 
> Ваще то я писал с точки зрения того самого интерфейса ATAPI/SCSI.
> Если вы найдете в спецификации SCSI команду РАСЩЕПИТЬ и ЗАЩИМИТЬ, то даже
> стану носить галстук.

Подляна состоит в том что нативную механику флеша вывешивать как некий интерфейс зассали и вместо этого сделали какие-то кривые костыли для представления этого как якобы какой-то там диск, похожий на то с чем привыкли работать ОСы. Осознав что в результате этих потуг получилась очень субоптимальная бнопня, сделали еще костылик в виде trim, позволяющий хоть как-то захинтить то что там на самом деле через тот интерфейс что есть. Теперь гланды через зад автогеном стало удалять в два раза забористее, приколитесь? :))

Ответить | Правка | ^ к родителю #115 | Наверх | Cообщить модератору

120. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 11-Янв-12, 23:06 
>> Ваще то я писал с точки зрения того самого интерфейса ATAPI/SCSI.
>> Если вы найдете в спецификации SCSI команду РАСЩЕПИТЬ и ЗАЩИМИТЬ, то даже
>> стану носить галстук.
> Подляна состоит в том что нативную механику флеша вывешивать как некий интерфейс
> зассали и вместо этого сделали какие-то кривые костыли для представления этого
> как якобы какой-то там диск, похожий на то с чем привыкли
> работать ОСы.

Ну так. Мир несовершенен.
И я бы так сделал. Или вы хотите лет пяток подождать до внедрения SSD c жутко корректным интерфейсом? Писать системный код и отлаживать - проектные затраты, поэтому внедрение идет по пути наименьших стеднепрогнозных потерь на изменения.

Для многих встраиваемых систем смена HDD на SSD - уже благое дело, ибо резко повышает надежность по механике.
И значит, благое дело для всех нас, их пользователей.

Ответить | Правка | ^ к родителю #116 | Наверх | Cообщить модератору

126. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 07:25 
> Ну так. Мир несовершенен.

Ну так. А наша цель - этой механике подыграть. Тому что по факту есть, а не тому маразму через который это вывешено. Ну вот SCSI всего лишь средство, не более.

> И я бы так сделал. Или вы хотите лет пяток подождать до
> внедрения SSD c жутко корректным интерфейсом?

Да на самом деле у MS был бы чудный повод продать новую винду лохам с кульной новой фичой, а остальные могли бы быстро и эффективно работать с дисками, удачно раскладывая файловую систему по флешовым сущностям без большого онанизма. Просто тормозные корпорасты как обычно не понимают своего счастья и изобретают вместо этого костыли и подпорки.

> Писать системный код и отлаживать - проектные затраты, поэтому внедрение идет
> по пути наименьших стеднепрогнозных потерь на изменения.

Это делается так: берется 2 компа, ставится на один старая винда, на второй новая, на супермодный SSD. Показывается разница во времени загрузки в рекламе. Хомяки фигеют и строятся в очередь. Ну а остальные и сами разберутся. И уж наверное всякие линуксы бы без проблем бы подхватили. Ну во всяком случае поддержку флех прицепленных к процам напрямую они что-то делают вполне оперативно. Хотя если уж на то пошло, редизайнить надо и интерфейс передачи данных - для ssd его может быть мало. Вон некоторые делают ssd на pci-e шину. Потому что sata им не хватает.

> Для многих встраиваемых систем смена HDD на SSD - уже благое дело,
> ибо резко повышает надежность по механике.

Зато вносит препротивный лимит на объем записи на носитель. Если на винч можно писать хоть круглосуточно, то вот флехи от этого довольно быстро протираются и вскоре придется заменять флешку, хоть она и угроблена не механически а электрически. А еще они дорогие. Мало того что ssd объема сравнимого с топовыми винчами просто не делают, так еще и что-то хоть издали похожее на таковые стоит как половина самолета.

> И значит, благое дело для всех нас, их пользователей.

Да просто глупо тут то что сначала создали себе проблем а теперь вот героически их решают всякими неочевидными и кривыми костылями типа TRIM. Хотя могли бы и сделать некий набор команд типа ATAPI, но для флех, например. Ну подумаешь, в хучшем случае потребовался бы еще 1 драйвер под +1 тип накопителей. В лучшем таковой драйвер стал бы стандартной частью систем.

Ответить | Правка | ^ к родителю #120 | Наверх | Cообщить модератору

142. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 12-Янв-12, 18:51 
> Да просто глупо тут то что сначала создали себе проблем а теперь
> вот героически их решают всякими неочевидными и кривыми костылями типа TRIM.
> Хотя могли бы и сделать некий набор команд типа ATAPI, но

Тебя ждали.

Ответить | Правка | ^ к родителю #126 | Наверх | Cообщить модератору

144. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 20:14 
> Тебя ждали.

Круто!

Ответить | Правка | ^ к родителю #142 | Наверх | Cообщить модератору

117. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 11-Янв-12, 22:26 

> Говорят, что это позволяет контроллеру на ssd понять что вон те блоки
> уже никому нафиг не нужны и можно заранее их erase'ануть. Это ...

Да неужто? А зачем? Наверное, для того что бы в них можно было что-то записать?

Мне еще рассказывали, в магнитных накопителях такой вот шпиндель заранее раскручивают.
Что диск жужжал, и человек мог понять, что он работает.

> SSD вообще на диски не похожи. Какой козел придумал что он должен
> выглядеть как диск я не знаю но он заслуживает прогулки на
> эшафот. За создание геморроя остальным в "благих" целях обратной совместимости.

Не, товарищи производители должны были подождать, пока все разработчики напишут новый код под новую спецификацию интефейса SD00001BETA. А потом продавать. Через три-четыре года.

> Ну просто мало меня интересуют кишки этой вашей FBSD

Во первых, она такая же моя, как и товарища Петрова. Или ваша. Обчественное достояние.
Во вторых, ваше право чем-то не интересоваться. Чего писать об этом так уж?
В третьих, какая нахрен разница, код есть код.


> У упомянутых арчеводов есть довольно простой и забавный метод проверки работы trim

"Ну просто мало меня интересуют кишки этоих ваших арчеводов" :)

> через смотрение в каком секторе лежит файл, его стирание и смотрение
> с тем что стало с этим сектором после sync.

Угу. Через ATAPI интерфейс прям обращаясь к чипу EEPROM. В каком секторе лежит файл. Сильная методика. Жажду ссылки.

Ответить | Правка | ^ к родителю #110 | Наверх | Cообщить модератору

127. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 08:20 
>> Говорят, что это позволяет контроллеру на ssd понять что вон те блоки
>> уже никому нафиг не нужны и можно заранее их erase'ануть. Это ...
> Да неужто? А зачем? Наверное, для того что бы в них можно было что-то записать?

Да. Потому что в отличие от магнитного диска на флеше нельзя просто взять и перезаписать уже занятый данными произвольно выбранный сектор. У хардов все просто. Сказали перезаписать сектор? Ну он пошел, переместил головы в это место, нашел и перезаписал его. Правила игры флеша совсем иные. И если seek time у флеша близко к нулю и его можно вообще почти проигнорировать, то вот время erase обычно лежит в пределах скольких-то там миллисекунд и попасть на эту операцию в процессе записи данных - довольно нехорошо и ведет к сильной просадке скорости записи. Потому что сколько-то там миллисекунд вместо записи курили бамбук, ожидая пока блок сотрется и станет можно в него что-то записать. У арчеводов с их весьма дельной викой кстати на вике есть весьма доходчивые графики как все это выглядит не только в теории но и на практике - сравнение того что получается с trim и без оного ;)

> Мне еще рассказывали, в магнитных накопителях такой вот шпиндель заранее раскручивают.

Некорректная аналогия. В магнитном накопителе сектор можно записывать сразу, без какой-то выделенной процедуры предварительной подготовки оного, выполняемой как некая отдельная сущность в отдельный момент времени. И к тому же винчу не проблема перезаписать только вот эти 512 (или накрайняк 4096) байтов не трогая соседние. А вот ssd в силу своего устройства так не может чисто физически и эмулирует такое поведение крайне извращенскими и неоптимальными действиями. Провокации оного на эти действия следует максимально избегать, если волнует эффективность процесса. А поскольку истинной геометрии нам неизвестно - это избегание превращается в некую черную магию.

> Что диск жужжал, и человек мог понять, что он работает.

Какая чудная логика неандертальца ффтыкающего на микроволновку :)

[...]
> Не, товарищи производители должны были подождать, пока все разработчики напишут новый код
> под новую спецификацию интефейса SD00001BETA. А потом продавать. Через три-четыре года.

А что, MS как раз с удовольствием бы пошел барыжить новой системой с суперфичой :). Вообще, ATAPI же как-то внедрили, да? Ну потаскали некоторые системы некоторое время с собой кастомные драйвера cd-rom. А потом драйвера внедрили в все основные ОС и нужда в этом отпала. Не вижу никакой трагедии.

>> Ну просто мало меня интересуют кишки этой вашей FBSD
> Во первых, она такая же моя, как и товарища Петрова. Или ваша. Обчественное достояние.

Сами как-нибудь это ваше достояние юзайте. А для меня - поскольку я не собираюсь это использовать, то и детали его внутренней механики волнуют крайне слабо. Разве что как какое-то обобщенное знание, не более.

> Во вторых, ваше право чем-то не интересоваться. Чего писать об этом так уж?

Скорее, не совсем понятно на кой перец лезть с вашей bsd к линухоидам с их планировщиком. Хотя тут скорее больше в огород изена, этот вообще абстрактный теоретик. Флехи он судя по всему только на картинках в книжках видел :)

> В третьих, какая нахрен разница, код есть код.

Да просто не понятно какую самоценность он несет и что это по вашему мнению должно проиллюстрировать.

>> У упомянутых арчеводов есть довольно простой и забавный метод проверки работы trim
> "Ну просто мало меня интересуют кишки этоих ваших арчеводов" :)

Я это подозреваю, поэтому специально уточняю этот факт, предупреждая о том что эксперимент был опробован под вполне конкретную конфигурацию и работать в других так же не обязан а действия могут отличаться. Вам скорее всего придется напрячь мозг и как-то самому придумать эквивалентный по физическому смыслу набор действий для FBSD, если вдруг захочется повторить такой эксперимент.

>> через смотрение в каком секторе лежит файл, его стирание и смотрение
>> с тем что стало с этим сектором после sync.
> Угу. Через ATAPI интерфейс прям обращаясь к чипу EEPROM.

Во первых в флешовых носителях чипы не EEPROM а NAND-флеша. EEPROM где-то на совсем базовом уровне похож на "соседний" NOR-флеш, но в отличие от - может писаться хоть отдельными байтами в людском виде. Почему не юзают? Потому что плотность хранения данных никакая. Не надо никому носитель на несколько метров и по цене самолета.
Во вторых, набор команд у SSD вроде как ATA, а не ATAPI.
В третьих, нет, к сожалению напрямую обратиться в чип нельзя. Поэтому методика довольно хакерская и косвенная, продирающаяся через все эти костыли и слои абстракций к реальной физике.

> В каком секторе лежит файл. Сильная методика. Жажду ссылки.

Ага, сильная. Я тоже аж удивился. Правда извиняюсь, немного прогнал: ссылка на это у арчеводов, но сам эксперимент все-таки описан на другом сайте.

Арчеводовская вика по теме - https://wiki.archlinux.org/index.php/Solid_State_Drives и я бы сказал что это довольно дельный ресурс, независимо от используемой системы. В том плане что из него понятно в какую сторону и что можно крутить, а как это сделать в вашей системе - сами уже как-нибудь допирайте.

Статья на проверку поддержки TRIM в пингвине - http://techgage.com/article/enabling_and_testing_ssd_trim_su.../

(самое интересное, а именно проверка - на второй странице)

В меру моего понимания, эта проверка довольно сильно закладывается на механику работы файловых систем типа ext4 (как минимум, такой метод проверки имхо не прокатит для CoW файловых систем, а для остальных - в зависимости от того как они стирают файлы и требуют ли почистить при этом область занятую файлом через trim так или иначе) и допускает довольно характерную логику поведения контроллера в ssd, чего разумеется для произвольно взятого ssd никто не гарантирует. Тем не менее, упомянутая там механика и тест вполне работает на конфигурации отдаленно напоминающей авторскую. Ну то-есть, если все отработало как описано у авторов - TRIM определенно есть и работает "по факту", реально расчищая блоки когда об этом попросили.

Ответить | Правка | ^ к родителю #117 | Наверх | Cообщить модератору

141. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 12-Янв-12, 18:43 

>> Мне еще рассказывали, в магнитных накопителях такой вот шпиндель заранее раскручивают.
>> Что диск жужжал, и человек мог понять, что он работает.
> Некорректная аналогия. В магнитном накопителе сектор можно записывать сразу, без какой-то ...

Батенька, вы еще не поняли что это издевка над вашим поучительством?

>> Не, товарищи производители должны были подождать, пока все разработчики напишут новый код
>> под новую спецификацию интефейса SD00001BETA. А потом продавать. Через три-четыре года.
> А что, MS как раз с удовольствием бы пошел барыжить новой системой
> с суперфичой :). Вообще, ATAPI же как-то внедрили, да? Ну потаскали
> некоторые системы некоторое время с собой кастомные драйвера cd-rom.

Стандарт CDROM IEC-19* хрен уже не помню, который потом ISO 9669 - 1986 года.
Стандарт ATAPI, АTA-4/ATAPI, включающий интерфейc к мультимедия CDROM - 1998 год.

12 лет. А таки потом сделали их интерфейс АТА и SCSI.

>А потом драйвера внедрили в все основные ОС и нужда в этом отпала.

Гениально!

> Не вижу никакой трагедии.

Точно. Тебе контакт генерального директора Тошибы али Самсунга подсказать, или сам найдешь?
Там такие как ты гении нужны. Не, вдруг на самом все в производстве-индустрии гораздо проще?

>>> Ну просто мало меня интересуют кишки этой вашей FBSD
>> Во первых, она такая же моя, как и товарища Петрова. Или ваша. Обчественное достояние.
> Сами как-нибудь это ваше достояние юзайте. А для меня

Меня мало волнуют и твои кишки. :)

> придется напрячь мозг и как-то самому придумать эквивалентный по физическому смыслу
> набор действий для FBSD, если вдруг захочется повторить такой эксперимент.

Не, теперь очередь этих, как его арчеводов.

>> через смотрение в каком секторе лежит файл, его стирание и смотрение
>>> с тем что стало с этим сектором после sync.
>> Угу. Через ATAPI интерфейс прям обращаясь к чипу EEPROM.
> Во первых в флешовых носителях чипы не EEPROM а NAND-флеша.

Он знал! Он знал! О великий магистр Йода! :)

Парень, тебя так самодовольно прет от твоих открытый после программирования флеш-чипов, что остальному человечесту просто остается грется в лучах твоего сияния.

Ответить | Правка | ^ к родителю #127 | Наверх | Cообщить модератору

160. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 13-Янв-12, 20:26 
[...]
> Батенька, вы еще не поняли что это издевка над вашим поучительством?

Да ладно вам, не стесняйтесь, я тоже покушать люблю и вы оказались вполне пригодны, извините уж за честность :)

> Стандарт CDROM IEC-19* хрен уже не помню, который потом ISO 9669 -
> 1986 года.Стандарт ATAPI, АTA-4/ATAPI, включающий интерфейc к мультимедия CDROM - 1998 год.

Ага. Правда до этого сидиромы цепляли к звуковухам и было несколько несовместимых интерфейсов. До такого маразма как эмулировать из сидюка винч тогда к счастью не додумались и в результате оно доэволюционировало до чего-то вменяемого.

> 12 лет. А таки потом сделали их интерфейс АТА и SCSI.

Так флеш тоже появился в 80-х годах, если не в конце 70-х.

>>А потом драйвера внедрили в все основные ОС и нужда в этом отпала.
> Гениально!

Конечно!

[...]
> Там такие как ты гении нужны. Не, вдруг на самом все в
> производстве-индустрии гораздо проще?

Разумеется. Хотя честно говоря я не понимаю чего ои упустили возможность слупить бабла на ровном месте. Мелкомякоть могли бы продавать винду с поддержкой нового интрфейса лузерам за суперцену, производители флещатины тоже в минусе бы не остались, ну и так далее :). Видимо влом им что-то разрабатывать уже. Проще купоны стричь на патентной грызне.

> Меня мало волнуют и твои кишки. :)

Так я и не предлагаю их изучать :P.

>> придется напрячь мозг и как-то самому придумать эквивалентный по физическому смыслу
>> набор действий для FBSD, если вдруг захочется повторить такой эксперимент.
> Не, теперь очередь этих, как его арчеводов.

Угу, арчеводы в отличие от некоторых как ни странно оказались парнями ориентирующимися на фактический результат, а не теоретические бсдения о скази-интерфейсах. Поэтому они будучи дотошными парнями нашли и статейку с описальником как проверить что trim реально работает в некоей конфигурации.

> Он знал! Он знал! О великий магистр Йода! :)
> Парень, тебя так самодовольно прет от твоих открытый после программирования флеш-чипов,
> что остальному человечесту просто остается грется в лучах твоего сияния.

Кто ж виноват что такие как вы видели флеш только на картинке, зато потеоретизировать насчет скази и книжек 1999 года - горазды.

Ответить | Правка | ^ к родителю #141 | Наверх | Cообщить модератору

165. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 13-Янв-12, 21:32 
>> Стандарт CDROM IEC-19* хрен уже не помню, который потом ISO 9669 -
>> 1986 года.Стандарт ATAPI, АTA-4/ATAPI, включающий интерфейc к мультимедия CDROM - 1998 год.
> Ага. Правда до этого сидиромы цепляли к звуковухам и было несколько несовместимых
> интерфейсов. До такого маразма как эмулировать из сидюка винч тогда к
> счастью не додумались и в результате оно доэволюционировало до чего-то вменяемого.

А пока, вы, батенька, предлагагате прицепить флешь-накопители на soundblaster.
Ок. Хорошее предложение, у меня для этого и sb16 остался, вполне еще рабочий.

Боюсь только, разработчики и покупатели встраиваемого оборудования ваших мысленных флаек не поймут.

>> 12 лет. А таки потом сделали их интерфейс АТА и SCSI.
> Так флеш тоже появился в 80-х годах, если не в конце 70-х.

А спустя 20 лет появился анонимус в форуме на опеннете.

Процесс разработки расширений на стандарты интефейсов идет постоянно.
Открой для себя комитет T13
http://www.t13.org

Фперед, с предложениями туда. Там отпушут, куда тебе идти дальше.

>>>А потом драйвера внедрили в все основные ОС и нужда в этом отпала.
>> Гениально!
> Конечно!

Вам осталось убедить всего пару-тройку корпораций в вашей гениальности.
Ну хотя бы свою кошку.

> Кто ж виноват что такие как вы видели флеш только на картинке,
> зато потеоретизировать насчет скази и книжек 1999 года - горазды.

Вы сам-то поняли, батенька анонимус, что написали?

Ответить | Правка | ^ к родителю #160 | Наверх | Cообщить модератору

178. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 17-Янв-12, 20:45 
>> Ага. Правда до этого сидиромы цепляли к звуковухам и было несколько несовместимых
>> интерфейсов. До такого маразма как эмулировать из сидюка винч тогда к
>> счастью не додумались и в результате оно доэволюционировало до чего-то вменяемого.
> А пока, вы, батенька, предлагагате прицепить флешь-накопители на soundblaster.

Прикольный вывод! Дерзайте! :)

> Ок. Хорошее предложение, у меня для этого и sb16 остался, вполне еще рабочий.

А, круто. Теперь дизайньте контроллер под этот интерфейс, чтоли :)

> не поймут.

А их вообще никто не будет спрашивать, независимо ни от чего.

> Фперед, с предложениями туда. Там отпушут, куда тебе идти дальше.

А что, есть опыт взаимодействия с оными?

> Вам осталось убедить всего пару-тройку корпораций в вашей гениальности.
> Ну хотя бы свою кошку.

Прикольно наверное когда у вас кошка - корпорация :)

> Вы сам-то поняли, батенька анонимус, что написали?

Что-то написал. Правда среди этого не было книжек.

Ответить | Правка | ^ к родителю #165 | Наверх | Cообщить модератору

179. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 17-Янв-12, 20:53 
>Что-то написал. Правда среди этого не было книжек.

Так вы обратились к кому-либо со своими перспективными идеями создать новый интерфейс для флеш-накопителей, или только на опеннет анонимусом горазды?

Результат когда будет?

Ответить | Правка | ^ к родителю #178 | Наверх | Cообщить модератору

184. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от netch (ok) on 23-Янв-12, 21:56 
>>> через смотрение в каком секторе лежит файл, его стирание и смотрение
>>> с тем что стало с этим сектором после sync.
>> Угу. Через ATAPI интерфейс прям обращаясь к чипу EEPROM.
> Во первых в флешовых носителях чипы не EEPROM а NAND-флеша. EEPROM где-то
> на совсем базовом уровне похож на "соседний" NOR-флеш, но в отличие
> от - может писаться хоть отдельными байтами в людском виде.

Вообще-то про NOR все пишут, что оно тоже может байтами писаться. Та же википедия пишет.
Врут?

> Почему
> не юзают? Потому что плотность хранения данных никакая. Не надо никому
> носитель на несколько метров и по цене самолета.
> Во вторых, набор команд у SSD вроде как ATA, а не ATAPI.

Ну имелось в виду, как я понял, с кастомным обращением не с блочными операциями, а значит - ATAPI.

> (самое интересное, а именно проверка - на второй странице)

Проверили, что нули... ничего интересного. Кстати, в случае SCSI спецификации не требуют нули, хотя и рекомендуют.


Ответить | Правка | ^ к родителю #127 | Наверх | Cообщить модератору

188. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 01-Фев-12, 17:07 
> Вообще-то про NOR все пишут, что оно тоже может байтами писаться. Та
> же википедия пишет.
> Врут?

Зависит от чипа. Зачастую - натурально может (под записью я имею в виду PROGRAM). А иногда только страницами, зависит от конкретиики реализации. Исторически, страничные режимы (для ускорения чтения-записи) появились позже побайтовых (а точнее, пословных, поскольку байт на, допустим, 16-битной шине - нечто довольно странное и не существующее физически). Но даже если запись и можно делать индивидуально, это будет с противной оговоркой: в NOR можно индивидуально спустить битики из 1 в 0 но вот обратно в 1 их загнать можно только ERASE'ом всего огромного блока. Кстати этот фокус позволял штукам типа JFFS писать в NOR 1 байт без стирания несколько раз: если нужное значение делается из того что уже записано только спуском битов - стирать не требуется. В современном мире однако ж чипы чаще всего NAND, а обмен чаще всего только страницами (по поводу чего указанный хак в jffs работать перестал и им пришлось немного переделать эту логику).

У "настоящего" EEPROM наиболее заметное отличие от флеша - отсутствие блоков. Оно адресуется влоб по ячейкам. Стирание и запись ячеек индивидуальны, в отличие от. Туда всегда можно записать любой байт в любую ячейку и это будет сделано без стирания больших блоков. Так намного удобнее для программ, но за это воздается очень низкой емкостью чипа т.к. на кристалле получается намного больше проводников к ячейкам, etc. Поэтому емкость чипов EEPROM не может конкурировать с NOR и тем более NAND, так что они используются там где не надо большой емкости а индивидуальная запись ячеек - удобна.

>> (самое интересное, а именно проверка - на второй странице)
> Проверили, что нули... ничего интересного.

Контроллер SSD отпедалил даденый ему хинт и потер блок. Вот так вот через такой хакЪ это и проверили :)

> Кстати, в случае SCSI спецификации не требуют нули, хотя и рекомендуют.

А это вытекает из физики работы флеша, а вовсе не. Это просто стертый блок. Контроллер SSD получив хинт через TRIM, выдал чипу флеша где ранее лежал тот сектор команду на ERASE блока, оттуда и нули (в случае NOR блок стирается наоборот во все единицы, а в NAND вот так вот). На запрос чтения сектора контроллер честно слазил в сектор и доложил что там нули, что и доказывает что упомянутая механика по цепочке отработала :)

Ответить | Правка | ^ к родителю #184 | Наверх | Cообщить модератору

183. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от netch (ok) on 23-Янв-12, 21:48 
>>  ну и SSD весело в них пишет, если считает необходимым.
>> Говорят, это SSD облегчает его нелегкую кремниевую жизнь.
> Говорят, что это позволяет контроллеру на ssd понять что вон те блоки
> уже никому нафиг не нужны и можно заранее их erase'ануть. Это
> бы все-равно пришлось сделать потом для их использования, но если это
> делать когда приперло записать туда что-то - так сперва придется дождаться
> конца erase а только потом делать program.

Кроме того, это показывает, что если пересобирается новый комплект блоков, то можно указанные блоки не спасать из очищаемого диапазона.

>> Традиционно FS логика Unix кроме чтения и записи особо никак не коммутировала
>> с слоем драйверов. То есть пипл старался так делать.
>> Ну вот теперь традиции меняются :)
> SSD вообще на диски не похожи. Какой козел придумал что он должен
> выглядеть как диск я не знаю но он заслуживает прогулки на
> эшафот. За создание геморроя остальным в "благих" целях обратной совместимости.

А какая альтернатива? Опишите, пожалуйста, как выглядели бы они при другом подходе.

Ответить | Правка | ^ к родителю #110 | Наверх | Cообщить модератору

69. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman on 11-Янв-12, 16:52 
>[оверквотинг удален]
> Ага, только проблема в том что для ssd и hdd удобны довольно
> разные "стили" обмена данными. Например, у SSD нет особого penalty за
> seek через полдевайса в отличие от винча. Зато ему очень удобно
> если данные валятся большими блоками, по размеру erase-block флеша и смещение
> этих данных - по началу блока накопителя. Еще файловая система может
> подыгрывать SSD высылая ему команду trim, указывающую что "мы больше вон
> те блоки не юзаем, можешь их подгрести GC'ом когда делать нечего".
> Сие улучшает скорость записи, т.к. контроллеру ssd приходится не решать проблемы
> по мере их возникновения, стопоря запись, а появляется шанс заранее дорогу
> расчистить, чтобы потом по ней "с ветерком" шпарить.

PS

Собственно, поскольку как-то указывать что за ху из ху ниже файловой системы к железяке, приходят к таким решениям. Ну и сотвественно маленько меняется логика FS в отношении нижнего слоя.

# man newfs
....
     -t      Turn on the TRIM enable flag.  If enabled, and if the underlying
             device supports the BIO_DELETE command, the file system will send
             a delete request to the underlying device for each freed block.
             The trim enable flag is typically set when the underlying device
             uses flash-memory as the device can use the delete command to
             pre-zero or at least avoid copying blocks that have been deleted.
...

# less /usr/src/sys/ufs/ufs/ufsmount.h

/* This structure describes the UFS specific mount structure data. */                                          
struct ufsmount {
...
        int     um_candelete;                   /* devvp supports TRIM */
...
}

# less /usr/src/sys/ufs/ffs/ffs_alloc.c

        /*
         * Nothing to delay if TRIM is disabled, or the operation is
         * performed on the snapshot.
         */
        if (!ump->um_candelete || devvp->v_type == VREG) {
                ffs_blkfree_cg(ump, fs, devvp, bno, size, inum, dephd);
                return;
        }

И так далее.
# svn log /usr/src/sys/ufs/ffs/ffs_alloc.c
------------------------------------------------------------------------
r216796 | kib | 2010-12-29 15:25:28 +0300 (Wed, 29 Dec 2010) | 16 lines

Add kernel side support for BIO_DELETE/TRIM on UFS.

The FS_TRIM fs flag indicates that administrator requested issuing of
TRIM commands for the volume. UFS will only send the command to disk
if the disk reports GEOM::candelete attribute.

Since disk queue is reordered, data block is marked as free in the bitmap
only after TRIM command completed. Due to need to sleep waiting for
i/o to finish, TRIM bio_done routine schedules taskqueue to set the
bitmap bit.

Based on the patch by:  mckusick
Reviewed by:    mckusick, pjd
Tested by:      pho
MFC after:      1 month

В данном примере, если правильно понял, если стоит флаг трим и трям, то битовые операции проводить в снимке системы.

Там еще всякое.

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

182. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от netch (ok) on 23-Янв-12, 21:42 
> Неужели в Linux только сейчас начали избавляться от зависимости планирования дисковых операций
> от аппаратных особенностей усройств хранения? Во FreeBSD например, судя по книжке
> "Архитектура и реализация", в GEOM намеренно отказались от учёта физических параметров
> винчестеров, таких, как время перемещения головки. Поэтому там достаточно примитивный
> планировщик I/O, которому в общем-то по барабану, с каким накопилем он
> работает — с HDD или SSD.

Ему вообще-то не совсем по барабану. Потому что если, например, для диска лифтовый шедулер знает, что сейчас мы пишем блок 1000, в очереди стоит блок 990 от низкоприоритетного процесса, текущее направление лифта - вниз, а поступил заказ на блок 2000 от высокоприоритетного процесса - то шедулер должен решить, достаточно ли новый заказ важен, чтобы сбить логику лифта и погнать его срочно вверх (на 2000), или можно продолжить проход вниз (где ждёт 990) и заставить высокоприоритетный процесс таки подождать. В целом мы будем иметь суммарный вес заказов на текущее направление движения и суммарный вес заказов на перебой направления. TQ и NCQ слегка устраняют эти проблемы, при условии, что текущая очередь не превышает их предельной глубины очереди (до 255 у SCSI TQ и до 31 у NCQ), но если заявок больше, то всё равно приходится начинать думать. А для SSD это всё не имеет никакого значения, всё равно не угадаешь, что там внутри в текущую минуту как разложено. Особый цимес конструированию шедулеров придают задачи обеспечения одновременно скорости важного потока и периодических мотаний туда-обратно головками для других важных операций... в общем тут можно полировать и вылизывать годами.

Когда Вы говорили про время перемещения головки, вспоминали особенности старых дисков (грубо говоря, до времён PC, а вместо этого на PDP-11 или аналогах), которые были особо медленными, зато можно было угадать, что вот прямо сейчас мееедленно подползает блок 2 на дорожке. Да, с введением внутренних трансляций геометрии, мультизонных дисков с разной плотностью (это где-то от рубежа 400MB) это всё потеряло смысл окончательно, сейчас по LBA невозможно установить, в какой момент надо подавать какой блок на запись. Можно только предсказать положение головок, и это работает надёжно, по крайней мере пока нет ремапов. А при TQ и NCQ - весь текущий пул запросов будет отработан диском. Но, как я описал выше, это далеко не все проблемы.

Упрощение в FreeBSD по текущему моменту вызвано фактически тем, что у операций I/O нет приоритета, который бы каким-то образом вычислялся из приоритета их заказчика. Если их введут, то придётся снова серьёзно думать о выборе шедулера.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

186. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 25-Янв-12, 01:00 
> Упрощение в FreeBSD по текущему моменту вызвано фактически тем, что у операций I/O
> нет приоритета, который бы каким-то образом вычислялся из приоритета их заказчика.

BTW http://lkml.org/lkml/2011/3/25/44

Ответить | Правка | ^ к родителю #182 | Наверх | Cообщить модератору

9. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 10-Янв-12, 23:12 
"FIOPS во многом подобен используемому ныне планировщику CFQ, также имеющему несколько оптимизаций для твердотельных дисков..."
Сколько можно говорить, что SSD это не диски, а накопители, ну нету там дисков нет!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +5 +/
Сообщение от uniman on 10-Янв-12, 23:18 
> "FIOPS во многом подобен используемому ныне планировщику CFQ, также имеющему несколько
> оптимизаций для твердотельных дисков..."
> Сколько можно говорить, что SSD это не диски, а накопители, ну нету там дисков нет!

... планировщику CFQ, также имеющему несколько оптимизаций для твердотельных квадратиков..." :)

Сорри, не удержался :)

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

25. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +4 +/
Сообщение от Aleksey Salow (ok) on 11-Янв-12, 03:49 
... твёрдотельных параллелепипедов. ;)
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

33. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:19 
> ну нету там дисков нет!

А винчестер - это вообще винтовка!

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

53. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от dRiZd on 11-Янв-12, 12:56 
Винчестер - это многовариантное слово: от фамилии/названия компании до предмета.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

55. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 13:26 
карабин.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

26. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –3 +/
Сообщение от Aleksey Salow (ok) on 11-Янв-12, 03:54 
И как, есть какой-то прирост? Вообще-то для ssd полезно использовать fs которые максимально фрагментируют данные, в противном случае будет чтение из одного модуля и привет 20MB/s ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 07:28 
> И как, есть какой-то прирост? Вообще-то для ssd полезно использовать fs которые
> максимально фрагментируют данные, в противном случае будет чтение из одного модуля

Вообще-то, контроллер ssd сам не тупой и отпараллелизует один большой непрерывный блок в группу чипов, размазав записи и чтения на кучу чипов. Плюс буфера и у ос и у накопителя, скорость трансфера в которые порядка скорости sata линка.

> и привет 20MB/s ;)

Теоретик хренов. А с фрагментами все не так просто. Чтобы было оптимально, блоки должны попадать точно в erase-блоки и размер фрагмента должен быть кратен erase-блоку. Иначе для записи придется стирать 2 блока вместо одного. И дольше, и wearing в 2 раза увеличивается - ssd подохнет быстрее.

В каком-нить ext4 есть даже средства позволяющие захинтить файловой системе желаемый размер одного обмена с накопителем в не менее чем вон столько. Хоть это формально и для рэйдов, для которых удобнее чтобы блоки по очереди валили на разные диски, никто ж не запрещает и для ssd фичу юзать, избавив ssd от кучи мелких записей, неоптимальных для оного.

А еще в винде архаичный ntfs, как ты понимаешь, процент времени потраченый на педалинг огромных битовых карт и прочих бестолковостей на ssd будет роялить еще больше. Поэтому древность и костыльность структур ФС и тут вам будет икаться от души.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

44. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 09:14 
> Вообще-то, контроллер ssd сам не тупой и отпараллелизует один большой непрерывный блок в группу чипов, размазав записи и чтения на кучу чипов.

Ну и жесть. Как вообще можно что-то оптимизировать в такой ситуации, когда контроллер у разных дисков по разному работает и сам что-то пытается оптимизировать?

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

57. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Ваня (??) on 11-Янв-12, 14:31 
Они оптимизируют разные вещи. Напр. блок управления карбюратором машины управляет впрыском топлива, и ему безразлично куда едет машина. Можно ли сказать что т.к. карбюратор оптимизирует работу двигателя, то не требуется оптимизировать маршрут поездки? Нет.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

84. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 18:34 
> Ну и жесть. Как вообще можно что-то оптимизировать в такой ситуации, когда
> контроллер у разных дисков по разному работает и сам что-то пытается оптимизировать?

В идеале можно попробовать подогнать смещение файловой системы под erase block и стараться оперировать блоками размером с оный. На практике сие больше смахивает на черную магию, поскольку внешне все карточки, флешки и ssd пытаются выглядеть как якобы простые диски с якобы 512 байтными секторами, а свою истинную геометрию не сообщают. А на самом деле 512 байтных секторов вообще там ни разу нет и запись 512 байтов выльется в как минимум read-modify-write какой-то страницы, а это обычно 1...4Кб, что явно более 512 байтов и вообще целая свистопляска для контроллера вместо атомарной операции. А в хучшем случае будет вообще стирание большого erase block (группа страниц, обычно 64...512Кб) - read-erase-modify-write получится довольно масштабный. Нормално так - 512кб вместо 512 байтов перепахать? :)

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

85. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Aleksey Salow (ok) on 11-Янв-12, 18:52 
> запись 512 байтов выльется в как минимум read-modify-write какой-то страницы, а это обычно 1...4Кб

страница 2kb. Запись идёт блоком из 64 страниц, а чтение действительно постранично.

> А в хучшем случае будет вообще стирание большого erase
> block (группа страниц, обычно 64...512Кб) - read-erase-modify-write получится довольно
> масштабный. Нормално так - 512кб вместо 512 байтов перепахать? :)

Выкиньте свой jmicron в помойку. В современных накопителях давным давно cow с gc и что там творится в реальности знает только контроллер. Любая запись там выглядит как read-modify-write, если пользовать trim есно. Плюс всё это буферизируется и с отложеной записью, посему на несколько попыток записи будет все лишь один read с пачкой modify и одним write в заранее чистый блок. А чтобы чистых блоков вообще не было - так это имхо нужно забить весь накопитель к чертям и банально писать поверху. А так, любая передышка, и gc собирает мусор очищая блоки.

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

103. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 20:26 
> страница 2kb.

Разная у разных флех. У мелких бывает и 1 кб. У очень больших бывает 4. Или ты посмотрел даташт на конкретную флеху и возомнил что только так - вообще везде? Прут меня виндузятники своей непосредственностью. Дикарь с копьем который увидел микроволновку и судорожно пытается втиснуть в свою примитивную модель мира такую неведомую фигню как магнетрон.

> Запись идёт блоком из 64 страниц, а чтение действительно постранично.

У разных чипов флешек число страниц на erase block бывает разным. В мире нет какой-то универсальной константы, описывающей размер страницы или erase block как единственно верные константы мирового масштаба. В лучшем случае у флешек одного поколения они примерно одинаковы. Но это не гарантированно. Лично я в курсе и иных сочетаний. Вон у упомянутых арчеводов например где-то в вике упоминается страница в 4К, 128 страниц на блок. Т.е. 512 К на блок. Подумаешь, в 4 раза присвистнул и указал неоптимальный размер блока. Кстати запись постранично тоже возможна, но с одной большой оговоркой: записываемая страница должна быть чистой. А вот с этим засада. Из-за физических особенностей флеша, стирать его можно только большими блоками. Если в страницу уже что-то записано, ее нельзя стереть отдельно от остальных в этом erase block. Можно закатить erase для всего erase block целиком, тогда все страницы блока очистятся. Отсюда следует что erase для записи страницы требуется не всегда, но в хучшем случае действительно нужен.  

Кстати да, питекантроп пытающийся осознать как работают наши магнетроны соверщенно забыл про то что у флеша erase - это отдельная логически осмысленная процедура, являющаяся отдельной сущностью. Trim имеет непосредственное отношение к оной процедуре. Erase это не чтение и не запись в их привычном понимании. Это приведение всех страниц erase-block'а в чистое состояние.

>> А в хучшем случае будет вообще стирание большого erase
>> block (группа страниц, обычно 64...512Кб) - read-erase-modify-write получится довольно
>> масштабный. Нормално так - 512кб вместо 512 байтов перепахать? :)
> Выкиньте свой jmicron в помойку.

Какой еще jmicron? Упомянутый спич является обобщением логики работы всей этой механики вообще. В том плане что по другому это как-то не особо то и сделаешь, даже самый хитрый контроллер будет реализовывать похожую логику и ничего не сможет поделать с тем фактом что флешу удобно работать целыми erase-block'ами или хотя-бы страницами. Выравнивание на erase-block лучше тем что ведет к избеганию ситуации когда контроллеру для всего блока надо будет сделать read-erase-modify-write, чтобы оформить частичную модификацию erase блока во что-то физически существующее.

> В современных накопителях давным давно cow с gc и что там творится в реальности
> знает только контроллер.

Это не отменяет того факта что ему тоже удобнее всего фигачить блоками размером с erase block с правильным выравниванием. Просто потому что даже самый умный контроллер ничего такого сделать с физической природой флеша не может. Он может заныкать от вас служебное действо когда запись менее чем удобная величина ведет к read-modify-(иногда erase)-write, но отменить его и сделать чудо он не может. Trim позволяет реже нарываться на нужду erase при записи, давая контроллеру хинт что если он хочет то может в фоне вон те блоки и почистить, т.к. они не нужны. А erase довольно тормозная операция.

> Любая запись там выглядит как read-modify-write, если пользовать trim есно.

Wrong. Самый удачный вариант ака достаточно большая запись и только в чистые страницы будет просто программированием этих страниц. Быстро и без проблем. Trim нужен как раз для того чтобы дать шанс контроллеру заранее подчистить неиспользуемые блоки и по возможности создать именно эту, самую удачную для записи ситуацию.

> Плюс всё это буферизируется и с отложеной записью, посему на несколько попыток записи
> будет все лишь один read с пачкой modify и одним write

Уважаемый дикарь в попытках осознания процесса работы магнетрона напрочь забывает о том что у флеша есть read, program и отдельная операция известная как erase. Program и erase - две логически дополняющие друг друга сущности, грубо говоря, тягающие биты ячеек в разные стороны (одна в одно состояние, вторая в другое). По разным правилам игры, вытекающим из физического устройства флеша. Program вгоняет биты страницы в те значения которые хочется получить. А вот обратно их вернуть можно только erase'ом всего здорового блока. Если интересно - см. в английской вике, тем вполне дельно разжевано откуда такая странная брейнфакерская логика берется - она вытекает из того как биты хранятся в ячейках флеша.

> в заранее чистый блок. А чтобы чистых блоков вообще не было
> - так это имхо нужно забить весь накопитель к чертям и
> банально писать поверху.

Достаточно чтобы gc вовремя не подсуетился. Тогда ему придется делать erase прямо на ходу и скорость записи просядет, что логично. Trim нужен чтобы этого максимально избегать, выдавая хинты контроллеру что он может уже стирать вон те блоки. Не дожидаясь того момента когда припрет, так что надо бы записать, а чистых страниц что-то нету, так что давайте судорожно расчищать прямо сейчас (а запись соответственно подождет до лучших времен).

> А так, любая передышка, и gc собирает мусор очищая блоки.

Вот только проблема в том что сам по себе gc как-то не очень то и знает - нужен вон тот кусок данных файловой системе, или уже можно его в расход. Вот trim как раз и позволяет gc приобрести это знание и действовать именно так, заранее расчищая блоки. Упреждая ситуацию когда приперло и надо чистить блоки прямо в процессе записи, тормознув запись.

Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

105. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 11-Янв-12, 20:39 
> В идеале можно попробовать подогнать смещение файловой системы под erase block

Не "в идеале", а "для начала".  Иначе и SSD, и 4k-HDD, и RAID5/6/50/60 будут тормозить, цепляя лишние erase block'и/секторы/шпиндели.

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

107. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 21:06 
> Не "в идеале", а "для начала".  Иначе и SSD, и 4k-HDD,
> и RAID5/6/50/60 будут тормозить, цепляя лишние erase block'и/секторы/шпиндели.

Грабль состоит в том что для флеша это довольно сложно, поскольку истинную геометрию нам не показывают и есть минимум 2 сущности разного размера да еще CoW логика. Поэтому достоверно определить как наши действия состыкуются с внутренней механикой можно только серией хитровыгнутых экспериментов, которые к тому же в зависимости от логики контроллера совершенно не обязаны давать одинаковые или даже просто осмысленные или воспроизводимые результаты.

Кстати если какое-нибудь там начало раздела и партишн тейбл еще можно осмыленно разложить, выбрав выравнивание так чтобы сие было явно кратно erase block (просто считая его кратным достаточно большому 2^N, например 512Кб выравнивание устроит как тех у кого он 512Кб, так и тех у кого блок в 256 или 128Кб) то вот например осознать как там будут блоки с данными ФС расположены - уже не так легко. А вы это в состоянии для ну хотя-бы ext4? В том плане что граница 4k блока EXTа должна бы совпасть с границей страниц флеша. Но вот проверять это... хм... а существует какой-то удобный и автоматизированный метод? И кроме того - а известен ли метод смещать блоки с данными относительно начала раздела?

Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

58. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –2 +/
Сообщение от Aleksey Salow (ok) on 11-Янв-12, 14:32 
>> И как, есть какой-то прирост? Вообще-то для ssd полезно использовать fs которые
>> максимально фрагментируют данные, в противном случае будет чтение из одного модуля
> Вообще-то, контроллер ssd сам не тупой и отпараллелизует один большой непрерывный блок
> в группу чипов, размазав записи и чтения на кучу чипов.

Минимальный блок для записи - 128K вроде как. Сколько там размер сектора? 512b. Вот и получаем что для изменения одного битика нужно переписать целый блок. В современных ssd конечно cow, но писать всё-равно будет одним блоком, правда на другой чип.

>> и привет 20MB/s ;)
> Теоретик хренов.

Э? Когда сделаете домашку по математике сходите на сайт микрона и почитайте даташиты на память. Вот вам картинка для затравки: http://xxx.org.ua/cdm.png

> А с фрагментами все не так просто. Чтобы было оптимально,
> блоки должны попадать точно в erase-блоки и размер фрагмента должен быть
> кратен erase-блоку. Иначе для записи придется стирать 2 блока вместо одного.
> И дольше, и wearing в 2 раза увеличивается - ssd подохнет
> быстрее.

Это пусть у контроллера голова болит, они шибко умные нынче пошли.

> А еще в винде архаичный ntfs, как ты понимаешь, процент времени потраченый
> на педалинг огромных битовых карт и прочих бестолковостей на ssd будет
> роялить еще больше. Поэтому древность и костыльность структур ФС и тут
> вам будет икаться от души.

Только почему-то на этой самой ntfs всё работает хер знает когда, показывает пиковую производительность, а в линупсе только сейчас осознали что что-то не так в консерватории. Неужели так долго копили на ssd для тестов? :)

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

73. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от iZEN (ok) on 11-Янв-12, 17:45 
>>> И как, есть какой-то прирост? Вообще-то для ssd полезно использовать fs которые
>>> максимально фрагментируют данные, в противном случае будет чтение из одного модуля
>> Вообще-то, контроллер ssd сам не тупой и отпараллелизует один большой непрерывный блок
>> в группу чипов, размазав записи и чтения на кучу чипов.
> Минимальный блок для записи - 128K вроде как. Сколько там размер сектора?
> 512b. Вот и получаем что для изменения одного битика нужно переписать
> целый блок. В современных ssd конечно cow, но писать всё-равно будет
> одним блоком, правда на другой чип.

В ZFS — 128k (по умолчанию), в UFS2 — 64k (недавно увеличили).

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

74. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Aleksey Salow (ok) on 11-Янв-12, 17:48 
> В ZFS — 128k (по умолчанию), в UFS2 — 64k (недавно увеличили).

В zfs под рейды точили походу, а на ufs2 + gstripe я тоже делал 64k, страйп быстрее работал.

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

77. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от iZEN (ok) on 11-Янв-12, 18:00 
>> В ZFS — 128k (по умолчанию), в UFS2 — 64k (недавно увеличили).
> В zfs под рейды точили походу,

Не только. ZFS разрабатывали в том числе для использования с SSD. ;) Все эти кширующие техники для ZIL и L2ARC описаны в применении к SSD (с быстрыми SLC и медленными MLC, соответственно).

Шварц довольно подробно описал в своём блоге, почему использование ZFS на SSD хорошо и эффективно.

Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

80. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Aleksey Salow (ok) on 11-Янв-12, 18:04 
> Шварц довольно подробно описал в своём блоге, почему использование ZFS на SSD
> хорошо и эффективно.

А ссылочку можно? Мне конечно ssd во фряхе пока не грозит, но мало ли что случится в ближайшем будущем ;)

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

82. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  –1 +/
Сообщение от iZEN (ok) on 11-Янв-12, 18:21 
>> Шварц довольно подробно описал в своём блоге, почему использование ZFS на SSD
>> хорошо и эффективно.
> А ссылочку можно? Мне конечно ssd во фряхе пока не грозит, но
> мало ли что случится в ближайшем будущем ;)

О перспективах ZFS и флэш-памяти: http://blogs.oracle.com/jonathan_ru/entry/о_перспективах_zfs_и_флэш

Ещё может пригодиться:

A look at MySQL on ZFS: http://habrahabr.ru/blogs/mysql/78473/

Объяснение ARC и L2ARC: http://blog.tigranav.ru/2010/11/obyasnenie-arc-i-l2arc/


Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

95. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 19:34 
> Не только. ZFS разрабатывали в том числе для использования с SSD. ;)

Ага, правда SSD в природе не было в момент дизайна ZFS, но изена такие мелочи не волнуют, как обычно. Он лучше будет маркетинговый булшит от санок повторять как мантру, ведь верить в это намного приятнее, правда? :)

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

111. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 11-Янв-12, 21:43 
>> Не только. ZFS разрабатывали в том числе для использования с SSD. ;)
> Ага, правда SSD в природе не было в момент дизайна ZFS, но
> изена такие мелочи не волнуют, как обычно. Он лучше будет маркетинговый
> булшит от санок повторять как мантру, ведь верить в это намного
> приятнее, правда? :)

Там другое. Например, группировка сбросов на диск по их рейтингк.

ttp://constantin.glez.de/blog/2011/02/frequently-asked-questions-about-flash-memory-ssds-and-zfs

ZFS also has a sophisticated cache called the "Adaptive Replacement Cache" (ARC) where it stores both most frequently used blocks of data and most recently used ones. The ARC is stored in RAM, so each block of data that is found in the RAM can be delivered quickly to the application, instead of having to fetch it again from disk. When RAM is full, data needs to be thrown out of the cache and is not available any more to accelerate reads.
SSDs can be used as a second level cache: Blocks that can't be stored in the RAM-based ARC can then be stored on SSDs and in case they're needed, they can still be delivered quicker to the application than by fetching them again from disk. An SSD that is used as a second level ARC is therefore called an L2ARC, or a "cache device".

Поэтому жретъ памяти, зараза :)

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

133. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 09:50 
> therefore called an L2ARC, or a "cache device".
> Поэтому жретъ памяти, зараза :)

Если честно, я в этом спиче не вижу ни 1 звука про собственно саму оптимизацию записи на SSD. То-есть рассказали про то что они умеют юзать как кеш. Ну круто. Но ни звука про то как запросы к ФС оптимизируются на предмет минимального протирания SSD и максимальной скорости работы оного. И ниоткуда не следует что кеш обязан по дефолту сливаться на диск в виде оптимальном для SSD.

Ответить | Правка | ^ к родителю #111 | Наверх | Cообщить модератору

140. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 12-Янв-12, 18:04 
>> therefore called an L2ARC, or a "cache device".
>> Поэтому жретъ памяти, зараза :)
> Если честно, я в этом спиче не вижу ни 1 звука про

Не видите звуков? Оригинально. Попробуйте пощупать код на слух.


Ответить | Правка | ^ к родителю #133 | Наверх | Cообщить модератору

147. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 20:36 
> Не видите звуков? Оригинально. Попробуйте пощупать код на слух.

Тоже не слышно ничего. Поэтому процитируйте плиз где там про оптимизацию процесса записи на SSD хоть слово вообще. То что ssd в роли кеша работает лучше механики - так это не только парни из сана заметили, прикиньте? Кстати мне вот интересно - а быстро ssd там до дыр затирается?

Ответить | Правка | ^ к родителю #140 | Наверх | Cообщить модератору

185. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от netch (ok) on 23-Янв-12, 22:04 
>> Не только. ZFS разрабатывали в том числе для использования с SSD. ;)
> Ага, правда SSD в природе не было в момент дизайна ZFS, но
> изена такие мелочи не волнуют, как обычно.

Вообще-то у ZFS сейчас идёт уже где-то 15-я минимум версия пула - это раз.
Флэшовые накопители были уже много лет - это два. Да, у них не было умного контроллера, ремапа по обстоятельствам и так далее, но часть проблем была уже известна.

> Он лучше будет маркетинговый
> булшит от санок повторять как мантру, ведь верить в это намного
> приятнее, правда? :)

Урежьте осетра.

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

99. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 19:38 
> Шварц довольно подробно описал в своём блоге, почему использование ZFS на SSD
> хорошо и эффективно.

А майкрософт на своем сайте так и вообще рассказывал что виндус сервер обгоняет линукс. Верить бложику чувака из коммерческой компании? Спасибочки, а ничего что у пиарщиков всегда их продукт самый лучший? Что ж ты будешь делать если услышишь пиар конкурирующих компаний? Неужели разорвешься на 2 части? :)

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

87. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 19:02 
> Минимальный блок для записи - 128K вроде как.

Минимальный блок для записи у флеша - страница. Обычно 1...4Кб у nand-флешек из которых делается все и вся, от карт памяти до могучих ssd.

> Сколько там размер сектора? 512b.

Да хрен тебе, теоретик. У флеша нет 512-байтовых секторов. Совсем. Они эмулируются совершенно адскими высерами контроллера с read-modify-write. Кстати это же объясняет почему у некоторых господ иногда странно теряются данные. Вплоть до того что на картах памяти и юсб флехах с FATом изредка у некоторых господ очень неудачно слетает все что угодно, вплоть до таблицы разделов. Если таблица разделов попала в тот же erase-block что и например кусок FAT и питальник неудачно слетел, так что read-modify-write срубился в самом начале, кусок с MBR и таблицей разделов может и не успеть записаться. И если то что FAT должен был пострадать за то что перезаписывался в этотм момент - логично, то вот то что MBR пострадает лишь за то что его угораздило жить в том же erase block - куда менее очевидный и намного менее приятный факт :). По этой причине кстати фабричный формат на флешках и картах довольно характерно выравнивает ФС на характернуые величины, кратные 2^N, по размеру erase-block разумеется.

> Вот и получаем что для изменения одного битика нужно переписать
> целый блок. В современных ssd конечно cow, но писать всё-равно будет
> одним блоком, правда на другой чип.

А тут ты как ни странно не прогнал. Проблема только в том что один хрен загаженный блок стирать придется. Не сейчас, так потом. Единственное чего можно выиграть в стирании его не сей момент а в фоне - скорость записи. Это как езда по дороге со снегом. Если перед тобой медленно тащится снегоуборщик - понятно какая скорость езды получится. А если он заранее проехал, скорость будет другой :)

> Э? Когда сделаете домашку по математике сходите на сайт микрона и почитайте
> даташиты на память. Вот вам картинка для затравки: http://xxx.org.ua/cdm.png

Гражданин, не наглей, да? Я не только читал гору даташитов на всевозможный флеш, я еще и программировать эти самые чипы флеша умею. Вплоть до того что я лично реализовал процедуру зашивки нескольких чипов, покурив даташиты, когда приспичило. Приколись, а? Если ты такой умный и даже даташитами козыряешь - ну покажи, в каком месте ты 512 байтные сектора у флеша углядел, для начала.

[...]
>> И дольше, и wearing в 2 раза увеличивается - ssd подохнет
>> быстрее.
> Это пусть у контроллера голова болит, они шибко умные нынче пошли.

Умнота контроллера не отменяет вполне характерного устройства чипов флеша на уровне весьма базовой физики лежащей в процессе их работы. Этой физике можно подыграть даже через призму контроллера флеша.

>> А еще в винде архаичный ntfs, как ты понимаешь, процент времени потраченый
>> на педалинг огромных битовых карт и прочих бестолковостей на ssd будет
>> роялить еще больше. Поэтому древность и костыльность структур ФС и тут
>> вам будет икаться от души.
> Только почему-то на этой самой ntfs всё работает хер знает когда, показывает
> пиковую производительность,

Меня интересует в основном средняя производительность и worst case, а не пиковая. Пиковая скорость записи в моей системе - несколько Гб в секунду (ram cache hit). Да, кстати линь намного умнее делает. В лине буфером ФС является почти вся свободная память прямо сразу (линь при необходимости просто урезает этот буфер на ходу), тогда как винда отращивает дисковый буфер крайне неохотно. Поэтому в лине dvd-iso sized чушка у меня просто улетает в буфер. Мгновенно. В винде ... хаха, ну ты понял. Половина в буфер влазит а дальше все, жопа. Полфайла быстро пишется, а потом... потом там уже половина исохи ждет своей записи на винч, а буфер уже кончился. И хотя оперативы еще свободно как грязи, винда не спешит отращивать буфера. Пусть лучше юзер 30 секунд ффтыкает на то как это сливается на диск, а прога будет заблочена пока в буфере еще места под данные не появится ;)

> а в лину псе только сейчас осознали что что-то не так в консерватории.
> Неужели так долго копили на ssd для тестов? :)

Линукс мало того что умнее с дисковыми буферами работает, так еще и можно например своп на ссдшник засунуть, без риска в момент его протереть. Поставить минимальную агрессию свопинга, чтобы своп юзался как нечто на крайний случай, когда совсем прижало. И большую часть времени такой своп не будет протирать флеху с ее лимитами на число перезаписей. А вот виндовозный своп флешатину до дыр протрет довольно быстро и я как-то не в курсе - а в винде можно рулить агрессивностью свопа как в лине? А то дефолтная логика там вообще как во времена вин95, видимо с тех пор не менялось. Хотя для машин с 4гб памяти логичны совсем иные настройки чем для машин с 16Мб. В итоге винды позорно тормозят при переключении между увесистыми задачами на машине с совершенно любым количеством оперативки. Хоть 16 гиг воткни, а все-равно несколько гб фуфла в своп сольется при активном использовании. Даже если еще с десяток гигов памяти свободно и вообще нет повода гадить в своп.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

72. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от iZEN (ok) on 11-Янв-12, 17:16 
> А еще в винде архаичный ntfs, как ты понимаешь, процент времени потраченый
> на педалинг огромных битовых карт и прочих бестолковостей на ssd будет
> роялить еще больше. Поэтому древность и костыльность структур ФС и тут
> вам будет икаться от души.

User294, почему ты не логинишься под своим ником? Тебе же сто раз объясняли, что битовые карты никакой существенной роли в производительности записи на ФС не несут. Чтобы они что-то значали в скорости поиска свободных блоков, нужно иметь ФС размером порядка 16 ТБ и больше.


Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

89. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 19:11 
> User294, почему ты не логинишься под своим ником? Тебе же сто раз
> объясняли, что битовые карты никакой существенной роли в производительности записи на
> ФС не несут.

Ага, конечно, именно поэтому замена гигантских битмапов на компактные экстенты дает очень характерный эффект на большинстве бенчмарков ;)

> Чтобы они что-то значали в скорости поиска свободных
> блоков, нужно иметь ФС размером порядка 16 ТБ и больше.

А судя по бенчмаркам хоть того же ext3 vs ext4 кое кто пи...т как дышит. А тебе не приходило в бошку что компактную стркутуру читать, парсить и писать - натурально быстрее, меньше всевозможные кеши засираются и прочее, а? Или ты думаешь что все новые дизайнф ФС экстенты стали чисто для красоты использовать? ;)

Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

101. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от iZEN (ok) on 11-Янв-12, 20:18 
>> User294, почему ты не логинишься под своим ником? Тебе же сто раз
>> объясняли, что битовые карты никакой существенной роли в производительности записи на
>> ФС не несут.
> Ага, конечно, именно поэтому замена гигантских битмапов на компактные экстенты дает очень
> характерный эффект на большинстве бенчмарков ;)

Карта свободных блоков — битмапы — кэшируются в ОЗУ. Для поддержки адресации 1 ТБ UFS2 нужно всего лишь 64 МБ оперативной памяти (см. "FreeBSD. Архитектура и реализация").

>> Чтобы они что-то значали в скорости поиска свободных
>> блоков, нужно иметь ФС размером порядка 16 ТБ и больше.
> А судя по бенчмаркам хоть того же ext3 vs ext4 кое кто
> пи...т как дышит. А тебе не приходило в бошку что компактную
> стркутуру читать, парсить и писать - натурально быстрее, меньше всевозможные кеши
> засираются и прочее, а? Или ты думаешь что все новые дизайнф
> ФС экстенты стали чисто для красоты использовать? ;)

Экстенты из другой оперы.


Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

106. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 20:46 
> Карта свободных блоков — битмапы — кэшируются в ОЗУ.

И что? Это не отменяет нужды читать/писать их на диск (озу знаешь ли не энергонезависимое) и модифиицровать довольно крупные битмапы.

> Для поддержки адресации 1 ТБ UFS2 нужно всего лишь 64 МБ оперативной памяти (см.
> "FreeBSD. Архитектура и реализация").

Сам смотри свой окаменелый шитец, имхо. Называть это архитектурой может только настоящий бсдун. Остальные это называют окаменелым пометом мамонта.

>> засираются и прочее, а? Или ты думаешь что все новые дизайнф
>> ФС экстенты стали чисто для красоты использовать? ;)
> Экстенты из другой оперы.

Обычно из той же самой. Или уж занятость блоков описывается битмапой, или уж какой-то компактной структурой, например упакованой в дерево.

Ответить | Правка | ^ к родителю #101 | Наверх | Cообщить модератору

119. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 11-Янв-12, 22:49 
>> Для поддержки адресации 1 ТБ UFS2 нужно всего лишь 64 МБ оперативной памяти (см.
>> "FreeBSD. Архитектура и реализация").
> Сам смотри свой окаменелый шитец, имхо. Называть это архитектурой может только настоящий
> бсдун. Остальные это называют окаменелым пометом мамонта.

Ваш генный код старее окаменелого говна мамонта. И судя по вашему тексту, назвать это удачной реализацией архитектуры можно только с натягом.

Для остальных описание метода сведения метаданных FS, шоб накопителю два раза не вставать.
http://www.usenix.org/publications/library/proceedings/useni...

Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

159. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 13-Янв-12, 20:15 
> Ваш генный код старее окаменелого го вна мамонта. И судя по вашему тексту,
> назвать это удачной реализацией архитектуры можно только с натягом.

Мы существа одного вида, поэтому вам наверное недостатки видны не хуже меня, на своем примере :)

> Для остальных описание метода сведения метаданных FS, шоб накопителю два раза не
> вставать.

Ага, только к SSD это все не относится практически никак.

Ответить | Правка | ^ к родителю #119 | Наверх | Cообщить модератору

163. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от uniman (ok) on 13-Янв-12, 20:46 
>> Для остальных описание метода сведения метаданных FS, шоб накопителю два раза не
>> вставать.
> Ага, только к SSD это все не относится практически никак.

Точно, реализация FS не относиться к SSD никак. Кстати, о чем новость?

Перечитайте предложение выше, для начала, и постарарайтесь поразмыслить на предмет реализации стратегии записи через интерфейс, и как реализация стратегии записи вообще относится к записи байтиками и вышивке крестиками.

Ответить | Правка | ^ к родителю #159 | Наверх | Cообщить модератору

189. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 01-Фев-12, 17:17 
> Точно, реализация FS не относиться к SSD никак.

Не согласен. Есть более удобные и менее удобные для ssd файловые системы, более того - с учетом иных физических свойств накопителя оверхед от операций ФС вылезет совсем в ином виде. И кому как не файловой системе видно что и где (не)используется?

> Кстати, о чем новость?

О планиовщике I/O.

> стратегии записи через интерфейс, и как реализация стратегии записи вообще относится
> к записи байтиками и вышивке крестиками.

Например, самое очевидное: логично подгонять стратегию таким образом чтобы накопителю было удобно записывать то что ему в результате этой стратегии свалилось. Дебильно выбрав стратегию можно основательно просадить скорость записи у SSD.

Ответить | Правка | ^ к родителю #163 | Наверх | Cообщить модератору

28. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 05:22 
А мне вот интересно: вроде как во всех мануалах по оптимизации под SSD рекомендуют использовать noop. А тут выясняется, что еще и CFQ не дурак. Я не спец. Подскажите, какой планировщик все же использовать? Обзавелся недавно SSD, так что для меня актуально.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

35. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 07:36 
> А мне вот интересно: вроде как во всех мануалах по оптимизации под
> SSD рекомендуют использовать noop. А тут выясняется, что еще и CFQ
> не дурак. Я не спец. Подскажите, какой планировщик все же использовать?
> Обзавелся недавно SSD, так что для меня актуально.

Да собственно работать будет с любым. Вопрос в том насколько честно будет попилена доступная пропускная способность ssd. Что такое доступная пропускная способность ssd - очень хитрый вопрос. Она не ограничена фрагментацией и временем seek, но зато зависит от предыстории (garbage collector и насколько чистая область в накопителе перед записью), имеет лимит сверху по числу iops которое осиливает контроллер и прочая. На самом деле - исследований и теории там на пару докторских хватит, учитывая что ssd, их контроллеры и фирмвары делают разные производители, которые совсем не обязаны реализовывать логику поведения ssd одинаково.

Итого, лично я бы попытался смоделировать желаемую нагрузку и пощелкать планировщиками, изучая под каким из них результат больше всего похож на то что хочется увидеть.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

45. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 09:25 
Понятно, спасибо. Вообще, я под это дело аж 8 гигов памяти купил на ноут. В итоге в tmpfs переехали не только /tmp, /run, /var, но и сборка всех пакетов ABSом автоматом выполняется в /tmp, все кэши пакетного менеджера там же и кэш браузера (синхрится на винт автоматом, когда нужно).

Так вот я к чему. После всех этих оптимизаций подумываю вернуть журналирование (у меня ext4), а то как-то боязно, да и до настройки бекапов автоматических руки пока не дошли. По различным тестам и замерам (на арчвики, например), количество записываемых данных возрастет лишь на 3%. Плохо будет только если компилять на SSD, но этот вопрос я уже решил.

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

61. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Анон on 11-Янв-12, 15:38 
а почему не YAFFS или другие специализированные флешечковые файлухи?
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

90. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 11-Янв-12, 19:22 
> а почему не YAFFS или другие специализированные флешечковые файлухи?

Потому что для флешки с собственным контроллером все это нахрен не нужно. YAFFS нужен в случае когда чип флеша напрямую прицеплен к системному процессору, как в эмбеддовке. При этом между флехой и процом нет умного контроллера который на себя возьмет размазывание записей, очистку блоков и прочая. Поэтому все это должен делать сам системный проц, лично программируя флеш. Вот на этот случай и есть такие файловые системы. В SSD/картах/флешках на самом деле тамошний контроллер реализует некий слой трансляции, весьма похожий по устройству и смыслу на файловые системы типа yaffs. Просто наружу он этот факт не светится, но механика реализуемая там остается та же самая (обычно это некий вид copy-on-write). Просто эти действия выполняет другой чип. Собственно чип контроллера в SD карте, юсб-флешке, SSD и прочая - всего лишь еще 1 микропроцессор с собственной фирмварой ну и какими-то аппаратными приблудами для ускорения тяжелых операций, типа аппаратной считалки ECC. То же самое, только проц засунут в саму девайсину и является ее служебной сущностью, а наружу вывешивает некий общепринятый интерфейс по которому притворяется шлангом в виде якобы HDD с якобы 512 байтными секторами, которых у него ни разу нет на уровне физики.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

121. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 00:54 
Скажем так, не то что бы совсем не бывает по 512, но от модели к модели этот параметр может разниться, да.

А ext4 выбрал по двум причинам: перечитал кучу материала на этот счет, в т.ч. рекомендации OCZ на их форуме, и у меня есть хоть какой-то опыт работы и восстановления данных на ext4, что может пригодиться при отсутствии журнала.

Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

135. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 10:06 
> Скажем так, не то что бы совсем не бывает по 512, но
> от модели к модели этот параметр может разниться, да.

Найти NAND-флешку у которой именно 512-байтные страницы - на данном этапе эволюции человечества довольно сложно, имхо. Я таковых не видел. Там кроме основной области данных есть еще зарезервированное место под ECC (error correction code) в каждой странице. ECC лучше работает на более крупных блоках. В плане соотношения возможностей по исправлению битовых ошибок к затратам на место под ECC в сравнении с местом под данными. На больших блоках ECC оптимальнее, вот и делают страницы крупнее чем сектора HDD. Кстати этот факт в принципе дошел и до производителей HDD, внезапно осознавших что у 4К секторов КПД получше будет и можно пыжиться поменьше, получая побольше емкости за счет улучшения соотношения данных к ECC и уменьшения числа служебных заголовков. Накопитель конечно врет наружу что у него 512-байтные сектора, но на самом деле при записи 512 байтов делается крайне извращенский read-modify-write. Как абсолютный минимум будет записана страница на 1..4 Кб, а если не повезет то и весь огромный erase-block перетряхнут.

> А ext4 выбрал по двум причинам: перечитал кучу материала на этот счет,
> в т.ч. рекомендации OCZ на их форуме, и у меня есть
> хоть какой-то опыт работы и восстановления данных на ext4, что может
> пригодиться при отсутствии журнала.

На лично мое имхо можно включить журнал в ext4 и не канифолить себе мозг. В обычном "крейсерском" случае оверхед от журнала считанные проценты и я как-то не вижу нужды камикадзить чтобы сэкономить ресурс ssd в столь незначительном объеме. Соотношение риска и выигрыша имхо невкусное. Может при специфичных workloads типа пересборки всего и вся 24 часа и 7 дней в неделю это и повлияет. При типичном для меня крейсерском режиме использования десктопа лично я проблем не вижу.

Ответить | Правка | ^ к родителю #121 | Наверх | Cообщить модератору

92. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +1 +/
Сообщение от Аноним (??) on 11-Янв-12, 19:30 
> (на арчвики, например), количество записываемых данных возрастет лишь на 3%.

Ну да, все так. У арчеводов кстати вообще довольно много дельных статей на вике. Молодцы парни, приятно почитать прямо. Кстати там же изложен довольно нахальный по своей изобретательности метод как проверить что trim работает и советы как его включить (его включение позволит ssd работать несколько быстрее при записи больших кусков данных).

> Плохо будет только если компилять на SSD, но этот вопрос я уже решил.

Плохо будет если много писать. От чего именно произойдет эта запись - ssd как-то не сильно важно. По этой причине кстати своп на ssd если и стоит класть то разве что с swapiness = 1, чтобы только на самый крайний случай был. Хотя с 8 гб оный можно просто не юзать совсем, имхо.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

122. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 01:00 
> Кстати там же изложен
> довольно нахальный по своей изобретательности метод как проверить что trim работает
> и советы как его включить (его включение позволит ssd работать несколько
> быстрее при записи больших кусков данных).

Видел, сделал сразу.

> Плохо будет если много писать. От чего именно произойдет эта запись -
> ssd как-то не сильно важно. По этой причине кстати своп на
> ssd если и стоит класть то разве что с swapiness =
> 1, чтобы только на самый крайний случай был. Хотя с 8
> гб оный можно просто не юзать совсем, имхо.

Про "много писать" -- понимаю. Просто привел пример с компеляцией как частный случай подтвержденный статистикой с того же арчвики.

По поводу свапа. Когда создавал swap-раздел, памяти было всего 2 гига (swapinness включил). Создавал я его с одной целью: tuxonice. А потом понял, что памяти явно мало и поставил 8 гигов. Теперь вот и думаю: как же быть с suspend to disk: SSD всего 60 гигов и места тупо жалко. А ноут с хардварным багом и на suspend 2 ram батарею высасывает полностью часов за 10 (Lenovo, ПРИВЕТ :)).

Ответить | Правка | ^ к родителю #92 | Наверх | Cообщить модератору

136. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 10:22 
> Видел, сделал сразу.

Кстати прогнал немного, у арчеводов только ссылка на статью, сама статья на другом сайте. А ext4 - умеет trim, как и btrfs.

> Про "много писать" -- понимаю. Просто привел пример с компеляцией как частный
> случай подтвержденный статистикой с того же арчвики.

Ну лично я компилирую не сильно много, у меня много оперативки и нарваться на то что оно упрется в диск даже на простом механическом диске мне как-то не удавалось. Поэтому я просто компилячу на механическом диске. Здоровенный дисковый кэш спасает :). Ну правда это на десктопе. Извините, не вижу причин ограничивать себя мелким экранчиком, урезанной клавиатурой и количеством дисков в ситуации когда хочется пользоваться с комфортом.

> По поводу свапа. Когда создавал swap-раздел, памяти было всего 2 гига (swapinness
> включил). Создавал я его с одной целью: tuxonice. А потом понял,
> что памяти явно мало и поставил 8 гигов. Теперь вот и
> думаю: как же быть с suspend to disk: SSD всего 60 гигов и места тупо жалко.

Лично я никак с ним не делаю - suspend to RAM явно лучше. И на десктопе, и на ноуте. На десктопах кстати биосы и чипсеты в этом плане крайне глючные и suspend to disk там вообще работает крайне ненадежно и не на всех мамках. И вообще, я не вижу смысла в суспенде на диск 8 гигов оперативы. Проще тупо загрузиться с нуля. При загрузке читается явно менее 8Гб. Поэтому есть шансы что это будет еще и быстрее (как минимум с параллельной системой инициализации как в убунте оно взлетает за считанные секунды)

> А ноут с хардварным багом и на suspend 2 ram батарею высасывает полностью часов
> за 10 (Lenovo, ПРИВЕТ :)).

Жесть. У меня его где-то на неделю хватает. И из него ноут просыпается быстрее всего. Открыл крышку и вот тебе уже операционка. Логинься и вот тебе уже твой десктоп.

Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

138. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 12-Янв-12, 17:37 
> Ну лично я компилирую не сильно много, у меня много оперативки и нарваться на то что
> оно упрется в диск даже на простом механическом диске мне как-то не удавалось. Поэтому
> я просто компилячу на механическом диске. Здоровенный дисковый кэш спасает :). Ну
> правда это на десктопе. Извините, не вижу причин ограничивать себя мелким экранчиком,
> урезанной клавиатурой и количеством дисков в ситуации когда хочется пользоваться с
> комфортом.

Я часто пересобираю одну большую штуку из git, за разработкой которой внимательно слежу, и ядро под себя. Про ноут полностью согласен: у меня мощный десктоп с 24" монитором. Ноут -- мобильное решение для работы вне дома. Ну, и на диване, конечно :)

> Лично я никак с ним не делаю - suspend to RAM явно лучше. И на десктопе, и на ноуте.
> Проще тупо загрузиться с нуля. При загрузке читается явно менее 8Гб. Поэтому есть шансы
> что это будет еще и быстрее (как минимум с параллельной системой инициализации как в
> убунте оно взлетает за считанные секунды)

Для ускорения суспенда на диск можно выкинуть кэш из оперативы. После этого у меня обыно занято не более 500МБ памяти.
А по поводу параллельной загрузки... На SSD не вижу причин заморачиваться: загрузка около 3-5 секунд до XDM.

>> А ноут с хардварным багом и на suspend 2 ram батарею высасывает полностью часов
>> за 10 (Lenovo, ПРИВЕТ :)).
> Жесть. У меня его где-то на неделю хватает. И из него ноут просыпается быстрее всего.
> Открыл крышку и вот тебе уже операционка. Логинься и вот тебе уже твой десктоп.

Работает то оно у меня так же. Но пользоватся нельзя по указанным причинам.

История такая. Ноут X201i. При покупке обнаружил баг: первый s2r проходит нормально, из второго уже не выходит (зависон). Пинял на линукс. Потом выходит новый биос с заметкой в changelog: так мол и так, пофиксили баг с suspend to ram на non windows OS. Ура, думаю, молодцы. На новом биосе система действительно стала нормально засыпать и просыпаться хоть миллион раз, но батарею при этом жрет безбожно. До установки этой версии биоса такой проблемы не было. Так что вот так. Думаю они режим сна изменили, но какие они бывают я не особо в курсе. Кстати, только сейчас понял: не проверял что будет если заснуть в винде. Надо проверить. Я ее гружу только чтоб биос обновить...

Ответить | Правка | ^ к родителю #136 | Наверх | Cообщить модератору

158. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Аноним (??) on 13-Янв-12, 20:12 
> Я часто пересобираю одну большую штуку из git, за разработкой которой внимательно
> слежу, и ядро под себя.

Я тоже перекомпиливаю некоторые штуки, но не очень большие и на механическом диске. С большим дисковым буфером - вполне нормально получается.

> Про ноут полностью согласен: у меня мощный десктоп с 24" монитором.
> Ноут -- мобильное решение для работы вне дома. Ну, и на диване, конечно :)

Честно говоря мне сочетание "программист по выезду" кажется каким-то довольно искусственным, чтоли. Конечно бывают редкие исключения которым реально так надо, типа всяких железячников выезжающих для отладки на реальный объект за тридевять земель, баги вылавливать в реальных условиях.

[..]
>> что это будет еще и быстрее (как минимум с параллельной системой инициализации как в
>> убунте оно взлетает за считанные секунды)
> Для ускорения суспенда на диск можно выкинуть кэш из оперативы. После этого
> у меня обыно занято не более 500МБ памяти.

И перезапускать все программы потом самолично? Я ленивый и люблю когда нудную работу удается сбагрить на машины. Они железные :). Ребут имхо опять же проще будет - даже скромный XFCE умеет сессию сохранять.

> А по поводу параллельной загрузки... На SSD не вижу причин заморачиваться: загрузка
> около 3-5 секунд до XDM.

А по-моему смысл есть. Обидно же если загрузка надолго залипнет из-за какой-то сколь-нибудь длительной операции, которую последовательно фигарят, а накопитель в это время радостно занимается ничегонеделанием (хотя по этому поводу есть утилитки для readahead, несколько скрашивающие это дело).

>> Жесть. У меня его где-то на неделю хватает. И из него ноут просыпается быстрее всего.
>> Открыл крышку и вот тебе уже операционка. Логинься и вот тебе уже твой десктоп.
> Работает то оно у меня так же. Но пользоватся нельзя по указанным причинам.

На лично мое имхо это серьезный брак.

> История такая. Ноут X201i. При покупке обнаружил баг: первый s2r проходит нормально,
> из второго уже не выходит (зависон). Пинял на линукс. Потом выходит
> новый биос с заметкой в changelog: так мол и так, пофиксили
> баг с suspend to ram на non windows OS. Ура, думаю,
> молодцы. На новом биосе система действительно стала нормально засыпать и просыпаться
> хоть миллион раз, но батарею при этом жрет безбожно. До установки
> этой версии биоса такой проблемы не было. Так что вот так.

Может забывают что-то из вспомогательной электроники в спячку загнать?

> Думаю они режим сна изменили, но какие они бывают я не особо в курсе.

По идее при настоящем STR снимается питание со всей электроники кроме чипов памяти и менеджера питания. Потому и живет неделю. Проц и прочее - выключены совсем. Потому и спит неделю.

> Кстати, только сейчас понял: не проверял что будет
> если заснуть в винде. Надо проверить. Я ее гружу только чтоб биос обновить...

А у меня на ноуте ее вообще не было - нахрен надо 50 баксов некоторым дарить за то что мне не требуется.

Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

59. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +2 +/
Сообщение от Stax (ok) on 11-Янв-12, 14:44 
CFQ совсем не дурак, он различает винчестеры и SSD (/sys/block/sdX/queue/rotational = 0) и меняет алгоритм. Но настоятельно рекомендуется для SSD в шедулере CFQ включать slice_idle = 0 для перехода в режим IOPS - алгоритм меняется, чтобы он будет сравнивал IOPS'ы, а не время выполнения запроса. (http://www.mjmwired.net/kernel/Documentation/cgroups/blkio-c...)
Это убирает отставание от deadline в линейных скоростях, из-за которого некоторые руководства рекомендуют deadline на SSD, но оставляет все остальные фичи CFQ, вроде шедулинга по группам, вычисление приоритетов шедулинга и т.д.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

66. "Для ядра Linux представлен планировщик ввода-вывода FIOPS дл..."  +/
Сообщение от Michael Shigorin email(ok) on 11-Янв-12, 16:12 
> А мне вот интересно: вроде как во всех мануалах по оптимизации под
> SSD рекомендуют использовать noop. А тут выясняется, что еще и CFQ
> не дурак. Я не спец. Подскажите, какой планировщик все же использовать?

IMO noop или deadline.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру