Hi, Just a simple question on the MT_SUBMIT_MT_WAIT test. This test starts three threads, each one submits two jobs and call the drmaa_wait_job() function twice, with DRMAA_JOB_IDS_SESSION_ANY. As all the threads share the same session, all of them are notified when a job finishes. So the test only waits for two jobs. Output from the test: <========================= starting test #41 (MT_SUBMIT_MT_WAIT) submitted job "85" submitted job "86" submitted job "87" submitted job "88" submitted job "89" submitted job "90" waited job "85" waited job "85" waited job "85" waited job "86" waited for last job waited job "86" waited for last job waited job "86" waited for last job successfully finished test #41 ============================> If this test is supposed to wait for the six jobs either each thread wait for its "own" jobs (those submitted in the thread), or each thread waits six times for a DRMAA_JOB_IDS_SESSION_ANY. Regards, Ruben -- +-----------------------------------------------------------+ Dr. Ruben Santiago Montero Associate Professor Dpto. Arquitectura de Computadores y Automatica Facultad de Informatica Universidad Complutense phone : +34 91 394 75 38 28040 Madrid fax : +34 91 394 75 27 Spain email : rubensm@dacya.ucm.es http://asds.dacya.ucm.es/ +-----------------------------------------------------------+ GridWay, The Way to Grid! http://www.gridway.org
Ruben. The DRMA wait() semantics are like that of the POSIX wait() routine. Only one call to wait() will get the notification. Other calls to wait() must remain blocked. Yes, this creates a race condition. Yes, it's harder to implement in some systems. Yes, I've already argued this point with the group. No, I didn't get anywhere. ;) Daniel Ruben Santiago Montero wrote On 04/17/06 13:45,:
Hi,
Just a simple question on the MT_SUBMIT_MT_WAIT test. This test starts three threads, each one submits two jobs and call the drmaa_wait_job() function twice, with DRMAA_JOB_IDS_SESSION_ANY.
As all the threads share the same session, all of them are notified when a job finishes. So the test only waits for two jobs. Output from the test: <========================= starting test #41 (MT_SUBMIT_MT_WAIT) submitted job "85" submitted job "86" submitted job "87" submitted job "88" submitted job "89" submitted job "90" waited job "85" waited job "85" waited job "85" waited job "86" waited for last job waited job "86" waited for last job waited job "86" waited for last job successfully finished test #41 ============================>
If this test is supposed to wait for the six jobs either each thread wait for its "own" jobs (those submitted in the thread), or each thread waits six times for a DRMAA_JOB_IDS_SESSION_ANY.
Regards,
Ruben
-- ****************************************************** * Daniel Templeton UMPK18 x83749 * * Staff Engineer, Sun N1 Grid Engine * ****************************************************** * "What's the sense in never thinkin' 'bout the tomb * * When you're much too busy returning to the womb?" * * -They Might Be Giants * ******************************************************
The DRMA wait() semantics are like that of the POSIX wait() routine. Only one call to wait() will get the notification. Other calls to wait() must remain blocked. Yes, this creates a race condition. Yes,
when a job finishes. So the test only waits for two jobs. Output from the test: <========================= starting test #41 (MT_SUBMIT_MT_WAIT) submitted job "85" submitted job "86" submitted job "87" submitted job "88" submitted job "89" submitted job "90" waited job "85" waited job "85" waited job "85" waited job "86" waited for last job waited job "86" waited for last job waited job "86" waited for last job successfully finished test #41 ============================>
If this test is supposed to wait for the six jobs either each thread wait for its "own" jobs (those submitted in the thread), or each thread waits six times for a DRMAA_JOB_IDS_SESSION_ANY.
With Dan's explanation, it looks more like the test case is wrong. In the above run, it should say "test failed" since all threads returned, but not all submitted jobs where waited. If the group agrees on Dan's statement, then we should change this. Peter.
participants (3)
-
Daniel Templeton -
Peter Tröger -
Ruben Santiago Montero