Могу ответить как человек, имеющий к данной тематике некоторое отношение. :) Пока никак, но должно. Программисты в данном направлении раскачиваются крайне медленно и неохотно. Почему — загадка, хотя я сам могу назвать с десяток (не убедительных) причин. :)
Как пользователь я ничего не знаю, и даже не хочу знать про приоритеты. Я хочу чтобы у меня не тормозило и все. :) Уверен такая позиция вполне имеет право на жизнь. :)
Меняется. Но я о другом. Например, раньше распараллеливали расчет полета тела на нескольких машинах, объединенных в сеть. Теперь отдельно задумываются, как распараллелить еще и на конкретном узле с общей памятью. Могут появляться спайки вида OpenMP+MPI.
А теперь берем пользовательское программное решение под Win32… там даже никто никогда и не задумывался, над таким словом как параллельность! Да, там могут быть потоки, например для фоновой отрисовки прогрессбара. Но это совсем иное. И адаптация подобных программ — терра инкогнито.
При этом адаптация бытовых приложений может быть сложнее, чем усовершенствование некой системы численного моделирования. Архитектура пакета численного моделирования изначально рассчитывается с учетом параллельности. А в обыкновенных приложениях, там не только черти ноги ломать будут. :)
Просто хочу уточнить один момент, почему я постоянно сужать внимание на многоядерных системах и упускаю из виду кластерные системы. Дело в том, что кластеры существуют уже давно и их использование уже отработано. Ничего революционного с кластерами не происходит. Были специалисты, которые работали с кластерами, есть и будут. А вот с многоядерными системами, которые появляются на столах у простых пользователей, совсем другого дело. Для них почти нет ПО. Методы его разработки не развиты. Почти нет разработчиков. Это новое направление. Поэтому и говорить про эти системы намного интереснее.
По поводу Opera. Как продать в ней хорошую параллельность, я не знаю. Зато точно знаю, как продать в комплект к Опере многоядерный процессор. У меня дома относительно слабенькая 2-х ядерная машина. И когда идет процесс компиляции, я не могу нормально посмотреть видео в интернете. Даже если компиляция идет в один поток. Видимо второе ядро в этот момент съедается VS IntelliSense, Касперским и так далее. Причину точно я не знаю, но дискомфорт ощущаю. На работе на машине с 4 ядами, я кажется подобного не замечал.
А возможно он вам и не нужен. В хорошем смысле. Должна чувствоваться потребность в инструменте. Вот тогда есть смысл принимать решение, внедрять его в процесс разработки или нет. Однако разумно быть в курсе возможностей различного инструментария, чтобы знать каким потребностям соответствуют какие решения. Я не предлагаю переходить на какие то инструменты. Я рассказываю о них и предлагаю попробовать.
Совсем не хочется дискутировать на эту тему. Просто замечу, что эта аргументация мне не понятна. Эта месячная зарплата одного нормального программиста. А если такие вложения не окупаются, то что-то не то с проектом, а не с ценой инструментария.
Товарищи, у кого что есть по сути уроков? PDF мы со временем сделаем. Но в начале хочется по возможности выправить ошибки, ляпы, неточности, ошибки. Прошу писать сюда или на почту, кто что заметил, а также просто рекомендации по улучшению. Заранее все спасибо.
habrahabr.ru/company/intel/blog/85645/
А теперь берем пользовательское программное решение под Win32… там даже никто никогда и не задумывался, над таким словом как параллельность! Да, там могут быть потоки, например для фоновой отрисовки прогрессбара. Но это совсем иное. И адаптация подобных программ — терра инкогнито.
При этом адаптация бытовых приложений может быть сложнее, чем усовершенствование некой системы численного моделирования. Архитектура пакета численного моделирования изначально рассчитывается с учетом параллельности. А в обыкновенных приложениях, там не только черти ноги ломать будут. :)