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

Reply via email to