Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
September 28, 2009 10:19 PM PDT
design patterns on parallel programming
Hi Communitie!

I invite you to discuss about all design patterns that are involved on parallel programming!

For example: Singleton pattern

Do you know another?
Do you know a architecture pattern about parallel programming?
Would you like propuse one?( architecture, design or programming pattern )

I wait for your posts!

Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
September 28, 2009 10:41 PM PDT
Rate
 
#1
Sandip H. Mandera
In this link: http://software.intel.com/en-us/articles/visiting-proxy-design-pattern/

Talk about proxy pattern but don't use it on parallel programming.

Do you know another articles on Intel Software network about design pattern on parallel programming?


Gastón C. Hillar
Total Points:
3,181
Status Points:
3,181
Black Belt
September 29, 2009 9:57 PM PDT
Rate
 
#2 Reply to #1
Sandip H. Mandera
In this link: http://software.intel.com/en-us/articles/visiting-proxy-design-pattern/

Talk about proxy pattern but don't use it on parallel programming.

Do you know another articles on Intel Software network about design pattern on parallel programming?

Hi Jose,

There is a very interesting book: "Patterns for Paralllel Programming" covering many design patterns on parallel programming, by Timothy G. Mattson, Beverly A. Sanders and Berna L. Massingill.

Besides, you can find many interesting algorithms covered in Dr. Clay Breshears' "The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications". A must read.

As another example, in my book "C# 2008 and 2005 Threaded Programming: Beginner's Guide", focused on C# parallel programming for beginners and talking about selected threading topics (not a full reference guide), I've used the factory method class creational pattern to create classes prepared for inheritance and hence simplifying the creation of parallelized code. Besides, another useful pattern whilst working in C# and C# 3.0 threading model is the observer object behavioral design pattern, also known as dependents and publish-subscribe. That's from my experience.

However, now that C# 4.0, .Net 4.0 and Visual Studio 2010 is in Beta 1, the new light-weight threading model allows to use many other patterns that were very difficult to use in previoous C# and .Net versions.

Cheers,

Gaston
--------
Gastón C. Hillar


Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
September 30, 2009 10:43 PM PDT
Rate
 
#3 Reply to #2
Thanks for your help Gaston!
=D

Two more questions ( please! )

(1) Do you know another references about "design pattern on parallel programming" on the web?

(2) About your response " the new light-weight threading model allows to use many other patterns that were very difficult to use in previoous C# and .Net versions"

Could you give us ( me and people that read this posts ) links or books references about this subject? Please, it's very important for the new version of MsVS2010

Best regards!
=D

jam


Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
October 1, 2009 11:24 PM PDT
Rate
 
#4
This night I found a mexican that work on "architectural  patterns for parallel programming". I'm reading some articles and I thinks that is very interesting.

Link: http://www.cs.ucl.ac.uk/staff/J.Ortega-Arjona/research_eng.html

I hope this link will be useful for everyone!

best regards.

jam



Gastón C. Hillar
Total Points:
3,181
Status Points:
3,181
Black Belt
October 5, 2009 2:51 PM PDT
Rate
 
#5 Reply to #3
Thanks for your help Gaston!
=D

Two more questions ( please! )

(1) Do you know another references about "design pattern on parallel programming" on the web?

(2) About your response " the new light-weight threading model allows to use many other patterns that were very difficult to use in previoous C# and .Net versions"

Could you give us ( me and people that read this posts ) links or books references about this subject? Please, it's very important for the new version of MsVS2010

Best regards!
=D

jam

Hi Jose,

(1)
I don't know another references on the web.

(2)
I've explained how to create producer-consumer patterns using the new concurrent collections in my aforementioned book. With VS2010 and .NET 4.0, it will be easier to use the concurrent collections to work with pipelines and producers-consumers. You won't have to worry about locks as they are lock-free concurrent collections.

I'll be working on books and on posts about these topics. I'm waiting for VS 2010 Beta 2. :)

Best regards,

Gaston
--------
Gastón C. Hillar


Gastón C. Hillar
Total Points:
3,181
Status Points:
3,181
Black Belt
October 5, 2009 2:56 PM PDT
Rate
 
#6 Reply to #4
This night I found a mexican that work on "architectural  patterns for parallel programming". I'm reading some articles and I thinks that is very interesting.

Link: http://www.cs.ucl.ac.uk/staff/J.Ortega-Arjona/research_eng.html

I hope this link will be useful for everyone!

best regards.

jam

Hi Jose,

Thanks for the link. Very interesting information.

Just a small issue: Most parallel patterns are designed to take advantage of old parallel architectures. With new NUMA hardware, some patterns have to be redesigned taking into account the new constraints and benefits.

However, this is something new and there's a lot of people working on new ideas for the new architectures. I'm one of them. I'll be posting my ideas on ISN.

Feel free to contact me. I'm very interested on patterns for parallel programming.

Best regards,

Gaston

--------
Gastón C. Hillar


Paul Steinberg (Intel)
Total Points:
6,454
Status Points:
6,454
Community Manager
October 7, 2009 12:24 PM PDT
Rate
 
#7 Reply to #6
Hi Jose,

Thanks for the link. Very interesting information.

Just a small issue: Most parallel patterns are designed to take advantage of old parallel architectures. With new NUMA hardware, some patterns have to be redesigned taking into account the new constraints and benefits.

However, this is something new and there's a lot of people working on new ideas for the new architectures. I'm one of them. I'll be posting my ideas on ISN.

Feel free to contact me. I'm very interested on patterns for parallel programming.

Best regards,

Gaston

Hi Jose (and everyone),

Another interesting source on work towards parallel design patterns is being done at the ParLab at the University of California Berkeley.  The Lab under the leadership of  Kurt Keutzer & Dave Patterson is funded by Intel and Microsoft. 

Lab URL - http://parlab.eecs.berkeley.edu/
Link to Lab wiki on Pattern Language for Parallel Programming  - http://parlab.eecs.berkeley.edu/wiki/patterns/patterns

Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
October 7, 2009 8:30 PM PDT
Rate
 
#8 Reply to #5
Hi Gastón!

Thanks for your reply, I'm try to get your books and I'm wating the news!
=D

jam



Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
October 7, 2009 8:42 PM PDT
Rate
 
#9 Reply to #6
Hi Gaston!

About NUMA, these are links for introduction of this technology:

[1] David E. Ott. Optimizing Software Applications for NUMA.  DDJ Magazine.
http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=218401502

[2] Jie Tao, Martin Schulz, Wolfgang karl.SIMT/OMP : A toolset to study and exploit memory locality for OpenMP Applications on NUMA Architectures.Springer Verlag.
http://books.google.com.mx/books?id=5ZlVI1bHMMgC&pg=PA41&lpg=PA41&dq=%2Bnuma+%2B%22parallel+programming%22&source=bl&ots=BGtcwHgV8c&sig=kbyGaGWmw2nO6m85QAAetLsyP7c&hl=es&ei=ZE_NSuqpBtSY8AbUhuGEBA&sa=X&oi=book_result&ct=result&resnum=1#v=onepage&q=%2Bnuma%20%2B%22parallel%20programming%22&f=false

I'll check if the last references ( mexican investigator ) don't used NUMA.

Best regards.

jam



Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
October 7, 2009 8:47 PM PDT
Rate
 
#10 Reply to #7
Hi Paul!

Thanks you for your links!

In the first is included one article of ACM on October 2009, this is now!
=D

Best regards

jam



Gastón C. Hillar
Total Points:
3,181
Status Points:
3,181
Black Belt
October 8, 2009 3:56 PM PDT
Rate
 
#11 Reply to #10

Hi Jose and Paul,

Thanks for the link. All of them are really interesting.

Let me add a new one. Today, Michael McCool (Intel, co-founder of RapidMind) added a blog post on ISN talking about... patterns for parallel programming!

This is the link to his post: http://software.intel.com/en-us/blogs/2009/10/08/on-platforms-patterns-and-parallelism/

It is also worth taking a look at his series Structured Patterns: A Basis for a High-Level Parallel Programming Standard

Great post and great information. :)

Cheers,

Gaston
--------
Gastón C. Hillar


Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
October 9, 2009 9:35 PM PDT
Rate
 
#12 Reply to #11
Hi Gaston, I was checking your last links and those patterns are not the same patterns of the begining.

Those patterns are only on programming level for detect parallel programming, but in the firsts posts we talked about singleton design pattern and those links are differents. But I recognize that those patterns are interesting

thanks for all,

best regards

jam



vu64
Total Points:
610
Status Points:
110
Brown Belt
October 17, 2009 4:54 AM PDT
Rate
 
#13 Reply to #12
Hi Gaston, I was checking your last links and those patterns are not the same patterns of the begining.

Those patterns are only on programming level for detect parallel programming, but in the firsts posts we talked about singleton design pattern and those links are differents. But I recognize that those patterns are interesting

thanks for all,

best regards

jam


I think the new perspective on design patterns are not only object-oriented ones. Patterns are accumulated in every aspect of software development. Posts on the RapidMind blogs are very interesting and mind-broadening anyway.

Jose Jesus Ambriz Meza
Total Points:
1,277
Status Points:
777
Brown Belt
November 5, 2009 6:37 AM PST
Rate
 
#14 Reply to #13
Quoting - vu64

I think the new perspective on design patterns are not only object-oriented ones. Patterns are accumulated in every aspect of software development. Posts on the RapidMind blogs are very interesting and mind-broadening anyway.

Hi!

It's correct your comment "design patterns are not only object-oriented" they exists in the first day when programming born.

Best regards

jam




Intel Software Network Forums Statistics

8484 users have contributed to 31619 threads and 100691 posts to date.
In the past 24 hours, we have 34 new thread(s) 123 new posts(s), and 181 new user(s).

In the past 3 days, the most popular thread for everyone has been gemm(A,A,A) like possible? The most posts were made to gemm(A,A,A) like possible? The post with the most views is Dear Steve, excuse me for a d

Please welcome our newest member monkeybrains