Hi, My thesis is related to Application-aware Inter-processor Communication. Based on memory access patterns of the application, system could help in reducing running time of some applications.
*That is why*, I was looking to build a producer-consumer kind of example, with which I would like to compare running times of existing protocol with the modified protocol. I made modifications to the Ruby MESI_cmp_dir protocol but got stuck with the application part. I tried using the parmacs implementation of pthreads to write producer-consumer kind of example. But it gives the same error as it gives while compiling given splash2 benchmarks, i.e., *collect2: ld terminated with signal 11 [Segmentation fault] /home/prasanth/Desktop/alpha-unknown-linux-gnu/bin/../lib/gcc/alpha-unknown-linux-gnu/3.4.3/../../../../alpha-unknown-linux-gnu/bin/ld: BFD 2.15 assertion fail /z/hsul/work/crosstool/crosstool-0.42/build/alpha-unknown-linux-gnu/gcc-3.4.3-glibc-2.3.5/binutils-2.15/bfd/elf64-alpha.c:3645 make: *** [test_pthread] Error 1* I read in documentation that parmacs implementation was written for Unix Tru64 and we need Tru64 system to compile them. *Does it mean that I couldn't use pthreads at all to create my application in SE mode or is there any way? *I couldn't use FS mode because i am working in Embedded domain and cannot use systems with OS and Virtual Memory. I tried to use Inter-process Communication methods, forking processes and using a pipe for communication between producer and consumer. But those system calls are not implemented in SE mode so I couldn't use them. I used Ruby's Random Tester and simulation completed without given any errors. I think it would have shown errors in terminal if some transitions for some states on some events are missing or some similar errors were made by me in the protocol definition. Thanks for replying. Sorry for such a long mail. Please give me some hint on what lines I could go ahead to find a solution to my problem in SE mode. On Wed, May 25, 2011 at 1:38 AM, Nilay <ni...@cs.wisc.edu> wrote: > On Tue, May 24, 2011 2:40 pm, prasanth wrote: > > Hi, > > > > I am working on some changes related to cache coherence protocol. For > this > > I > > modified Ruby's MESI_CMP_dir protocol. Now to test it, I need a setup as > > follows: > > > > A producer program running on one processor writes to some memory > > location, > > and a consumer program running on another processor should be able to > read > > this > > data. > > > > Actually this involves sharing of data between both the processors and > > will help > > me test the modified cache coherence protocol. > > > > I cannot use FS mode, as it involves Operating System. > > > > I was seeing that pthreads library is not completely supported in SE > mode. > > > > I have a restricted environment here. So is there a way, I could use > > existing > > parmacs, pthreads, m5 syscalls together in building such type of a > program > > and > > running it on m5 simulator with Ruby Memory System. > > > > Thanks & regards, > > > > Prasanth, I suggest using Ruby's random tester for testing the changes > made to the protocol. The relevant script is > configs/example/ruby_random_test.py > > -- > Nilay > > _______________________________________________ > gem5-users mailing list > gem5-users@m5sim.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- B Saratchandra Prasanth <http://www.cse.iitd.ernet.in/%7Emcs092094> Graduate-student in Computer Science Dept. of Computer Science & Engineering<http://www.cse.iitd.ac.in/index.shtml> Indian Institute of Technology, Delhi <http://www.iitd.ac.in> New Delhi - 110016 Ph. No. 9555918314
_______________________________________________ gem5-users mailing list gem5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users