LINUX.ORG.RU

Использование времени прибытия данных для их кодирования

 , , , ,


1

1

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

https://imgur.com/a/aDnPMUF

Рассмотрена простейшая модель сети. Есть сервер, к серверу подключены два клиента, клиенты не сообщаются друг с другом. В некий момент времени сервер начинает передавать одинаковые данные своим клиентам. Ширина канала по сути 2бита в сек. Как бы сервер передавал без схемы сжатия? Просто бы поделил канал на количество клиентов и подал все как есть. Конкретно для этой последовательности 16 бит: каждый клиент получает 16 бит за 16 секунд, общее количество переданных данных 32 бита. А теперь представим что у клиентов есть таблица перевода, допустим её когда-то передали им отдельно. Тогда, смотрим на картиночку, получается что используя подобную схему кодирования каждый клиент получает 8 бит за 9 секунд, а общее количество переданных данных будет 16 бита. Данная схема не самая оптимальная, самая передала бы за 8 сек. Оптимальность таблицы зависит от самих данных, строятся оптимальные таблицы обратным образом, просто прикидываешь что в какую секунду и кому должно было передаться. Ну это по времени оптимальное, если оптимизировать по общему количеству переданных бит для данной последовательности то получиться: передано 2 бита, по биту на каждого, за где-то в районе 2^16 секунд. Почему это работает: мы передаем одни и те же данные в одно и то же время, а это избыточно, и её можно сократить

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

Кстати, факт из разряда очевидного-невероятного: для передачи\обработки высокого сигнала «1» нужно больше энергии чем для низкого «0». Буквально можно проверить, взять и забить всю оперативку в одном случае нулями а в другом единицами и сравнить энергопотребление.


одном случае нулями а в другом единицами и сравнить энергопотребление.

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

QsUPt7S ★★
()

Я просто оставлю это здесь:

https://ru.wikipedia.org/wiki/Дельта-кодирование

https://en.wikipedia.org/wiki/Data_differencing

https://en.wikipedia.org/wiki/Space-time_tradeoff

https://en.wikipedia.org/wiki/Shannon's_source_coding_theorem

И автор пусть расскажет про издержки и выхлоп своей «идеи» для шумных каналов и лосс-лесс кодирования.

Я этого делать не буду, ибо мне не платят и Phd защищать мне тоже не нужно.

Никто не будет. Пока это все выглядит как аттеншон-вхоринг и скоро-дрочинг :)

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

И автор пусть расскажет про издержки и выхлоп своей «идеи» для шумных каналов и лосс-лесс кодирования.

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

Клод Шэннон все эти «идеи» уже обобщил в такой дисциплине как «Теория информации».

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

чтобы вот совсем хорошо понимать, пример из повседневности: ваша знакомая в свои 20 говорит «пошли гулять» и ваша знакомая в свои 60 говорит «пошли гулять». сообщение и в том и в другом случае одно и то же, но пришло в разное время, а значит и смысл имеет разный. в одном будет «го сосаться за гаражами» а в другом «а тебе есть что терять, пердун старый?»

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

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

Ненене, Девид Блейн. Показывай новизну «идеи» :) Бремя доказательств новизны на изобретателе квадратных колес для велосипеда.

anonymous
()

…Оптимальность таблицы зависит от самих данных, строятся оптимальные таблицы обратным образом, просто прикидываешь…

Какая же шиза….

Но ее можно развить еще дальше, можно обойтись одним битом каждому клиенту. Зачем хранить на клиентах таблицы перевода если можно хранить сами данные? А сервер просто пошлет клиентам 1 бит сигнализирующий «ну типа я вам все отправил, смотрите там в таблицах своих сами».

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)

Решил не мелочиться, и продолжить парад хороших идей.

Забаньте человека за 4.2, чтоб не мучался.

[а давайте засунем часть инфы в тайминг отправки и будем молиться богу джиттера, чтобы он его не пожевал]

Ок, показывай выкладки,

  1. сколько ты выиграл бит в секунду от инспектирования задержек
  2. сколько проиграл из-за введения задержек
  3. как собрался восстанавливать эту информацию при потерях
  4. как собрался бороться с джиттером в случае WAN
t184256 ★★★★★
()
Ответ на: комментарий от Obezyan

Но ее можно развить еще дальше, можно обойтись одним битом каждому клиенту. Зачем хранить на клиентах таблицы перевода если можно хранить сами данные? А сервер просто пошлет клиентам 1 бит сигнализирующий «ну типа я вам все отправил, смотрите там в таблицах своих сами».

ну да, оптимально по количеству переданного. буквально 1 бит раз в 2^16 секунд передаст сообщение длиной 16 бит. какие проблемы?

а давайте засунем часть инфы в тайминг отправки

да, именно так

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

понятия не имею как модифицировать данную идею при наличии помех на линии.

сколько ты выиграл бит в секунду от инспектирования задержек сколько проиграл из-за введения задержек

смотри пример в оп-посте

как собрался восстанавливать эту информацию при потерях как собрался бороться с джиттером в случае WAN

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

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

Как ты ловко не только проигнорировал самое неудобное для тебя

сколько проиграл из-за введения задержек

но ещё и ответил не на тот коммент, чтобы я не впалил. Заслуженный клоун, чей виртуал будешь?

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от q250

Тут остается только цитировать классиков этого направления:

Родился на улице Герцена, в гастрономе номер двадцать два. Известный экономист, по призванию своему — библиотекарь. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим. Это, так сказать, система… э-э-э… в составе ста двадцати единиц. Фотографируете Мурманский полуостров и получаете «Те-ле-фун-кен».

И бухгалтер работает по другой линии — по линии библиотекаря. Потому что не воздух будет, академик будет! Ну вот можно сфотографировать Мурманский полуостров. Можно стать воздушным асом. Можно стать воздушной планетой. И будешь уверен, что эту планету примут по учебнику. Значит, на пользу физике пойдёт одна планета. Величина, оторванная в область дипломатии, даёт свои колебания на всю дипломатию. А Илья Муромец даёт колебания только на семью на свою. Спичка в библиотеке работает. В кинохронику ходят и зажигают в кинохронике большой лист. В библиотеке маленький лист разжигают. 

Огонь… э-э-э… будет вырабатываться гораздо легче, чем учебник крепкий. А крепкий учебник будет весомее, чем гастроном на улице Герцена. А на улице Герцена будет расщеплённый учебник. Тогда учебник будет проходить через улицу Герцена, через гастроном номер двадцать два, и замещаться там по формуле экономического единства. Вот в магазине двадцать два она может расщепиться, экономика! На экономистов, на диспетчеров, на продавцов, на культуру торговли… Так что, в эту сторону двинется вся экономика. Библиотека двинется в сторону ста двадцати единиц, которые будут… э-э-э… предмет укладывать на предмет. Сто двадцать единиц — предмет физика. Электрическая лампочка горит от ста двадцати кирпичей, потому что структура, так сказать, похожа у неё на кирпич. 

Илья Муромец работает на стадионе «Динамо». Илья Муромец работает у себя дома. Вот конкретная дипломатия! Открытая дипломатия — то же самое. Ну, берём телевизор, вставляем в Мурманский полуостров, накручиваем там… э-э-э… всё время чёрный хлеб… Так что же, будет Муромец, что ли, вырастать? Илья Муромец, что ли, будет вырастать из этого?

«Большая медицинская энциклопедия», 1962г.

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

как такое реализовать в реальных сетях, а не сферических в вакуме, я не знаю.

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

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

потрясающе. сидишь тут, думаешь, картинки даже рисуешь для понимания, а тут тебе на пустом месте в лицо предъява

Заслуженный клоун, чей виртуал будешь?

потрясающе, просто потрясающе.

сколько проиграл из-за введения задержек

только выиграли же!

для еще лучшего понимания идеи рассмотрим модель из видео https://www.youtube.com/watch?v=M5c_RFKVkko все понимают, что если «засунем часть инфы в тайминг отправки» мы действительно можем обойтись 1 битом?

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

только выиграли же!

Ты сейчас на серьёзных щах рассказываешь, что не передавать N тактов информационно выгоднее и насыщеннее, чем N тактов не передавать?

t184256 ★★★★★
()

Кстати, факт из разряда очевидного-невероятного: для передачи\обработки высокого сигнала «1» нужно больше энергии чем для низкого «0».

серьезно??? вообще-то может быть и так, и наоборот и вообще равнозначно. все зависит от схемотехники логических вентилей.

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

предлагаете расписать всю физ.память нулями и мерить потребление мультиметром, прям в кабеле питания? смело.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от wandrien

Вы разве не замечали, что 1 килограмм картохи требуют больших затрат на перемещение, чем 0 килограмм?

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

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

Правильно! Потом через сто лет вышлем один раз единичку, и вот мы уже передали в одноричной системе тонны данных максимально экологичным способом #takeitslow #ecolife #GretaIsProudOfYou

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

Очень уж складно идёт.

наверное это потому что все правильно не?

Ты сейчас на серьёзных щах рассказываешь, что не передавать N тактов информационно выгоднее и насыщеннее, чем N тактов передавать?

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

вообще-то может быть и так, и наоборот и вообще равнозначно. все зависит от схемотехники логических вентилей.

вот равнозначно точно быть не может. что бы такое было нужно чтоб сигнал «0» на самом деле был сигналом «01» а сигнал «1» сигналом «10», а так делать никто не будет, слишком дорого.

предлагаете расписать всю физ.память нулями и мерить потребление мультиметром, прям в кабеле питания? смело.

да, в одном нулями в другом единицами. сегодня есть розетки со встроенным ваттметром.

q250
() автор топика

Кстати, факт из разряда очевидного-невероятного: для передачи\обработки высокого сигнала «1» нужно больше энергии чем для низкого «0».

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

rtxtxtrx ★★
()

Есть идея помощЪнее. Любой пакет данных это последовательность чисел, а в числе pi как известно есть любая возможная последовательность чисел. Таким образом передача любого пакета данных сводится к указанию начала пакета в числе pi и его длины.

Если начало пакета является слишком большим числом, оно может быть закодировано аналогичным образом!

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

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

Если начало пакета является слишком большим числом, оно может быть закодировано аналогичным образом!

Хорош, чертяка. Это твоя месть за тред про сжатие за предел Шеннона?

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

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

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

это передача по заведомо известному словарю.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от wandrien

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

anonymous
()

а в числе pi

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

в силу нормального распределения цыфер в числе пи

не доказанно.

самому стоило бы проверить для начала

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

Правильно! Потом через сто лет вышлем один раз единичку, и вот мы уже передали в одноричной системе тонны данных максимально экологичным способом #takeitslow #ecolife #GretaIsProudOfYou

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

а у шизофреников

о, шизофреники пошли, еще что обсудим?

деревья бонсай?

клубничное варенье?

руководство Чечни?

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

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

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

оценка сверху - потому что конденсаторы подзаряжаются не от нуля вольт. а наверное 0.7-0.8 от напряжения питания чипа. детали тут неважны.

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

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

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от q250

не доказанно.

пи вычислено до 200 млрд десятичных знаков. и есть табличка встречаемости десятичных чисел. распределение вполне нормальное для практического применения

alysnix ★★★
()

Для того, чтоб серъезнее к твоим идеям в приличном обществе относились, желательно начать с попыток их (идей) самостоятельной реализации, и когда после пары-тройки набитых синяков с собственной наколенной реализацией идея все так же выглядит «анало-говнет», тогда просить совета и/или оценки у широкой публики.

Попытка собственной реализации станет первой оценкой твоей идеи.

В интернетике миллион лет назад была статейка, «как задавать хорошие вопросы», беда для тебя скорее всего в том, что она(они) на ангельском языке.

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

а если ознакомиться с этой статьей и графиком на ней.

https://habr.com/ru/companies/kingston_technology/articles/525528/

то можно оценочно взять емкость одной ячейки за 0.1 * 10^-15 фарад. считаем сколько это на гигабайт - 8 * 10^9 * 10^-16, итого - 8* 10-7 фарад или 0.8 микрофарад на гигабайт.

энергия заряда конденсатора = С/2 * U^2;

при напряжении заряда 1в энергия заряда чипа в 1GB -> 0.8/2 = 0.4 микроджоуля.

что вы хотите там мерять вообще?

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

Для того, чтоб серъезнее к твоим идеям в приличном обществе относились, желательно начать с попыток их (идей) самостоятельной реализации, и когда после пары-тройки набитых синяков с собственной наколенной реализацией идея все так же выглядит «анало-говнет», тогда просить совета и/или оценки у широкой публики.

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

q250
() автор топика