Pull to refresh
54
0

Пользователь

Send message

S3-FIFO: новый эффективный алгоритм вытеснения из кэша на основе очередей FIFO

Level of difficultyMedium
Reading time18 min
Views9.3K
В этой статье я расскажу о простом и масштабируемом (Simple, Scalable) алгоритме вытеснения данных из кэша на основе трёх статических (Static) очередей FIFO (S3-FIFO). После проверки на 6594 трассировках кэшей 14 компаний мы показали, что S3-FIFO имеет меньшую частоту промахов, чем 12 лучших алгоритмов, разработанных в прошлые десятилетия. Более того, эффективность S3-FIFO устойчива — он имеет наименьший средний показатель промахов для 10 из 14 датасетов. Использование очередей FIFO позволяет S3-FIFO достичь хорошей масштабируемости с пропускной способностью в шесть раз больше по сравнению с оптимизированным LRU в cachelib на 16 потоках.

Мы пришли к выводу, что доступ к большинству объектов в смещённых нагрузках кэша выполняется только за короткий промежуток времени, поэтому критически важно быстро вытеснять их из кэша. А главная особенность S3-FIFO — это небольшая очередь FIFO, отфильтровывающая большинство объектов, не давая им попасть в основной кэш.

Иллюстрация работы S3-FIFO (с использованием порогового значения перехода из маленького в основной кэш, равного 1)
Читать дальше →

Оптика в техническом зрении. Лекция 2: Аберрации

Level of difficultyMedium
Reading time17 min
Views16K

Привет, Хабр!

Меня зовут Андрей, я – специалист по оптическим системам, оптик и инженер-конструктор в одном лице.

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

Текущая лекция – не обязательная. Она не предлагает конкретных формул и способов решения, но даёт лучшее понимание того, как именно складывается изображение после объектива. Соприкасающимся с оптикой людям рекомендую ей прочитать. Более короткого и наглядного описания аберраций в русскоязычном интернете нет.

Читать далее

Фильтрация избыточных вершин в геометриях 3D моделей

Level of difficultyMedium
Reading time6 min
Views2.7K

Всем привет! Меня зовут Евгений, я backend‑разработчик в компании Bimeister. Сегодня я хотел бы продолжить рассказ о нашем 3D движке Spatium. В статье речь пойдет еще об одном из алгоритмов оптимизации - поиске и удалении избыточных вершин из 3D моделей.

Материал может представлять интерес для инженеров, связанных с проектированием и разработкой в области 3D.

Читать далее

История печатных плат: от Эйслера до наших дней

Reading time18 min
Views19K

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

Читать далее

Задачи про PEG-парсеры

Level of difficultyMedium
Reading time4 min
Views2.3K

Когда-то я хотел сделать контест по парсингу для Codeforces. Придумал задания двух типов:

1. Дается неформальное описание языка, по которому нужно создать грамматику (например, "язык с правильными скобочными последовательностями")

2. Даны примеры строк в языке, по которым нужно восстановить грамматику

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

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

Читать далее

Архитектура и программирование Sony Playstation 1

Reading time16 min
Views20K

По сравнению с другими, ранее описанными мной архитектурами, архитектура Sony Playstation 1 (PSX) - сравнительно современная. И дело даже не в годе выпуска (1994) - скорее это общее ощущение сочетания новых возможностей и исчезновения привычных старых, которые были типичными для компьютеров и приставок предыдущей эпохи.

PSX (это сокращение пошло от первоначального названия проекта - Playstation X) имеет в качестве центрального процессора MIPS R3000, работающий на частоте 33МГц. Причём, Sony отказалось от сопроцессора для вычислений с плавающей точкой и вместо него сопроцессором в PSX является так называемый GTE (Geometry Transformation Engine), выполняющий различные операции с фиксированной точкой над векторами и матрицами.

Читать далее

ReBoot: история первого в мире 3D-мультсериала «Повторная загрузка»

Level of difficultyEasy
Reading time6 min
Views4.2K

Большинство людей полагают, что эра 3D-анимации началась с пиксаровского шедевра "История игрушек" в 1995 году. Однако это не так. Четырьмя годами ранее "ReBoot" уже с успехом продемонстрировал потенциал создания 3D-мультсериалов.

Идея создания первого полноценного компьютерного ТВ-сериала возникла благодаря Гэвину Блэру (Gavin Blair) и Яну Пирсону (Ian Pearson), профессионалам в области компьютерной анимации, которые в 1984 году совместно работали над клипом "Dire Straits" для композиции "Money for nothing". Однако, технологии того времени не позволяли им реализовать свою задумку, и они вынуждены были трудиться и ждать ещё 5 лет, чтобы создать необходимую программу и получить финансирование проекта.

Вспомним молодость

Эволюция технологий виртуализации сети в Linux

Level of difficultyMedium
Reading time11 min
Views26K

Виртуализация оборудования — одна из важнейших и фундаментальных технологий в области облачных вычислений. Без нее не смогло бы работать ни одно «устройство» внутри виртуальных машин: ни сетевая карта, ни диск, ни клавиатура, ни мышь и т. п. В статье мы проследим развитие технологий виртуализации оборудования в Linux.

Читать далее

Пишем простой драйвер под Windows для блокировки USB-устройств

Reading time11 min
Views26K
Вряд ли пользователь домашнего ПК заинтересуется тем, чтобы блокировать устройства на своем ПК. Но если дело касается корпоративной среды, то все становится иначе. Есть пользователи, которым можно доверять абсолютно во всем, есть такие, которым можно что-то делегировать, и есть те, кому доверять совсем нельзя. Например, вы заблокировали доступ к Интернету одному из пользователей, но не заблокировали устройства этого ПК. В таком случае пользователю достаточно просто принести USB-модем, и Интернет у него будет. Т.е. простым блокированием доступа к Интернету дело не ограничивается.

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

В этой статье я расскажу немного теоретическую часть, на основе которой все строится, и расскажу принцип самого решения.
Читать дальше →

Карманный макромир: любительский комплект для макросъёмки на телефон

Level of difficultyEasy
Reading time9 min
Views18K
Картинка для привлечения внимания — микроконтроллер КМ1816ВЕ48 в непожатом виде

Приветствую, товарищи!

Некоторое время назад я увлеклась любительской мобильной съёмкой в целом, а потом у меня появилась необходимость снимать и макро — ввиду своей особой самостоятельной деятельности. Так как я приверженец мобильности, у меня встал вопрос: получится ли снять качественный макрокадр на телефон — с минимумом оборудования и самое главное, чтобы недорого?

Собственно говоря — в ответ на вопрос и родилась эта статья, как маленький обзор на непрофессиональный съёмочный комплект — я хочу показать свой топ вещиц, которые сделают мобильную фотографию (и не только макро) — намного приятнее.

Перво-наперво отвечаю на невольно возникающий вопрос: «Пошто камерой не пользуешься извращенка?»
ВНУТРИ МНОГО ФОТО

Глубокий взгляд в мир параметризованных кривых и линий: от регулярных функций до диффеоморфизмов

Level of difficultyMedium
Reading time5 min
Views6.1K

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

Читать далее

Самодельный стратостат. Сезон 2023. Vostok-6

Level of difficultyEasy
Reading time9 min
Views6.2K

Vostok-6


Безумие — это точное повторение одного и того же действия, раз за разом, в надежде на изменение

Команда проекта "Восток" снова на связи и привезла вам парочку космических видосов! В этот раз мы почти ничего не меняли по технической части, так что сосредоточимся на результатах и поисках. Думаю после всего того, что мы натворили, мы, как минимум, можем считаться крупнейшими поставщиками 4k-контента из стратосферы на территории РФ. Приготовьте свои интернет каналы, будет много фото и видео.

Поехали?

Секрет реиграбельности «Космических Рейнджеров»

Level of difficultyEasy
Reading time7 min
Views13K
image

Недостаток времени — одна из главных проблем современного человека. Особенно, если тот увлекается видеоиграми. Сейчас нам тяжело выделить минуту даже для новинок, что уж говорить о затёртых до дыр полюбившихся проектах из прошлого. Тем не менее, очередное перепрохождение «Космических Рейнджеров» почему-то не кажется чем-то зазорным.

Отставив хитросплетённый сюжет на второй план, разработчики из ныне упразднённой Elemental Games сделали упор на вариативном игровом процессе и проработанной вселенной, где каждый из элементов — не просто декорация или выдающий задания NPC-болванчик, а одна из единиц наполненного жизнью мира, в который хочется возвращаться всё снова и снова.

Рассуждать о теме будем по второй части дилогии, так как та, по мнению многих игроков, является улучшенными во всех аспектах первыми «Космическими Рейнджерами».
Читать дальше →

MPLS жив?

Level of difficultyMedium
Reading time5 min
Views8.5K

Протокол MPLS успешно используется в операторских решениях с начала века. За два десятилетия он успел отстоять свое «место под солнцем» и знаком сейчас всем, кто хоть отдалённо связан с телеком-сферой. Поэтому мы решили подробнее рассказать о нем. Протокол MPLS успешно используется в операторских решениях с начала века. За два десятилетия он успел отстоять свое «место под солнцем» и знаком сейчас всем, кто хоть отдалённо связан с телеком-сферой. Поэтому мы решили подробнее рассказать о нем.

Читать далее

В {n} раз быстрее Си

Level of difficultyHard
Reading time13 min
Views39K

Иногда человек может обнаружить такие возможности оптимизации, которые не видит компилятор. В этой статье мы начнём с цикла, сгенерированного из кода Си с помощью clang, и скорректируем его разными способами, попутно измеряя прирост в скорости.

Эта статья публиковалась на главной странице HackerNews, и к её обсуждению вы можете присоединиться здесь.
Читать дальше →

Команда AArch64, о которой вам нужно знать

Level of difficultyMedium
Reading time4 min
Views3K

Сегодня я бы хотел поговорить о недооценённой особенности архитектуры набора команд AArch64, на неё часто не обращают внимания, но её активно используют компиляторы. Это хорошая короткая история о том, как Arm стал лучше и «ещё более CISC» с точки зрения условных переходов. История csinc заслуживает подобной статьи.

Читать далее

SSH с высоты птичьего полёта, или разгребаем кучи ключей

Level of difficultyMedium
Reading time16 min
Views38K

Решил я недавно разобраться в подробностях работы SSH. Использовал его для удалённого запуска команд давно, но, будучи не слишком опытным в системном администрировании, очень размыто представлял, зачем админы просят им отправить какой-то ключ, что с этим ключом происходит при подключении, и прочее. Поэтому предлагаю здесь обзорную экскурсию по используемым алгоритмам и ключам.

Статья рассчитана на тех, кто поверхностно знаком с SSH, возможно, использовали на практике, но не осознали его сакральных смыслов и глубоких тайн. Попытаюсь описать основные аспекты безопасности протокола: какие ключи и алгоритмы используются, в какой момент и зачем. Также будут замечания, как некоторые части протокола реализованы в OpenSSH.

Читать далее

Что такое 3D сканер и где он может помочь

Level of difficultyEasy
Reading time12 min
Views7.7K

Рассмотрим, что такое 3D сканер, как он работает, каким бывает. Здесь нужно отметить, что мы 3D сканеры не продаем и не покупаем. В нашей организации нет собственных 3D сканеров по той простой причине, что это оборудование достаточно дорогое, а используется далеко не каждый день. Соответственно, намного экономически целесообразнее просто его брать в аренду, когда это нужно. В Петербурге и в Москве таких компаний достаточно. Оборудование сдается в аренду вместе с операторами. Стоит это в районе 30 тысяч рублей за день работы, условно за восьмичасовую смену. При необходимости оператор со сканером может выехать в командировку в любой уголок страны.

Читать далее

Портативный аппаратный проигрыватель музыки для AY-3-8910 — hway

Level of difficultyMedium
Reading time18 min
Views12K

Представляю вашему вниманию мою конструкцию такого экстремально нишевого, убер-гиковского гаджета, как портативный аппаратный проигрыватель чиптюновой музыки для звукового чипа AY-3-8910. В этой статье вы получите краткую историческую справку об истории компьютерной музыки, узнаете о довольно занимательном факте существовании класса подобных устройств, а также кому и для чего таковые могли понадобиться. Ну а если по прочтении вы обнаружите, что и вам тоже такое надо, и вы знаете, с какой стороны нагревается паяльник, у вас будет возможность собрать себе личный экземпляр, используя прилагающиеся исходники проекта.
Читать дальше →

Поляризатор = датчик угла

Level of difficultyEasy
Reading time7 min
Views8.1K

Поговорим о датчиках угла.

Есть один остроумный и умозрительный способ измерять углы: при помощи поляризаторов.

Всем известен физический эффект поляризации. Это когда берут 2 поляризационные фильтра от фотоаппарата, накладывают их друг на друга и проворачивают. В результате свет то проходит то не проходит сквозь cэндвич из пластинок.

Насколько реально сделать датчик угла на основе закона Малюса?

Читать далее

Information

Rating
Does not participate
Date of birth
Registered
Activity