Как стать автором
Обновить
27.94
Рейтинг

Распределённые системы *

Нюансы проектирования распределенных систем

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Консистентно о Консенсусе

Блог компании Timeweb Программирование *Алгоритмы *Параллельное программирование *Распределённые системы *

Здравствуйте, меня зовут Дмитрий Карловский. А вы на канале Core Dump, где мы берём различные темы из компьютерной науки и раскладываем их по полочкам.


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



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

Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры 2.3K
Комментарии 6

Новости

Путь, который занял 100* лет: встречаем CatBoost 1.0.0

Блог компании Яндекс Open source *R *Машинное обучение *Распределённые системы *


Всем привет. Меня зовут Станислав Кириллов, я работаю в команде, которая отвечает за развитие библиотеки машинного обучения CatBoost. Мы впервые поделились ей с сообществом четыре года назад — хотя мы привыкли строить бинарные деревья, поэтому и отсчёт лет предпочитаем вести так же. Это шутка, конечно, но «столетие» — хороший повод для выпуска первой «production ready» версии библиотеки с символичным номером 1.0.0.

Сегодня я кратко отвечу, почему мы считаем выпуск версии 1.0.0 важной вехой, и подсвечу главные изменения (и в новой версии, и в целом за год). А уже завтра выступлю с рассказом на встрече, которая будет целиком и полностью посвящена практике применения CatBoost и противостоянию нейросетей и градиентного бустинга. Если эти слова для вас что-то значат, то добро пожаловать под кат.

Читать дальше →
Всего голосов 59: ↑58 и ↓1 +57
Просмотры 17K
Комментарии 7

Подключение CDN без кода: как мы упростили интеграцию с помощью DNS-хостинга

Блог компании G-Core Labs IT-инфраструктура *Сетевые технологии *Облачные сервисы Распределённые системы *

Как бы хороша ни была ваша CDN, часть пользователей будет мучаться с её настройкой. Нам, как одному из топ-3 европейских CDN-провайдеров, очень хотелось сократить число таких пользователей до минимума. Для этого пришлось повозиться с интерфейсом личного кабинета, разработать плагины для CMS и, что самое главное, интегрировать CDN с DNS-хостингом. Теперь пользователи в no-code режиме подключают сеть доставки контента к своим сайтам за несколько минут. Рассказываем, как мы это сделали.

Поехали!
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 998
Комментарии 1

Сравнение подходов к реализации распределенных транзакций для микросервисов

Проектирование и рефакторинг *Распределённые системы *Микросервисы *
Из песочницы
Перевод

Как архитектор-консультант в Red Hat, я имел возможность поработать над множеством проектов для наших клиентов. У каждого из них есть свои особенности, которые, однако, имеют некоторые общие черты. Большинство клиентов хотят знать, как скоординировать запись в несколько систем одновременно. Ответ на этот вопрос обычно включает подробное объяснение двойной записи, распределенных транзакций, современных альтернатив, а также возможных сценариев сбоев и недостатков каждого подхода. Как правило, именно в этот момент заказчик понимает, что разделение монолитного приложения на микросервисы - долгий и сложный путь, обычно требующий компромиссов.

Читать далее
Всего голосов 36: ↑36 и ↓0 +36
Просмотры 14K
Комментарии 9

Non-fungible token (NFT): основы

Распределённые системы *Криптовалюты
Из песочницы

Non-fungible token (NFT) или невзаимозаменяемый токен – это криптографический токен, являющейся производной от смарт контрактов в Ethereum. Его основная уникальность от других крипто токенов вроде биткойна в том, что один NFT нельзя заменить другим. Каждый NFT это полностью уникальный токен, который присоединяется к конкретному цифровому файлу, что в таком случае делает файл уникальным. Даже если попытаться копировать этот файл NFT не скопируется и останется у первоначального файла, таким образом делая его оригиналом. NFT нельзя разделить или заменить, его можно сравнить с полностью уникальным предметом в реальном физическом мире.

Впервые NFT появился в 2017 году в сеть Ethereum в качестве игры «Криптокотики» (Crypto Kitties), в ней можно растить и разводить криптовалюту в виде котов. Отдельный криптокотик — олицетворение механики NFT. Его нельзя разделить, он обладает уникальным номером, геномом из 256-битной ДНК и 12 атрибутами, которые можно передать потомкам — цвет глаз, форму рта и прочее. В NFT вшита информация о создателе криптокотика, а также о его виртуальных отпрысках. В 2018 году самый дорогой криптокотик был продан за $140 тыс.

Но настоящий бум NFT произошел в начале 2021 года. С декабря 2020 по февраль 2021 общий объем продаж с NFT поднялся с 12 до 340 миллионов долларов США.  Это связанно с тем, что деятели искусства и пользователи сети стали увидели новые возможности продажи своих работ благодаря NFT. NFT решил основную проблему людей занимающимся цифровым искусством. Это проблема подтверждения подлинности объекта искусства.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 6.9K
Комментарии 25

Распределенная общая память (DSM — Distributed Shared Memory)

Высокая производительность *Децентрализованные сети Параллельное программирование *Исследования и прогнозы в IT Распределённые системы *

В настоящее время большинство высокопроизводительных вычислений мигрируют в сторону кластерных систем, а для них невозможно получить по настоящему высокую производительность без быстрого доступа к распределенным данным. Данная статья посвящена описанию устройства распределенной общей памяти (DSA) с малой латентностью.

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 2.8K
Комментарии 39

Об одной любопытной возможности IPFS

Децентрализованные сети Семантика *Исследования и прогнозы в IT Распределённые системы *Будущее здесь

В предыдущей заметкe нами была рассмотрена возможность идентификации сущностей (предметов) посредством устойчивых (immutable) понятий и CID. Выглядит это, вроде бы, не плохо, однако пока не совсем ясно, как сие можно использовать.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.2K
Комментарии 1

Does the latency matter?

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *IT-инфраструктура *Сетевые технологии *Распределённые системы *

Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.

В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?

Я работаю как системный инженер уже более 8 лет. Хочу поделиться опытом, который получил в процессе решения задач в компании Big Data Technologies. У нас есть какой-никакой highload. В пике это 30 тысяч rps, и вопрос с latency довольно остро стоит перед бизнесом.

Читать далее
Всего голосов 46: ↑45 и ↓1 +44
Просмотры 5.9K
Комментарии 3

Файловые дескрипторы в Greenplum

Блог компании Arenadata PostgreSQL *Администрирование баз данных *Распределённые системы *

Привет, меня зовут Денис, в Arenadata я занимаюсь Greenplum — распределённой СУБД с открытым исходным кодом, разработанной на основе PostgreSQL и заточенной под аналитический профиль нагрузки. Моя работа (помимо разработки) заключается в разборе инцидентов, когда в кластерах клиентов происходит что-то непонятное для нашей технической поддержки. Такие истории обычно заканчиваются детальным внутренним разбором произошедшего, рекомендациями для клиентов и внесением правок в код Greenplum (как в наш fork, так и в upstream). Я расскажу вам про один из инцидентов, которым я занимался в последнее время. Хотя этот случай не привел к технически сложным доработкам, он является показательным примером того, как мы исследуем проблемы с Greenplum. Заодно я расскажу о подробностях внутреннего устройства Greenplum и PostgreSQL, которые не описаны в документации.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2K
Комментарии 3

Техники обработки отказов сервиса в микросервисных архитектурах, или Альтернативы Circuit Breaker

Блог компании Аркадия Программирование *.NET *Microsoft Azure Распределённые системы *

Эта статья может быть полезна для тех, кто, как и мы, пострадал от нестабильной работы внешних API. Я расскажу, какие бывают стратегии обработки отказов и какой путь борьбы с глючным почтовым сервисом избрали мы.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 4.7K
Комментарии 8

Контроллер АСУНО с ВЕБ интерфейсом настроек

Программирование *Программирование микроконтроллеров *Схемотехника *Распределённые системы *Производство и разработка электроники *
Из песочницы

Это моя первая статья на Хабр. Статья посвящена разработке и некоторым особенностям контроллера, поэтому вопросы, относящиеся к организации работы сервера не рассматриваются в данной статье. Но для того, чтобы лучше понять работу контроллера АСУНО некоторые моменты все же будут даны. В статье будет рассмотрено назначение контроллера, дана функциональная схема, фото самого контроллера и подключение внешнего оборудования. В статье приводятся принтскрины веб интерфейса. ВЕБ интерфейсом легко пользоваться, он интуитивно понятен для обслуживающего персонала. Хотя им пользуются только при настройке контроллера во время пусконаладочных работ это сильно экономит время настройки и подготовки контроллера к работе. Наличие в контроллере ТСР клиента и ТСР сервера расширяет возможности диагностики оборудования. Контроллер выполнен на процессоре PIC32MX795F512L фирмы Micrpchip. ПО разработано без использования ОС, написано на С. Возможно данная статья будет иметь продолжение, если заинтересует читателей. Приятного чтения. Область применения

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.7K
Комментарии 2

DeDLOC: обучаем большие нейросети всем миром

Блог компании Яндекс Open source *Машинное обучение *Распределённые системы *Искусственный интеллект


Как показывает опыт последних лет, самые интересные результаты в deep learning получаются при использовании больших нейросетей, обученных на массивах неразмеченных данных. Правда, для создания этих моделей нужен суперкомпьютер с десятками или сотнями мощных видеокарт, а также быстрым соединением между серверами. Но что делать, если таких ресурсов нет, а в открытом доступе хорошей модели под вашу задачу не нашлось?

Сегодня я расскажу про технологию, которая позволяет учить нейросети, объединяя через интернет вычислительные мощности энтузиастов из любой точки мира. В её основе лежит совместная научная работа Yandex Research, Hugging Face, студентов ШАД, ВШЭ и МФТИ, а также профессора Университета Торонто. Технология уже получила боевое крещение в ходе реального эксперимента, подробно описанного ниже. В конце статьи вы узнаете, как поставить такой эксперимент самостоятельно — модель и код доступны всем желающим.

Претрейн для всех, и пусть никто не уйдёт обиженным


За последние несколько лет во многих областях deep learning (например, в обработке естественного языка) стала популярной идея self-supervised learning. Оказалось, что для получения полезных в целевой задаче представлений не нужна большая размеченная выборка. Достаточно обучить модель на какой-то простой сигнал, построенный из неразмеченных данных, которых чаще всего в достатке. В частности, известные многим архитектуры BERT, GPT и языковая модель YaLM обучаются именно так.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Просмотры 8K
Комментарии 4

Apache Flink и потоковая обработка данных для решения задач IoT

Блог компании Миландр Big Data *Распределённые системы *Интернет вещей

К 2021 году прогнозируется, что около 16 млрд из приблизительно 28 млрд подключенных устройств по всему миру, будут так или иначе связаны в рамках концепции интернета вещей. Интернет уходит в вещность, и надо как-то справляться с растущим потоком данных.

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.5K
Комментарии 2

Как мы создаём почтовую систему нового поколения Mailion. Архитектура кластера DOS

Блог компании МойОфис Хранение данных *Хранилища данных *Распределённые системы *

МойОфис продолжает серию статей о корпоративной почтовой системе Mailion (1, 2), разрабатываемой при грантовой поддержке РФРИТ, и входящем в его состав объектном хранилище DOS. Мы уже рассказали об основных оптимизациях DOS, которые позволяют увеличить экономическую эффективность хранения данных, а также коснулись общих принципов построения масштабируемых хранилищ. Сегодня мы поговорим о том, как эти принципы применялись на практике в ходе работ над кластером DOS.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 3.7K
Комментарии 3

SSE, нотификации, Node.js и при чём тут C#?

Анализ и проектирование систем *Серверная оптимизация *Node.JS *C# *Распределённые системы *
Из песочницы

Вписавшись в очередной провальный заранее стартап, мне прилетела задача: нужны уведомления на сайте. Ладно - сказал я себе. Открываю любимую IDE и начинаю писать очередной микросервис.

До этого я никогда не занимался уведомлениями, но был осведомлен, что есть для этого несколько путей: WebSocket, SSE и Long Polling.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 6.3K
Комментарии 13

Учебник по Solidity: Все о модификаторах

Децентрализованные сети Программирование *Solidity *Распределённые системы *Криптовалюты
Перевод

В документации Solidity модификаторы определяются следующим образом:

Модификаторы можно использовать для изменения поведения функций декларативным способом.

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

Например, автоматическая проверка условий перед выполнением функции (для этого модификаторы в основном и используются).

Модификаторы уменьшают избыточность кода. Вы можете повторно использовать один и тот же модификатор в нескольких функциях, если вы проверяете одно и то же условие в смарт-контракте.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2K
Комментарии 0

Снится ли GGG Тиму Бернерсу-Ли?

Децентрализованные сети Семантика *Исследования и прогнозы в IT Распределённые системы *Будущее здесь

В 2007 году знаменитый автор слова из трёх букв 'W' опубликовал в своем блоге рассуждения о востребованности слова нового, на сей раз - из трёх букв 'G'. "Гигантский Глобальный Граф" - так предполагалось это произносить в полном, необрезанном виде. О чём шла речь? О том, что слово "граф" больше подходит для обозначения технологии представления взамосвязанных данных, нежели "паутина", пусть даже и "семантическая". Термин не прижился. Отчасти, возможно, из-за некоторой тавтологичности, отчасти же - из-за того, что привычная "паутина" оказалась милее сердцу обывателя, чем какой-то "граф".

Ну, да ладно, "ГГГ" не всплыло взлетело - не беда, ведь в конце концов - это лишь один из возможных псевдонимов планетарной семантической сети. Но что представлялось сиру Тиму в качестве цели для достижения (с помощью новых-то технологий связывания данных)?.. "Важны не документы, а то, что в них содержится. Очевидная истина." - писал он, - "...когда я бронирую билет на авиарейс, меня интересует именно этот рейс. Не страница рейса на сайте путешествий или страница рейса на сайте авиакомпании, но URI самого авиарейса. Вот что я поставлю в закладки. И каким бы устройством я ни воспользовался для открытия закладки, оно будет иметь доступ к ситуационно зависимому обзору всего, что я знаю об этом рейсе из разных источников. Задача заказа и совершения рейса потребует множества взаимодействий. И на их протяжении, эти задача и рейс будут на первом месте в моём осознании, веб-сайты – на втором, а сети и устройства – на третьем."

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2K
Комментарии 7

Способы снизить потребление газа смарт-контрактами

Информационная безопасность *Solidity *Распределённые системы *Криптовалюты
Из песочницы
Перевод

Комментарий от переводчика: статья по меркам Ethereum и языка Solidity относительно старая, аж 2018 года, но ряд идей и подходов будут полезны начинающим.

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 2.6K
Комментарии 0

Понимаем соединения и пулы

Блог компании Флант Программирование *Администрирование баз данных *Распределённые системы *
Перевод

Прим. перев.: автор этой статьи — технический архитектор Sudhir Jonathan — рассказывает об одном из тех базовых механизмов, с которым сталкивается каждый пользователь, разработчик и системный администратор. Однако до возникновения определённых (и иногда довольно специфичных) проблем многие не задумываются о том, как всё работает «под капотом». Автор устраняет этот пробел, используя популярные фреймворки, серверы БД и приложений в качестве понятных примеров.

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

Читать далее
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 7.6K
Комментарии 0

Еще 5 причин выбрать Apache Pulsar вместо Apache Kafka

Высокая производительность *Open source *IT-инфраструктура *Apache *Распределённые системы *
Перевод
Apache Kafka — крайне популярное в настоящий момент решение для обмена сообщениями. Тем более интересно посмотреть какие альтернативы для нее существуют. Особенно декларируемые, как более интересные по ряду параметров.

Под катом — перевод статьи-сравнения Apache Pulsar и Apache Kafka. Статья в некоторой степени рекламная, т.к. написана заинтересованным лицом, но как минимум, возбуждает интерес копнуть глубже. Поехали.

Переведено @middle_java
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 7K
Комментарии 9

Вклад авторов