Магистр ДонНТУ Балтин Д.Б
ДонНТУ

ССЫЛКИ ПО ТЕМЕ:

"Модели паттерн-ориентированного параллельного программирования на платформе .NET"

Составитель: Балтин Д.Б.

E-mail:
dima_baltin@mail.ru
Резюме:
Go to my CV
Cтранички в интернете:
http://dimetrius.com.ua
Spring PPI Project

Сайты, посвященные паттернам объектно-ориентированного дизайна

1. Замечательный ресурс, посвященный новым идеям в теме использования паттернов объектно-ориентированного проектирования. Статьи Уорда Каннингема (Ward Cunningham) и Кента Бекка(Kent Beck).
http://c2.com/

2. Сайт Винса Хьюстона(Vince Huston). Исчерпывающее описание паттернов ООП на английском языке, большое количество примеров на С++ и Java. Автор проделал огромную работу по систематизации подходов на основе UML диаграмм.
http://home.earthlink.net/~huston2/

3. Отличный он-лайн тест для проверки Ваших знаний по паттернам (паттерны приведены на основе описания GoF)
http://home.earthlink.net/~huston2/dp/patterns_quiz.html

4. Примение паттернов в контексте реальных задач - примеры исходных текстов на C#.NET
http://www.dofactory.com/Patterns/Patterns.aspx

5. "On this site, you will find the entire Java 2 Platform, Enterprise Edition (J2EE) Pattern catalog from the book Core J2EE Patterns: Best Practices and Design Strategies authored by architects from the Sun Java Center."
http://java.sun.com/blueprints/corej2eepatterns/index.html

6. Сайт Марка Гранда-эксперта по Java и объектно-ориентированному проектированию и паттернам
http://www.mindspring.com/~mgrand/

7. Развернутая статья-интервью с одним из родоначальников паттерн-ориентированного проектирования - Эрихом Гамма(Erich Gamma).
Часть 1-http://www.artima.com/lejava/articles/gammadp.html
Часть 2-http://www.artima.com/lejava/articles/reuse.html
Часть 3-http://www.artima.com/lejava/articles/designprinciples.html
Часть 4-http://www.artima.com/lejava/articles/patterns_practice2.html
Часть 5-http://www.artima.com/lejava/articles/eclipse_culture.html

8. Страничка на сайте Microsoft, посвященная паттернам объектно-ориентированного дизайна
http://msdn2.microsoft.com/ru-ru/practices/default.aspx

9. Статьи, посвященные паттернам на русском портале разработчиков программного обеспечения
http://rsdn.ru/summary/864.xml

10. Данная работа представляет собой обзор нескольких наиболее значительных монографий, посвященных паттернам проектирования информационных систем.
http://www.citforum.ru/SE/project/pattern/

11. Проект Javenue. Описание паттернов с точки зрения Java-программиста
http://www.javenue.info/themes/ood/

12. Статьи, посвященные паттернам
. http://www.realcoding.net/article/rubric/patterns

13. Введение в проектирование с помощью паттернов
http://www.firststeps.ru/theory/patt/pattern1.html

14. Паттерны проиллюстрированы UML диаграммами
http://jug.org.ua/wiki/pages/viewpage.action?pageId=542

Сайты, посвященные паттернам параллельного программирования

15. Сайт, посвященный паттернам параллельного программирования, поддерживается профессорами разных университетов США:
Timothy. G. Mattson(http://www.inkdrop.net/tgmattson/tim/tim-work.htm)
Beverly A. Sanders (http://www.cise.ufl.edu/~sanders/)
Berna L. Massingill(http://www.cs.trinity.edu/~bmassing/)
Описание паттернов приведено на основе книги, вышеуказанных авторов.

http://www.cise.ufl.edu/research/ParallelPatterns/index.htm

16. Один из лучших сайтов с описанием паттернов параллельного программирования и каркасов параллельных программ. Большое количество статей посвященных данной тематике.
http://www.cs.uiuc.edu/homes/snir/PPP/index.html

17. Cайт Марка Снира (Marc Snir) профессора компьютерных наук и главы отдела компьютерных наук в университете Илинойса. Один из ведущих специалистов в области высокоуровневого параллельного программирования.
http://www.cs.uiuc.edu/homes/snir/

Официальные сайты проектов - систем и библиотек параллельного программирования

18. Мой сайт, который посвящен высокоуровневой системе развертывания и программирования для кластера на базе платформы .NET - Spring PPI. Spring PPI предоставляет программисту паттерн-ориентированный инетрфейс для создания параллельных алгоритмов и позволяет использовать любой .NET-совместимый язык, а также все возможности .NET Framework при написании параллельных приложений.
http://springppi.dimetrius.com.ua/

19. Сайт замечательного проекта «Enterprise. Рarallel computing: next generation», во многом опередившего свое время.
http://www.cs.ualberta.ca/~systems/enterprise-overview.html

20. Проект - The CO2P2S (Correct Object-Oriented Pattern-Based Programming System, or "cops"). "Project uses a layered approach to parallel programming in an effort to address correctness and openness, two problems that continue to plague current parallel programming systems."
http://www.cs.ualberta.ca/~systems/cops/index.html

21. Проект - Aurora. "Aurora is a distributed shared data (DSD) system based on a standard C++ class library and run-time system. As with related systems, it provides a shared data programming abstraction on distributed memory hardware"
http://www.cs.ualberta.ca/~paullu/Aurora/aurora.html

22. GAMES Group при университете Альберты. Работа над созданием параллельных алгоритмов для игр.
http://www.cs.ualberta.ca/~games/index.html

23. Титаниум - параллельный диалект Java. "Titanium is an explicitly parallel dialect of Java developed at UC Berkeley to support high-performance scientific computing on large-scale multiprocessors, including massively parallel supercomputers and distributed-memory clusters with one or more processors per node. Other language goals include safety, portability, and support for building complex data structures."
http://www.cs.berkeley.edu/Research/Projects/titanium

24. Проект - The Global Arrays (GA) "provides an efficient and portable “shared-memory” programming interface for distributed-memory computers."
http://www.emsl.pnl.gov/docs/global/ga.html

25. Unified Parallel C (UPC) is an "extension of the C programming language designed for high performance computing on large-scale parallel machines"
http://upc.lbl.gov/

26. "The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms."
http://www.openmp.org

27. "This location contains the official MPI (Message Passing Interface) standards documents, errata, and archives of the MPI Forum. The MPI Forum is an open group with representatives from many organizations that define and maintain the MPI standard."
http://www.mpi-forum.org

28. Проект - NESL is a "parallel language developed at Carnegie Mellon by the SCandAL project. It integrates various ideas from the theory community (parallel algorithms), the languages community (functional languages)"
http://www-2.cs.cmu.edu/~scandal/nesl.html

29. "Charm++ is a machine independent parallel programming system."
http://charm.cs.uiuc.edu

30. "BSP Worldwide - association of people interested in the development of the Bulk Synchronous Parallel (BSP) computing model for parallel programming."
http://www.bsp-worldwide.org

31. "Co-array Fortran - small extension to Fortran 95. It is a simple, explicit notation for data decomposition, such as that often used in message-passing models, expressed in a natural Fortran-like syntax."
http://www.co-array.org

32. Сайт фирмы IBM. "Work in Scalable Parallel Systems focuses on the technologies needed for the design and effective use of scalable parallel systems such as the IBM PowerParallel SP2 or workstation clusters."
http://www.research.ibm.com/parallel_systems/

33. NHSE - a "distributed collection of software, documents, data, and information of interest to the high performance and parallel computing community."
http://www.nhse.org/index.htm

34. The High Performance Fortran Forum (HPFF) - a "coalition of industry, academic and laboratory representatives, works to define a set of extensions to Fortran 90 known collectively as High Performance Fortran (HPF)."
http://hpff.rice.edu/

35. KeLP (Kernel Lattice Parallelism) - a "framework for implementing portable scientific applications on distributed memory parallel computers."
http://www-cse.ucsd.edu/groups/hpcl/scg/kelp/index.html

36. MPICH2 - an "implementation of the Message-Passing Interface (MPI). The goals of MPICH2 are to provide an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors."
http://www-unix.mcs.anl.gov/mpi/mpich/

37. PVM (Parallel Virtual Machine) - a "software package that permits a heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel computer."
http://www.csm.ornl.gov/pvm/pvm_home.html

38. The Paradyn project - "develops technology that aids tool and application developers in their pursuit of high-performance, scalable, parallel and distributed software."
http://www.cs.wisc.edu/~paradyn/

39. "A++/P++ array class library. A++ and P++ are both C++ array class libraries, providing the user with array objects to simplify the development of serial and parallel numerical codes."
http://www.llnl.gov/CASC/Overture/henshaw/documentation/App/manual/manual.html

40.DAGH (Distributed Adaptive Grid Hierarchy) - a "computational toolkit for the Binary Black Hole NSF Grand Challenge Project. It provides the framework to solve systems of partial differential equations using adaptive finite difference methods. The computations can be executed sequentially or in parallel according to the specification of the user. DAGH also provides a programming interface so that these computations can be performed by traditional Fortran 77 and Fortran 90 or C and C++ kernels."
http://www.cs.utexas.edu/users/dagh/welcome.html

41. pC++ - a "portable parallel C++ for high performance computers. pC++ is a language extention to C++ that permits data-parallel style opertations using "collections of objects" from some base "element" class"
http://www.extreme.indiana.edu/sage/overview.html

42. Pfortran programming - "approach eases the task of writing parallel programs for massively parallel computers by providing constructs to coordinate non-local memory accesses."
http://planguages.cs.uchicago.edu//html/pfintro.html

43. Mentat - an "object-oriented parallel processing system designed to directly address the difficulty of developing architecture-independent parallel programs. The MPL is an object-oriented programming language based on C++ that masks the difficulty of the parallel environment from the programmer."
http://www.cs.virginia.edu/~mentat/homepage.html

44. The Globus Toolkit - an "open source software toolkit used for building Grid systems and applications"
http://www.globus.org/toolkit/

45. Parallel Compiler Runtime Consortium - "its objective is to develop a public domain, common runtime infrastructure supporting parallel compiler development and general purpose high level SPMD programming for distributed-memory computers."
http://www.npac.syr.edu/projects/pcrc/

46. Cilk - a "language for multithreaded parallel programming based on ANSI C. Cilk is designed for general-purpose parallel programming, but it is especially effective for exploiting dynamic, highly asynchronous parallelism, which can be difficult to write in data-parallel or message-passing style"
http://supertech.lcs.mit.edu/cilk/

47. Overture - an "object-oriented parallel code framework for solving partial differential equations. It provides a portable, flexible software development environment for applications that involve the simulation of physical processes in complex moving geometry."
http://www.llnl.gov/casc/Overture/

48. Интерфейс ACE - "The ADAPTIVE Communication Environment (ACE) is a freely available, open-source object-oriented (OO) framework that implements many core patterns for concurrent communication software. ACE provides a rich set of reusable C++ wrapper facades and framework components that perform common communication software tasks across a range of OS platforms."
http://www.cs.wustl.edu/~schmidt/ACE-overview.html

49. Библиотека ARCH - "ARCH has been built upon MPI and consists in a set of programming constructs dedicated to concurrent and parallel programming organized around the central notion of threading. The threads are lightweight processes defined and run inside MPI processes as asynchronous event-driven tasks. The library is composed of eight sets of C++ classes"
http://www.cpe.fr/~arch/ARCH-index.htm

Прочие ресурсы


50. Крупный портал, посвященный технологиям параллельного программирования. Поддерживается Научно-исследовательским вычислительным центром МГУ.
http://parallel.ru/
Биография Реферат Библиотека Ссылки Отчет о поиске Индивидуальное задание
© ДонНТУ. Балтин Дмитрий 2007