20 декабря 2018
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Когда в коллективе возникают разногласия по важным вопросам, часто звучит предложение прийти к консенсусу.
При этом далеко не все руководители и члены команды понимают, каким образом это можно осуществить на практике. Рассмотрим подробно, что такое консенсус, чем он полезен и как его грамотно применять при разрешении конфликта.
Что такое КОНСЕНСУС – значение, определение простыми словами.
Простыми словами, Консенсус – это договоренность, достижение соглашения между людьми, чьи взгляды и мнение кардинально отличаются.
Данный термин может иметь два значения, которые касаются решения конфликтов:
- первый – процесс достижения соглашения;
- второй – конечный результат, то есть, момент, когда участники спора договорились.
Россия в глобальной политике
Авторы являются редакторами книги «Новые идеи развития после финансового кризиса» (Johns Hopkins University Press, 2011), на основе которой написано это эссе. Опубликовано в журнале Foreign Affairs, № 2 за 2011 год. © Council on Foreign Relations, Inc.
Начавшийся в США глобальный кризис на этот раз не только потряс мировую экономику, но и отрицательно сказался на мировой политике. В свое время Великая депрессия 1929–1933 гг. положила начало переходу от жесткого монетаризма и политики невмешательства государства к кейнсианскому регулированию спроса. Более того, в глазах многих людей капиталистическая система лишилась легитимности, были заложены основы для роста радикальных и антилиберальных движений по всему миру.
В наши дни столь явного отторжения капитализма не наблюдается даже в развивающемся мире. В начале 2009 г., в самый разгар глобальной финансовой паники, Китай и Россия, две бывшие некапиталистические державы, ясно дали понять отечественным и зарубежным инвесторам, что не намерены отказываться от капиталистической модели. Ни один из лидеров крупных развивающихся стран не отступил от приверженности принципам свободной торговли и глобальной капиталистической системы. Напротив, именно развитые западные демократии подчеркивали, как опасно чрезмерно полагаться на рыночную глобализацию, и призывали к большему регулированию мировой финансовой системы.
Почему нынешний кризис вызвал гораздо менее экстремальную реакцию в развивающихся странах по сравнению с временами Великой депрессии? Во-первых, в развивающемся мире обвиняют в кризисе Соединенные Штаты. Многие в этих странах готовы согласиться с президентом Бразилии Луисом Инасиу Лула да Силвой, что «этот кризис вызвали белые люди с голубыми глазами». Если мировой финансовой кризис и стал проверкой на прочность какой-либо модели развития, то именно рыночной, неолиберальной модели, которая отводит государству скромную роль в экономике, но делает акцент на дерегулировании, частной собственности и низких налогах. Немногие развивающиеся страны могут считаться полностью принявшими эту концепцию.
На самом деле до кризиса в течение многих лет они дистанцировались от данного подхода. Финансовый кризис конца 1990-х гг. в Восточной Азии и Латинской Америке дискредитировал целый ряд идей, ассоциирующихся с так называемым «вашингтонским консенсусом», в особенности те из них, которые касаются прямой зависимости от иностранного капитала. К 2008 г. многие страны с развивающейся экономикой прикрыли двери перед иностранными финансовыми рынками, накопив значительные валютные резервы и создав систему регулирования своего банковского сектора. Подобная политика обеспечила защиту от глобальной экономической волатильности. Это подтвердил впечатляющий подъем соответствующих стран после недавнего кризиса: развивающиеся экономики демонстрировали лучшие показатели роста, чем страны развитого капитализма.
Таким образом, американская версия капитализма если и не потеряла репутацию, то по крайней мере больше не является доминирующей. В ближайшие 10 лет страны с развивающимся рынком и низким доходом, скорее всего, продолжат вносить изменения в свой подход к экономической политике. Они будут жертвовать гибкостью и продуктивностью, ассоциирующимися с моделью свободного рынка, ради внутренней политики противостояния конкурентному давлению и глобальным экономическим потрясениям. Их станет заботить не столько свободный поток капитала, сколько минимизация социальной нестабильности посредством программ социальной защиты и более активная поддержка национальной промышленности. И еще меньше, чем раньше, они будут склонны полагаться на опыт развитых стран, считая – вполне справедливо, – что не только экономическая, но и интеллектуальная мощь начинает распределяться более равномерно.
Фетиш иностранных финансов
Одна из главных особенностей старого, докризисного экономического консенсуса воплощалась в тезисе о том, что развитые страны могут рассчитывать на значительную выгоду от увеличения притока иностранного капитала. Экономист Арвинд Субраманиан назвал это «фетишем иностранных финансов». Идея о том, что беспрепятственное движение капитала по всему миру, как и свободное обращение товаров и услуг, делает рынки более эффективными, в целом воспринималась в политических кругах как должное. В 1990-х гг. США и такие международные финансовые институты, как Международный валютный фонд, подталкивали заемщиков из развивающихся стран открывать свои рынки капиталов для иностранных банков и отказываться контролировать курс валют.
В то время как выгоды от свободной торговли подтверждались документально, преимущества полномасштабной мобильности капитала не столь очевидны. Причины кроются в фундаментальных различиях между финансовым сектором и «реальной» экономикой. Свободные рынки капитала действительно добиваются эффективного распределения капитала. Но крупные взаимосвязанные финансовые институты в отличие от крупных производственных фирм сталкиваются с рисками, которые способны оказывать огромное негативное воздействие на остальную экономику.
Одним из парадоксальных следствий финансового кризиса 2008–2009 гг., возможно, станет то, что американцы и британцы наконец осознают простую истину, известную в Восточной Азии уже более 10 лет. А именно, что открытый рынок капитала в сочетании с нерегулируемым финансовым сектором – это бомба замедленного действия. По завершении финансового кризиса в Азии многие американские политики и экономисты стали вновь акцентировать внимание на быстротечной либерализации и продвигать идею «последовательности», т.е. либерализации только после того, как будет создана мощная система регулирования с адекватным надзором за банками. Но они не задумывались о том, способны ли некоторые развивающиеся страны быстро ввести в действие такую систему или как будет выглядеть оптимальный режим регулирования. Они упустили из виду взаимосвязь между их новой идеей и их собственным случаем, а также забыли предупредить об огромном нерегулируемом теневом финансовом секторе, грозящем избыточной задолженностью, который возник в Соединенных Штатах.
Первым очевидным следствием кризиса, таким образом, стало падение фетиша иностранных финансов. Такие страны, как Исландия, Ирландия и государства Восточной Европы, с большим энтузиазмом принявшие на себя бремя данного фетишизма, пострадали особенно сильно, и их ожидает очень трудный период восстановления. Как и для Уолл-стрит, уверенный рост, который демонстрировали эти страны с 2002 по 2007 г., отчасти оказался иллюзорным. Он свидетельствовал о доступности кредитов и высокой доле заемных средств, а не о наличии прочного фундамента.
Забота о социальной защите
Второе следствие финансового кризиса 2008–2009 гг. – новая привязанность развивающихся стран к преимуществам разумной социальной политики. До кризиса те, от кого зависит принятие политических решений, были склонны приуменьшать значение социального обеспечения и программ социальной защиты, отдавая предпочтение стратегиям, нацеленным на экономическую эффективность.
Американский президент Рональд Рейган и британский премьер-министр Маргарет Тэтчер пришли к власти в конце 1970-х и начале 1980-х гг. на волне критики современного социального государства. Многие их критические замечания вполне обоснованы: государственный бюрократический аппарат во многих странах был раздутым и неэффективным, а в менталитете населения закрепился расчет на получение положенной социальной помощи. Вашингтонский консенсус не обязательно отвергал применение социальной политики, но его сосредоточенность на эффективности и бюджетной дисциплине часто вела к сокращению социальных расходов.
Однако кризис выявил нестабильность, свойственную капиталистическим системам – даже таким развитым и передовым, как в США. Капитализм – динамичный процесс, невинными жертвами которого регулярно становятся люди, теряющие работу или лишающиеся источника дохода. В период кризиса и после него граждане ожидали, что их правительства обеспечат им определенный уровень стабильности на фоне общей экономической неопределенности. Политические деятели в развивающихся странах вряд ли забудут этот урок; консолидация и легитимность их хрупких демократических систем будет зависеть от способности обеспечить более высокий уровень социальной защиты.
Рассмотрим реакцию континентальной Европы в сравнении с Соединенными Штатами. До сих пор с учетом кризиса в еврозоне Западная Европа переживала менее болезненное восстановление благодаря более развитой системе действующих автоматически антициклических социальных расходов, включая страхование на случай безработицы. Восстановление экономики без создания новых рабочих мест в США, напротив, делает американскую модель еще менее привлекательной для тех, кто принимает стратегические решения в развивающемся мире. Особенно для тех, кто подвержен политическому давлению и вынужден уделять внимание нуждам среднего класса.
Яркий пример нового акцентирования социальной политики можно обнаружить в Китае. Реагируя на быстрое старение населения, китайское руководство борется за создание современной пенсионной системы, что знаменует собой переход от традиционной тактики, сосредоточенной только на создании новых рабочих мест, к поддержанию социальной и политической стабильности. В Латинской Америке те же проблемы решаются иначе. С началом нового столетия регион полевел, устав от либеральных реформ 1990-х гг., и новые правительства увеличили социальные расходы, чтобы сократить бедность и неравенство. Многие страны, последовав успешному примеру Бразилии и Мексики, ввели схемы перевода денежных средств, предназначенных для бедных семей (при этом получатели помощи должны отправлять детей в школу или выполнять другие условия). В Бразилии и Мексике этот подход впервые за многие годы способствовал заметному сокращению неравенства доходов и помог защитить беднейшие семьи от недавнего кризиса.
Разумеется, вопрос в том, смогут ли подобные программы, адресованные бедным (и потому не требующие значительных бюджетных затрат), с легкостью привлечь долгосрочную поддержку растущего в регионе среднего класса. А также как эти и другие развивающиеся экономики, в том числе Китай, справятся с финансовыми затратами на более универсальные программы социального обеспечения, включая здравоохранение и пенсии. Преуспеют ли они в решении проблем, связанных с недофинансированием универсальных социальных программ, – проблем, которые сейчас стоят перед Европой и Соединенными Штатами из-за старения населения.
Видимая рука
Третьим следствием кризиса стало начало нового раунда дискуссий об индустриальной политике – стратегии страны по развитию определенных секторов промышленности, традиционно получающих такие виды поддержки, как дешевые кредиты, прямые субсидии или государственное управление банками развития. Подобная политика была признана опасной и несостоятельной в 1980-е и 1990-е гг. из-за поддержки неэффективных отраслей промышленности путем огромных бюджетных затрат. Но кризис и адекватная реакция на него некоторых стран могут укрепить уверенность о том, что компетентные технократы в развивающихся странах способны эффективно управлять участием государства в производственном секторе. Бразилия, например, использовала финансируемый правительством банк развития, чтобы быстро направить кредиты в определенные сектора в рамках первоначальной антикризисной программы, а Китай сделал то же самое с помощью государственных банков.
Однако эта новая индустриальная политика не связана с выявлением победителей или осуществлением крупных секторных сдвигов в производстве. Ее задача – координация решения проблем и устранения барьеров, которые мешают притоку частных инвестиций в новые отрасли и технологии, трудностей, с которыми рыночные силы не могут справиться в одиночку. Например, для развития инновационного производства по пошиву одежды в Западной Африке правительства могли бы обеспечить постоянные поставки текстиля или субсидировать строительство портов, чтобы избежать затруднений с экспортом. Тем самым, взяв на себя часть первоначальных финансовых и других рисков и более системно развивая государственную инфраструктуру, правительства помогут частным инвесторам справиться с высокими затратами при налаживании производства и внедрении инноваций во вновь возникающих секторах.
На протяжении последних 30 лет базирующиеся в Вашингтоне институты развития придерживались точки зрения, согласно которой некомпетентность правительства и коррупция представляют для роста гораздо большую угрозу, чем крах рынка. Изменится ли эта точка зрения сейчас, когда капитализм американского стиля рухнул со своего пьедестала? Возобладает ли идея о том, что государство способно принять на себя более активную роль? Для каждой в отдельности развивающейся страны ответ зависит от оценки возможностей государства и общего уровня управления. Самая строгая критика промышленной политики всегда касалась политических, а не экономических аспектов, поскольку подчеркивалось, что принятие экономических решений в развивающихся странах не может быть защищено от политического давления. Критики заявляли, что политики будут придерживаться протекционистских мер даже после того, как они выполнят свою первоначальную задачу по обеспечению резкого рывка национальной промышленности. Такие виды индустриальной политики, как сокращение зависимости от импорта и продвижение новых отраслей, хотя и критиковались позже в Вашингтоне, действительно способствовали достижению впечатляющего уровня экономического роста в 1950-е и 1960-е гг. в Восточной Азии и Латинской Америке. Проблема, однако, заключалась в том, что правительства в странах Латинской Америки были политически неспособны расширить этот протекционизм, поэтому их промышленность не смогла стать конкурентоспособной на мировом уровне.
Поэтому технократы в развивающемся мире должны учитывать политические аспекты своего намерения проводить промышленную политику. Существует ли достаточно компетентная и независимая от политического давления бюрократия? Хватит ли средств, чтобы поддерживать такой курс? Хватит ли сил для принятия жестких решений, например, чтобы отказаться от утративших свою эффективность политических решений? Большинство успешных примеров промышленной политики приходится на Восточную Азию, где традиционно существует мощная технократическая бюрократия. Странам, у которых отсутствует такое наследие, следует быть более осторожными.
Заставить бюрократию работать
Правительствам, вознамерившимся продвигать индустриальное развитие и обеспечивать социальную защиту населения, придется реформировать госсектор. Дело в том, что четвертым следствием финансового кризиса 2008–2009 гг. стало болезненное напоминание о том, что произойдет, если этого не сделать. В США регулирующие органы не получали достаточного финансирования, не могли привлечь высококвалифицированных сотрудников и сталкивались с политическим противодействием. И это неудивительно: доктрина Рейгана и Тэтчер подразумевала, что рынки являются приемлемой заменой эффективного правительства. Кризис продемонстрировал, что нерегулируемые или плохо регулируемые рынки могут обойтись очень дорого.
Правительства как развивающегося, так и развитого мира с восхищением наблюдали за удивительной способностью Китая оправиться от кризиса, в основе которой лежит жестко управляемый, выстроенный сверху вниз механизм принятия решений. Он позволяет избежать задержек, характерных для сложного демократического процесса. Следствием явилось то, что политические лидеры развивающегося мира сейчас связывают эффективность и возможности с автократическими политическими системами. При этом существует множество некомпетентных автократических режимов, на фоне которых Китай выделяется тем, что представляет собой бюрократию, которая, по крайней мере на высшем уровне, способна осуществлять управление и координацию продуманной политикой. Среди стран с низким уровнем доходов это делает КНР исключением.
Создание и поддержание эффективного госсектора – одна из самых сложных проблем мирового развития. Такие институты, как Всемирный банк и британский Департамент международного развития, осуществляли программы по укреплению госсектора, продвижению ответственного госуправления и борьбе с коррупцией на протяжении последних 15 лет, но не добились особых успехов. Тот факт, что даже финансовые регуляторы в Соединенных Штатах и Великобритании не смогли использовать свои полномочия, чтобы идти в ногу с быстро меняющимися рынками, лишний раз доказал: эффективный госсектор остается актуальным вызовом даже для наиболее развитых стран.
Почему в укреплении госсектора в развивающихся странах удалось добиться лишь незначительного прогресса? Первая проблема – бюрократия часто служит правительствам, которые, в отличие от идеального, обезличенного государственного аппарата представляют собой коалиции взяточников, действующих в личных интересах. Зарубежные доноры обычно не обладают необходимыми рычагами, чтобы заставить их измениться. В некоторых случаях исключением служат такие механизмы, как процесс вступления в Евросоюз. Вторая проблема состоит в том, что эффективные институты должны развиваться естественным путем, отражая политические, социальные и культурные реалии страны. Развитие обезличенной бюрократии на Западе было продуктом длительного и болезненного процесса, при этом внешние факторы (такие как необходимость военной мобилизации) сыграли значительную роль в создании сильных государственных институтов (например, знаменитой прусской бюрократии). Такие институты, как верховенство закона, редко становятся работоспособны, если просто копируют зарубежный опыт, общество должно вникнуть в их суть. Наконец, реформа госаппарата должна происходить параллельно с процессом построения нации. Если у общества нет четкого осознания национальной идентичности и общих государственных интересов, каждый отдельный человек будет демонстрировать большую принадлежность своей этнической группе, племени или приверженность своим покровителям.
Движение к многополярности
Спустя много лет историки вполне смогут назвать нынешний финансовый кризис окончанием американского экономического доминирования в мировой политике. Но тенденция движения к многополярному миру возникла гораздо раньше, а крах западных финансовых рынков и их неторопливое восстановление лишь ускорили процесс. Даже до кризиса международные институты, созданные после Второй мировой войны для разрешения проблем в сфере экономики и безопасности, находились на пределе своих возможностей и нуждались в реформировании. МВФ и Всемирный банк страдали от недостатков структуры управления, которая отражала устаревшие экономические реалии. Начиная с 1990-х гг. и далее в наступившем столетии, институты Бреттон-Вудской системы оказались вынуждены предоставить больше прав голоса странам с развивающейся экономикой, таким как Бразилия и Китай. В то же время «Большая семерка» – элитная группа, состоящая из шести наиболее экономически значимых западных демократий и Японии, оставалась неформальным мировым лидером, когда дело касалось глобальной экономической координации, несмотря на появление других центров силы.
Финансовый кризис в конце концов привел к тому, что G7 утратила роль основного координатора глобальной экономической политики и к ее замене «Большой двадцаткой». В ноябре 2008 г. главы государств G20 собрались в Вашингтоне, чтобы выработать глобальную программу стимулирования экономики – встреча с тех пор переросла в официальный международный институт. Поскольку G20, в отличие от G7, включает развивающиеся страны, такие как Бразилия, Китай и Индия, подобное расширение экономической координации представляет собой запоздалое признание новой группы глобальных экономических игроков.
Кризис также вдохнул новую жизнь в МВФ и Всемирный банк, подтвердил их легитимность. До кризиса создавалось впечатление, что МВФ быстрыми темпами превращается в отжившую структуру. Рынки частного капитала обеспечивали страны финансовыми средствами на выгодных условиях, не обставляя их требованиями, которыми часто сопровождались кредиты МВФ. Фонд с трудом финансировал собственную деятельность и находился в процессе сокращения персонала.
Ситуация изменилась в 2009 г., когда лидеры «двадцатки» договорились обеспечить институты Бреттон-Вудской системы дополнительными средствами в размере 1 трлн долларов, чтобы помочь странам пережить будущий финансовый дефицит. Бразилия и Китай вошли в число доноров специальных фондов, которые в итоге помогли поддержать Грецию, Венгрию, Исландию, Ирландию, Латвию, Пакистан и Украину.
Попросив развивающиеся рынки взять на себя более ответственную роль в международной экономической политике, западные демократии косвенно признали, что сами они уже не в состоянии справиться с мировыми экономическими проблемами в одиночку. Но то, что назвали «подъемом остальных» (в отличие от «упадка Запада». – Ред.), касается не только экономической и политической мощи. Подразумевается также глобальная конкуренция идей и моделей. Запад, и в особенности США, больше не рассматривается как единственный центр инновационной социально-политической мысли. Схемы оказания денежной помощи на определенных условиях, например, впервые были разработаны и введены в Латинской Америке. За последние 30 лет Запад внес скромный вклад в инновационное мышление в промышленной политике. Чтобы увидеть успешные модели на практике, стоит обратиться к примеру развивающихся стран, а не развитого мира. А когда дело касается международных организаций, голоса и идеи Соединенных Штатов и Европы доминируют все меньше. При этом страны с развивающейся экономикой, ставшие крупными донорами международных финансовых институтов, приобретают более значительный вес.
Все это говорит о конкретных изменениях в программе развития. Традиционно эта программа разрабатывалась развитым миром и затем вводилась (или, в действительности, часто навязывалась) в развивающемся мире. США, Европа и Япония по-прежнему останутся бесспорными источниками экономических ресурсов и идей, но развивающиеся экономики выходят на эту арену и станут крупными игроками. Бразилия, Китай, Индия и ЮАР будут одновременно донорами и реципиентами ресурсов для развития и способов их наилучшего использования. Значительная доля бедного населения планеты живет на территории этих стран, однако им удалось добиться уважения на мировой арене в экономической, политической и интеллектуальной областях. На самом деле развитие никогда не являлось чем-то, что богатые даруют бедным, скорее, бедные достигают этого самостоятельно. Видимо, западные державы, наконец, осознали эту истину в свете финансового кризиса, который для них отнюдь не окончен.
#Большая Восьмерка #Большая Двадцатка #мировая экономика #экономический кризис
Как достичь консенсуса и решить конфликт?
Как любой метод, консенсус имеет свой инструментарий. Главным инструментом при выборе консенсуса для решения конфликта является применение конструктивного диалога.
Конструктивный диалог – это серьёзный разговор на серьезную тему, который строится на логике, неискаженным, «трезвым» взглядом на реальность. Такой инструмент является очень эффективный для достижения консенсуса.
Суть в том, что оппоненты, применяя конструктивный диалог, решают волнующий вопрос, приходят к единому мнению и подтверждают решение конфликта общим согласием. Соответственно, самый эффективный вариант, при котором можно достичь консенсуса, применение главного инструмента этого способа решения конфликтов.
Творческий подход и взаимная ответственность
Главными преимуществами консенсуса перед другими способами устранения конфликтов являются творческий подход и взаимная ответственность всех членов коллектива.
Участники дискуссии пытаются найти решение, приемлемое для всех, не ущемляя прав меньшинства. С этой целью выдвигаются креативные идеи, выслушиваются любые мнения, анализируются потребности каждого. Дискуссия проходит в оживленной увлекательной форме.
Поддержав предложение, каждый член коллектива несет за него персональную ответственность и искренне заинтересован в его реализации. А это значит, что решение, принятое путем консенсуса, имеет все шансы на воплощение в лучшем виде.
Условия консенсуса.
Есть два условия, которые необходимо обязательно достичь, чтобы можно было утверждать об достижении консенсуса:
- отсутствие прямого возражения;
- возможность занять нейтральную позицию, которая не влияет на решение.
Первое условие – обязательное. Консенсус – это отсутствие прямого возражения. Если хотя бы один участник диалога выражает мнение, которое противоречит желаемому, то есть «против», значит, соглашения не было достигнуто.
Это условие отличает консенсус от демократического голосования, суть которого в том, что мнение принимается большинством голосов, а меньшинство остается в ущербном положении. В случае договорённости этим способом, людей, недовольных результатом практически нет.
Второе условие дает возможность не соглашаться с общепринятым мнением, но достичь такого результата, когда можно занять нейтральную позицию. Позицию, которая не вызывает противоречий, оставляя пассивность в принятии решения. При нейтральности договоренность считается достигнутой, противоречий нет, а такая позиция не влияет на принятие решения и воплощение его в жизнь.
То есть, главная задача конструктивного диалога – достичь согласия всех участников, или максимального согласия между участниками конфликта, допуская нейтральные позиции.
Консенсус в распределенных системах. Paxos
В последнее время в научных публикациях всё чаще упоминается алгоритм достижения консенсуса в распределенных системах под названием Paxos. Среди таких публикаций ряд работ сотрудников Google (Chubby, Megastore, Spanner) ранее уже частично освещенных на хабре, архитектуры систем WANdisco, Ceph и пр. В то же время, сам алгоритм Paxos считается сложным для понимания, хоть и основывается он на элементарных принципах.
В этой статье я постараюсь исправить эту ситуацию и рассказать об этом алгоритме понятным языком, как когда-то это попытался сделать автор алгоритма Лесли Лэмпорт. Для начала нужно понять проблему, которую решает данный алгоритм. Для этого представим себе распределенную систему обработки информации, представляющую собой кластер x86 серверов. Если для одного сервера вероятность отказа мала и зачастую при внедрении простых систем ей можно пренебречь, то для кластера серверов вероятность отказа одного из серверов становится в разы больше: MTBF для одного из N серверов в N раз меньше чем MTBF для одного сервера. Добавим к этому ненадежность сети в виде отказа сетевого оборудования и потери пакетов, отказы жестких дисков, сбои серверного ПО на уровне ОС и приложений. Если верить Google, то для кластера из 1800 машин они говорят о 1000 отказах серверов в течении первого года эксплуатации кластера, то есть 3 отказа в день – и это не считая отказов жестких дисков, проблем с сетью и питанием и т.д. В итоге, если не закладывать отказоустойчивость в ПО распределенной системы, мы получим систему, в которой каждая из указанных выше проблем приводит к отказу системы. Поэтому задача достижения консенсуса – задача получения согласованного значения группой участников в ситуации, когда возможны отказы отдельных участников, предоставление ими некорректной информации, искажения переданных значений средой передачи данных. В целом сценарии нештатного функционирования компонент распределенных систем можно разделить на два класса:
- Полный отказ компонента. Характеризуется этот класс проблем тем, что такой отказ приводит к недоступности одного из компонент распределенной системы (или сегментации сети, в случае отказа коммутатора). К этому классу проблем относятся: отказ сервера, отказ системы хранения данных, отказ коммутатора, отказ операционной системы, отказ приложения;
- Византийская ошибка. Характеризуется тем, что узел системы продолжает функционировать, но при этом может возвращать некорректную информацию. Допустим, при использовании оперативной памяти без ECC может привести к считыванию некорректных данных из памяти, ошибки сетевого оборудования могут приводить к повреждению пакетов и т.п.
Ошибки второго класса намного более сложны в обнаружении и исправлении. В целом, Лесли Лэмпортом было доказано, что для исправления Византийской проблемы в N
узлах распределенная система должна состоять как минимум из
3N+1
узлов и должна реализовывать специальный алгоритм консенсуса. Отказоустойчивость на этом уровне требуется по большей части в системах, критичность функционирования которых крайне высока (например, в задачах космической промышленности).
В кластерных вычислениях под отказоустойчивостью обычно понимают устойчивость системы к полным отказам компонент. Для достижения консенсуса в таких системах и применяется алгоритм Paxos. Алгоритм был предложен Лесли Лэмпортом в 90х годах прошлого века и назван в честь греческого острова Паксос с вымышленной системой организации работы парламента. Для достижения консенсуса данному алгоритму необходимо, чтобы в системе из 2N+1
узлов функционировали как минимум
N+1
узла, эти
N+1
узлы называются «кворум»
Суть алгоритма во взаимодействии агентов со следующими ролями:
- Client
– клиент распределенной системы, который может отправить запрос и получить на него ответ - Proposer
– компонент распределенной системы, отвечающий за организацию процесса голосования - Acceptor
– компонент распределенной системы, имеющий право голоса за принятие или отклонение конкретного предложения от Proposer - Learner
– компонент системы, который запоминает принятое решение
Базовый алгоритм Paxos состоит из следующих этапов:
1а. Prepare
(«предложение»). На этой фазе proposer генерирует «предложение» с порядковым номером
N
и отправляет его всем acceptor. Для каждого из последующих «предложений» номер
N
должен быть больше выбранного ранее
1b. Promise
(«обещание»). Каждый acceptor получает «предложение» с порядковым номером
N
и значением
V
. Если номер «предложения» больше чем все принятые ранее данным acceptor, он обязан ответить на это сообщение «обещанием» не принимать более «предложений» с порядковым номером меньше
N
. Если данный acceptor уже принимал какое-либо «предложение», он должен вернуть номер
Ni
этого «предложения» и принятое значение
Vi
, в противном случае он возвращает пустое значение
2a. Accept!
(«принять»). Если proposer получил «обещания» от кворума acceptor, он считает запрос готовым к дальнейшей обработке. В случае, если с «обещаниями» от acceptor пришли также значения
Ni
и
Vi
, proposer выбирает
V
равное значению
Vi
«обещания» с максимальным
Ni
. Затем proposer отправляет запрос «принять» всем acceptor, который содержит значения
N
и
V
2b. Accepted
(«принято»). Когда acceptor получает сообщение «принять» со значениями
N
и
V
, он принимает его только в том случае, если ранее он не «обещал» принимать предложения с номерами строго больше
N
. В противном случае он принимает значение и отвечает сообщением «принято» всем learner
Задача learner проста – получить сообщение «принято» со значением V
и запомнить его
Пример функционирования алгоритма:
Client Proposer Acceptor Learner | | | | | | | X———>| | | | | | Request | X———>|->|->| | | Prepare(1) | |<———X—X—X | | Promise(1,{Va,Vb,Vc}) | X———>|->|->| | | Accept!(1,Vn=last(Va,Vb,Vc)) | |<———X—X—X——>|->| Accepted(1,Vn) |<———————————X—X Response | | | | | | | Что же происходит, если какой-то из компонент распределенной системы отказывает?
Отказ Acceptor:
Client Proposer Acceptor Learner | | | | | | | X———>| | | | | | Request | X———>|->|->| | | Prepare(1) | | | | ! | | !! FAIL !! | |<———X—X | | Promise(1,{NULL,NULL, NULL}) | X———>|->| | | Accept!(1,V) | |<———X—X———>|->| Accepted(1,V) |<———————————X—X Response | | | | | | Так как в системе 3 узла ассеptor, допускается отказ одного из них, так как кворум в данном случае равен двум
Отказ Learner:
Client Proposer Acceptor Learner | | | | | | | X———>| | | | | | Request | X———>|->|->| | | Prepare(1) | |<———X—X—X | | Promise(1,{NULL,NULL,NULL}) | X———>|->|->| | | Accept!(1,V) | |<———X—X—X——>|->| Accepted(1,V) | | | | | | ! !! FAIL !! |<———————————X Response | | | | | | Отказ Proposer: Client Proposer Acceptor Learner | | | | | | | X——>| | | | | | Request | X————>|->|->| | | Prepare(1) | |<————X—X—X | | Promise(1,{NULL, NULL, NULL}) | | | | | | | | | | | | | | !! Leader fails during broadcast !! | X————>| | | | | Accept!(1,Va) | ! | | | | | | | | | | | | !! NEW LEADER !! | X———>|->|->| | | Prepare(2) | |<———X—X—X | | Promise(2,{NULL, NULL, NULL}) | X———>|->|->| | | Accept!(2,V) | |<———X—X—X——>|->| Accepted(2,V) |<———————————X—X Response | | | | | | | В случае отказа proposer система должна выбрать нового proposer, обычно это производится путем голосования по истечении тайм-аута ожидания возвращения старого proposer. В случае, если после выбора нового proposer старый возвращается к жизни, между лидерами может возникнуть конфликт, который может привести к зацикливанию системы: Client Leader Acceptor Learner | | | | | | | X——>| | | | | | Request | X————>|->|->| | | Prepare(1) | |<————X—X—X | | Promise(1,{NULL,NULL,NULL}) | ! | | | | | !! LEADER FAILS | | | | | | | !! NEW LEADER (knows last number was 1) | X———>|->|->| | | Prepare(2) | |<———X—X—X | | Promise(2,{NULL,NULL,NULL}) | | | | | | | | !! OLD LEADER recovers | | | | | | | | !! OLD LEADER tries 2, denied | X————>|->|->| | | Prepare(2) | |<————X—X—X | | Nack(2) | | | | | | | | !! OLD LEADER tries 3 | X————>|->|->| | | Prepare(3) | |<————X—X—X | | Promise(3,{NULL,NULL,NULL}) | | | | | | | | !! NEW LEADER proposes, denied | | X———>|->|->| | | Accept!(2,Va) | | |<———X—X—X | | Nack(3) | | | | | | | | !! NEW LEADER tries 4 | | X———>|->|->| | | Prepare(4) | | |<———X—X—X | | Promise(4,{NULL,NULL,NULL}) | | | | | | | | !! OLD LEADER proposes, denied | X————>|->|->| | | Accept!(3,Vb) | |<————X—X—X | | Nack(4) | | | | | | | | … and so on … Для предотвращения этого в практической реализации алгоритма каждый proposer имеет порядковый номер и при выборе нового proposer этот номер увеличивается на единицу. Никто из acceptor не принимает сообщения от старого proposer.
В качестве примера реализации приведу немного модифицированный python код одного из репозиториев github:
class Proposer (object): # 1a. Генерируется уникальное значение proposal_id (в описании алгоритма фигурирует как «N») # и отправляется «предложение» всем acceptor def prepare(self): self.promises_rcvd = 0 self.proposal_id = self.next_proposal_number self.next_proposal_number += 1 self.messenger.send_prepare(self.proposal_id) # 2a. Получаем «обещание». Если предложение было не наше — ингорируем. Если с «обещанием» # вернулось также принятое acceptor значение — принимаем его как значение нашего предложения. # Если количество принятых «обещаний» равно кворуму, отправляем сообщение «принять» def recv_promise(self, proposal_id, prev_accepted_id, prev_accepted_value): if proposal_id != self.proposal_id: return if prev_accepted_id > self.last_accepted_id: self.last_accepted_id = prev_accepted_id if prev_accepted_value is not None: self.proposed_value = prev_accepted_value self.promises_rcvd += 1 if self.promises_rcvd == self.quorum_size: if self.proposed_value is not None: self.messenger.send_accept(self.proposal_id, self.proposed_value) class Acceptor (object): # 1b. Acceptor получает «предложение» от proposer. В случае, если предложение с таким номером уже приходило, # отправляем тот же самый ответ. Если ранее приходило только предложения с меньшим номером, отправляем # номер последнего принятого предложения и принятое значение (если таковое есть) как «обещание» def recv_prepare(self, proposal_id): if proposal_id == self.promised_id: self.messenger.send_promise(proposal_id, self.accepted_id, self.accepted_value) elif proposal_id > self.promised_id: self.promised_id = proposal_id self.messenger.send_promise(proposal_id, self.accepted_id, self.accepted_value) # 2b. Получаем сообщение «принять». Если мы не обещали не принимать значения с таким номером, то # запоминаем идентификатор и значение этого сообщения и отвечаем «принято» def recv_accept_request(self, from_uid, proposal_id, value): if proposal_id >= self.promised_id: self.promised_id = proposal_id self.accepted_id = proposal_id self.accepted_value = value self.messenger.send_accepted(proposal_id, self.accepted_value) class Learner (object): # 3. Learner получает сообщение «принято», запоминает это значение и возвращает управление клиенту def recv_accepted(self, from_uid, proposal_id, accepted_value): self.final_value = accepted_value self.messenger.on_resolution( proposal_id, accepted_value ) Литература:
- Paxos Made Simple
- The Part-Time Parliament
- The Byzantine Generals Problem
- The Chubby lock service for loosely-coupled distributed systems
- In Search of an Understandable Consensus Algorithm
Принципы консенсуса.
Есть ряд принципов, которые обязательны для достижения соглашения между всеми сторонами спора:
- Активность. Причем активными должны быть все участники конфликта.
- Доступность. Все вопросы, которые решаются, должны обсуждаться открыто.
- Всесторонность. Принятые решения должны быть взвешенными, полностью рассмотренными, чтобы учитывались интересы каждой конфликтной стороны. Нельзя допускать ориентации на большинство, оставляя в ущербе меньшее количество участников.
- Равноправность. Все стороны равны, нет лидирующего участника, каждый может внести свои предложения или отказаться от чужих.
- Нацеленность на результат. В ходе дискуссии важно помнить, что её цель – решить конфликт таким образом, который устроит всех.
Если соблюдать все эти принципы, без исключений, то можно рассчитывать, что через определенное время, после логических и «трезвых» размышлений, когда все принимают участие в дискуссии, соглашение будет достигнуто.
Что значит достижение консенсуса по Хаттону
Однажды, когда я обучал одну группу навыкам эффективной командной работы, ее члены столкнулись с трудноразрешимой проблемой и попросили меня фасилитировать поиски решения.
Команда состояла из 12 человек, включая менеджера. Один из ее членов был похож на персонаж телевизионной рекламы по имени И.Ф. Хаттон. В одном из роликов о нем говорили: «Когда говорит И.Ф. Хаттон, другие слушают». Смысл ее был таков: если человек обладает большими специальными знаниями, ему не нужно перекрикивать других, чтобы привлечь внимание к своей точке зрения. «Хаттон» в этой команде также имел спокойную и сдержанную манеру общения и был весьма немногословен во время групповых обсуждений.
Однажды, когда я фасилитировал совещание, команда работала над своей трудной проблемой и, казалось, нашла решение. Голосистые члены команды все быстренько обсудили и были готовы завершить собрание, но я напомнил им о проверке истинности консенсуса — индивидуальным голосованием участников для проверки их готовности поддержать принятое решение. В случае отрицательного ответа я попросил их объяснить причины и предложить возможную альтернативу.
Как можно было предположить, я получил 11 уверенных ответов «Да, я готов поддержать это решение», но двенадцатый, «Хаттон», удивил всех, сказав: «Честно говоря, нет». Он объяснил причину отказа и предложил альтернативное решение. В течение следующих пяти минут шло оживленное обсуждение, в результате решение было слегка изменено с включением новых и ценных данных этого тихого, но уважаемого члена команды. После второй проверки соглашение было единодушным: 12 положительных ответов.
Организация консенсуса.
Организовать консенсус достаточно просто, нужно будет назначить помощников и координаторов, людей, которые будут выполнять конкретные функции, необходимые для достижения результата. Успех дискуссии и в конечном результате – соглашение между конфликтными сторонами, во многом зависит от правильной организации.
Нужно подобрать людей, которые смогут качественно выполнять разные функции. Есть четыре главных персоны, которые исполняют роль:
- фасилитатора;
- таймкипера;
- эмпата или вайб-вотча;
- секретаря или ноут-тейкера.
Функция фасилитатора должна быть у человека с нейтральной позицией в споре. Задача этого человека – быть посредником, то есть следить за тем, как продвигается разговор. Следить, чтобы все участники были активными и отвечать за то, чтобы решение было совместным, устраивало все стороны спора.
В любом серьезном, деловом разговоре должен быть регламент. Потому как есть риск, что дискуссия затянется надолго и речи о консенсусе не может быть, потому что вероятно, что даже не все участники могут высказаться. Человека, который следит за временем и соблюдением регламента, называют таймкипером.
Роль эмпата – одна из самых важных. Даже учитывая серьёзность дискуссии и то, что действуют некоторые правила, условия и регламент, есть серьезный риск возникновения конфликта. Поскольку проблему решают стороны с совершенно разными мнениями, эмоции могут взять верх. Задача эмпата – следить за эмоциональным климатом и предупреждать конфликты.
Поскольку консенсуса обычно достигают при решении разных деловых, серьезных вопросов, принимают правила, регламент, выносят список спорных вопросов, то нужен секретарь. Это человек, которые будет вести протокол, записывать главные моменты и разногласия.
Как слово «консенсус» пришло в русский язык
Сегодняшняя письменная и разговорная речь русского человека богата словами иностранного происхождения. Они используются как в профессии, так и в быту, часто звучат с экрана телевизора. Некоторые из них прижились в нашем языке с давних времен, другие были позаимствованы позднее.
Слово «консенсус» появилось в нашем словаре относительно недавно, в конце 20-го века. Первыми его начали использовать юристы как профессиональный термин, затем оно пополнило словарный запас политиков. Наконец, широкое распространение оно получило благодаря частому использованию любителями красивых и звучных слов, – журналистами. Примерно в то же время наш лексикон обогатился такими терминами, как:
- менеджмент (управление)
- маркетинг (изучение спроса и предложения
- консалтинг (советы)
- брифинг (короткое совещание)
- кофе-брейк (перерыв на кофе)
- имидж (образ)
- лифтинг (косметическая операция)
- электорат (избиратели)
- менталитет (образ мышления)
- паркинг (автостоянка)
- плюрализм (разнообразие мнений)
- шопинг (поход за покупками)
- шоу (представление)
- форум (представительное собрание)
Дополнительные инструменты.
Чтобы сократить время, быстрее решить проблемы могут использоваться цветные карточки или невербальные сигналы – жестикуляция.
Стандартное обозначение карточек. В обычной ситуации цвета всего 3:
- красный;
- желтый;
- зеленый.
Первый цвет означает несогласие участника в том, как движется сам спор. При призыве достичь согласия, красный означает, что решение не устраивает и сторона может предложить лучшее, которое решит конфликт.
Второй цвет – желание дополнить того, кто выступал или ответить на вопрос. В ходе голосования – желтый означает нейтральную позицию, то есть участник воздержался или желание высказаться.
Третий цвет в ходе обсуждения означает желание выступить, получить слово. В ходе голосования – согласие, означает, что решение устраивает.
Жестикуляция тоже эффективный способ сэкономить время и выразить свое мнение. По сути, в начале обсуждения участники могут договориться между собой о невербальных сигналах, которые помогут быстрее реагировать на ход дискуссии.
Синонимы
В нашем языке существует несколько существительных, близких по значению к слову «консенсус». Например, «согласие» или «взаимопонимание». Можно также заменить это понятие словосочетаниями: «единство мнений», «общность интересов», «отсутствие разногласий».
Как правильно употреблять слово «консенсус»?
Как не ошибиться, составляя предложение с существительным «консенсус»? Можно рассмотреть несколько примеров правильного его применения:
- При разделе имущества в бракоразводном процессе муж и жена никак не могли прийти к консенсусу;
- Консенсус между сторонниками и противниками однополых браков невозможен ни при каких условиях;
- В процессе долгих дебатов жители дома нашли консенсус с управляющей компанией по вопросу о капитальном ремонте
- Для подписания мирного договора необходим консенсус воюющих сторон;
- Консенсус по вопросам межевания участков между соседями по даче недостижим, окончательное решение примет суд;
- Достижение консенсуса по оплате морального ущерба пострадавшему в автокатастрофе стоило его адвокату многих седых волос;
- Отсутствие консенсуса между участниками забастовки и представителями руководства компании приведет к продолжению акций протеста, спаду производства и уменьшению прибыли;
- Чтобы предотвратить развитие конфликта и переход его в фазу военных действий, необходимо срочно достичь консенсуса по принципиальным вопросам;
- Корпоративная этика, принятая в медицинских учреждениях, предписывает даже в отсутствие консенсуса на консилиуме не лишать пациента надежды на выздоровление;
- Правительство Австралии приняло курс на достижение национального консенсуса в стране;
- Консенсус по вопросу экономических преобразований был достигнут, это стало залогом финансового процветания;
А также образцы ошибочного словоупотребления:
- Консенсусы сторон не договорились друг с другом (это слово не применяется во множественном числе);
- Мои друзья спорили, пока не достигли самого большого консенсуса (слово не имеет сравнительной и превосходной степеней, – консенсус либо есть, либо его нет).
Как достичь консенсуса: алгоритм.
Алгоритм действий состоит всего из нескольких пунктов и имеет цикличный характер. Если участники не могут договориться, все начинается сначала до того момента, пока согласие будет достигнуто. Алгоритм включает всего 4 пункта:
- Повестка дня.
- Обсуждение конфликта или конфликтов.
- Формулировка вариантов решения проблем.
- Призыв к консенсусу.
Если четвертый пункт не срабатывает, и договоренности не случилось, необходимо сформулировать новые мнения, предложения, после чего нужна коррекция решения согласно новой информации и снова призыв к консенсусу.
Так будет продолжаться, пока решение не удовлетворит всех членов группы. Они должны выразить согласие или занять нейтральную позицию. В идеальном варианте – все довольны достигнутым результатом. Даже при наличии нейтральных позиций, это один из самых эффективных вариантов решения спорного вопроса.
Как организовать консенсус в группе
Грамотная организация консенсуса в группе предусматривает распределение функций, применение вспомогательных инструментов и сигналов, четкое соблюдение алгоритма.
Распределение функций
Перед началом дискуссии по спорному вопросу необходимо назначить помощников и координаторов, в числе которых:
- Фасилитатор – посредник, управляющий ходом дискуссии, обеспечивающий групповую коммуникацию, отвечающий за соблюдение принципа совместного принятия решений. Сам фасилитатор обязан придерживаться нейтральной позиции в споре.
- Таймкипер – человек, следящий за соблюдением регламента, временных ограничений на рассмотрение спорных вопросов и выступление отдельных участников.
- Эмпат (вайб-вотч) – человек, наблюдающий за эмоциональным климатом в группе с целью предупредить возможные конфликты.
- Секретарь (ноут-тейкер) – ведет протокол, отмечает главные моменты дискуссии и возникшие разногласия.
Вспомогательные инструменты и сигналы
В ходе дискуссии и во время призыва к консенсусу могут использоваться цветные карточки:
- Красная карточка в ходе дискуссии означает замечания к самому процессу. Во время призыва к консенсусу она означает несогласие участника с предложенным решением и его обязательство предложить другой вариант, который устроит все стороны конфликта.
- Желтая – во время дискуссии означает желание дополнить речь выступающего либо ответить на прозвучавший вопрос. В случае призыва к голосованию означает, что участник спора воздержался либо желает высказать свои замечания.
- Зеленая – в ходе дискуссии сообщает о желании участника быть добавленным в число выступающих. Во время призыва к консолидации (что это?) означает согласие.
Для выражения мнений участников спора могут также использоваться невербальные сигналы – жесты руками. Например:
- Кулак – прямое возражение.
- Четыре пальца – одобрение.
- Пять пальцев – обязательство исполнить решение.
Каждая группа может самостоятельно договориться о применяемых невербальных сигналах и выбрать наиболее удобные.
Алгоритм действий
Алгоритм проведения дискуссии и достижения консенсуса:
- Объявление повестки дня.
- Обсуждение спорного вопроса.
- Формулировка предложения по решению проблемы.
- Призыв к консенсусу.
Если после первого призыва консенсус не был достигнут, предпринимаются следующие действия:
- Формулировка мнений и новых предложений.
- Корректировка решения согласно высказанным замечаниям.
- Призыв к консенсусу.
Цикл может повторяться, пока не будет предложено решение, которое будет принято всеми участниками дискуссии.