Рубрика «Анализ и проектирование систем» - 67

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

Алексей Лесовский (@lesovsky) на Highload++ 2017 рассказал, как с помощью встроенных и сторонних инструментов, диагностировать различные типы проблем и как устранять их. Под катом расшифровка этого доклада, построенного по спиральному принципу: сначала мы перечислим все возможные средства диагностики, потом перейдем к перечислению типовых проблем и их диагностике, далее посмотрим, какие экстренные меры можно принять, и наконец как радикально справиться с задачей.

О спикере: Алексей Лесовский администратор баз данных в компании Data Egret. Одной из любимых тем Алексея в PostgreSQL является потоковая репликация и работа со статистикой, поэтому доклад на Highload++ 2017 был посвящен тому, как помощью статистики искать проблемы, и какие использовать методы для их устранения.

План

  1. Немного теории, или как работает репликация в PostgreSQL
  2. Troubleshooting tools или что есть у PostgreSQL и сообщества
  3. Troubleshooting cases:
    • проблемы: их симптомы и диагностика
    • решения
    • меры, которые нужно принимать, чтобы этих проблем не возникало.

Зачем всё это? Эта статья поможет вам лучше разбираться в потоковой репликации, научиться быстро находить и устранять проблемы, чтобы сократить время реакции на неприятные инциденты.
Читать полностью »

Прямой репортаж с рождения крупного игрока в аппаратном AI, который ускоряет TensorFlow и конкурирует с NVidia - 1

Завтра будут официальные пресс-релизы о слиянии старожила Silicon Valley, компании MIPS, с молодой AI компанией Wave Technology. Информация об этом событии просочилась в СМИ вчера, и вскоре CNet, Forbes, EE Times и куча хайтек-сайтов вышла со статьями об этом событии. Поэтому сегодня Derek Meyer, президент объединенной компании (на фото снизу справа), сказал «ладно, распостраняйте инфо среди друзей» и я решил написать пару слов о технологиях и людях, связанных с этим событием.

Главный инвестор в MIPS и Wave — миллиардер Dado Banatao (на фото снизу в центре слева), который еще в 1980-х основал компанию Chips & Technoilogies, которая делала чипсеты для ранних персоналок. В Wave+MIPS есть и другие знаменитости, например Стивен Джонсон (на фото справа вверху), автор самого популярного C-компилятора начала 1980-х годов. MIPS хорошо известен и в России. В руках дизайнерши Смрити (на фото слева) плата из Зеленограда, где находятся лицензиаты MIPS Элвис-НеоТек и Байкал Электроникс.

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

Объединенная компания создаст чип, который состоит из смеси таких вычислительных блоков и многопоточных ядер MIPS. Сейчас Wave продает свою технологию в виде ящика для дата-центров, для вычислений нейронных сетей в облаке. Следующие чипы будут использоваться во встроенных устройствах.
Читать полностью »

6

— Нет, друзья мои, так дело не пойдет! Вы кормите меня сказками уже год! Год! А ситуация только усугубляется! 27 % отклонений, почти треть склада не соответствует учету!

Курчатов был в бешенстве, что случалось редко — он был на удивление оптимистичным, образованным и, как казалось Сергею, интеллигентным для собственника бизнеса. Виденные им ранее владельцы значительно меньших компаний были не в пример прозаичнее.

— Вы понимаете, что значат для меня эти отклонения? Это деньги, миллионы, о которых я ничего не знаю! Вот ты, Анатолий Павлович, знаешь, сколько у тебя в кошельке денег?

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

— А я, представь себе, не знаю! Когда спрашиваю — мне говорят одну цифру, когда проводим ревизию и пересчитываем — получаем другую. Понимаете, что происходит? Заходит кто-то в мой кошелек, берет, что хочет, и тащит неизвестно куда! А я только удивляюсь при каждой ревизии — как такое возможно, и сколько это будет продолжаться. — выпалил Курчатов.Читать полностью »

Зимой и летом одним цветом? Поиск сезонности в данных - 1

Однажды мы решили посмотреть, какие сезонные интересы есть у пользователей 2ГИС в разных городах. Всплески интереса к цветам, новогодним подаркам и шинам — вполне ожидаемы. Мы решили ими не ограничиваться и пойти дальше, проверив все сферы деятельности во всех 113 городах присутствия.

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

Читать полностью »

В предыдущей части Часть 1. Электронная услуга мы разобрали, что из себя в целом представляет электронная услуга. Теперь поговорим о местах ее оказания.

III Организация комплексных электронных услуг

Где-то на самом низком уровне высокоцентрализованной организации, которой я руковожу, сидят люди, которые делают мою работу, и дело идет вполне гладко без особых усилий с моей стороны. Я полагаю, это происходит оттого, что я — хороший работник.
Джозеф Холлер

Итак, мы установили, что:

  1. Электронная услуга – это сервис, имеющий компьютерную или электронную форму предоставления, предназначенный для удовлетворения потребностей пользователя;
  2. Для качественного предоставления электронной услуги, сервис должен получить полную и достоверную информацию от ее потребителя. Для этого он должен предоставить формат, определяющий форму и состав данных, ожидаемых от пользователя;
  3. Электронные услуги могут взаимодействовать друг с другом без явного посредничества человека.

1. Организация взаимодействия электронных услуг

В жизни часто бывает так, что получение всего лишь одной простой услуги, не достаточно.
Читать полностью »

Конкурентная сосиска

Аннотация

Обработка данных в реальном времени ровно один раз (exactly-once) — задача крайне нетривиальная и требующая серьезного и вдумчивого подхода на всей цепочке вычислений. Некоторые даже считают, что такая задача невыполнима. В реальности хочется иметь подход, обеспечивающий отказоустойчивую обработку вообще без каких-либо задержек и использование различных хранилищ данных, что выдвигает новые еще более жесткие требования, предъявляемые к системе: concurrent exactly-once и гетерогенность персистентного слоя. На сегодняшний день такое требование не поддерживает ни одна из существующих систем.

Предложенный подход последовательно раскроет секретные ингредиенты и необходимые понятия, позволяющие относительно просто реализовать гетерогенную обработку concurrent exactly-once буквально из двух компонент.

Введение

Разработчик распределенных систем проходит несколько стадий:

Стадия 1: Алгоритмы. Здесь происходит изучение основных алгоритмов, структур данных, подходов к программированию типа ООП и т.д. Код исключительно однопоточный. Начальная фаза вхождения в профессию. Тем не менее, достаточно непростая и может длиться годами.

Стадия 2: Многопоточность. Далее возникают вопросы извлечения максимальной эффективности из железа, возникает многопоточность, асинхронность, гонки, дебагинг, strace, бессонные ночи… Многие застревают на этом этапе и даже начинают с какого-то момента ловить ничем не объяснимый кайф. Но лишь единицы доходят до понимания архитектуры виртуальной памяти и моделей памяти, lock-free/wait-free алгоритмах, различных асинхронных моделях. И почти никто и никогда — верификации многопоточного кода.

Стадия 3: Распределенность. Тут такой треш творится, что ни в сказке сказать, ни пером описать.

Читать полностью »

I. Вступление

Уверен, если бы Смерть знала, что такое бюрократия,
люди бы никогда не умирали, вечно стоя в очереди…
Симбионт.

Недавно окунули меня в одну интересную тему, связанную с виртуализацией деятельности организаций, в хорошем смысле этого слова. Не предприятий, а именно организаций, как некоего объединения граждан, не важно коммерческого или общественного. Поскольку человек, втянувший меня в тему, тесно связан с услугами интернет провайдинга, то его лоббистский взгляд на виртуальное учреждение выражается в раздаче (небескорыстно конечно) всем субъектам, задействованным в нем, уникальных адресов. Как бы застолбить в виртуальном пространстве рабочие кабинеты. Что там будет в них происходить дальше, дело второе. Ну его интерес понятен. А в чем же в этой схеме интерес владельцев и клиентов этих кабинетов?

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

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

II. Анализ явления электронной услуги

Работать с людьми легко. Трудно работать с живыми людьми.
Александр Кулич.

Что же такое электронная услуга, в хорошем смысле этого слова?
Читать полностью »

1

— Слушай, Сергей, ты меня достал уже. Просто назови срок, когда сделаешь отчет.

— Я не хочу делать отчет в таком виде, это неправильно. Не отчет, а глупость какая-то. Галя, ты сама разве не видишь?

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

— Даже если задача — полный бред? Даже если отчет никому не нужен, и никто не будет на него смотреть?

— А это тебя вообще не касается! Много ты понимаешь в бухгалтерском учете? Отчет нужен главному бухгалтеру! Валерия — профессионал своего дела, и точно знает, чего хочет от автоматизации.

— Может, хотя бы обсудим? Я не первый день работаю, повидал разных бухгалтеров, и представляю себе, чем они реально пользуются в работе, а что складывают в пыльный ящик.Читать полностью »

Нечеткая логика для управления

Текст подготовлен на основе материалов книги Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования». Как все серьезные публикации по теме, данная книга перегружена математическими выкладками и тяжела для неподготовленного читателя. Между тем, сами по себе принципы создания и использования нечеткой логики достаточно просты и наглядны. Данный текст – попытка перевести пример из книги с математического языка на инженерный.
Показана возможную последовательность проектирования регулятора на базе нечеткой логики, путем последовательного усложнения логических правил и подбором параметров методами оптимизации.

Постановка задачи

Рассмотрим синтез цифрового ПИД-регулятора и нечеткого регулятора для системы управления ракетой по углу атаки. Методом математического моделирования определим процессы в системе и дадим сравнительную оценку качества системы при использовании синтезированных регуляторов.
Читать полностью »

Общая картина модульного тестирования - 1

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

Тема модульного тестирования не так проста, как может показаться. Многие из нас, разработчиков, приходят в модульное тестирование под давлением клиентов, сотрудников, коллег, своих кумиров и так далее. Мы быстро понимаем его ценность, и, закончив технические приготовления, забываем об общей картине, если вообще когда-либо её понимали. В этой статье я вкратце расскажу о том, чем является и чем не является модульное тестирование как в целом, так и в PHP, а заодно опишу, какое место занимает модульное тестирование в сфере QA.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js