Archives

Сообщения от vlubch RSS

Безъядерный параллелизм

vlubch (8 пост(а)) 30.11.2011 13:13
Комментарии (32)

Говорят – «голь на выдумки хитра». Можно привести и другие поговорки, суть которых в том, что обстоятельства или что-то иное «принуждают» действовать, если не необычно, то нестандартно. Иногда это может быть даже просто демонстрация иного подхода. Причины могут быть разные, но результат один – решение, демонстрирующее иные подходы, и иное, может быть, даже в чем-то парадоксальное мышление.

Возьмем известные всем прерывания. Кажется, без них немыслима архитектура современных процессов. И есть ли вообще такие, в которых не реализованы принципы аппаратного прерывания? Как ни странным может показаться, но их наличие не является столь уж обязательным. Безусловно, они удобны и выгодны с многих позиций, но и их отсутствие не является фатальным. Но это в том случае, если в системе реализован параллелизм. Тогда обработка, реализуемая режимом прерываний, легко замещается множеством параллельных процессов.

Продолжение ›

Категория: Intel Software Network, Параллельное программирование, Разработка софта

Королевство кривых зеркал

vlubch (8 пост(а)) 20.09.2011 09:09
Комментарии (12)

Уже давно поведение некоторого программного объекта, можно представить процессом, представленным такими понятиями, как поток, нить и т.п. Используя подобные «программные отражения», можно судить о поведении не только одного, но и множества объектов/процессов. А если при этом важна скорость вычислений, то множество процессов можно отобразить на множество реальных процессоров или в современном понимании – множество процессорных ядер в многоядерном процессоре. Такой подход к параллелизму остается неизменным уже многие годы и, более того, предлагается в качестве базы и для его дальнейшего развития.
Но… как быть с то там, то здесь явно проявляющейся «кривизной» параллельного программирования? Когда программист не может, не знает или имеет проблемы с синхронизацией работы множества объектов, то они превращаются в некую неуправляемую массу.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки:

Игры ума или о теории параллельных процессов

vlubch (8 пост(а)) 05.03.2010 22:58
Комментарии (0)

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

Продолжение ›

Категория: Параллельное программирование

Почему асинхронные системы не могут быть быстрее синхронных, а их программирование намного сложнее

vlubch (8 пост(а)) 17.02.2010 17:48
Комментарии (5)

«Лобовые» методы повышения быстродействия фактически исчерпаны. А поэтому нет-нет, да и вновь вспоминают об асинхронных принципах работы. Считается, что уж они-то в общем случае должно быть быстрее. Но почему, несмотря на давнюю свою известность и наличие практических решений и теории, асинхронные схемы так и не получили широкого распространения, остановившись в своем развитии по сути на [...]

Продолжение ›

Категория: Intel Software Network, Академическое сообщество, Параллельное программирование

О настоящем и мнимом или … вопрос к Деду Морозу?

vlubch (8 пост(а)) 28.12.2009 13:43
Комментарии (11)

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

Продолжение ›

Категория: Intel Software Network

Тридцать три шага назад!? – часть II

vlubch (8 пост(а)) 17.11.2009 14:24
Комментарии (50)

В 50-е годы прошлого века Алан Тьюринг в своей знаменитой работе «Могут ли машины мыслить?» предложил игру в имитацию. Суть в том, что в одну комнату помещают машину, в другую человека, и если нельзя распознать, кто где, то дается положительный ответ на заданный вопрос. А можем ли мы по аналогии ответить, какая машина, параллельная или последовательная, находится в комнате?

Продолжение ›

Категория: Параллельное программирование, Разработка софта

Тридцать три шага назад!?

vlubch (8 пост(а)) 06.11.2009 14:29
Комментарии (38)

Если доверять классикам, то иногда нужно сделать шаг назад, чтобы потом - два шага вперед. А что же в параллельном программировании? Куда мы шагаем, что и в чем выигрываем? Чтобы легче было шагать, нам в помощь дадены разнообразные средства для параллельного программирования – языки, библиотеки и т.п. Обратим свой взгляд на библиотеку Intel® TBB (Intel® Threading Building Blocks) и посмотрим, куда она нас приведет.

Продолжение ›

Категория: Параллельное программирование
Метки: ,

Модель – для понта, язык – для дела?

vlubch (8 пост(а)) 15.10.2009 15:07
Комментарии (30)

Давайте разберемся, действительно ли, как это часто преподносится, модель для наукообразия или, попросту, – для понта и только лишь язык программирования – для дела? На примере вычисления чисел ряда Фибоначчи мы рассмотрим параллельные идеи в рамках широко известных языков С# и С++.

Продолжение ›

Категория: Параллельное программирование, Разработка софта