Announcement

Collapse
No announcement yet.

Facebook's Flashcache For The Linux Kernel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Facebook's Flashcache For The Linux Kernel

    Phoronix: Facebook's Flashcache For The Linux Kernel

    Facebook has made many open-source contributions over the years from their high-performance PHP-To-C++ compiler, to parts of their infrastructure, to some of their development tools. One of their open-source projects they made public last year for increasing their database performance was Flashcache. Flashcache is a kernel module that provides a block cache for Linux with various caching modes...

    http://www.phoronix.com/vr.php?view=OTk0MA

  • #2
    "Would you be interested in seeing benchmarks of Facebook's Flashcache in the coming weeks?"



    Of course!

    All unexpected tests are welcome. And this is a fresh one at that too! Go ahead, make our day!

    Comment


    • #3
      Sounds like one of those "hybrid" hard drives emulated in software. While this is no doubt more flexible, it would be interesting to know how it performs compared to a "real" hybrid drive.

      Though it's important to remember that large static caches are not meant for the synthetic workloads found in PTS. I can't find the article right now, but IIRC the last time Michael tried to benchmark a hybrid drive by just running PTS on it, the results were rather inconclusive.

      Comment


      • #4
        Originally posted by rohcQaH View Post
        Though it's important to remember that large static caches are not meant for the synthetic workloads found in PTS.
        This. I'd like to see benchmarks, but I think you need to think carefully about which benchmarks to run and how they are affected by the cache versus a more realistic workload.

        Comment


        • #5
          Originally posted by rohcQaH View Post
          Though it's important to remember that large static caches are not meant for the synthetic workloads found in PTS. I can't find the article right now, but IIRC the last time Michael tried to benchmark a hybrid drive by just running PTS on it, the results were rather inconclusive.
          Most of Michaels tests are inconclusive or simply replace it with a rant about adblock

          Comment


          • #6
            Definitely would like to see some benchmarks.

            Where I work we've been considering this for a few very demanding, write-intensive database systems. Obviously there's considerable risk with using write-back caching, but we may have no other option (well we do, but it involves large amounts of money that management don't want to spend ).

            Comment


            • #7
              Compare it to bcache (http://bcache.evilpiepirate.org)

              Comment


              • #8
                I'd be most interested if bcache (by Kent Overstreet, cgit is at http://evilpiepirate.org/git/ ) was compared to flashcache. I'm reluctant to trust flashcache, because their documentation talks about it being trivial to support mirrored caches by building a raid0 and using that as the cache device. Really brings their competence into question when they don't know the difference between mirroring and striping. Also, Kent is working on adding multiple caches per set, which will mean you'll have two ssds caching the same data, with read caches striped and write caches mirrored without any user intervention other than registering the devices with bcache (similar to a dmsetup call or a filesystem mount in semantics, but done by echoing the device name into a file in /sys [though that interface is under fire])

                Comment


                • #9
                  ads=money?

                  Originally posted by FireBurn View Post
                  Most of Michaels tests are inconclusive or simply replace it with a rant about adblock
                  Does he earn money from the ads if I don't click them? I have to be careful with money right now so I can't subscribe.

                  Comment


                  • #10
                    Originally posted by Ferdinand View Post
                    Does he earn money from the ads if I don't click them? I have to be careful with money right now so I can't subscribe.
                    Most ads I'm paid when they simply load on the page...
                    Michael Larabel
                    http://www.michaellarabel.com/

                    Comment


                    • #11
                      Yes it would be nice to see a review of flashcache.

                      However I think that the best solution would be to have ssd-cache support directly in btrfs. Anyone knows if that is ongoing?

                      /Ivar

                      Comment


                      • #12
                        I'd like to see a review about FlashCache.
                        Didn't know about bcache..

                        Comment


                        • #13
                          Tangentially related, I'd like to see how zram performs under heavy use (compared to tmpfs and/or a normal ramdisk).

                          Comment


                          • #14
                            Tiered data

                            Spinning drives are so much slower than physical ram, I like the idea of having an intermediary (compressed ram (compcache?), SSD, etc) that I don't manage, but simply install and forget about. Then the best uses (tmp, startup, cache) occur without configuration. I could see room for recommending both since SSD is fast permanent storage while compcache may benefit large data processing.

                            Comment


                            • #15
                              Yes. I manage several MySQL database servers for a large forum (~360k members, thousands online at once, ~1.5m posts all within the past 9 months) and a service that is incredibly database intense. What we're doing right now is we have a read-only slave that is clocked super high and has a reasonable amount of cores (hex-core hyperthreaded I believe) for low-latency transactions and a read-write master with 32 physical cores. They both have SSDs.

                              To put it in perspective, APC (A php opcode caching module) reduced our PHP load on the PHP servers by about 3/4. That's just PHP. If this FlashCache kernel module has a reasonable impact I'm very very interested in compiling into the database servers because it would save quite a bit of money as we wouldn't have to get another 32-core database server and organize real database clustering so soon. The reason I can't just do it is because it's the database master that would probably benefit the most from it, and that can't be taken offline anytime but the middle of the morning and for a very short period of time.

                              If anybody hosting very large websites is interested in how my boss and I deal with attacks (*very* large HTTP floods, bandwidth floods), we use Varnish's inline C support to determine when a cllient is not a user by doing stuff like honeypotting to see if a certain IP makes an impossible amount of connections, whether a client loads a certain page for an infinite amount of time, whether a client switches useragents more than a reasonable amount of times, etc. and if it finds that a user is not a user it gives them an Error 418 (I'm a teapot lolololol but that can only be seen from an application) and if they continue to violate the rule they get blackhole'd. We have not had a successful HTTP flood since that was put in place.
                              Last edited by NoEffex; 09-26-2011, 01:51 PM.

                              Comment

                              Working...
                              X