Announcement

Collapse
No announcement yet.

FIOPS: A New Linux I/O Scheduler For Flash/SSDs

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

  • FIOPS: A New Linux I/O Scheduler For Flash/SSDs

    Phoronix: FIOPS: A New Linux I/O Scheduler For Flash/SSDs

    Last week a new I/O scheduler was presented for the Linux kernel. This new scheduler, FIOPS, is designed around modern flash-based storage devices like solid-state drives...

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

  • #2
    Great news. I was using no-op for the SSD, but a specific designed scheduler for this kind of devices is what's needed. SSD is gonna be the main technology in no time.

    Comment


    • #3
      yes Great! i think this will make a great impact.

      Comment


      • #4
        i don't have a ssd yet but i do intend to eventually and i'll be excited to see results of this.

        Comment


        • #5
          Does the kernel allow multiple I/O schedulers to be loaded, and different ones to be assigned to different block devices? I was under the impression it's a one or the other kind of thing, which would not work as well for the many people with both types of drives (e.g., many larger laptop devices, and most desktop users with SSDs).

          Comment


          • #6
            Originally posted by elanthis View Post
            Does the kernel allow multiple I/O schedulers to be loaded, and different ones to be assigned to different block devices? I was under the impression it's a one or the other kind of thing, which would not work as well for the many people with both types of drives (e.g., many larger laptop devices, and most desktop users with SSDs).
            You are correct:

            Originally posted by The Article
            Some of the work items still left is [. . .] and to automatically select the default I/O scheduler in a smart manner.

            Comment


            • #7
              Originally posted by elanthis View Post
              Does the kernel allow multiple I/O schedulers to be loaded, and different ones to be assigned to different block devices? I was under the impression it's a one or the other kind of thing, which would not work as well for the many people with both types of drives (e.g., many larger laptop devices, and most desktop users with SSDs).
              Manually at least it's possible. "echo noop > /sys/block/<device>/queue/scheduler" would make <device> use the noop scheduler.

              Comment


              • #8
                Learn something new every day.

                Comment


                • #9
                  I use SSD, I'd be curious to know if the scheduler will be chosen automatically at OS install(per your distro), or do you have to recompile the kernel in order to use it, or will there be a control panel at some point where I can click and select it, or........

                  When it's done of course.

                  Comment


                  • #10
                    Dynamically choosing the appropriate scheduler, out of the box?

                    I wonder how long (if ever) it will take for the kernel to implement hands-free selection of the best scheduler type (ie. if there are three rotating and one SSD, select CFS). Unfortunately, this is the kind of out-of-the-box optimization that, from previous experience, takes years for Linux distros to implement.

                    Comment


                    • #11
                      I would hope that it'd choose the scheduler at mount time, if possible, for each device. I can't imagine it choosing a scheduler based on the mode (as in mean, median, mode) device type and users still having a good experience.

                      Comment


                      • #12
                        At least a simple rotating/flash device division can be done quite easily, possibly in a udev script. Look at /sys/block/device/queue/rotational, if 1 write "cfq" to .../scheduler, else "noop"/"fiops". Possibly "noop" when /sys/block/device/removable is 1, "fiops" for 0. No idea if any distribution implements something like that, but it's nothing the kernel has to do.

                        Comment


                        • #13
                          I've always wondered if it would make sense to use SSDs as a new layer in the cache hierarchy rather than as an additional faster drive? e.g. hard disk -> SSD -> memory -> L3/L2/L1 caches -> registers.

                          Comment


                          • #14
                            They are being used like that in many places, but you'd just be burning your ssd cells. Not funny when it dies in a month or two.

                            Comment


                            • #15
                              This should also work for other flash-based media such as flash media in routers, USB sticks and mp3 players

                              Comment

                              Working...
                              X