Forgot your password?
typodupeerror
Data Storage Graphics Operating Systems Software Linux

A Visual Expedition Inside the Linux File Systems 85

Posted by kdawson
from the data-porn dept.
RazvanM writes "This is an attempt to visualize the relationships among the Linux File Systems through the lens of the external symbols their kernel modules use. We took an initial look a few months back but this time the scope is much broader. This analysis was done on 1377 kernel modules from 2.6.0 to 2.6.29, but there is also a small dip into the BSD world. The most thorough analysis was done on Daniel Phillips's tree, which contains the latest two disk-based file systems for Linux: tux3 and btrfs. The main techniques used to establish relationships among file systems are hierarchical clustering and phylogenetic trees. Also presented are a set of rankings based on various properties related to the evolution of the external symbols from one release to another, and complete timelines of the kernel releases for Linux, FreeBSD, NetBSD, and OpenBSD. In all there are 78 figures and 10 animations."
This discussion has been archived. No new comments can be posted.

A Visual Expedition Inside the Linux File Systems

Comments Filter:
  • Hmm (Score:5, Funny)

    by Anonymous Coward on Monday June 15, 2009 @04:57AM (#28333035)

    I could use a visual expedition among the various links on this summary.

    • Re: (Score:2, Insightful)

      by arth1 (260657)

      No kidding. Sometimes I like to (gasp!) RTFA, but in this case I couldn't find out which of the F links went to the F article.

      • by badc0ffee (969714)
        RTFA? I had fun finding the pictures that looked like paper tape and hollerith punch cards... then I ran across the one that looked like a program board for an IBM 557 and gave up.
    • by suso (153703) *

      <AOL>Me too!</AOL>

      • Re: (Score:3, Insightful)

        by PitaBred (632671)
        You can't be from AOL... you used correct capitalization and the proper homonym of "too". I call shenanigans.
  • In all there are 78 figures and 10 animations.

  • by Azeroth48 (855550) on Monday June 15, 2009 @05:03AM (#28333069) Homepage
    This analysis was done on 1337 kernel modules
  • BSD? (Score:3, Interesting)

    by Rosco P. Coltrane (209368) on Monday June 15, 2009 @05:19AM (#28333125)

    So they finally managed to recover DNA evidence on BSD's corpse [jhu.edu] after all. Hopefully we'll find out who killed it.

    Seriously, what a useless "analysis". It's all a bunch of unreadable tables, graphs and other things, such as the history of the number of exported symbols in the BSD kernel (yeah right...) nobody cares about.

  • by Chrisq (894406) on Monday June 15, 2009 @05:21AM (#28333137)
    What does it all mean?
    Is having a large number of external symbols good because it has more integration points or bad because of bloat? I don't think I have ever RTFA and come away with so little understanding before.
    • Re: (Score:3, Insightful)

      by RuBLed (995686)
      As the child in me would say.. Just look at the pictures.
    • what does it all mean ?
      ZFS rules ?

      ducks.
      • ZFS rules ducks?

        It's cases like this, and that damn gun-toting panda [wikipedia.org] that remind us of the need for proper use of punctuation. Though it's always puzzled me how people can write code all day long and then fail to use analogous typographical rules correctly in communication. Or maybe there's more "Hello ,Wrold!" code than I'm aware of.

        Oh well. I, for one, welcome our new anatidaen overlords!

        • Re: (Score:2, Interesting)

          you know that punctuation is logically wrong, in respect of parenthesis and quotation? The logically trained are more inclined to use them as balanced delimiters

          Consider, for example, a sentence in a {vi} tutorial that looks like this:
          Then delete a line from the file by typing "dd".
          Standard usage would make this
          Then delete a line from the file by typing "dd."

          (from the jargon file, Hacker Writing Style)

      • by GaryOlson (737642)
        This means ZFS will continue to suffer from an unknown formative malaise because it cannot be properly analyzed. Without the full analysis, a proper treatment cannot be attempted without further damaging the file system. Isolation is the best recourse at this time.
    • Re: (Score:1, Informative)

      by Anonymous Coward

      You can draw several conclusions from the images. One of them is how similar some filesystems are.

      Have a look to the hierarchical clustering and hamming distances graphs.

    • What software did he use for the analyses ?
  • by SharpFang (651121) on Monday June 15, 2009 @05:30AM (#28333163) Homepage Journal

    This analysis was done on 1377 kernel modules from 2.6.0 to 2.6.29

    I think they meant 1337 kernel modules?

  • My chart (Score:5, Funny)

    by iamdrscience (541136) <michaelmtripp&gmail,com> on Monday June 15, 2009 @06:08AM (#28333271) Homepage
    Usefulness of a hammer:
    XXXXXXXXXXXXXXXXXXXXXXXXX

    Usefulness of an average Slashdot article:
    XXXXXX

    Usefulness of a screen door on a submarine:
    XXXX

    Usefulness of this Slashdot article:
    X
    • Re: (Score:1, Funny)

      by Anonymous Coward

      Usefulness of a hammer:
      XXXXXXXXXXXXXXXXXXXXXXXXX

      Pass me that hammer, there's a fly on my mother-in-law's forehead

      • by Yosho (135835)

        Pass me that hammer, there's a fly on my mother-in-law's forehead

        Now that's what I call killing two birds with one stone!

        • Reminds me of the best way to die, ever: Take a parachute drop, but without the parachute. Instead put a large thorn/needle/picket on your head. Then land exactly on your favorite bad guy.

          When I'm old and gray, this is what I am going to do. If it were today, I'd take the boss of Monsanto or some Rothschild boss with me.

    • by Sulphur (1548251)
      When a hammer is wrong, then the result is not funny.
      • Talk about an open door with just a screen door left between you and 500 feet or polar ice water.

        A hammer. Bah. Crybaby. ;)

    • I would have thought a screen door on a submarine was on par with an average article, or rather the average of all articles.
    • Re: (Score:1, Troll)

      You forgot

      CowboyNeal:
      (-INF)

  • by koolfy (1213316) <koolfy@gm a i l .com> on Monday June 15, 2009 @06:13AM (#28333285) Homepage Journal
    Am I the only one not understanding a word nor the point of those graphics, but still going to print them as posters and put them everywhere in my bedroom ?

    'cuz dude, it's so beautiful !
  • As far as I can tell, from this table [jhu.edu] the external symbol mcount is used by all file systems... :)

    And Obama is president of US...
  • by OneSmartFellow (716217) on Monday June 15, 2009 @07:01AM (#28333459)
    ...slowly loosing the will to live as my eyes became tired and I confused by the lack of any conclusions which could possibly be drawn from such an overwhelming variety of apparently useless graphical analysis of kernel ABI calls made by mostly arcane file systems, I couldn't help wondering .....
    .
    .
    .
    .
    .
    .
    .
    .
    . Who gives a shit ?
    • by shish (588640)

      Who gives a shit ?

      Nerds, which is what this website is for. If you're looking for some sort of pop culture website where things are only posted if they appeal to the majority, you're doing it wrong...

  • How is it possible to create a file system driver which does not call "register_filesystem" ?
    • by jeremyp (130771) on Monday June 15, 2009 @08:43AM (#28333975) Homepage Journal

      It's easy.

      I did it once and the fact that it couldn't be mounted was offset by the fact that no bugs were ever reported, nor did it it ever corrupt or lose any data. In fact, I didn't even have to write any of the implementation.

    • Re: (Score:2, Informative)

      by jiriw (444695)

      How is it possible to create a file system driver which does not call "register_filesystem" ?

      If you 'rtfa'... it stated [jhu.edu]:

      Another (again expected) observation is that the lack of (un)register_filesystem identifiers in the modules which only provides services to others: dlm, lockd, fat, and jbd2/jbd2.

      Yes I did read the article and thought it was very interesting. For one thing the fact that in earlier kernel releases file system drivers used to use more or less the same set of external symbols and in recent releases they more often used exclusive external symbols. If that's a good or a bad thing I don't know because I'm not an expert in file systems. It may indicate file system kernel module writers are re-using code less or do no longer compare their work that much anymore or

  • Dear submitter,

    A /. summary is a bit like a main page on a website. Make the organization clear. Don't pile on shortcuts to different parts of the website: the reader risks being discouraged trying to find out how best to get to the important part of your website. Less is better.
    I actually clicked on one of the links that appeared to go to the "Expedition" website (based on its similarity to other links, as shown in my browser's statusbar!), then changed the address in the address bar to get to the front page.

    You actually didn't include a link to your article's front page [jhu.edu], for heaven's sake!

    Hope this helps for the next time you write a summary.

  • My first reaction when browsing through the article was disgust about the measure being used. I couldn't see the value of graphs about the number of symbols used by different file-system modules. So vfat doesn't use kprintf, woo-fucking-hoo!

    But then, the Hamming distance and hierarchical structure struck a chord. Huh, so NFS, uses a very different set of symbols than, ext3. (ok, this may be biased by NFS using a metric fuckton of external symbols where ext3 uses less), which implies that NFS is pretty different, internally, than ext3.

    So now, I agree that such a visualisation, while very abstract from the implementation details, can be pretty useful to have a (very) rough overview of the filesystems and their code structure. And I think we need more abstract overviews like this.

    Reminds me of Code Swarm [ucdavis.edu], which creates a movie of commits to a repository.

    • This is a case of a thorough analysis done by someone who knows how to do an analysis but has no idea what they are analysing or what is important?

      So you end up with lots of pretty graphs and trees that actually mean absolutely nothing

          NFS has more external symbols than VFAT and there are less than in the previous kernel version... and this means ..... well not a lot really ....

      • Re: (Score:3, Funny)

        He's in training to work for Accenture (or Capgemini, Deloitte) where the chief product is useless graphs, presented in marathon PowerPoint sessions in which management try to impress each other by using the latest buzz-phrases.

        They really do produce client-centric best practice inter departmental core competencies with a high return on investment and extremely low granularity event horizons. Just ask them !
        • There usual recommendation is to rename the product and/or company ... which they did themselves Andersen Consulting became Accenture, this means you can advertise that you are the same as always and nothing interesting is going on ....

    • by AlpineR (32307) <wagnerr@umich.edu> on Monday June 15, 2009 @09:05AM (#28334103) Homepage

      My only interests in filesystems are how much free space I have and whether mine will recover from a power outage. Thus 95% of these graphs are a total bore to me.

      But I do like the Timelines [jhu.edu] of kernel releases. Some kernels see an exponential slowdown of release rate as they approach finalization and others are released like clockwork throughout their lifetime.

      I'd love to see these methods applied to other topics I care more about, like games and science

      When I develop maps for Starcraft, I usually go with a "release when it's ready" approach. That leads to a first public release long after my internal rough draft. Then there are a few quick releases as major bugs are found. And later the releases slow to a trickle as the focus move from bug fixes to balance tweaks. The magnitude of the changes also decreases over time, but each one's effect on game play can be disproportionately large.

      But recently I went with a public balancing approach. I released the rough draft to get a feel for how it played. Then released new drafts as often as twice a day as suggestions were made and problems became apparent. I love to see that contrast visually or see other patterns I hadn't considered.

      • by Eil (82413)

        My only interests in filesystems are how much free space I have and whether mine will recover from a power outage.

        I'm usually more concerned about how much free space I have after a power outage.

  • Man, I just thought I saw some obscured letters in one of the heatmaps but then realized it was just my damn glossy Macbook screen reflecting the writing on my t-shirt... Damn it...

  • Taking a look at the image [jhu.edu], it's obviously a signal from some alien civilization. Now if we could only decode it. Oh, wait that's what all the coders are about [wikipedia.org] .. :)
  • Lex: It's a UNIX system! I know this!
  • Linux should stop merging file systems used by three individuals at most.
    There are so many totally useless file systems inside the main tree, and I honestly fail to see why those should bloat the main tree while the junk could happily live in the hard drive of the three perspective users.
    For God's sake, even POHMELFS was merged! Where does it end? Where the boundary to say NO, and keep this irrelevant code out of the tree?
    • by Slashcrap (869349)

      Linux should stop merging file systems used by three individuals at most.
      There are so many totally useless file systems inside the main tree, and I honestly fail to see why those should bloat the main tree while the junk could happily live in the hard drive of the three perspective users.
      For God's sake, even POHMELFS was merged! Where does it end? Where the boundary to say NO, and keep this irrelevant code out of the tree?

      It's unlikely that anybody would care about your opinions even if they weren't stupid.

  • Ho hum... Why did this nerd waste his time researching a matter that's obvious to everyone here. They had us run all this stuff down in the first 6 weeks of CS 101. I guess he thinks we're stupid! Harumph!

Brain fried -- Core dumped

Working...