Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #1601
| From | "aminer" <aminer@videotron.ca> |
|---|---|
| Newsgroups | comp.programming.threads, comp.programming, alt.comp.lang.borland-delphi |
| Subject | Re: Parallelcompression library was updated to version 2.16 ... |
| Date | 2012-05-19 18:27 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <jp96o0$r2a$1@dont-email.me> (permalink) |
| References | <66958cc4-bb13-433b-b1e5-1375079587ed@s27g2000yqd.googlegroups.com> |
Cross-posted to 3 groups.
Hello, I will try to clarify more this problem that i have solved in version 2.16 ... If you take a look inside the parallelcompression zipfile, inside the file parallelgzip.pas, you will notice that i am using a threadpool engine and inside the TCallbacks.GzipCompress() method i am using GZCompressStream() outside the critical section , this is good for scalability, but inside the same method i am using also a critical section like this: repeat If TParallelGzip(Tjob(obj).obj).count_compress = Tjob(obj).index then begin // i am using some code here Inc(TParallelGzip(Tjob(obj).obj).count_compress); break; end; sleep(0); until false; as you have noticed , in this critical section i am testing like this: If TParallelGzip(Tjob(obj).obj).count_compress = Tjob(obj).index and if you read carefully the code inside parallelgzip.pas you will notice that since i am using a critical section like this , and using a threadpool engine, the threadpool engine must not use work-sealing or this will cause a deadlock inside the TCallbacks.GzipCompress() method, so to correct this problem i had to use for example a FIFO queue for each worker thread to enhance the scalability and completly avoid work-stealing (from the LIFO Stacks.or FIFO Queues). Thank you for your time. Amine Moulay Ramdane. "aminer" <aminer68@gmail.com> wrote in message news:66958cc4-bb13-433b-b1e5-1375079587ed@s27g2000yqd.googlegroups.com... > > Hello, > > Parallelcompression library was updated to version 2.16 , i have > just changed the code inside my threadpool.pas engine inside the > parallel compression zipfile to not use work-stealing , cause work- > stealing > will cause a deadlock in parallelcompression library, so please use > the > threadpool engine that i have provided you inside the > parallelcompression zipfile. > > Description: > > Parallel compression library implements Parallel Gzip , Parallel > Bzip , > Parallel LZMA and Parallel LZ algorithms using my Thread Pool Engine. > > > You can download my ParallelCompression library version 2.16 from: > > http://pages.videotron.com/aminer/ > > > > > Thank you. > > Amine Moulay Ramdane. >
Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar
Parallelcompression library was updated to version 2.16 ... aminer <aminer68@gmail.com> - 2012-05-19 14:30 -0700 Re: Parallelcompression library was updated to version 2.16 ... "aminer" <aminer@videotron.ca> - 2012-05-19 18:27 -0500 Re: Parallelcompression library was updated to version 2.16 ... Gerald Breuer <Gerald.Breuer@googlemail.com> - 2012-05-27 01:02 +0200
csiph-web