Thursday, October 22, 2015

Digest for comp.programming.threads@googlegroups.com - 16 updates in 8 topics

bleachbot <bleachbot@httrack.com>: Oct 21 07:54PM +0200

bleachbot <bleachbot@httrack.com>: Oct 21 08:19PM +0200

bleachbot <bleachbot@httrack.com>: Oct 21 08:45PM +0200

bleachbot <bleachbot@httrack.com>: Oct 21 09:29PM +0200

bleachbot <bleachbot@httrack.com>: Oct 21 10:50PM +0200

bleachbot <bleachbot@httrack.com>: Oct 21 11:12PM +0200

bleachbot <bleachbot@httrack.com>: Oct 22 01:22AM +0200

bleachbot <bleachbot@httrack.com>: Oct 22 02:10AM +0200

Ramine <ramine@1.1>: Oct 21 08:12PM -0700

Hello,
 
 
I was thinking more and more...
 
And now i have come to an interesting subject...
 
Perhaps you will ask me a question as this:
 
Amine, why have you invented your new scalable distributed reader-writer
mutex, and why have you not simply used transactional memory like: Intel
TSX or others..
 
Answer:
 
You have to know that transactional memory is an general purpose
optimistic mechanism, other than that in case of conflicts it can
rollback in a lockfree manner.. so this not good because it can cause
starvation and also it's not energy efficient.
 
But my new scalable distributed reader-writer mutex can be configured
easily to be starvation-free and to be energy efficient using my
scalable RWLockX that is energy efficient because it doesn't spin-wait
but uses my portable SemaMonitor and portable event objects.
 
So all in all my scalable distributed reader-writer mutex is still
an interresting synchronisation mechanism to use, and also my new
algorithm of a scalable reader-writer mutex takes care of false-sharing
and it is now sequential consistent and like in Seqlock or RCU , my new
scalable distributed reader-writer mutex doesn't use any atomic
operations and/or StoreLoad style memory barriers on the reader side, so
it's very fast and scalable..but you have to use the define's option
TLW_RWLockX or the define's option TRWLockX inside the defines1.inc file
for that.
 
 
You can download it from:
 
https://sites.google.com/site/aminer68/scalable-distributed-reader-writer-mutex
 
 
 
Thank you for your time.
 
 
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 07:24PM -0700

Hello,
 
 
I want to share with you this wonderful music of Johannes Linstead:
 
 
https://www.youtube.com/watch?v=GUYfqlAEn1k
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 05:13PM -0700

Hello,
 
I have to be more precise:
 
Object Pascal of the Delphi and FreePascal compilers on x86 doesn't do
any reordering of loads and stores , it just let the Strong Memory Model
of x86 Intel hardware do it, i am only supporting the x86 architecture
of AMD and Intel, so this is easying for me sequential consistency,
because i have only to take care of the following non-guarantee listed
in the x86 spec:
 
"Loads may be reordered with older stores to different locations"
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 04:51PM -0700

Hello,
 
 
I will add to my previous post this:
 
 
Although C++ support the weak memory model that
is error prone for sequential consistency, you are
safe because you can use the following Synchronization
Algorithm Verificator for C++0x called Relacy Race Detector:
 
 
You can find it and download it from here:
 
http://www.1024cores.net/home/relacy-race-detector
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 03:30PM -0700

Hello,
 
 
Ladies and gentlemen, i have looked carefully to C++,
it is a nice programming language, but i have to be frank, the
difficulty that i have found is that i have implemented many projects
like my Parallel Archiver and Parallel Compression Library and Parallel
Sort Library etc. and i have invented many synchronization algorithms
like my SemaCondvar and SemaMonitor and my SeqlockX and my new
Distributed Reader-Writer Mutex etc. and as you have noticed i have done
it with Object Pascal and port them to the FreePascal and Delphi
compilers, and i can tell you that Object Pascal of FreePascal and
Delphi compilers is a beautiful and nice programming language also, so
now you understand me more, my question is then: where can i find all my
projects in C++ ? this is the sad reality, because i can not find them
in c++ and this is why i have choosen Object Pascal as programming
language, more than that you have seen me explaining to you yesterday
that Delphi and FreePascal compilers support the Strong Memory Model as
you find it on the x86 architecture , so that makes Sequential
consistency in concurrency less prone to errors, that's not the case
with languages like C++ that make Sequential consistency difficult to
reason about and more error prone since C++ support the weak memory
model , i think Java is the same as C++, so this is why i am happy with
Object Pascal that easy the things for me in the language and with it's
strong memory model support.
 
 
You can download all my projects from:
 
https://sites.google.com/site/aminer68/
 
 
 
Thank you for your time.
 
 
Amine Moulay Ramdan
Ramine <ramine@1.1>: Oct 21 02:20PM -0700

Hello...
 
 
Ladies and gentlemen , finally i have implemented many projects,
and you can be more confident cause i think that all my projects
are stable and fast now, and as you have noticed, today i think i have
made my new scalable reader-writer mutex a stable version also,
so i think you can be confident with all my projects , try to look
also at my Parallel Archiver and my Parallel Compression Library, i
think i have made them really stable and really fast also... so
all in all i think i have finally attained my goal to make all my
projects stable and fast. And all my projects are freewares
that come with the source code, so if you want to port them to
other languages, please do it.
 
 
 
You can download all my projects from:
 
https://sites.google.com/site/aminer68/
 
 
 
Thank you,
Amine Moulay Ramndane.
Ramine <ramine@1.1>: Oct 21 02:46PM -0700

Hello,
 
 
But read this about my projects:
 
 
***********************************************************
IMPORTANT NOTE:
This softwares are provided 'as-is', without any express or
implied warranty. In no event will the author be held
liable for any damages arising from the use of those
softwares.
Permission is granted to anyone to use those softwares for
any purpose, including commercial applications and redistribute it
freely, subject to the
following restrictions:
1. The origin of those softwares must not be misrepresented,
you must not claim that you wrote the original softwares.
If you use those softwares in a product, an acknowledgment
in the product documentation would be appreciated but is
not required.
 
2. This notice may not be removed or altered from any
source distribution.
***********************************************************
 
 
Disclaimer:
 
Those softwares are provided on an "as-is" basis, with no warranties,
express or implied. The entire risk and liability of using them is
yours. Any damages resulting from the use or misuse of those softwares
will be the responsibility of the user.
 
 
 
Thank you.
 
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 01:55PM -0700

Hello,
 
 
My new scalable distributed reader-writer mutex was updated to version
1.32, i think 1.32 is a stable version now..
 
You can download it from here:
 
https://sites.google.com/site/aminer68/scalable-distributed-reader-writer-mutex
 
 
An i have also updated my scalable RWLock to version 3.3..
 
You can download it from here:
 
https://sites.google.com/site/aminer68/scalable-rwlock
 
 
 
Thank you,
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com.

No comments: