Остались ли задачи, где нужно считать байты?
От: vsb Казахстан  
Дата: 24.12.19 16:05
Оценка:
Есть процессор, работающий на каком-нибудь мегагерце, есть 512 байтов оперативной памяти и 4 килобайта постоянной памяти и нужно вместить программу, выполняющую определённый функционал с нужной производительностью. Естественно ни о какой операционной системе и т.д. тут речь не идёт. Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?
Re: Остались ли задачи, где нужно считать байты?
От: Михaил  
Дата: 24.12.19 16:15
Оценка: 10 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Есть процессор, работающий на каком-нибудь мегагерце, есть 512 байтов оперативной памяти и 4 килобайта постоянной памяти и нужно вместить программу, выполняющую определённый функционал с нужной производительностью. Естественно ни о какой операционной системе и т.д. тут речь не идёт. Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


Например, обновление прошивок всяких вояжёров и других космических аппаратов, которые были выпущены очень давно или работают в жестких условиях/с Множеством дублей и потому не обладают мегабайтами/гигагерцами. Ещё Обычно оптимизации приходится решать, когда производитель сэкономил на железке и выпустил большую партию плат с каким нибудь дешевым и слабым mcu, и тебе приходится под него адаптировать алгоритм.
Re: Остались ли задачи, где нужно считать байты?
От: Слава  
Дата: 24.12.19 17:02
Оценка: 10 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


Разработка медицинского оборудования, скажем датчиков УЗИ. Там места мало, а мозгов требуется уйма.
Re: Остались ли задачи, где нужно считать байты?
От: kov_serg Россия  
Дата: 24.12.19 22:04
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Есть процессор, работающий на каком-нибудь мегагерце, есть 512 байтов оперативной памяти и 4 килобайта постоянной памяти и нужно вместить программу, выполняющую определённый функционал с нужной производительностью. Естественно ни о какой операционной системе и т.д. тут речь не идёт. Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?

Вам квантовый компьтер надо. Там как раз ни о какой операционной системе речь не идёт.
Re: Остались ли задачи, где нужно считать байты?
От: ro_man  
Дата: 25.12.19 03:58
Оценка: 10 (1) +2
Здравствуйте, vsb, Вы писали:

Всякие интеллектуальные датчики/приборы учета и т.п., подразумевающие массовое применение. Лет десять назад общался с человеком, который работал в сфере программирования микроконтроллеров для счетчиков (уже не помню чего). Так вот, по его словам, путем утаптывания ассемблерной программы, получилось заменить применяемый микроконтроллер на другой, несколькими центами дешевле (ЕМНИМ, на 4-центовый). Для крупной серии экономия вполне приличная. Вряд ли сейчас в этой сфере что-то сильно изменилось, а в связи с IoT, который обещают воткнуть во все, что можно, эта тема окажется и еще и довольно актуальной.
Re: Остались ли задачи, где нужно считать байты?
От: Vlad_SP  
Дата: 25.12.19 07:06
Оценка: 10 (1)
Здравствуйте, vsb,

vsb> Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


Существует. Но оно очень-очень зависит от требований Его Величества Заказчика. Потому что стоимость разработки с "утаптыванием байтов" заметно превышает среднепроектную. Если заказчик считает, что он отобьет эти затраты, — ну окей, будем утаптывать байты.

Лично участвовал в проекте, когда нужно было в маломощный процессор запихнуть новый функционал, а памяти-то — ек! А переразводить плату под другой проц и отлавливать чисто аппаратные глюки на этапе серийного производства, на документации с литерой и подписью ПЗ Заказчик уже не хотел, да и не мог по большому счету (после получения заветной литеры оно уже большой кровью дается). Тогда Заказчик заплатил очень неплохо У меня остались самые лучшие воспоминания о том проекте в смысле материального вознаграждения
Re: Остались ли задачи, где нужно считать байты?
От: landerhigh Пират  
Дата: 25.12.19 11:28
Оценка: 10 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Такое вообще в нашем мире сейчас существует?


Как бы да, и намного больше, чем принято считать.
К примеру, байт туда, два сюда, и уже сообщение не влезает в один MTU с кучей далеко идущих последствий.
Re: Остались ли задачи, где нужно считать байты?
От: 0x7be СССР  
Дата: 25.12.19 12:27
Оценка: 10 (1)
Здравствуйте, vsb, Вы писали:

vsb>Есть процессор, работающий на каком-нибудь мегагерце, есть 512 байтов оперативной памяти и 4 килобайта постоянной памяти и нужно вместить программу, выполняющую определённый функционал с нужной производительностью. Естественно ни о какой операционной системе и т.д. тут речь не идёт. Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?

Да, в области дешёвых/массовых микроконтроллеров.
Re: Остались ли задачи, где нужно считать байты?
От: IID Россия  
Дата: 26.12.19 13:44
Оценка: 10 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


ИБ.
Искать и изучать уязвимости надо в т.ч. в машкоде.
Один из конкретных примеров — шеллкод в эксплоитах. И каждый байт экономить надо, и писать (часто) так, чтобы нулевых байтов не было.

И прочие весёлые вещи, типа:
изучение новых архитектур, в т.ч. всяких экзотических VLIW
патч KDE под FreeBSD всего подряд прямо в машкодах.
Очень. НЕТ! ООЧЕНЬ много дизасма! Ассемблеры для разных CPU станут родными.
прямая работа с [IO]MMU и прочими DMA
егг-хантинг
композиция пакетов/форматов/протоколов, чтобы исполнение пошло по неведомым дорожкам
массаж различных куч (юзермодных, кернелмодных, встроенных)
восстановление порушенных системных структур
гонки, иногда с точностью до сотни тактов CPU
тонкости работы планировщика и отложенных вызовов
составление ROP/JOP цепочек
аккуратная работа со стеком
возврат из сервиса ОС в другое место
... и прочее
kalsarikännit
Re: Остались ли задачи, где нужно считать байты?
От: sergey2b ЮАР  
Дата: 27.12.19 02:47
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Есть процессор, работающий на каком-нибудь мегагерце, есть 512 байтов оперативной памяти и 4 килобайта постоянной памяти и нужно вместить программу, выполняющую определённый функционал с нужной производительностью. Естественно ни о какой операционной системе и т.д. тут речь не идёт. Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


я то же читал эту историю

да существует, у меня друг так пишет хотя у него современный CPU и памяти мегабайты
но самому пришлось реализовывать mutex и поддержку файловой системы
Re: Остались ли задачи, где нужно считать байты?
От: Dirichlet Россия  
Дата: 27.12.19 20:00
Оценка:
Здравствуйте, vsb, Вы писали:

vsb> Такое вообще в нашем мире сейчас существует?


Геймдев, шейдера для видеокарт.
Re: Остались ли задачи, где нужно считать байты?
От: Evgeny.Panasyuk Россия  
Дата: 31.12.19 09:23
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


В контексте оптимизации актуально даже на топовом железе. Многие вычислительные задачи полностью, либо же существенной частью упираются в скорость и latency перекидывания данных между разными уровнями иерархии памяти.
Размер кэш-линии современных процессоров — 64 байта. Вместив скажем 8 структур в одну кэш-линию, вместо одной, можно получить приличное ускорение.
Да даже если смотреть на RAM, если данные уместить в 1 гигабайт вместо 4, можно получить четырёхкратное ускорение на throughtput-bounded задачах типа линейного обхода
Re: Остались ли задачи, где нужно считать байты?
От: Sheridan Россия  
Дата: 31.12.19 10:50
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


Практически везде, кроме PC. И этого "везде" заметно больше.
Matrix has you...
Re: Остались ли задачи, где нужно считать байты?
От: vfedosov  
Дата: 31.12.19 10:57
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Есть процессор, работающий на каком-нибудь мегагерце, есть 512 байтов оперативной памяти и 4 килобайта постоянной памяти и нужно вместить программу, выполняющую определённый функционал с нужной производительностью. Естественно ни о какой операционной системе и т.д. тут речь не идёт. Когда-то давно читал байку про человека, который потратил кучу времени на размышления и всё-таки сэкономил 2 байта, вместив программу. Такое вообще в нашем мире сейчас существует? Или это уже байки из склепа?


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