[so] [Tema2][lin] mesaje

Daniel CIOCÎRLAN daniel.ciocirlan1607 at cti.pub.ro
Tue Apr 9 17:26:12 EEST 2013


Merci, Adrian. 

La recv, dimensiunea de primit trebuie sa fie mai mare decat msgsize-ul din attr. Am rezolvat asta.

Acum am intampinat altceva, pe care nu reusesc sa mi-l explic. La testul cu Ring, la _prima_ rulare a mpirun, primesc cateodata (cu afisarile mele de debug) urmatoarele:

(5) Received tag = 4096 from 0 via /mpi_queue_5
(0) sending tag = *13* to 1 via /mpi_queue_1
Assertion fail_if(stat.MPI_SOURCE != rank - 1) failed at test_ring.c:43
(2) Received tag = 4096 from 0 via /mpi_queue_2
Assertion fail_if(stat.MPI_SOURCE != rank - 1) failed at test_ring.c:43
(3) Received tag = 4096 from 0 via /mpi_queue_3
Assertion fail_if(stat.MPI_SOURCE != rank - 1) failed at test_ring.c:43
(1) Received tag = 4096 from 0 via /mpi_queue_1
Assertion fail_if(stat.MPI_TAG != TAG) failed at test_ring.c:44
(4) Received tag = 4096 from 0 via /mpi_queue_4

(dupa care se blocheaza, evident, pt ca unele procese ies dupa fail_if)

unde mesajele sunt de forma 
($rank) primeste $tag de la $expeditor via $nume_coada.

Nu inteleg de unde vine treaba cu 4096... TAG-ul din sursa test_ring era 4097, m-am gandit ca are vreo legatura, din care cauza l-am modificat in 13 (vezi mai sus primul mesaj). Dimensiunea pachetelor mele aveau intamplator 4096, dupa care am modificat-o. Am verificat iar attr-ul cozilor, ele au 8192. Nu inteleg de unde 4096, tot timpul cand primesc treaba asta.

Am zis ca asta se intampla cateodata la prima rulare, dupa care totul merge frumos. Am alocat la inceput si distrus toate structurile IPC la sfarsit. 

Care ar fi problema? A mai dat cineva peste asta?

Merci mult
Dan
________________________________________
From: so-bounces at cursuri.cs.pub.ro [so-bounces at cursuri.cs.pub.ro] on behalf of Adrian Sendroiu [molecula2788 at gmail.com]
Sent: Tuesday, April 09, 2013 3:16 PM
To: Sisteme de Operare
Subject: Re: [so] [Tema2][lin] mesaje

Daniel CIOCÎRLAN <daniel.ciocirlan1607 at cti.pub.ro> writes:

> Salut,
>
> Mai am o problema cu dimensiunea mesajelor. Cu debug-ul meu, primesc
>
> Trying to receive 4104 bytes out of 8192 maximum
> Trying to send 4104 bytes out of 8192 maximum
> (unix_queue.c, 120): mq_recv: Message too long
>
> Unde 4104 e dimensiunea mesajului de il trimit/primesc, 8192 e
> dimensiunea msgsize din attr-ul cozii. Receive-ul stiu ca blocheaza
> daca /coada e goala, deci nu cred ca e important ca primesc output de
> la receive intai si de la send dupa.
>
> Unde ar putea fi problema?

Am zis in mailul de dinainte de ce iti poate da eroare si la receive.

Alternativ, vezi man mq_receive, primul paragraf.
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii



More information about the so mailing list