Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2016-10-20

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:33 divine-buildbot joined #divine
01:53 divine-buildbot joined #divine
07:30 yaqwsx joined #divine
08:10 xstill mornfall: podle čeho se určují object id?
08:14 xstill mám totiž podezření že ta kanonizace vláken stejně nebude úplně fungovat, kvůli tomu, že jsou uložená v diosu. Řekněme, že main startuje 3 vlákna, A1, B, A2 (A1 a A2 jsou stejná funkce, B jiná), pokud dostanou objid v pořadí vzniku pak se v diosu uloží jako M,A1,B,A2, ale pokud nastartují v pořadí M,A1,A2,B tak to se s tím už nesymetrizuje (naopak M,A2,B,A1 je symetrizuje v
08:14 xstill pořádku)
08:14 xstill yaqwsx: ^
08:14 xstill ale zatím jediný co mě napadlo, že by se s tím dalo dělat je mít specielní objekty, ve kterých nezáleží na pořadí pointrů při ukládání stavu
08:23 xstill mornfall: hm, divine4 mi padá na .LLVM ERROR: Code generator does not support intrinsic function 'llvm.dbg.value'! (což je blbost, měl by to přeskakovat pokud vím…)
08:26 xstill a to tak, že na arke na tom padá vždycky
08:26 xstill (čistý next)
08:28 xstill na tom je divný, že na pythii to fungovalo
08:30 xstill jo, to je zas ten bug co jsem už párkrát viděl
08:32 xstill umře to v IntrinsicLowering::LowerIntrinsicCall, který je volaný z lower, který je hned za tím co se dbg.value přeskočí
08:34 xstill hm, a krom toho to vypadá, že v divine 3 neumím vypnout taustores
08:37 xstill aha, divine 3 neumít tauloads bez taustores :-/
08:38 xstill což možná dokážu donutit aby uměl
08:40 xstill jo
08:50 mornfall xstill: zrovna to jak se určují objid je přece úplně jedno
08:50 mornfall ty ve srovnání stavů nehrají roli
08:50 xstill no, ale hrají roli v introptr, ne?
08:50 mornfall hm?
08:50 xstill a podle toho se ty vlákna řadí v té struktuře v diosu
08:50 xstill a pokud jsou ty pointry v jiným pořadí tak se to může rozbít
08:51 xstill nicméně teď mě víc vadí ten padající divine, protože nemám žádné výsledky
08:51 mornfall padající divine se řešil rebuildem
08:52 xstill … se mi povedlo vybuildit debug se stejnou chybou
08:55 mornfall tak si ho schovej, rebuildni a zjisti co je jinýho?
08:55 mornfall nevim
09:22 xstill nojo, už mám fungující release a rozbitej debug, takže můžu měřit a pak někdy zkoumat co se stalo
09:28 mornfall a ty benchmarky ze včera večera nedopadly?
09:30 xstill no tak doběhl akorát divine3 s redukcemi, protože divine4 komplet popadal a redukce nešly vypnout
09:31 xstill puštím přednostně divine4 ať máme alespoň něco
09:31 mornfall popadal kvůli tomu vadnýmu buildu?
09:32 xstill jo
09:32 mornfall aha
09:32 xstill akorát, že jsem si toho nevšiml protože se prvně pustl benchmark na divine3
10:00 xstill hm, v divine 4 se budou dát signály udělat docela snadno
10:02 xstill tak jsem zkompiloval pthready, teď začíná ta zajímavější fáze
10:04 xstill yaqwsx: dopiš prosím na tabuli RWlock (recursive, deadlock detection)
10:09 xstill akorát, že mám zase vadnej build
10:09 xstill na arke se to stává nějak často
11:17 xstill mornfall: má smysl recyklovat pthread_key_t, nebo raději ne a tím potenciálně spíš detekovat, že někdo používá mrtvé?
11:25 mornfall nevim
11:26 mornfall v principu asi recyklovat, jinak program kterej v cyklu vyrábí a ničí klíč uteče do nekonečna
11:27 xstill ok, to dává smysl
11:29 xstill proč se do háje divine rozhodl jen tak překompilovat LLVM když jsem změnil pthready?
11:30 mornfall nicméně ty benchmarky vypadaj dost mrzutě
11:30 mornfall resp. zatím nic nedoběhlo
11:31 mornfall někde musí být aj rozumně velký modely...
11:33 xstill no tohle byly benchmarky na kterých jsem dělal diplomku, ty menší z nich (3M stavů na divine 3 nebyl moc velký benchmark)
11:33 xstill problém je, že třeba ten pthread_rwlock má v D4 už před 9M stavů, takže mu zase za chvíli dojde paměť…
11:34 xstill aha tak ne, on měl víc
11:34 xstill collision mělo 3M
11:37 mornfall čísla z divine 3 bez taustores taky nemáme?
11:38 xstill ne, leda možná hodně stará (z doby toho NFM článku o tau)
11:39 xstill podle diplomky vypadá nadějně leader-dkr který měl asi 100k stavů, ale ten musím najít, v examples není
11:42 mornfall a to v 3.3 nešlo vypnout taustores?
11:43 xstill v 3.3 jo, v mé 3.4 šlo vypnout jedině společně s tauloads, ale to jsem opravil (jen ještě nepřeměřil)
11:43 xstill 3.3 neměla shlukování loadů
11:44 mornfall to by mi asi moc nevadilo, případně to zakomentovat v 4 je celkem triviální
11:47 xstill mám ten dkr model, tak jakmile doběhne tohle (což bude každou chvíli), tak pustím ten dkr + divine 3 bez taustores
11:48 mornfall třeba szymanski.c na třech vláknech je 100k stavů v divine4
11:48 mornfall .cpp
11:50 mornfall lamport default 360k
11:51 xstill OK přidám… když si člověk vypíš bc do terminálu přes ssh tak to nejde zabít
11:53 mornfall ring.cpp s velikostí 20 a vložením 60 prvků má 245k
11:55 mornfall lamport_nonatomic1 na 3 vláknech taky 250k
11:56 xstill můžeš mi ty modifikovaný modely sypat do ~xstill/tacas2017_data? (měl bys mít práva)
11:57 mornfall v divine 3 to takhle fungovat nebude, je potřeba je upravit pořádně
11:57 mornfall to je z prvních asi 5 věcí co jsem zkusil
11:58 xstill OK, tak tam dej todo složku a já si to zpracuju
11:58 mornfall ale vyrobim diff
11:58 mornfall ok
12:05 mornfall chceš aj modely s chybou?
12:05 mornfall dám je tam jako err-*
12:08 xstill ty se asi na 8 vláknech budou chovat nedeterministicky, ale to nemusí až tak moc vadit
12:09 xstill případně to pak můžu přeměřit na 1 pokud toho nebude moc
12:18 xstill jo, tohle na první pohled vypadá docela rozumn2
12:20 xstill jsme docela srovnatelní s D3 s taustores (cca tak max 2x horší)
12:34 xstill jo, bez fungujícího pthread_key nefunguje vůbec nic
12:34 mornfall to asi ne no
12:35 xstill hm, ale to, že mi právě prošel test na std::thread mě docela překvapilo…
12:38 xstill hm, po opravení key mi selhal jen jeden test na pthready
12:38 xstill to je skoro podezřelý
12:51 mornfall hm, když ve verify vyletí výjimka v eval-u tak to prostě zůstane viset místo toho aby to umřelo
12:52 xstill jak je to možný?
12:52 mornfall to nevim
12:53 mornfall aha, asi vim
12:53 xstill a co znamená zůstane viset?
12:53 mornfall no neskončí to :)
12:54 mornfall jo, vim proč
12:54 mornfall tam je std::async
12:54 mornfall on to chytne a ten výpočet ostatních vláken čeká a čeká
12:54 mornfall to se bude muset nějak dořešit
13:04 xstill aha, to je blbý
13:10 mornfall btw. aritmetika s overflow byla v divinu asi vždycky blbě co? :)
13:11 mornfall 24 * 16 na 8 bitech dává asi overflow=0
13:13 mornfall (teď tam žádná není, ale chtěl jsem ji opsat z 3.x...)
13:16 xstill tuším, že jsem ji spravoval (~xstill/DiVinE/next)
13:16 xstill ale asi funguje jen po i64
13:17 xstill protože jsem tuším použil __int128_t na ty operace a pak to porovnával
13:17 mornfall jo no
13:19 xstill lamport je s novými pthready asi 2x menší, to skoro vypadá, že to funguje
13:32 mornfall přidal jsem do todo/ ještě hashset-510k.cpp, jen potřebuje umul_with_overflow (v mým next-u) a bricks/
13:36 mornfall (plus verze 1300k)
13:38 xstill OK, pak to pustím (asi jen s redukcema)
13:38 xstill + pustím ten symetrizující divine 4
13:39 mornfall ok
13:40 mornfall já jdu sehnat nějakej oběd a pak dopíšu ten článek když už to zase nevypadá úplně beznadějně
13:40 xstill :-)
13:41 xstill já jdu dělat na úkolu do C++, i když to stejně počítám zase nestihnu
14:48 xstill nevidím v todo ten menší hashset, čím se liší?
14:51 mornfall já ho omylem hodil o patro výš
14:51 xstill aha ok
14:53 xstill hm, divine 3 občas segví
14:53 mornfall lepší než kdyby občas segvil divine 4
14:54 mornfall ty tam máš ten nedokončenej evaluátor ne?
14:54 xstill jj
14:55 xstill ale jako já na tom odměřil celou diplomku… ale je možné, že jsem to pak ještě stihnul rozbít
14:55 xstill počet stavů za sekundu dost závisí na modelu
14:56 mornfall závisí no
16:37 mornfall xstill: d4 je nesprávnej divine (z pohledu hashset, nemá umul_with_overflow)
16:37 xstill aha, sakra, na to jsem zapomněl
16:38 xstill jsem se divil, že to nějak nefunguje
17:45 xstill divine3 je hrozně pomalej
19:08 xstill fakt hrozně, to co divine 4 mě za 5 minut tu běží skoro 2 hodiny
19:08 xstill *měl
19:09 mornfall no, jestli je ta 160k verze nápovědou, tak r0-c1 je 11× pomalejší než r0-c0
19:10 mornfall pokud by to bylo zhruba lineární, tak to bude na 6 hodin
19:10 xstill :-/
19:11 xstill to nevím jestli má smysl
19:11 mornfall asi je rozumné dát tomu 30 minut timeout
19:11 mornfall a do tabulky se napíše > 30 minutes
19:12 xstill ok
19:29 xstill na hashsetu je teda tau docela vidět
19:49 mornfall a když říkáš tau myslíš taustores
19:50 xstill jo
20:28 xstill jinak už dobíhají jen r0 a c0 benchmarky
21:10 ilbot3 joined #divine
21:10 Topic for #divine is now DIVINE | http://divine.fi.muni.cz | http://irclog.perlgeek.de/divine/

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary