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

Read again...

18 views
Skip to first unread message

Ramine

unread,
Nov 26, 2016, 9:29:12 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 where 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.



Mr Flibble

unread,
Nov 26, 2016, 9:34:51 PM11/26/16
to
You posted the same spam post twice so you could correct a single
spelling mistake of "were" instead of "where"? Are you fucking mental?
Mate, fuck off.

/Flibble

Ian Collins

unread,
Nov 26, 2016, 9:41:28 PM11/26/16
to
Why this is marked as abuse? It has been marked as abuse.
Report not abuse
Abusing spam bots now?

--
Ian

Ramine

unread,
Dec 2, 2016, 8:20:09 PM12/2/16
to
Hello..........

Functional programming is stupid

What it wants to sell that it uses pure functions so that it
avoids race conditions, but since Haskel uses Mvars, it is like
blocking queues , it is prone to Deadlocks and to starvation,
so Functional programming doesn't compose well in the parallel
programming world.

So what i advice is to use Object oriented programming with
transactional memory or a scalable reader-writer lock that wraps the
reads and writes, because transactional memory is easy and because
scalable reader-writer lock is easy , so i think it ensure a level of
security that is acceptable.

In the criterion of expressivity and productivity , i don't think
that Functional programming buys much, so i think that Object oriented
progrmming will still be used and a prefered tool in the future.

Ramine

unread,
Dec 4, 2016, 1:46:12 PM12/4/16
to
Hello........

Here is the essence of real programming

I have asked myself the question:

Is programming a science ?

I think real programming uses mathematics, such as:
discrete mathematics, mathematical logic, and mathematics
that help you to calculate the big O space and time complexity
of algorithms, other than that real programming enhance more programming
with more smart technics, and it uses and reuses intelligence in the
form of smart code etc.. so programming by incremental steps and
refinement can attain a higher degree of quality and so thus by
approximation we
can call this real programming science.

Because by definition: what is science ?

Science is called science because it uses intelligence to
attain a higher degree of quality.

Ramine

unread,
Dec 4, 2016, 5:45:13 PM12/4/16
to
Hello.....


Here is my new and more efficient invention that is scalable and that
is composable and that solves the problem of race conditions in
imperative and object oriented languages.

About C++ or ADA or Java etc. and my following enhancement to them...

C++ or ADA or Java etc. must add properties that you can access only
from the constructor and can not be accessed from the methods of the object.

This way you will be able to implement more cleanly my following
new invention:

First you have to call a constructor that will put a number of times the
same global shared variables or all the properties of the object as
pointers for example in there respective FIFO thread-safe queues, many
times because this will scale well for the reader and this is for the
reader side, and for the writer side you have to put only one pointer to
the global shared variable or the property.

And now you have to synchronize like a scalable reader-writer lock the
two queues, one for the readers and one for the writer with locks,
so if you grap the pointer of a property from the readers queue, the
writer queue must contain one item, but if the writer queue doesn't
contain an item the readers will block and wait, and if there is an item
in the writer queue and there is no item in the readers queue, so
the reader will block and wait, and if the writer grap the pointer of a
property from the writer queue , the other writers will block and wait.

This way you will solve the problem of race conditions efficiently for
imperative and object oriented programming, and this solution is
composable, because you can put all the properties of the object this
way on there respective reader and writer queues.

For Deadlocks use this:

Use Lock Hierarchies to Avoid Deadlock

http://www.drdobbs.com/parallel/use-lock-hierarchies-to-avoid-deadlock/204801163
0 new messages