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

Объясню кэш через холодильник, а потом покажу, где эта аналогия ломается, и что с этим делают в проде.
Статья для тех, кто кэш уже ставил, но не разбирался, почему он иногда роняет сервис вместо того, чтобы его ускорять.
В этой статье изложено всё, что нужно знать об устройстве компьютера с точки зрения программиста. А именно:
для чего нужен тактовый генератор, регистры, кэши и виртуальная память
что такое архитектура процессора
что такое машинный код и код ассемблера
чем отличается компиляция в машинный код в C, C++ или Rust от компиляции в байт-код виртуальной машины в языках типа Java и C#; в чём их отличие от интерпретируемых языков вроде JavaScript или Python
что такое динамические и статические библиотеки (.dll/.so, .lib/.a); что такое фреймворк
что такое API и web-API
Привет! Без лишнего: в статье расскажу про атаки на кэш-память в процессорах семейства ARMv8. Подробно изучил их для совершенствования безопасности KasperskyOS: познакомлю с теорией и практикой, механизмами работы и способами митигации. Также кратко расскажу, как мы тестировали каждый способ атаки на KasperskyOS, какие из них оказались неприменимы, какие могут представлять угрозу и как микроядро с подобными угрозами справляется. Если интересно гранулярно погрузиться в типологию атак на кэш — добро пожаловать!
Кэш — это временное хранилище данных, предназначенное для ускорения доступа к часто используемой информации. Он работает по принципу сохранения уже обработанных данных, чтобы при повторном запросе не выполнять те же вычисления или не запрашивать информацию из медленных источников, таких как база данных или внешний сервер. Благодаря кэшу приложения работают быстрее, снижается нагрузка на систему, и пользователи получают мгновенный отклик вместо долгого ожидания.
Приветствую всех, сегодня я хочу рассказать про одну из самых интересных неразгаданных загадок математики. Гипотеза Коллатца, или же дилемма 3n+1 прославилась благодаря простоте своей формулировки, при этом оставаясь не доказанной уже более 90 лет.
Краткая формулировка, то бишь немного измененная выдержка из википедии (en и ру):
Берём любое натуральное число n:
Если оно чётное, то делим его на 2,
Если нечётное, то умножаем на 3 и прибавляем 1.
Привет! Я Алёна, пишу про мобильные проекты со стороны Системного аналитика.
Сегодня хочу поговорить про кэши. Статья ориентирована на новичков системных аналитиков и написана в легкой форме
Кэширование - это сохранение данных в локальном хранилище (кэше) для быстрого их использования. Конкретно в статье рассмотрим кэширование ответов методов на мобильных устройствах.
Кэши помогут быстрее отображать пользователю информацию. Данные загружаются заранее и отображаются из кэша, что позволяет избежать загрузочных экранов, шиммеров и ошибок.

Разрыв между быстродействием процессоров в общем смысле и быстродействием основной памяти DRAM, также в общем смысле, был проблемой в последние 30 лет – в этот период разрыв начал по-настоящему расти. И стоит честно сказать, что инженеры, разрабатывавшие как оборудование, так и программы, создавшие иерархию кэшей и ПО, способное воспользоваться её преимуществами, поступили просто гениально. Это одна из труднейших в реализации архитектур, когда-либо задуманных человеком.
Однако теперь, когда мы находимся на пороге появления постоянно расширяющейся иерархии памяти, когда начинает появляться энергонезависимая память типа Optane 3D XPoint (вариант памяти с изменением фазового состояния) в формате DIMM и SSD, а также новые протоколы (CXL, OpenCAPI, CCIX, NVLink и Gen-Z), возникает вопрос: не пора ли добавить серверам кэш четвёртого уровня? Поскольку от комплекса CPU зависит работа такого количества устройств – некоторые из которых расположены ближе, другие же дальше – логично задуматься над тем, не нужен ли нам ещё один уровень кэша, маскирующий задержки этих других видов памяти и увеличивающий пропускную способность всей системы.
Читать полностью »
Чипы на большинстве современных настольных компьютеров имеют четыре ядра, но производители микросхем уже объявили о планах перехода на шесть ядер, а для высокопроизводительных серверов и сегодня 16-ядерные процессоры далеко не редкость.
Чем больше ядер, тем больше проблема распределения памяти между всеми ядрами при одновременной совместной работе. С увеличением числа ядер всё больше выгодно минимизировать потери времени на управлении ядрами при обработке данных — ибо скорость обмена данными отстает от скорости работы процессора и обработки данных в памяти. Можно физически обратиться к чужому быстрому кэшу, а можно к своему медленному, но сэкономить на времени передаче данных. Задача усложняется тем, что запрашиваемые программами объемы памяти не четко соответствуют объемам кэш-памяти каждого типа.
Физически разместить максимально близко к процессору можно только очень ограниченный объем памяти — кэш процесcора уровня L1, объем которого крайне незначителен. Даниэль Санчес (Daniel Sanchez), По-Ан Цай (Po-An Tsai) и Натан Бэкмен (Nathan Beckmann) — исследователи из лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института — научили компьютер конфигурировать разные виды своей памяти под гибко формируемую иерархию программ в реальном режиме времени. Новая система, названная Jenga, анализирует объемные потребности и частоту обращения программ к памяти и перераспределяет мощности каждого из 3 видов процессорного кэша в комбинациях обеспечивающих рост эффективности и экономии энергии.

Двухместный стандарт в Сочи в отеле Bridge Mountain стоит 86 рублей за сутки на человека на 1-6 апреля, и его можно взять отдельно от тура за 860 рублей на 5 ночей
5 лет назад мы обнаружили, что «Букинг» продаёт отели, всякие «Скайсканеры» и AWAD — авиабилеты, и голову поднимает AB&B. Но никто не продаёт туры целиком. Я тогда сказал своему другу: «Мужик, давай продавать туры. Это же очень просто сделать!»
А дальше начались такие круги ада, что мы несколько раз проклинали тот день. Началось всё с довольно простой задачи — синхронизации туров и их поиска. А прикол был в том, что если до нас у туроператора искали только руками из офисов, то с нашими поисками-сравнениями (на один запрос «Травелаты» поднимается около 500–600 туров в общем) мы просто клали их сервера к едрене фене. И туры не находились. Вообще, системы бронирования были сделаны в 90-х годах, а некоторые системы бронирования авиабилетов тащат легаси ещё чуть ли не со времён телеграфа.
Потом мы столкнулись с тем, что люди за пределами Москвы банально не доверяют кредиткам. Потом — с тем, что некоторые туроператоры очень любят, скажем так, недоговаривать цену при заказе. И так далее.Читать полностью »