Monday, November 17, 2014

Digest for comp.programming.threads@googlegroups.com - 3 updates in 2 topics

comp.programming.threads@googlegroups.com Google Groups
Unsure why you received this message? You previously subscribed to digests from this group, but we haven't been sending them for a while. We fixed that, but if you don't want to get these messages, send an email to comp.programming.threads+unsubscribe@googlegroups.com.
Ramine <ramine@1.1>: Nov 16 07:01PM -0800

Hello,
 
 
Researchers Simplify Parallel Programming
 
Read the following
 
 
http://cacm.acm.org/magazines/2014/11/179812-researchers-simplify-parallel-programming/fulltext
 
 
 
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Nov 16 03:30PM -0800

Hello,
 
 
I have implemented a more scalable Parallel varfiler that uses my
scalable RWLock in each bucket of the Parallel hashtable, and it can be
used also as a parallel hashtable and that uses ParallelHashList
(Parallel Hashtable) with O(1) best case and when there is collisions in
the hashtable, the average time complexity will be O(log(n)) in each
bucket were the collisions happened. The parallel Hahstable uses lock
striping and my scalable RWLock in each bucket , this allows multiple
threads to write and read concurently. also ParallelHashList maintains
an independant counter , that counts the number of entries , for each
segment of the hashtable and uses a lock for each counter, this is also
for better scalability.
 
ParallelVarFiler is a Parallel HashTable that can be saved automatically
or manually to a file or to a stream or to a string and it can be
restored from a file or from a stream or from a string back to the
Hashtable in memory, and it's fault tolerant to power failures etc.,
When you use a file name in the constructor, many readers and one writer
can proceed concurrently. But when you pass an empty file name to the
constructor, many writers and many readers can proceed concurrently in
memory. and when you read a data item it only use the parallel hashtable
in memory, hardisk is not used.
 
You can collect different types of variables and save them into one file
or stream. TParallelVarFiler reads and writes on files, streams and
Strings. You can collect Strings, Integers and Dates, in fact everything
that can be stored in a variant. In addition you can collect Streams.
 
You can use also ParallelVarFiler to send parameters over network. It
can be used for example to share data by any IPC mechanism.
 
 
An important note:
 
 
I have used my scalable RWLock in each bucket so that it scales better
on multicores, but to scale better on multicores please use a number
of rwlocks equal to 2000 in the constructor.
 
My Parallel Varfiler is now compatible with Delphi 7 to 2007 and
with FreePascal and Lazarus and with all the Delphi XE versions,
please download the zipfile called "parallelvarfiler_srw_xe.zip" for the
Delphi XE versions , and please download the zipfile called
"parallelvarfiler_srw.zip" for the Delphi7 to 2007 and for the
FreePascal and Lazarus.
 
 
You can download my more scalable Parallel Varfiler from:
 
https://sites.google.com/site/aminer68/more-scalable-parallel-varfiler
 
 
I have also implemented a more scalable Parallel Hashlist that scales
better , please download it from:
 
https://sites.google.com/site/aminer68/more-scalable-parallel-hashlist
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Nov 16 03:46PM -0800

Hello,
 
 
I have done some benchmarks on multicores with an x86 Quadcore processor
and Parallel Hashlist (a parallel hashtable) and my Parallel Varfiler
scale in-memory to 3.9x (please look at the test2.pas example inside the
zipfile and test them yourself) , so my Parallel Varfiler and Parallel
Hashlist are great tools ! so i hope you will enjoy my inventions !
 
 
You can download them from:
 
 
https://sites.google.com/site/aminer68/more-scalable-parallel-varfiler
 
and from:
 
https://sites.google.com/site/aminer68/more-scalable-parallel-hashlist
 
 
 
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: