Посоветуйте что почитать по основам concurrency и блокировок
От: MozgC США http://nightcoder.livejournal.com
Дата: 19.12.09 16:40
Оценка:
Здравствуйте,
Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг.
Заранее спасибо.
Re: Посоветуйте что почитать по основам concurrency и блокир
От: MozgC США http://nightcoder.livejournal.com
Дата: 19.12.09 16:45
Оценка:
PS. Желательно с примерами реализации. А то Фаулер тоже иногда ченить ляпнет, а реализацию не показывает и даже не подсказывает.
Re: «Patterns for Parallel Programming»
От: Qbit86 Кипр
Дата: 19.12.09 21:23
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам?


Попробуй это.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: «Patterns for Parallel Programming»
От: MozgC США http://nightcoder.livejournal.com
Дата: 19.12.09 21:41
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Попробуй это.


Я имел в виду не многопоточное/многопроцессорное программирование, а параллельную работу с данными в многопользовательских приложениях (бизнес приложениях), т.е. разные оптимистические, пессимистические и другие блокировки, их реализацию, дизайн проекта/инфраструктуры для работы с блокировками, примеры, подводные камни, типичные ситуации и их решения и т.д.
Re: Посоветуйте что почитать по основам concurrency и блокир
От: MozgC США http://nightcoder.livejournal.com
Дата: 22.12.09 22:38
Оценка:
up
Re[2]: Посоветуйте что почитать по основам concurrency и бло
От: markovskiy  
Дата: 23.12.09 08:08
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>up



Грегори Р. Эндрюс
Foundations of Multithreaded, Parallel and Distributed Programming First Edition
Gregory R. Andrews
Re: Посоветуйте что почитать по основам concurrency и блокир
От: meowth  
Дата: 24.12.09 11:47
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте,

MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг.
MC>Заранее спасибо.

Кое-что есть в "Enterprise Integration Patterns", но тоже немного.
В основном -- блоги, блоги, блоги и статьи Вот несколько этих человеков:
Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.
Re[2]: Посоветуйте что почитать по основам concurrency и бло
От: MozgC США http://nightcoder.livejournal.com
Дата: 24.12.09 14:56
Оценка:
Здравствуйте, meowth, Вы писали:

M>Кое-что есть в "Enterprise Integration Patterns", но тоже немного.

Хм, а где? Я полистал, вообще ничего не нашел.

M>В основном -- блоги, блоги, блоги и статьи Вот несколько этих человеков:

M>Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.
А может быть есть какие-то конкретные ссылки в закладках? Я сейчас часа 2 читал их блоги, но по concurrency control применительно к бизнес приложениям нашел очень мало. Вот только пара постов более менее:
Concurrency Control Methods. Is there a silver bullet?
O/R mappers and concurrency control
и еще штуки 3, которые вообще очень слабо подходят.

По первому посту там вообще в принципе слабенький пост. Если своими словами пересказать, то автор говорит о том что оптимистическая блокировка это плохо, т.к. пользователь якобы теряет результат своей работы (что совсем не обязательно, к тому же можно добавить и ранние проверки), а потом своими словами описывает решение, которое на деле является высокоуровневой пессимистической блокировкой.
Re: Посоветуйте что почитать по основам concurrency и блокир
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.12.09 15:39
Оценка: 13 (2)
Здравствуйте, MozgC, Вы писали:

MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам?


Классические труды, если осилите. Например

  1. Ч. Хоар. Взаимодействующие последовательные процессы
  2. Э. Дейкстра. Взаимодействие последовательных процессов
Re: Посоветуйте что почитать по основам concurrency и блокир
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 25.12.09 08:22
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте,

MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг.
MC>Заранее спасибо.

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

Очень здорово описана теория по параллельной работе и блокировкам у Криса Дейта в его книге "Введение в системы баз данных", глава 16 (взять можно здесь).
Если вдруг не хватит, то в этой же главе есть исчерпывающий список литературы для дальнейшего чтения и развития. Но думаю, до этого не дойдет. Дейт эту тему расписал полно и толково.
Re[2]: Посоветуйте что почитать по основам concurrency и бло
От: IB Австрия http://rsdn.ru
Дата: 26.12.09 18:23
Оценка:
Здравствуйте, SergeyT., Вы писали:


ST>Очень здорово описана теория по параллельной работе и блокировкам у Криса Дейта в его книге "Введение в системы баз данных",

Не, Дейт как раз не очень, он все-таки совсем теоретик...
Мы уже победили, просто это еще не так заметно...
Re: Посоветуйте что почитать по основам concurrency и блокир
От: IB Австрия http://rsdn.ru
Дата: 26.12.09 18:29
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте,

MC>Скажите, есть что-нибудь небольшое почитать по основам параллельной работы, блокировкам? Разобрал пару глав по этому вопросу из Фаулера, но думаю может еще что-то почитать чтобы еще получше в вопросе разобраться. Кто что посоветует? Приветствуются ссылки на хорошие статьи или главы из книг.

Классика жанра:
Бернстайн
Concurrency Control and Recovery in Database Systems
Джефри Ульман
Системы баз данных. Полный курс
Джим Грей
Transaction Processing : Concepts and Techniques (The Morgan Kaufmann Series in Data Management Systems)

Это все в приложении к БД, но натянуть на конкретный бизнес-процесс после усвоения думаю проблем не составит...
Мы уже победили, просто это еще не так заметно...
Re[2]: Посоветуйте что почитать по основам concurrency и бло
От: IB Австрия http://rsdn.ru
Дата: 26.12.09 18:33
Оценка:
Здравствуйте, meowth, Вы писали:

M>Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.

Тока эта, тут аккуратнее надо... Что Орен, что Франс — обладают той еще шершавостью языка, так что делить что они рассказывают надо минимум на два.
Мы уже победили, просто это еще не так заметно...
Re[3]: Посоветуйте что почитать по основам concurrency и бло
От: meowth  
Дата: 26.12.09 18:46
Оценка:
Здравствуйте, IB, Вы писали:

IB>Здравствуйте, meowth, Вы писали:

M>>Rob Connery, Oren Einy, Kent Beck, Fabio Maulo, Frans Bouma, статьи от Udi Dahan, обязательно статьи цикла MS Patterns And Practices.
IB>Тока эта, тут аккуратнее надо... Что Орен, что Франс — обладают той еще шершавостью языка, так что делить что они рассказывают надо минимум на два.

Это да, там временами "сегодня одно, завтра другое", но иметь в виду все равно полезно. Хотя бы набрасывать семплы по тому, что они говорят, и смотреть как оно на самом деле. Сам все равно обо всем не передумаешь, а тут тебе подскажут, куда покопать стоит.

Впрочем, именно про БД у них мало что есть, если топикстартера именно это интересует (честно говоря, так и не понял, что он хочет). Ну у Файлера, что он в пример привел, тоже про мехнику БД исчезающе мало.
Re[3]: Посоветуйте что почитать по основам concurrency и бло
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.01.10 13:09
Оценка:
Здравствуйте, IB, Вы писали:

IB>Не, Дейт как раз не очень, он все-таки совсем теоретик...

Наверное соглашусь. Прочитал главу из Дейта, пишет в принципе неплохо, дает некоторую полезную теорию, но зачастую оторвано от практики, от того как это на самом деле сейчас есть в современных СУБД.
Re[2]: Посоветуйте что почитать по основам concurrency и бло
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.01.10 13:11
Оценка:
Здравствуйте, IB, Вы писали:

IB>Классика жанра:

IB>Бернстайн
IB> Concurrency Control and Recovery in Database Systems
IB>Джефри Ульман
IB> Системы баз данных. Полный курс
IB>Джим Грей
IB> Transaction Processing : Concepts and Techniques (The Morgan Kaufmann Series in Data Management Systems)

IB>Это все в приложении к БД, но натянуть на конкретный бизнес-процесс после усвоения думаю проблем не составит...


Спасибо, первые 2 скачал, почитаю. Хотя начинает мне казаться что я заморачиваюсь и что в подавляющем большинстве случаев (особенно в небольших и средних проектах) используются знакомые оптимистические и пессимистические блокировки, нет?
Re[3]: Посоветуйте что почитать по основам concurrency и бло
От: IB Австрия http://rsdn.ru
Дата: 11.01.10 21:03
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Спасибо, первые 2 скачал, почитаю. Хотя начинает мне казаться что я заморачиваюсь и что в подавляющем большинстве случаев (особенно в небольших и средних проектах) используются знакомые оптимистические и пессимистические блокировки, нет?

Ну в целом оно конечно да, только я все больше убеждаюсь, что под оптимистическими и пессимистическими блокировками каждый имеет ввиду что-то свое...
Вообще все зависит от конкретного сценария и общих требований к приложению, где-то (в большинстве случаев) можно расслабиться и обеспечить минимальную синхронизацию, а где-то надо по жесткому и вылизывать каждый краевой случай. Собственно, ровно про это и стандартные уровни изоляции в БД — все что ниже честного SERIALIZABLE — договоренность между разработчиком и СУБД "ты не делаешь того-то и того-то и тогда ничего страшного не случится".
Мы уже победили, просто это еще не так заметно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.