среда, 14 сентября 2011 г.

Агент Асинхронность, ваш выход!

В предыдущей заметке я постарался объяснить, почему попытка решить задачу распараллеливания "в лоб" может потерпеть фиаско. И рассказал о модели рабочих элементов – самом распространённом паттерне параллельного мира, призванном эффективно решать задачу масштабирования. Пришла пора поговорить о его недостатке...

четверг, 1 сентября 2011 г.

Сделайте мне параллельно

Мир изменился – закон Мура перестал работать. Производители чипов более не могут увеличивать тактовую частоту процессоров с такой интенсивностью, с которой они это делали в конце 90-ых. Чтобы удовлетворить всё нарастающие аппетиты индустрии в новых мощностях, они вынуждены пойти по пути наращивания числа ядер. Для программиста этот путь означает следующее: если раньше он мог быть абсолютно уверен, что через полгода на новом процессоре даже без усилий с его стороны приложение будет работать в разы быстрее, то теперь, если он не позаботится заранее о хорошей степени параллелизма своего приложения, замена процессора на более новый не приведёт к росту производительности. Так как же добиться правильного параллелизма – об этом и поговорим в этот раз.