пятница, 18 декабря 2015 г.

[prog.sobjectizer] Использование mchain-ов для защиты от прегрузки в задаче producer-consumer

Добавленный в версии 5.5.13 механизм mchain-ов может использоваться не только для организации взаимодействия между SObjectizer-овскими и не-SObjectizer-овскими частями приложения. Но и для защиты агентов от перегрузки. В версии 5.5.14 добавлен новый пример producer_consumer_mchain, который демонстрирует эту возможность. Под катом несколько слов о том, как это работает.

[prog.c++11] SObjectizer обновился до версии 5.5.14

Состоялся релиз версии 5.5.14. Подробнее об изменениях под катом. Но сначала хотелось бы поделиться мыслями о том, что будет дальше. Не уверен, что следующая версия SO-5 выйдет так же быстро, как это происходило в последнее время. Если только не появится какая-то идея, простая в реализации, но дающая серьезную выгоду. Пока же таких идей нет :)

А так в планах на ближайшие три-четыре-пять недель следующее:

  • подготовка презентации об опыте использования SObjectizer-а и извлеченных из этого опыта уроках (вроде кому-то эта тема интересна);
  • эксперименты по интеграции SObjectizer-а в GUI-приложения посредством использования механизма mchain-ов;
  • подготовка еще одной, может быть двух, презентаций для серии Deep Dive into SObjectizer-5.5. По крайней мере нужно рассказать подробнее о диспетчерах. Ну и об mchain-ах, если получится;
  • проработка двух больших фич для следующих версий SO-5: возможность представления агентов в виде иерархических конечных автоматов (с историческими состояниями, с реакциями на вход-выход и т.д.) и возможность использования в диспетчерах преаллоцированных буферов в качестве очередей сообщений (при этом экземпляр сообщения не создается динамически, как сейчас, а конструируется in-place в буфере диспетчера). Имхо, фичи очень важные, особенно для определенных классов задач. Но пока понятные для меня лишь в общих чертах. Так что здесь еще над чем подумать. Если кому-то интересно, то приглашаю присоединиться к обсуждению;

В общем планов много, так что даже не знаю, когда ждать 5.5.15 и 5.6.0. Вряд ли раньше января, а то и февраля.

Ну а теперь чуть подробнее о релизе 5.5.14...

четверг, 17 декабря 2015 г.

[prog.c++] Аптайм в семь месяцев...

Коллеги с прошлой работы вчера рассказали маленькую историю. В ноябре из-за bad_alloc-а завершил работу один из компонентов, написанных на C++ и SObjectizer. Когда стали разбираться что к чему, выяснилось, что этот компонент работал безостановочно с февраля, обслуживая по сотне миллионов запросов ежемесячно. В конце-концов, в 32-х битовом приложении из-за фрагментации памяти не удалось выделить непрерывный блок в 150MiB для in-memory обработки файла с новой управляющей информацией (эта информация обновляется каждый день). Выскочил bad_alloc, приложение завершилось, было автоматически рестартовано и продолжило свою работу.

Сейчас не хочется задаваться вопросами о том, что было с апдейтами для сервера, на котором крутился компонент. И о том, почему обработка больших управляющих файлов осуществлялась in-memory. Просто приятно получить очередное подтверждение тому, какой солидный фундамент был заложен много лет назад. При моем непосредственном участии ;)

вторник, 15 декабря 2015 г.

[business.book] Таки редкая гадость, этот ваш "Бизнес в стиле фанк"

Пару недель назад поставил себе цель дойти до 101-й страницы книги "Бизнес в стиле фанк". С трудом дошел, но где-то на 90-х страницах обнаружил обещания поговорить о неких серьезных вещах более предметно в главе "Fanky Inc." Пришлось собрать оставшиеся силы, дойти до этой главы и прочесть ее. В итоге, прочитано 200 страниц из 280 и данная книга отправляется туда, куда, на мой взгляд, ей и следует -- в мусорку.

Если кому-то интересно, почему я лично столь невысокого мнения об этом общепризнанном бестселлере, то милости прошу под кат.

воскресенье, 13 декабря 2015 г.

[life] Советские гитлеровские фашисты...

Светлана Алексеевич:

Когда я работала над книгой «Цинковые мальчики» о войне в Афганистане, я поехала туда сама и видела там собственными глазами, какие ужасные вещи творили русские солдаты. В одной больнице я видела детей и женщин без ног. Одной женщине я дала игрушку — у нее на груди был ребенок. И в этот момент я заметила, что у него нет ни ручек, ни ножек. Я была шокирована! Она мне сказала: «Это сделали русские! Советские гитлеровские фашисты!»

Советские гитлеровские фашисты... Именно так сказала раненая афганская женщина.

На этом в теме правдивости историй от госпожи Алексеевич можно ставить большую и жирную точку.

PS. О, на днях люди один из потоков сознания современной сказительницы разобрали.