Обновить
129

Azure Solution Architect

122
Подписчики
Отправить сообщение
А теперь вопрос на засыпку, как в бизнес приложениях помогает мощность графических карт и ускорителей?

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

Большая часть бизнес задач на gpgpu бонально не лягут. Ограничение по памяти на карте сейчас 6гб если правильно помню. Сначала из памяти скопировать надо данные, потом посчитанные забрать с карты- это уже не быстро.

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

Так, что мощность мощностью, но Вы уж оговорите сразу, что она в 99% случаев бесполезно. И что писать придется на расширении языка С, что нужны специальные алгоритмы, задачи и вообще требуется обалденная квалификация программиста, что бы все это сделать. И самая большая загвоздка, что задачи то на такую архитектуру не лягут!

А так, реклама рекламой
Где то консоль реально полезно, где то нет. Ходить на кластер по ssh тут конечно gui не поможет. Еще много где gui не поможет.
Но
После опыта набора кода в миднайт командоре я готов молиться на visual studio и ее разработчиков.
То, о чем я мечтал последние года 2 сбылось.
Еще бы научит это счастье подцеплять с codopex некоторые проекты и было бы вообще счастье.

p.s. сейчас набегут определенные личности и скажут что в их ОС такая система уже 30 лет и ms все опять слизал…
смена языка в рамках близкого синтаксиса- C++/Java/C# это не проблема. Понятно, что если перейти с C++ на lisp то будет жестоко… думаю примерно за месяц можно вполне уверенно себя чувствовать на новом языке в рамках схожих синтаксически языков

проблема в смене платформы. по личному опыту переход с .net на java крайне тяжел. есть конечно дикое число аналогов библиотек и даже прямых портов, но что касается конкретно веб программирования, десктоп то тут тяжелее. Допустим есть 3-4 фреймворка для вебсервисов на java. на .net 1 wcf и что выбрать не знаешь и подходы разные. в общем язык- ерунда. а вот платформа- это дико сложно
Erlang был создан с другой целью.
если очень коротко… Параллелизм- не цель. Цель решить задачу. Если задача решается в 1 поток, то не какого параллелизма не нужно.
Когда говорят о параллельных вычислениях сразу имеют ввиду, что просто считать много надо. А Erlang- это все таки во первых язык не математиков, которые в большинстве и пишут софт, которому нужен кластер.(им и с/fortran хватает. и как правила дальше массивов, списков, циклов и условий им язык знать не надо.)
А во вторых- erlang все таки создан для систем реального времени типа атс… а не для числодробилки. попробуйте на коммутаторе проводить расчеты… они просто не для того. Производительность+многопоточность+ многомашинность. вот зачем эта библиотека нужна.!!!

По этому обертка над mpi на java- это очень хорошая вещь.
Реальный пример… Вы пишете прототип быстрый на java. потом понимаете, что добавив 10 строк получите версию для кластера, а на плюсы будите месяц переписывать. Для задачи счетной на 100+ часов но менее 1000 я бы и C# и java бы использовал.
У меня вопрос, как человека, который пытался это счастье применить…
Скачав по той же ссылку, у меня были проблемы с отсутствием класса MpiException.
И при попытке скомпилить была естественно ошибка.
Вы его написали сами, или я дурак не смог найти этот класс? Потому, что в jar нике не было этого класс- это точно.

Кстати, я хоть и не был на школе MS в 2009 по HPC, но не в регалиях дело.
Вы бы сразу уточнили, что для работы на кластере эта штука именно, дали ссылочку на стандарт mpi (ну хоть в пару предложений сказали, что есть различные имплементации от ms, intel и тд. понятно что ms версия не для linux).
О том, что есть различные оболочки поверх mpi оригинального (c/fortran)на Java/.Net

Люди любят магические мантры типа параллельного программирования. Вы бы хоть чуток просветили тех, кто первый раз то…
Давайте Офтоп в конце. Я после такого офтопа собраться не могу…
Вопрос на засыпку:
Я вот хочу зарегистрироваться на проекте и попробовать заполнить там страницу. Но убейте не понимаю куда вводить данные. Куда писать тем кто готов поучаствовать в закрытом бета тестировании? Почту в поле ввести- не проблема, а дальше то что?

И еще один вопрос- Надеюсь все это будет индексироваться поисковиком и открыто без регистрации на просмотр?

Не считайте студентов- тупыми.

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

Мы у себя в вузе МГУПИ MSDNAA развернули. Сейчас упрощаем система активации аккаунта. А вот реклама-это то что действительно нужно. Тк мы программисты, а не рекламщики.
Ну пока Вы по сути рекламу даете. Я это все использую уже скоро, как год и по скольку не вижу в ней, то что в статьей должно бы быть, то и высказываю свое мнение о не полноте. Описать в 2 слова, что можно конфигурировать — это вода.

Напишите примеры ко всему, что словами описали! Иначе можно просто ссылки на msdn делать было и на главы в книжке. Благо в книжке Pro Parallel Programming in .Net 4.0 все описано на столько детально, что даже не зная английски можно все прекрасно понять.

Вы конечно, можете сказать, что я зря придираюсь, мол если не нравится напиши свою статью с блэкджеком и ****. Но то, что я не пишу статьи эти объясняется тем, что я пишу сейчас по этому поводу вебкаст для techdays.
И такие вводные статьи как пишите Вы я уже видел даже на хабре, если поковыряться в блоге .Net за весну 2010, а может и ранее
Если я правильно понимаю, то под разделяемыми данными подразумевается борьба с Гонками Данных с использованием concurrent collections
А синхронизация- ну и примитивы синхронизации и различные barrier, countdown event, мьютексы и так далее. Это не те, что используются для стандартных тредов еще времен 2.0 .net, а именно те, что появились в 4.0
Хорошо, конечно что Вы пишите по этой теме, но что то Вы ну совсем по чайной ложке за статью выдаете. Про Партишенинг данных я писал как то более подробно
habrahabr.ru/blogs/net/92354/
Вы ну совсем не написали, ни про свойств- MaxDegreesOfParallelism
Совсем нет, про возможность остановки циклов. Ну совсем вода.
Если Вы хотите написать 100 статей, то после 3 статьи ни кто читать не станет. Слишком много текста, но по сути 99% воды.
Практически, чтобы получить ускорение нужно тяжелый запрос сделать. ну хотя бы на пару секунд. Иначе нет смысла даже париться.
А что там не понятного то в plinq. директива AsParallel спасет мир. Ставится ограничение на количество выполняемых потоков, если правельон помню, можно еще Шедулер свой подставить.
Вроде бы ранее еще и ошибка могла выпасть не 1 а множество, и по этому отлавливать надо было не nullreference exeption, а другую(упамятовал сейчас какую. Общий смысл, что это ошибка, которая внутри себя имеет массив ошибок, с длинной от 1, до числа потоков, на которых запускалось вычисление выражения )

Так, что вроде как plinq- это вторая часть по прозрачности, после FOR, Foreach

В книге, как раз по моему это и указывается. Там постоянно паттерн- map-reduce и получатель отправитель фигурирует. Так, что особо ничего сложного вроде.
Кругозор, общее понимание- это не плохо. Я сейчас python в реинкорнации ironpython изучаю, тк функциональные языки я не воспринимаю. Так сказать, первый шаг к пониманию, а то совсем закостенеет мозг.

Что из функциональных языков в C# пришло только простое и лучшее-это хорошо. Но даже Linq довольно не просто для начала, и далеко не все его применяют. Меня вот научил именно Resharper применять простейшие linq выражения для агрегации данных. То, что Resharper пытается все пометить какReadOnly- это не ФП, это элементарный принц минимума привилегий. Переменные, которые не меняются, должно быть объявлены константами.

Есть многие вещи, которые не понятны. То же каррирование, функции высших порядков. Вот какие вещи как цитирование в Nemerlie лично для меня остается загадкой. Был 7 числа доклад в НИВЦ МГУ про расширяемые языки, как раз на примере nemerlie. Я в итоге понял, что это все попахивает шаманизмом.
Код даже элементарный становится ну совершенно не читабельным.

Просто от этой Рекламы, у многих уже башня съела. Все уверены стали, что одни они F# не знают и не пишут на нем. И надо срочно его изучать. Это прям как вирус. Все быстро встали и пошли бороться за демократию и отдавать деньги в МММ. 50 лет функциольные языки не могут составить достойной конкуренции обычным императивным в энтерпрайз разработке, да и много еще где, а вот как вышел F# и реклама по нему такая пошла убойная, так все срочно поверили, что функциональщина- это круто.

Извините, за оффтоп. Просто накипело. Есть тут коллеги, такие же молодые как и я, у них просто мозг промыт этой рекламой.
Следующая статья будет по Task и объектам синхронизации как я понимаю?
Меня вот поражает сила pr технологий.
На F# как и на остальных языках пишут 1% людей, но в каждой статье про C#, кто-нибудь о функциональщине да вспомнит.

openmp для плюсов, tpl для C#-это способ быстрого распараллеливания последовательного кода. находится тяжелый цикл и быстро правится на Parallel.For Parallel.Foreach.(#pragma omp parallel for).
Это идеология. Быстро распараллелить последовательный код.

Если пишешь на функциональном языке- то это уже не укладывается в рамки идеологии, быстрого распараллеливания последовательного кода. Тут сразу сидишь и взрываешь мозг как это вообще представить в функциональной парадигме.

Нужно провести опрос:
Вот сколько читателей этой статьи написало больше, чем Hellow Word на F#
И при этом, кто задумывался о том, что бы вообще F# попробовать.
Думаю благодаря рекламе, хотели попробовать все, а сложнее hellow word писала 1-2 человека на тысячу .net программистов
Если хочется писать, что то более специфичное, чем банальные параллельные for foreach тут придется писать уже на Task в .net 4.0.
Больше всего замечал 3-4 пункты.
Пункт 3. Меня всегда очень радуют рассказы про командную работу ИТконторах, но всегда вспоминаю нашу систему на работе. Я бы ее назвал Гипертриденг- это когда у каждого свой набор задач. Причем ни как не пересекающихся и задач всегда больше 1, что бы нагрузить человека. Вдруг у него с одной задачей будет заминка(ну там время на кластере выделено только через месяц и до этого делать ну реально нечего), что бы мог заняться другой задачей.

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

Какая то у вас странная позиция. Вот для этого куплю, для этого не куплю.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность