[M3devel] Native threading

Dragiša Durić dragisha at m3w.org
Mon Sep 8 20:19:48 CEST 2014


It looks like OS X cannot fork as much as we would like :).

-iters 100 and -iters 300 finishes. -iters 1000 slows machine down, it does not break but current user cannot fork anymore, anywhere on the box.

Thread test does Join after Fork - it looks like implementation issue or pthreads @ OS X issue. Somebody is not cleaning up.

On 07 Sep 2014, at 12:33, mika at async.caltech.edu wrote:

> That's great news!
> 
> I would try it with
> 
> "-iters 100000 -n 20 -tests ALL"
> 
> that seems to be among the toughest you can set up.
> 
> There may well be warnings about starvation/deadlock, but those are OK under these conditions.
> 
>    Mika
> 
> Tony Hosking writes:
>> 
>> --Apple-Mail=_483BE841-4972-4BFD-8336-BD261CD93863
>> Content-Transfer-Encoding: quoted-printable
>> Content-Type: text/plain;
>> 	charset=us-ascii
>> 
>> The version of ThreadPThread I just checked in passes the threadtest =
>> stress test on OSX with no failures:
>> 
>> Writing file...done
>> Creating read threads...done
>> Creating fork threads...done
>> Creating alloc threads...done
>> Creating lock threads...done
>> running...printing oldest/median age/newest
>> ..........laziest thread is 1/0/0 (tests: read 0/0/0 fork 1/1/1 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 1/0/0 (tests: read 0/0/0 fork 1/1/1 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 1/0/0 (tests: read 0/0/0 fork 1/1/1 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> ..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc =
>> 0/0/0 lock 0/0/0)
>> All tests complete.  Congratulations.
>> 
>> 
>> Antony Hosking | Associate Professor | Computer Science | Purdue =
>> University
>> 305 N. University Street | West Lafayette | IN 47907 | USA
>> Mobile +1 765 427 5484
>> 
>> 
>> 
>> 
>> 
>> 
>> --Apple-Mail=_483BE841-4972-4BFD-8336-BD261CD93863
>> Content-Transfer-Encoding: quoted-printable
>> Content-Type: text/html;
>> 	charset=us-ascii
>> 
>> <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
>> charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
>> -webkit-nbsp-mode: space; -webkit-line-break: =
>> after-white-space;"><div>The version of ThreadPThread I just checked in =
>> passes the threadtest stress test on OSX with no =
>> failures:</div><div><br></div><div><div style=3D"margin: 0px; font-size: =
>> 10px; font-family: Monaco;">Writing file...done</div><div style=3D"margin:=
>> 0px; font-size: 10px; font-family: Monaco;">Creating read =
>> threads...done</div><div style=3D"margin: 0px; font-size: 10px; =
>> font-family: Monaco;">Creating fork threads...done</div><div =
>> style=3D"margin: 0px; font-size: 10px; font-family: Monaco;">Creating =
>> alloc threads...done</div><div style=3D"margin: 0px; font-size: 10px; =
>> font-family: Monaco;">Creating lock threads...done</div><div =
>> style=3D"margin: 0px; font-size: 10px; font-family: =
>> Monaco;">running...printing oldest/median age/newest</div><div =
>> style=3D"margin: 0px; font-size: 10px; font-family: =
>> Monaco;">..........laziest thread is 1/0/0 (tests: read 0/0/0 fork 1/1/1 =
>> alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; font-size: 10px; =
>> font-family: Monaco;">..........laziest thread is 1/0/0 (tests: read =
>> 0/0/0 fork 1/1/1 alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; =
>> font-size: 10px; font-family: Monaco;">..........laziest thread is 1/0/0 =
>> (tests: read 0/0/0 fork 1/1/1 alloc 0/0/0 lock 0/0/0)</div><div =
>> style=3D"margin: 0px; font-size: 10px; font-family: =
>> Monaco;">..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 =
>> alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; font-size: 10px; =
>> font-family: Monaco;">..........laziest thread is 0/0/0 (tests: read =
>> 0/0/0 fork 0/0/0 alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; =
>> font-size: 10px; font-family: Monaco;">..........laziest thread is 0/0/0 =
>> (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0 lock 0/0/0)</div><div =
>> style=3D"margin: 0px; font-size: 10px; font-family: =
>> Monaco;">..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 =
>> alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; font-size: 10px; =
>> font-family: Monaco;">..........laziest thread is 0/0/0 (tests: read =
>> 0/0/0 fork 0/0/0 alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; =
>> font-size: 10px; font-family: Monaco;">..........laziest thread is 0/0/0 =
>> (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0 lock 0/0/0)</div><div =
>> style=3D"margin: 0px; font-size: 10px; font-family: =
>> Monaco;">..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 =
>> alloc 0/0/0 lock 0/0/0)</div><div style=3D"margin: 0px; font-size: 10px; =
>> font-family: Monaco;">All tests complete.  =
>> Congratulations.</div></div><div><br></div><br><div>
>> <span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> border-spacing: 0px;"><span class=3D"Apple-style-span" =
>> style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
>> Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
>> font-weight: normal; letter-spacing: normal; line-height: normal; =
>> orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
>> widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
>> -webkit-border-vertical-spacing: 0px; =
>> -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
>> auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
>> break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
>> after-white-space; "><span class=3D"Apple-style-span" =
>> style=3D"border-collapse: separate; -webkit-border-horizontal-spacing: =
>> 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); =
>> font-family: Helvetica; font-size: 12px; font-style: normal; =
>> font-variant: normal; font-weight: normal; letter-spacing: normal; =
>> line-height: normal; -webkit-text-decorations-in-effect: none; =
>> text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; =
>> orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div =
>> style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
>> -webkit-line-break: after-white-space; "><span class=3D"Apple-style-span" =
>> style=3D"border-collapse: separate; -webkit-border-horizontal-spacing: =
>> 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); =
>> font-family: Helvetica; font-size: 12px; font-style: normal; =
>> font-variant: normal; font-weight: normal; letter-spacing: normal; =
>> line-height: normal; -webkit-text-decorations-in-effect: none; =
>> text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; =
>> orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><span =
>> class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>> -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>> 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>> font-style: normal; font-variant: normal; font-weight: normal; =
>> letter-spacing: normal; line-height: normal; =
>> -webkit-text-decorations-in-effect: none; text-indent: 0px; =
>> -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>> white-space: normal; widows: 2; word-spacing: 0px; "><div><font =
>> class=3D"Apple-style-span" color=3D"#0000FF"><font =
>> class=3D"Apple-style-span" face=3D"Gill Sans"><span =
>> class=3D"Apple-style-span" style=3D"color: rgb(0, 0, 255); font-family: =
>> 'Gill Sans'; "><span class=3D"Apple-style-span" style=3D"color: rgb(0, =
>> 0, 255); font-family: 'Gill Sans'; ">Antony =
>> Hosking</span></span></font></font><font class=3D"Apple-style-span" =
>> face=3D"Gill Sans"><span class=3D"Apple-style-span" style=3D"font-family: =
>> 'Gill Sans'; "><span class=3D"Apple-style-span" style=3D"font-family: =
>> 'Gill Sans'; "><span class=3D"Apple-converted-space"> </span>|<span =
>> class=3D"Apple-converted-space"> </span></span></span><span =
>> class=3D"Apple-style-span" style=3D"font-family: 'Gill Sans'; "><span =
>> class=3D"Apple-style-span" style=3D"font-family: 'Gill Sans'; =
>> ">Associate Professor</span></span><span class=3D"Apple-style-span" =
>> style=3D"font-family: 'Gill Sans'; "><span class=3D"Apple-style-span" =
>> style=3D"font-family: 'Gill Sans'; "> | Computer Science | Purdue =
>> University</span></span></font></div><div><font class=3D"Apple-style-span"=
>> face=3D"GillSans-Light"><span class=3D"Apple-style-span" =
>> style=3D"font-family: GillSans-Light; ">305 N. University Street | West =
>> Lafayette | IN 47907 | USA</span></font></div><div><font =
>> class=3D"Apple-style-span" color=3D"#0000FF" face=3D"Gill Sans"><span =
>> class=3D"Apple-style-span" style=3D"color: rgb(0, 0, 255); font-family: =
>> 'Gill Sans'; "><span class=3D"Apple-style-span" style=3D"color: rgb(0, =
>> 0, 255); font-family: 'Gill Sans'; ">Mobile</span></span></font><font =
>> class=3D"Apple-style-span" face=3D"GillSans-Light"><span =
>> class=3D"Apple-style-span" style=3D"font-family: GillSans-Light; "><span =
>> class=3D"Apple-style-span" style=3D"font-family: GillSans-Light; "><span =
>> class=3D"Apple-converted-space"> </span>+1 765 427 =
>> 5484</span></span></font></div><div><font class=3D"Apple-style-span" =
>> face=3D"GillSans-Light"><br =
>> class=3D"khtml-block-placeholder"></font></div></span></span></span></span=
>>> </span></span></span><br =
>> class=3D"Apple-interchange-newline"></span></div></span></div></span><br =
>> class=3D"Apple-interchange-newline"></span><br =
>> class=3D"Apple-interchange-newline">
>> </div>
>> <br></body></html>=
>> 
>> --Apple-Mail=_483BE841-4972-4BFD-8336-BD261CD93863--

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20140908/8b5ab934/attachment-0002.sig>


More information about the M3devel mailing list