понедельник, сентября 17, 2007

Параллельный LINQ и другие...

В своей статье "Программное обеспечение и параллельная революция" Херб Саттер (Herb Sutter) и Джэймс Лэрус (James Larus) отмечали, что современная программная инженерия стоит перед серьезным вызовом. Стремительно распространяется многоядерная архитектура вычислительных ресурсов, и адекватным ответом со стороны программного обеспечения может быть только повсеместное распространение параллельных вычислений.

И вот, результаты не заставили себя ждать. В октябрьском номере MSDN Magazine опубликована статья Джо Даффи и Эда Эссея "Параллельный LINQ: Выполнение запросов на многоядерных процессорах". По сути это анонс готовящегося к выходу пакета Parallel FX разработкой которого сейчас занимается Microsoft® Research и команда CLR.

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

1 комментарий:

Fahrain комментирует...

Судя по тому, что написано в статье - написание параллельно исполняющегося кода будет очень и очень простым. И это радует. Лично я с нетерпением буду ждать когда они выпустят данную библиотеку