В какой-то момент кто-то в интернете решил: всё, что мы можем вычислить, мы должны вычислить где-то на “большой мощной машине”. Так родилась заново идея “тонкого клиента”, поработившая сознание разработчиков современных веб-приложений. Всё, на что способно пользовательское приложение, в 90% кейсов сегодня - красиво отрисовать контент по данным, рассчитанным удаленной машиной в одном из дата-центров. При этом сложность расчетов и разнообразие данных растет быстрее, чем линейно, требуя все больше вычислительных ресурсов “больших мощных машин”, а также усилий по их проектированию, разработке, сопровождению, что в конечном счете приводит ко все более возрастающей стоимости владения.
Однако, при этом растет разнообразие и, что немаловажно, мощность клиентских мобильных девайсов - основных потребителей того самого контента.
Парадокс заключается в том, что рост этот не приводит к очередной смене парадигмы разработки, никто не хочет переносить вычисления к клиенту и тем самым снижать возрастающие затраты эксплуатации. Отчасти это объясняется понятным образом: ресурсы мобильных устройств ограничены памятью и временем работы от аккумулятора, их хочется экономить.
Однако, чем дальше развивается эта аппаратно-программная история, тем всё менее убедительно выглядят такие аргументы. Пора запустить очередную фазу развития спирали - вернуться к разговору о новых “толстых клиентах” с новыми знаниями о том, как экономить исчерпаемые ресурсы их аппаратной части. И да - клиентов много, их вычисления нам ничего не стоят.
В этом докладе будет рассказано о том:
- почему уже хорошо перемещать вычисления к мобильному клиенту, а не нагружать серверную часть;
- какие средства доступны для разработчика на одной из мобильных платформ;
- какие трюки позволят сократить время вычислений и энергопотребление;
- почему быстро - не всегда энергоэффективно.
А также немного поговорим о вычислительной моде. Модные API прямо в телефоне:
- CNN (сверточная нейронная сеть) с железным ускорением.
- Металлические сети компараторов.