LINUX.ORG.RU

Dm-band - Новый I/O драйвер


0

0

Рио Цюрюта (Ryo Tsuruta) реализовал новый дисковый драйвер блочных устройств - т.н. Block I/O Bandwidth Controller. Принцип работы его можно пояснить на таком простом примере: пусть у вас имеются диск с 2-мя разделами, и вы хотите, чтобы процессор разрулил приоритет обслуживания между ними в соотношении допустим 4:1. Делается это примерно так: ручками содаем в каталоге /dev 2 устройства - band1 и band2 - и прикуручиваем их соответственно к /dev/sda1 и /dev/sda2. Далее выполняем команды:

  1. # echo "0 `blockdev --getsize /dev/sda1` band /dev/sda1 1" | dmsetup create band1
  2. # echo "0 `blockdev --getsize /dev/sda2` band /dev/sda2 1" | dmsetup create band2
  3. # dmsetup message band1 0 weight 40
  4. # dmsetup message band2 0 weight 10

Каждый раз, когда несколько задач работают с одним дисковым устройством, между ними возникает коллизия доступа. Например, пусть есть 2 одновременно выполняемых задачи: поисковый индексатор и итоговый подсчет, при этом вторая задача должна выполняться максимально быстро. Данный контролер может разрулить данную проблему, назначая им различный приоритет. Или, например, на сервере приоритет может быть отдан базе данных по отношению к чистке лог-файлов. Еще раз убеждаемся в том, что возможности базовых линуксовых настроек безграничны.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от anonymous

>что второе ю проглатывается при обычном чтении

Это почему? "Р" - не глухой звук.

vsemnazlo
()
Ответ на: комментарий от balodja

> А так же на той же википедии посмотреть, сколько всего интересного находит поиск по слову "партиция". >http://ru.wikipedia.org/wiki/Служебная:Search?search=партиция >Еще будут вопросы?

Будут. Аффтар, а ты сам по этой ссылке ходил? Я сходил, долго смеялсо.

anonymous
()
Ответ на: комментарий от lefsha

>Но никак не наоборот и никак не в кучу.

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

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

> Предлагаешь запретить к употреблению эти страшные слова?

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

isden ★★★★★
()
Ответ на: комментарий от vsemnazlo

> Цурута Рё

Такъ! Нечего тут расовых азиатских японцев на европейский лад переделывать. Фамилия (鶴田) идет первой.

В любом случае, модераторы, поправьте новость!

anonymous
()
Ответ на: комментарий от z0D5e8n7x

Чё ж вы за долбодятлы такие?.. Нашли время и место учить друг друга русскому языку, которого сами ни фига не знаете, как показывает практика. НевежЫ, нах... Пусть все говорят как хотят, слава богу в Интернете у нас свобода слова. Зато по топику комментариев не больше половины...

Я вот честно говоря не понял, нафига этот механизм, если есть уже механизм приоритетов для процессов. Но я и не профи.

snigga ★★★
()
Ответ на: комментарий от snigga

>НевежЫ, нах...

невежа - некультурный (невежливый) человек.

невежда - незнающий (неведающий) человек.

Что имелось в виду?

AVL2 ★★★★★
()
Ответ на: комментарий от TheMixa

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

>Вообщето директория(directory) по-русски это каталог(грубый вариант), а папка это folder.

>так что выучите сначала языки сами а потом тыкайте носом.

Каталог -- это древнее, исконно русское слово... Хорошо, будем использовать его... Долой заимствованные "партиции" и "директории"!

shaplov ★★★
()

> Еще раз убеждаемся в том, что возможности базовых линуксовых настроек безграничны.

zpool из ZFS заново изобретаете. Ну-ну. Ж)

iZEN ★★★★★
()
Ответ на: комментарий от snigga

>слава богу в Интернете у нас свобода слова

что общего между свободой слова и грамотностью?! O_o

Demon37 ★★★★
()
Ответ на: комментарий от AVL2

>> А что такого? Многие называют партиции партициями. >Невежы - да. (С)AVL2

Вот что имелось ввиду.

>что общего между свободой слова и грамотностью?! O_o

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

snigga ★★★
()
Ответ на: комментарий от anonymous

> Будут. Аффтар, а ты сам по этой ссылке ходил? Я сходил, долго смеялсо.

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

balodja ★★★
()

<сарказм> Для поддержания чистоты русского языка предлагаю:

партиция->раздел

директория->папка

приоритет->очерёдность

конфигурировать->настраивать

операционная система->дейстующий способ

UNIX->ЕДИНИКС

anonymous->неизвеснус

</сарказм>

anonymous
()
Ответ на: комментарий от anonymous

>Такъ! Нечего тут расовых азиатских японцев на европейский лад переделывать. Фамилия (鶴田) идет первой.

Дык "Цурута" ж вроде и есть фамилия.

vsemnazlo
()

Интересная штука, может кому-то пригодится. Но метод ИМХО неправильный. А если у меня есть 2 процесса, один из которых должен читать /dev/sda1 как можно быстрее, /dev/sda2 как получится, a второй наоборот - /dev/sda2 на всю катушку, а /dev/sda1 по остаточному принципу ?

Я бы предпочел такой метод (тапками не кидаться, это просто мысль вслух). Для каждого файла в inode хранить I/O priority, допустим от 0 (максимум) до 100 (минимум), по умолчанию 50. Процесс, имеющий соответствующую capability, может (с помощью fcntl) двигать этот приоритет в любую сторону, не имеющий - только от 50 до 100. Соответственно I/O scheduler должен иметь 100 очередей и начинать обслуживание с наивысшего приоритета.

anonymous
()
Ответ на: комментарий от anonymous

> anonymous->неизвеснус

А почему у неизвеснуса латинское окончание? Это не по православному! Вы сами наверное знаете кто и что на латинском языке читает. Вы вестимо их тайный агент!

anonymous
()
Ответ на: комментарий от anonymous

> anonymous->неизвеснус

anonymous->доброжелатель

anonymous
()
Ответ на: комментарий от anonymous

> Интересная штука, может кому-то пригодится. Но метод ИМХО неправильный. А если у меня есть 2 процесса, один из которых должен читать /dev/sda1 как можно быстрее, /dev/sda2 как получится, a второй наоборот - /dev/sda2 на всю катушку, а /dev/sda1 по остаточному принципу ?

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

> Я бы предпочел такой метод (тапками не кидаться, это просто мысль вслух). Для каждого файла в inode хранить I/O priority, допустим от 0 (максимум) до 100 (минимум), по умолчанию 50. Процесс, имеющий соответствующую capability, может (с помощью fcntl) двигать этот приоритет в любую сторону, не имеющий - только от 50 до 100. Соответственно I/O scheduler должен иметь 100 очередей и начинать обслуживание с наивысшего приоритета.

Там, где ИО критично, размер данных сравним с партицией. Незачем мелочиться.

lefsha

anonymous
()
Ответ на: комментарий от anonymous

> lefsha

Пардон, это не подпись - не дописал, что продолжаю ожидать ответа от пользователя lefsha.

anonymous
()
Ответ на: комментарий от snigga

> Чё ж вы за долбодятлы такие?.. Нашли время и место учить друг друга русскому языку, которого сами ни фига не знаете, как показывает практика. НевежЫ, нах..

Совершенно с вами согласен.

anonymous
()
Ответ на: комментарий от prizident

>>может дядьку все же зовут Рё Тсурута?

raw 2root, так кошерней :)

alex_custov ★★★★★
()
Ответ на: комментарий от anonymous

> А что такого? Многие называют партиции партициями.

Зря. Потому что они не патриции, а партийцы.

skwish ★★
()
Ответ на: комментарий от snigga

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

одно дело демонстрировать такое на форуме и совсем другое на главной странице ресурса.

isden ★★★★★
()
Ответ на: комментарий от anonymous

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

Малыш, у "патриции" уже давно_ЕСТЬ_ устоявшееся, общепринятое обозначение на _РУССКОМ_ языке - _РАЗДЕЛ_.

anonymous
()
Ответ на: комментарий от snigga

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

Лично я никому претензий не предъявлял ;)

Demon37 ★★★★
()

Пиздец, читаю камменты и не могу понять - это LINUX.org.ru или бля сообщество сраных лингвистов ? По-теме слабо поговорить ? Чем, например, это лучше или хуже изменения приоритета задачи (renice) ?

anonymous
()
Ответ на: комментарий от isden

> одно время было "неизвестный пользователь". анонимусы взбунтовались =))

Не, тогда как раз "неизвестные пользователи" взбунтовались 8)

nebm51
()
Ответ на: комментарий от anonymous

>А если у меня есть 2 процесса, один из которых должен читать /dev/sda1 как можно быстрее, /dev/sda2 как получится, a второй наоборот - /dev/sda2 на всю катушку, а /dev/sda1 по остаточному принципу ?

Это другая задача, для решения которой нужен нужен другой механизм.

AVL2 ★★★★★
()
Ответ на: комментарий от balodja

Вот и подросли тупые дети, которые не знают, что 15 лет назад разделы называли партициями. Надо сделать скан популярной книжки тех времён, где видеорежимы назывались "модами".

anonymous
()
Ответ на: комментарий от anonymous

> у "патриции" уже давно_ЕСТЬ_ устоявшееся, общепринятое обозначение на _РУССКОМ_ языке - _РАЗДЕЛ_.

Нет. Партиция зовётся СЛАЙСОМ. А вот то, что внутри слайса, зовётся РАЗДЕЛОМ!

iZEN ★★★★★
()
Ответ на: комментарий от anonymous

> это LINUX.org.ru или бля сообщество сраных лингвистов ? По-теме слабо поговорить ? Чем, например, это лучше или хуже изменения приоритета задачи (renice) ?

Да, тема интересная. Жалко виндузятники своим лигвистическим спамом всё забили. Регистрированным пользователям нихрена кроме своих звёздочек не интересно.

anonymous
()
Ответ на: комментарий от iZEN

> Нет. Партиция зовётся СЛАЙСОМ. А вот то, что внутри слайса, зовётся РАЗДЕЛОМ!

Человек с FreeBSD, забудь про свои велосипеды :)

annoynimous ★★★★★
()
Ответ на: комментарий от iZEN

> Нет. Партиция зовётся СЛАЙСОМ. А вот то, что внутри слайса, зовётся РАЗДЕЛОМ!

А человек, так их зовущий, зовётся МАККУЗИКОМ.

anonymous
()
Ответ на: комментарий от AVL2

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

Нет! Ты не прав! Процессы принадлежат пользователям по умолчанию! Не бывает процесса без пользователя. Точно так же давать приоритет ресурсу бессмыслица! Подумай об этом на досуге!!!

lefsha
()
Ответ на: комментарий от AVL2

>>НевежЫ, нах...

>невежа - некультурный (невежливый) человек.

>невежда - незнающий (неведающий) человек.

>Что имелось в виду?

Все с точностью наоборот! Имелось ввиду - смотри словарь.

lefsha
()
Ответ на: комментарий от lefsha

>>>НевежЫ, нах... >>невежа - некультурный (невежливый) человек. >>невежда - незнающий (неведающий) человек. >>Что имелось в виду? >Все с точностью наоборот! Имелось ввиду - смотри словарь.

Смотри сам:

http://slovari.yandex.ru/search.xml?text=%D0%BD%D0%B5%D0%B2%D0%B5%D0%B6%D0%B4...

http://slovari.yandex.ru/search.xml?text=%D0%BD%D0%B5%D0%B2%D0%B5%D0%B6%D0%B0

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

anonymous
()
Ответ на: комментарий от anonymous

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

Классическое решение, которое вводится как аксиома на курсах тюнинга всех "тяжелых" СУБД, предлагает разнесение данных разных типов по разным шпинделям :-)

no-dashi ★★★★★
()
Ответ на: комментарий от anonymous

> Соответственно I/O scheduler должен иметь 100 очередей и начинать обслуживание с наивысшего приоритета.

Чушь. Есть такое слово - последовательность событий. Так вот все операции со структурой ФС (создание/удаление файла, изменение его размера в любую сторону, изменение содержимого каталога) - это именно оно. Любая из указанных операций, процессом с каким "приоритетом" она бы не инициировалась, всегда имеет высший из возможных приоритетов.

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

no-dashi ★★★★★
()
Ответ на: комментарий от anonymous

поправка:
не
> UNIX->ЕДИНИКС
а UNIX->Зоря (ещё есть - Денница, Лада и т.д. - если по смыслу названия)
>anonymous->неизвеснус
тоже не так а так -> тать ;)
про
> операционная система->дейстующий способ
честно - не понял. видимо у Вас перевод буквальный, а надо - по смыслу.
тады по смыслу просто "управляющая||рабочая оболочка||окружение" или "управляющий||рабочий порядок". пояснение - слова "система" означает "[определённый] порядок", "целое из частей", "Ubuntu" если хотите (по смыслу этого слова в афр. наречиях).:) поэтмоу - оболочка||окружение

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

PS: я не нудный, я настойчивый.;-)

mumpster ★★★★★
()
Ответ на: комментарий от anonymous

> директория->папка

Уж лучше, каталог. Никогда не обращал внимания, но в гноме действительно используется это навязанное виндафилами слово "папка" :((

anonymous
()
Ответ на: комментарий от nebm51

> Не, тогда как раз "неизвестные пользователи" взбунтовались 8)

Ну тогда надо просто "аноним". Как anonymous, я за такой вариант :))

anonymous
()

гыгыгы :) Возможности-то безграничны! Ограничено время и терпение на то, чтобы изучить все эти хаки командной строки. :) Хоть там клад заройте, ну просто смешно в 21 веке лазить по текстовым конфигам! Почему-то, ни Виндовозу, ни МакОСи никто не мешал вводить IP адреса/маски подсети и прочую лабудень в красивом, УДОБНОМ окошке.

Запомните, кульхацкеры! Пока ВСЕ настройки Линукса не появятся графически, ни о какой победе Линукса на десктопе даже речи не идёт.

anonymous
()
Ответ на: комментарий от no-dashi

> Классическое решение, которое вводится как аксиома на курсах тюнинга всех "тяжелых" СУБД, предлагает разнесение данных разных типов по разным шпинделям :-)

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.