PATTERNS OF PARALLEL PROGRAMMING / ПАТТЕРНЫ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ: Введение

Английский оригинал Перевод на русский

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

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

vzhik 23.03.11 в 19:44

0

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

vzhik 23.03.11 в 20:07

0

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

vzhik 24.03.11 в 12:04

0

"В целом, "многоядерный" чип указывает на восемь и менее однородных ядер в одном микропроцессорном корпусе, в то время как "manycore"-чип содержит более восьми разнородных ядер в микропроцессорном корпусе. В "manycore" процессоре, все ядра совместно используют ресурсы и сервисы, включая доступ к памяти и диску, предоставляемый операционной системой." - The Manycore Shift, (Microsoft Corp., 2007)

vzhik 24.03.11 в 13:03

0

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

vzhik 24.03.11 в 14:07

0

C этой целью, данный документ предоставляет глубокий обзор поддержки параллельного программирования в .NET Framework 4, общие паттерны параллелизма, и как они реализуются с новыми возможностями и без них, а также отборные руководства по разработке компонент с поддержкой параллелизма в этом новом смелом мире.

vzhik 24.03.11 в 14:12

0

Этот документ едва освещает асинхронность для масштабируемых, завязанных на I/O приложений, но сфокусирован в основном на приложениях, дающих нагрузку на CPU и балансирующих работу между CPU и I/O. Этот документ также не освещает F# в Visual Studio 2010, в котором есть языковая поддержка нескольких ключевых паттернов параллелизма.

vzhik 24.03.11 в 14:20

0
Минутку...