log☇︎
2900+ entries in 0.019s
Framedragger: well i did, but you disagreed with the definition
Framedragger: trinque: re. unix, myeah, naivete, i agree
Framedragger: (re. x windows, obviously one can have different ways and capabilities per particular system/process, etc)
Framedragger: i only see folks denying the concept of isolation, i maintain that it's not altogether a useless concept. disagreement in premises
Framedragger: hrmpf
Framedragger: but rather more to do with deployment, reproducability, ops, etc
Framedragger: that said, docker's 'main aim' isn't even isolation for the sake of security, so my weak point is even weaker.
Framedragger: "used docker" therefor "defined by tshirt" q.e.d.
Framedragger: a process by which one restricts the system-provided resources that a particular entity (just "process", for now, say) is exposed to; the effect of which is that the entity functions as if in a stand-alone system dedicated to its purpose
Framedragger: *sigh* i'll grant it that concepts are leaky and can't apply hammer to all problems etc etc; but you can't pretend that the core concept of isolation is not useful. just isolating fs, process, and network is already useful.
Framedragger: any suggestions for isolation from folks here? just cgroups/chroot? ☟︎
Framedragger: i expect folks regard the "crash and go away" as a feature - just restart it bro, etc.
Framedragger: ben_vulpes: fair enough.
Framedragger: http://btcbase.org/log/2017-03-11#1625594 << docker containers are *supposed* to be ephemeral. 'volatile containers' in itself is not a worthless concept. don't take it as me advocating for them, just, ftr. ☝︎
Framedragger: http://btcbase.org/log/2017-03-11#1625589 << yeah that's true, and i suppose one could do better than encouraging this trend ☝︎
Framedragger just had some cold borscht. << amazing and recommend for those who haven't tried
Framedragger: (i'll just mention that for persistent data, you are supposed to use bind mounts, not internal docker storage.)
Framedragger: shitloads of shit.
Framedragger: okok
Framedragger: ah i may have read it, did it mention DBs, too, as in "why the fuck would you put db in there"
Framedragger: i have some good memories from using bsd jails some years ago. the core concept of isolation (fs, process, network, etc) is not bad. providing integrated interface not a bad thing, either. problem with docker is it doesn't do it in a consistent way, is too bloated, is ~proprietary +/-, and does the abstraction in a way that invites lazy people to be even more lazy and reckless.
Framedragger: currently stealing booze from that inventory. some good old shit in there i tell you
Framedragger: fair point sir
Framedragger: ah trinque up'd himself just to remind me that docker is shit lol
Framedragger: good for cryopreservation yes
Framedragger strategically retreats
Framedragger: apparently offloads export/computation to neo4j, a hipsta graph db
Framedragger: ah ah right, not bad then
Framedragger: etc
Framedragger: https://github.com/behas/bitcoingraph/blob/master/bitcoingraph/blockchain.py#L45
Framedragger: https://github.com/behas/bitcoingraph refers to that paper. it has this tool, https://github.com/behas/bitcoingraph/blob/master/scripts/bcgraph-export , for allegedly dumping transactions for given range of blocks. that tool refers to https://github.com/behas/bitcoingraph/blob/master/bitcoingraph/bitcoingraph.py#L128 which has has a shitty python callstack but boils to
Framedragger: maybe not applicable to trb
Framedragger: asciilifeform: i wonder how these folks did it https://eprint.iacr.org/2012/584.pdf
Framedragger: yeah the sarcasm is probably not black enough tbh
Framedragger: i'm sure it's justified by the other amazing parts of the fs, and when we look at the other parts we'll see glorious code that works
Framedragger: :)
Framedragger: but good to have concrete reproducible data to back it up, sure.
Framedragger: mircea_popescu: you sure you want benchmarks? /me thinks it's a lost cause
Framedragger: guess so.
Framedragger: you're right, the growth *won't* be linear. but...
Framedragger: 59M for 1000tx. *before* symlinks are stored. (granted, they'll be small)
Framedragger: well. if we do linear extrapolation, bout 14400 terabytes for transaction index given 250mil transactions....
Framedragger: yup.
Framedragger: mircea_popescu: which means that i don't see how it could work even given mystery-amazing fs performance (...), *space-wise*.
Framedragger: *59M* for 1000 'transactions', *before* symlinks are even saved. just the folders (7-level-deep folders.)
Framedragger: http://btcbase.org/log/2017-03-11#1625413 << i will also remind that http://btcbase.org/log/2017-03-11#1625312 which (i forgot this last night) means that in my view, there's no friggin' way eight-level-deep tree structure can hold transactions. every symlink is a file, and on top of that, with 8 levels, most about every transaction will create multiple additional folders ☝︎☝︎
Framedragger: problem is multiple homework/class/job-domains, and the context-switching :) but yeah
Framedragger slowly chopping log
Framedragger: ah yeah, blog. fucking backlog, man
Framedragger: kk. so, ok. only thing is i'm swamped in march, so will have to wait. (if anyone wants c code i wrote so far, ping me) ☟︎
Framedragger: yes that's what i meant. which, i dunno, maybe bad assumption of 'only one chain', or sth.
Framedragger: yeah but i forgot how to bitcoin. i guess blockheight bad idea?
Framedragger: ah, ah
Framedragger: but if it's for 'defensive' benchmarking, sure. just pointing out.
Framedragger: mircea_popescu: so in your proposed-to-be-tested scheme, there are two separate eight-deep trees? may i ask, why do blocks need their own tree - after all, it's just an int. do you expect block number to overflow an unsigned 32 bit int? because you *really* don't need 8-deep structure for dispersing 2**32 nodes (again: http://fd.mkj.lt/stuff/fsgraph1.png / http://fd.mkj.lt/stuff/fsgraph2.png )
Framedragger: http://btcbase.org/log/2017-03-09#1623751 i suppose i couldve started with ext2 ☝︎
Framedragger: suresure.
Framedragger: anyway, fair enough, for now
Framedragger: mircea_popescu: sure, but do you expect to reach **10^24** nodes before trb-i?? (http://fd.mkj.lt/stuff/fsgraph2.png)
Framedragger: (you'd need to have a *lot* of blocks to have average num of files per second-to-deepest dir be >= 1; i dont think one needs 8 levels, but i see the point in trying this)
Framedragger: also, as asciilifeform said, cache can really confuse the hell out of any metrics. e.g., disk cache. so i'd need to probably restart whole box to be sure (yes lol, but i think i should)
Framedragger: mircea_popescu: to be clear, the way this would work is, there'd still be symlinks at the bottom ends of the dir structure, pointing to blocks (which are stored in a single dir, say)?
Framedragger: yeah i especially liked the amazing speed of directory deletion
Framedragger: it's not, it's not
Framedragger: hey, you wanted some fs test, i'm just reporting on levels of shittiness found
Framedragger: asciilifeform: mircea_popescu: for completeness, i should state that it may be "workable" (in the sense of slightly less horrible) to just keep a flat dir tree structure, one or two levels deep - if you don't ask fs to list files in dir and just want to access filenames you already know, it's ~okay-ish. but i think i agree that the whole fs idea needs to be dumped, in general
Framedragger will check tomorrow if the insane size was from his shitty c. but actually, probably not - in ext3/ext4, a folder is an inode and an inode points to unique data block - minimum size of which is 4k. given an expansive recursive tree, you get what you get. ☟︎
Framedragger: (removal is just `rm -r`)
Framedragger: (btw the 'creation' is not bottlenecked by python or w/e; straight syscalls and simple c, and the random hex generator is a small footprint)
Framedragger: (~60k to store 'transaction' (excluding symlink itself)!! this is the price of deeper fs trees)
Framedragger: (would advise against deep folder structure assuming no concrete reason to prefer it. just-symlinks (+/-) seems better. but then not sure if to think much of fs anyway.)
Framedragger: (with that, i bid goodnight)
Framedragger: oh lord. *creation* of seven-levels-deep directories (in the format of "6d56/a6f4/f1d5/67a3/505c/a7d0/9c72/6fff/e75e/a482/e36b/6b5b/7421/f9cf/e36a/", with last 8th level being symlink) takes a long time, and is also space-wasteful on ext4. to 'store' 1k transactions it takes ~0.41s and takes up 59M of space. this without actual symlinks (should be fast but should check later). *removal* is ~0.45s
Framedragger: they must have really low self esteem to require this kind of labyrinthine way of pretending to themselves to be real important nao
Framedragger: yeah. :( wow.
Framedragger: yeah but that's what i meant by same, gave closed copy the source version of which was available (and known to him, presumably?)
Framedragger: aha, mk
Framedragger: gave illicit copy of same thing? uh
Framedragger: lol, what can i tell you, sad state of affairs
Framedragger: well, that is pretty fucky and sad.
Framedragger: i don't think he meant himself, but rather other, external wots.
Framedragger: oh god.
Framedragger: ~maybe up for it but *that*'d have to wait till later
Framedragger: ...yeah, i think that the proper way to do it then is to take entire disk, populate it with things to a high degree and (somehow) with enough spatial dispersion, and benchmark, and restart entire thing between benchmarks.
Framedragger: ah i noted this myself and forgot, http://btcbase.org/log/2017-03-06#1622466 ☝︎
Framedragger: right, yeah, but the (really) random seeks.. i hoped to tumble it a bit at least
Framedragger: maybe another caching layer is still caching, hrgh.
Framedragger: hm really?
Framedragger: (oh actually variance higher, too)
Framedragger: same parameters, averages a bit worse after fs cache and buffers are forced flushed: http://wotpaste.cascadianhacker.com/pastes/4IOGa/?raw=true
Framedragger: i must write a short comedy screenplay for how discussions develop in #trilema. "i want to take a picture" ... ... ... [intense calculations of incident gamma rays to reclaim lost pixels in images] [furious rehash of late renaissance representationalism]
Framedragger: first answer
Framedragger: http://stackoverflow.com/questions/19941588/wrong-clock-cycle-measurements-with-rdtsc don't kill me plz
Framedragger: asciilifeform: something about needing to discard 'invalid values' with rdtsc (even when set up correctly - apparently best to 'pin' particular cpu, etc etc..) oh god.
Framedragger running on barebones xeon (not docker) nao, fwiw
Framedragger: (vs. those other options there)
Framedragger: asciilifeform: i thought that's why folks use CLOCK_MONOTONIC? i guess the irony is that it's not..monotonic in the end, still. :(
Framedragger: suresure.
Framedragger: ..but if one wants to measure fs performance, he's stuck with syscalls.
Framedragger: yeah