|
|
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Есть файл. Считаем что он разбит на блоки равной длины. Минимально по 4кб. Из файла производится считывание. Необходимо придумать метрику для отслеживания "равномерности" чтения файла. От 0 до 1. Пока придумал делать так: Кол-во блоков = k Заводим массив счетчиков, сколько каждый блок раз был прочитан: m_i Затем вычисляем частоту для каждого блока: p_i = m_i/n. Затем находим матожидание: mo = 1/k Затем находим среднеквадратичное отклонение от матожидания std_dev= sqrt([sum(p_i - mo)^2] / k) За метрику равномерности берем 1-std_dev В целом получается терпимо, но коэффициент меняется в не слишком больших пределах: 0.9 - 0.7 Можете еще что-то посоветовать для вычисления равномерности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 21:17 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Какой такой коэффициент у тебя равен 0.9-0.7? Есть такая штука: линейная регрессия. Грубо говоря: Построй точечный график - номера блоков по x, количество обращений к блоку по y. Попытайся провести прямую через эти точки. По результатам расчета такой прямой можно получить уравнение прямой и коэффициент корреляции. Последний и даст тебе "одну цифру", от 0 до 1. http://en.wikipedia.org/wiki/Linear_regression Но там тоже не все так просто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 23:00 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey Kuznetsovпридумать метрику для отслеживания "равномерности" чтения файла.Так и не придумаете. Поскольку в вашей постановке - нет как минимум одного необходимого структурного показателя (порядок считывания блока: поиск от начала; поиск по ключу/индексу,..) и минимум одного существенного показателя (сущностный состав "файла"). Примеры: - если ваш файл представляет собой набор динамических стрингов в виде дерева, описывающего Орфографический словарь - то статистика чтения блоков будет правильно описывать только количество узлов графа путей поиска - если ваш файл представляет собой таблицу отсортированного справочника (например, адреса или телефоны города/региона/страны) - то статистика чтения блоков будет (скорее всего!) показывать распределение запросов по расстоянию от запрашивающего до сервиса (например, в базе КЛАДР, на публичном сервисе в Ростове - максимум распределения будет на блоках Ростова и Ростовской области) Так что либо конкретизируйте, либо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 23:35 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey KuznetsovНеобходимо придумать метрику для отслеживания "равномерности" чтения файла. Сначала дайте строгое и однозначное определение этого термина. Тогда методика сама собой вылезет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 09:34 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey KuznetsovКол-во блоков = k Заводим массив счетчиков, сколько каждый блок раз был прочитан: m_i sum(m_i)/(k*max(m_i)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 10:03 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
?sum(m_i)/(k*max(m_i)) Выглядит не плохо, а какой у этого выражения математический смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 11:25 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey Kuznetsov, отношение среднего (арифм.) количества чтений одного блока к количеству чтений самого читаемого блока. Кстати, даст абсолютно одинаковый результат как для такого распределения Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 11:36 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
На хабре еще посоветовали: Сумма модулей отклонения от медианы, деленая на общее количество чтений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 11:48 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey KuznetsovСумма модулей отклонения от медианы, деленая на общее количество чтений.6666554444=10010510501000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 12:54 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey Kuznetsov , и всё-таки... что же, по-Вашему, есть оно такое? Да, ещё вопрос - а для нахрена оно надо? мож, Вы зря не учитываете эффекта кэширования, например... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 12:59 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Akina Alexey Kuznetsov , и всё-таки... что же, по-Вашему, есть оно такое? Да, ещё вопрос - а для нахрена оно надо? мож, Вы зря не учитываете эффекта кэширования, например... Мы тут пытаемся замутить типа прфайлер для Hadoop File System. И есть мысль показывать пользователю что у него есть файлы в которых есть "хот споты". Мы тут пришли к мысли что надо тупо гистограмму показывать - на ней будет видно где резкий пик, а где провал. Еще есть мысль как-то использовать проверку гипотезы на соответсвие текущего распределения равномерному распределению (статистика хи-квадрат). Можно ли как то из проверки гипртезы не только получить да/нет, но и какую-нибудь цифру от 0 до 1 - типа степень совпадения с равномерным законом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 13:13 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Alexey Kuznetsovгде резкий пиккак только чётко определите, что такое "резкость" этого пика, так и алгоритм его поиска станет ясен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 13:47 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
оффтопРавномерность чтения файла в профилировании файловой системы? Это при том, что крайне редко файл считывается целиком одним потоком от головы до задницы... Для профилирования работы ФС с точки зрения интерфейса от логического представления к физическому устройству имхо было бы интересно двумерное распределение процента запросов по осям (размер блока) и (время доступа), но вот профилирование именно файловой системы... там же чего только нет - кэширование на устройстве, лифт чтения-записи, модификация служебных структур, включая журналирование, и т.д., и т.п... и вы всё это хотите загнать в одно число? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 13:56 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
Akina, Я может не совсем корректно описал про профилирование. Задача вот такая: на хадупе ранаются таски которые обрабатывают файлы, причем файлы обычно очень большие. И моя задача отследить такую ситуацию, когда некий большой файл читается не равномерно весь, а только его небольшая часть, что может служить признаком неоптимальной логики работы (или даже бага) хадуповской таски или неоптимальность разбиения обрабатываемых данных на файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 15:22 |
|
||
|
Придумать метрику равномерности чтения файла
|
|||
|---|---|---|---|
|
#18+
ааа... вон оно как... то есть речь не о времени доступа, а (грубо говоря) о том, насколько рационально используется пространство файла? Но тогда поневоле вопрос - а какой в том смысл? я понимаю, если ты речь шла о создании хранилова на кучу экзабайт с фреймом доступа в сотню терабайт, и разработке алгоритма оптимального сноса неиспользуемых данных из фрейма на внешние носители с высоким временем доступа (впрочем, обычный лифт на базе LRU/MRU и минимального блока предсказаний должен неплохо с этим справляться)... но для хадупы ты же не будешь гонять (а то и дублировать) данные с дальнего узла на ближний! или будешь? и именно для отработки этого момента всё и затеяно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 15:36 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38300992&tid=1341769]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 551ms |

| 0 / 0 |
