Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What have i learned in Parallel programming during all my years of learning ?

4 views
Skip to first unread message

Ramine

unread,
Nov 26, 2016, 9:17:36 PM11/26/16
to
Hello....

What have i learned in Parallel programming during all my years of
learning ?

There is an important factor in programming that is called
scalability, and that's were i have specialized in parallel programming,
for example you have the criterion that is called maintainability, and
this factor called maintainability is in relation with scalability,
because if you want to make your code more maintainable you have to
learn the guidelines and the programming patterns to know how to scale
more on the the criterion of the cost of the time that you need to
maintain your program, and this is what you are learning on this C++
group also with templates etc., reusability is another criterion that is
in relation with scalability, because what you are trying to do is make
your classes and functions and programs reusable so that you can scale
on productivity for example.. portability is also another criterion that
is in relation with scalability, because when your code is portable you
will be able to run your code on more operating systems and hardwares
and that's scalability also.. on parallel programming that's the same,
you want your code and program to be scalable.

So here is what i have learned more, and how i have made my parallel
programming more scalable:

Take for example my efficient Threadpool engine with priorities that
scales well, here it is:

https://sites.google.com/site/aminer68/an-efficient-threadpool-engine-with-priorities-that-scales-well

So if you take a look at it, here is that i have made to make it scale
well:

1- minimize at best the cache-lines transfers, by using multiple queues
or multiple stacks, and by using lock-striping and by minimizing the
the cache-line transfers inside the queues or stacks by using a
better algorithm.

2- It uses work-stealing to be more efficient.

3- It can use processor groups on windows, so that it can use
more than 64 logical processors , so that it scales well.

4- It's NUMA-aware and NUMA efficient.


That's how i have learned more to make my programs more scalable.



Thank you,
Amine Moulay Ramdane.




0 new messages