Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре.
Рубрика «locking»
Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF
2021-08-11 в 9:54, admin, рубрики: eBPF, linux, linux kernel, locking, qdisc, traffic control, traffic shaping, Блог компании Одноклассники, высокая производительность, высокие нагрузки, облачные сервисы, Разработка под Linux, системное администрирование, системное администрирование linux В данном посте описана система блокировок и поддержания атомарности, согласованности, изолированности и надежности (ACID) в SQLite, а также алгоритмы записи и чтения из файла базы.
Читать полностью »
Concurrency: 6 способов жить с shared state
2014-03-17 в 8:26, admin, рубрики: actor model, concurrency, java, lock-free, locking, stm, Программирование, метки: actor model, concurrency, java, lock-free, locking, stm
В многопоточном программировании много сложностей, основными из которых являются работа c разделяемым состоянием и эффективное использование предоставляемых ядер. Об использовании ядер пойдет речь в следующей статье.
С разделяемым состоянием в многопоточной среде существуют два момента, из-за которых возникают все сложности: состояние гонки и видимость изменений. В состоянии гонки, потоки одновременно изменяют состояние, что ведет к недетерменированному поведению. А проблема с видимостью заключаются в том, что результат изменения данных в одном потоке, может быть невидим другому. В статье будут рассказаны шесть способов как бороться с данными проблемами.
Все примеры приведены на Java, но содержат комментарии и я надеюсь будут понятны программистам не знакомым c Java. Данная статья носит обзорный характер и не претендует на полноту. В то же время она наполнена ссылками, которые дают более подробное объяснение терминам и утверждениям.
IdBasedLocking
2014-01-29 в 12:27, admin, рубрики: concurrency, java, lock, locking, locks, Веб-разработка, многопоточное программирование, многопоточность, Программирование, метки: concurrency, lock, locking, locks, многопоточное программирование, многопоточностьУ Java отличная поддержка параллелизма (concurrency) и блокировки (locking) — возможно, самая лучшая из тех, что предлагают современные языки. Кроме того, что в самом языке есть встроенная поддержка синхронизации, существует целый ряд полезных утилит на основе AQS framework. К ним относятся CountDownLatches, Barriers, Semaphores и прочие. Однако часто встречается ситуация, не поддерживающаяся напрямую: когда надо блокировать доступ не к конкретному объекту, а к идее этого объекта.
7 вещей, которые разработчик должен знать о SQL Server
2013-02-21 в 8:15, admin, рубрики: locking, performance, sql, sql server, t-sqlПривет. Я бывший разработчик, ставший администратором баз данных, и ниже написал о том, что, в своё время, хотел бы услышать сам.
7. Производительность UDF оставляет желать лучшего
Хорошие разработчики любят повторно использовать код, помещая его в функции и вызывая эти функции из разных мест. Это отлично работает на уровне приложения, но на уровне баз данных может привести к огромным проблемам с производительностью.
Посмотрите этот пост о принудительном использовании параллелизма – в частности, список того, что приводит к генерации «однопоточного» плана выполнения запроса. Скорее всего, использование UDF приведёт к тому, что ваш запрос будет выполняться в одном потоке (*грустно вздыхает*).
Читать полностью »