r1 - 01 Jun 2005 - 13:42:04 - Alexander MoskovskyYou are here: TWiki >  OPENTS Web > Skeletons > SkeletonPartrans
Т-величины во входном векторе нам нужны только затем, чтобы определить гранулу параллелизма. Но, определение тяжести гранулы, в идеале, НЕ ДОЛЖНО БЫТЬ ЗАБОТОЙ ПОЛЬЗОВАТЕЛЯ!!! Целевая платформа может поменяться (например, приложение может перейти из кластера в распределённую систему).

Значит, мы должны определять это каким либо образом сами. Есть два пути:

1) Статический

2) Динамический

Первый - каким либо образом (либо через специализацию (что может быть плохо), либо через другое имя функции и параметры заставить пользователя сказать, что вызовы лёгкие и их надо как-то сгруппировать.

Второй мне кажется существенно более любопытным - сделать адаптивную схему, которая САМА определяет тяжести гранул (замеряет время) на тестовом прогоне, и "склеивает" вызовы функции-преобразователя так, чтобы накладные расходы оправдывались бы. Неплохо было бы, если бы информация о замерах сохранялась между запусками функции - очень часто бывают итеративные схемы, чтобы кажды раз не перезамерять... Про что-то похожее я читал у Cactus Code. В принципе, partrans можно оставить, как он есть, а сложности накручивать сверху .

Таким образом, следование архитектурным принципам может привести к интересным результатам smile

-- Alexander Moskovsky - 01 Jun 2005

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r1 | More topic actions
 
Powered by TWiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback