TechArch

Architektura i jej aspekty technologiczne

dryadLINQ - rozproszone (wieloserwerowe) LINQ

clock 9 września, 2009 13:18 przez author tkopacz

Na stronach Microsoft Research dostępny jest ciekawy projekt dryadLINQ, pokazujący, w jaki sposób w przyszłych wersjach .NET może być wykonywane przetwarzanie rozproszone (to znaczy – wykorzystujące wiele maszyn równolegle pracujących nad jednym rozwiązaniem).

Artykuł opisujący podstawy tej technologii można znaleźć tu: http://research.microsoft.com/en-us/collaboration/tools/dryad_and_dryadlinq-an_introduction.doc . Strona projektu dostępna jest pod tym adresem: http://research.microsoft.com/en-us/projects/dryadLINQ/. Warto też zapoznać się z projektem Dryad (http://research.microsoft.com/en-us/projects/dryad/) w ramach którego został opracowany bazowy algorytm pozwalający na skalowanie obliczeń i przetwarzanie danych. 

Zapoznanie się z nową technologią warto zacząć od przeczytania wprowadzającego artykułu pokazującego, w jaki sposób pisać aplikacje wykorzystujące DryadLINQ - http://research.microsoft.com/apps/pubs/default.aspx?id=66811 . Dostępne jest także Programming Guide - http://research.microsoft.com/en-us/collaboration/tools/dryadlinq_programming_guide.doc 

Produkt można zainstalować po pobraniu z tego adresu: http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx (wersja akademicka). Do działania, dryadLINQ wymaga Windows HPC Server 2008 SP1. Aplikacje można też uruchamiać na maszynie deweloperskiej pod warunkiem dogrania Microsoft HPC Pack 2008 client utilities (jest to część Windows HPC Server a nie SDK ). Można je znaleźć także w wersjach testowych Windows HPC – pod adresem: http://technet.microsoft.com/en-us/evalcenter/cc835241.aspxWarto też zapisać się na stronach Connect - http://connect.microsoft.com/site/sitehome.aspx?SiteID=891 by wziąć udział w testach przyszłych wersji tego produktu.

Pierwszy oceń post!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Transakcyjna pamięć w .NET (STM.NET)

clock 29 sierpnia, 2009 08:03 przez author tkopacz

Na stronie http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx można znaleźć bardzo ciekawy projekt implementujący transakcyjną pamięć w .NET. Dzięki temu można napisać na przykład (fragment jednego z przykładów towarzyszących STM.NET):

[...]
Atomic.Do(() =>
 {
   // Can we grab both forks? If not, retry
   if (bforks[left] || bforks[right])
   {
     Atomic.Retry();
   }
   bforks[left] = true;
   bforks[right] = true;
});

[...]

Warto dokładniej obejrzeć przykład rozwiązania problemu pięciu filozofów. Pokazana jest implementacja wykorzystująca "klasyczne" wątki oraz nową składnię wykorzystującą słowo kluczowe atomic.

Warto też zajrzeć na blog zespołu budującego ten projekt: http://blogs.msdn.com/stmteam/.

Aby zainstalować SDK, należy ściąnąć:

Uwaga! STM.NET dostępne jest tylko w wersji 32 bitowej.

Aktualnie oceniony na 4.5 (2)

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


O autorze

Tomasz Kopacz, Microsoft

Zajmuje się współpracą z architektami oraz projektantami systemów wykorzystujących, między innymi, technologie Microsoft. W ramach współpracy doradza przy wyborze właściwych elementów pozwalających opracować rozwiązanie informatyczne. Zajmuje się również prezentacją wzorców architektonicznych (ze szczególnym naciskiem na koncepcję rozwiązań opartych o SOA – zorientowanych na usługi) oraz szeroko pojętym wykorzystaniem technologii .NET, serwerów Microsoft i różnych narzędzi wspierających prowadzenie projektów.

Zaloguj