All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Keld Jørn Simonsen" <keld@keldix.com>
To: Roberto Spadim <roberto@spadim.com.br>
Cc: Jon Nelson <jnelson-linux-raid@jamponi.net>, linux-raid@vger.kernel.org
Subject: Re: What's the typical RAID10 setup?
Date: Wed, 2 Feb 2011 20:44:56 +0100	[thread overview]
Message-ID: <20110202194456.GA15080@www2.open-std.org> (raw)
In-Reply-To: <AANLkTinUMni5rNWKnc9CTH5rdaV83BQYHG=fikf9QqEV@mail.gmail.com>

Hmm, Roberto, where are the gains?

I think it is hard to make raid1 better than it is today.
Normally the driver orders the reads to minimize head movement
and loss with rotation latency. Where can  we improve that?

Also, what about conflicts with the elevator algorithm?
There are several scheduling algorithms available, and each has
its merits. Will your new scheme work against these?
Or is your new scheme just another scheduling algorithm?
I think I learned that scheduling is per drive, not per file system.

and is it reading or writing or both? Normally we are dependant on the
reading, as we cannot process data before we have read them.
OTOH writing is less time critical, as nobody is waiting for it.

Or is it maximum thruput you want?
Or a mix, given some restraints?

best regards
keld



Best regards
Keld

On Wed, Feb 02, 2011 at 02:13:52PM -0200, Roberto Spadim wrote:
> ssd time to make head positioning (latency): <0.1ms
> hd max time to make head positioning (latency): 10ms
> 
> ssd rate of read: 270MB/s random/sequential read (excluding latency)
> check that ssd is BLOCK (4kb mostly) oriented
> hd rate of read? 130MB/s sequential read? check that hd is BIT oriented
> write rate? random/sequencial?
> 
> with these answers we can make a simple 'time' model of read/write,
> per device (use of raid0 (/dev/md0) is a device!, raid1 too
> (/dev/md1), raid5 (/dev/md2) ,raid6 (/dev/md3)) any device have this
> variables...
> just make a model and use the model to optimize minimal time to
> execute write/read
> 
> 2011/2/2 Roberto Spadim <roberto@spadim.com.br>:
> > pros against closest head:
> > since we can use raid1 with identical disks (buyed at same time, with
> > near serial numbers) we can have disks with same time to fail
> > using closest head, the more used disk, will fail first
> > failing first we have time to change it (while the second isn't as
> > used as first device)
> >
> > but, think about it...
> > it's like a write-mostly not?
> >
> >
> > 2011/2/2 Roberto Spadim <roberto@spadim.com.br>:
> >> check that, read balance is:
> >> time based
> >> closest head
> >> round robin
> >> algorithms
> >>
> >> plus....
> >> failed device problem and write-mostly
> >>
> >> with time based we can drop write-mosty.... just make the time of that
> >> device very high
> >>
> >>
> >> 2011/2/2 Roberto Spadim <roberto@spadim.com.br>:
> >>> it's cpu/mem consuming if use a complex model, and less cpu/mem
> >>> consuming if use a single model
> >>>
> >>> another idea....
> >>> many algorithm....
> >>>
> >>> first execute time based
> >>> it selected a bug (failed) device
> >>> execute closest head
> >>> if selected a bug (failed) device
> >>> execute round robin
> >>> if selected a bug (failed) device
> >>> select first usable non write-mostly
> >>> if selected a bug (failed) device
> >>> select first usable write-mostly
> >>> if end of devices, stop md raid
> >>>
> >>> to make this, today... we need a read_algorithm at
> >>> /sys/block/md0/xxxxxx, to select what algorith to use, write algorithm
> >>> is based on raid being used.. raid0 make linear and stripe, raid1 make
> >>> mirror, there's no algorithm to use here...
> >>> we need some files at /sys/block/md0/xxx to manage 'devices' time
> >>> model (parameters)
> >>> we need a adaptive algorithm to update parameters and make it closest
> >>> possible to real model of 'devices'
> >>> a raid0 have global parameters, inside raid0 devices have per device parameters
> >>> a raid1 over raid0, should use raid0 parameters
> >>> raid0 over devices, should use devices parameters
> >>>
> >>>
> >>> 2011/2/2 Roberto Spadim <roberto@spadim.com.br>:
> >>>> time based: is the time to:
> >>>> HD:head positioning , SSD: time to send command to ROM chip
> >>>> HD:read/write time (disk speed - rpm), SSD: time to write/read (time
> >>>> to ssd rom chip receive bytes)
> >>>> that's time based
> >>>>
> >>>> what is fast por read?
> >>>> consider that time based must know that disk is doing a I/O and that
> >>>> you have a time to end, this time to end is another time in algorithm
> >>>>
> >>>> for example:
> >>>> NBD (network block device)
> >>>> time to send read message + time to send command to rom or head positioning
> >>>> read/write time: time to nbd server return the read/write bytes
> >>>>
> >>>> what algorithm should do?
> >>>> calculate all time or all mirrors, including time to end current
> >>>> request (if only one request could be processed, or if allow more than
> >>>> 1 request, the time spent to start our command)
> >>>> after all time calculated, select the minimal value/device
> >>>>
> >>>> that's time based
> >>>> it's not based on round robin
> >>>> it's not based on closest head
> >>>> it's based on device speed to:
> >>>> *(1)position head/send rom command
> >>>> *(2)read/write time (per total of bytes read/write)
> >>>> *(3)time to start out request command (if don't allow more than 1
> >>>> request per time, don't have a device queue)
> >>>>
> >>>> the total time per device will tell us the best device to read
> >>>> if we mix, nbd + ssd + hdd (5000rpm) + hdd(7500rpm) + hdd(10000rpm) +
> >>>> hdd(15000rpm)
> >>>> we can get the best read time using this algorithm
> >>>> the problem? we must run a constante benchmark to get this values *(1)
> >>>> *(2) *(3) and calculate good values of time spent on each process
> >>>>
> >>>> resuming... whe need a model of each device (simple-constants or very
> >>>> complex-neural network?), and calculate time spent per device
> >>>> nice?
> >>>>
> >>>>
> >>>> 2011/2/2 Robin Hill <robin@robinhill.me.uk>:
> >>>>> On Tue Feb 01, 2011 at 09:12:11PM -0200, Roberto Spadim wrote:
> >>>>>
> >>>>>> but the best algorithm is time based (minimize time to access data)
> >>>>>>
> >>>>> And what do you think takes the time accessing the data?  In a rotating
> >>>>> disk, it's moving the heads - that's why the current strategy is nearest
> >>>>> head.  In an SSD there's no head movement, so access time should be the
> >>>>> same for accessing any data, making it pretty much irrelevant which
> >>>>> strategy is used.
> >>>>>
> >>>>> Cheers,
> >>>>>    Robin
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Roberto Spadim
> >>>> Spadim Technology / SPAEmpresarial
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Roberto Spadim
> >>> Spadim Technology / SPAEmpresarial
> >>>
> >>
> >>
> >>
> >> --
> >> Roberto Spadim
> >> Spadim Technology / SPAEmpresarial
> >>
> >
> >
> >
> > --
> > Roberto Spadim
> > Spadim Technology / SPAEmpresarial
> >
> 
> 
> 
> -- 
> Roberto Spadim
> Spadim Technology / SPAEmpresarial
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2011-02-02 19:44 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-31  9:41 What's the typical RAID10 setup? Mathias Burén
2011-01-31 10:14 ` Robin Hill
2011-01-31 10:22   ` Mathias Burén
2011-01-31 10:36 ` CoolCold
2011-01-31 15:00   ` Roberto Spadim
2011-01-31 15:21     ` Robin Hill
2011-01-31 15:27       ` Roberto Spadim
2011-01-31 15:28         ` Roberto Spadim
2011-01-31 15:32           ` Roberto Spadim
2011-01-31 15:34             ` Roberto Spadim
2011-01-31 15:37               ` Roberto Spadim
2011-01-31 15:45             ` Robin Hill
2011-01-31 16:55         ` Denis
2011-01-31 17:31           ` Roberto Spadim
2011-01-31 18:35             ` Denis
2011-01-31 19:15               ` Roberto Spadim
2011-01-31 19:28                 ` Keld Jørn Simonsen
2011-01-31 19:35                   ` Roberto Spadim
2011-01-31 19:37                     ` Roberto Spadim
2011-01-31 20:22                     ` Keld Jørn Simonsen
2011-01-31 20:17                   ` Stan Hoeppner
2011-01-31 20:37                     ` Keld Jørn Simonsen
2011-01-31 21:20                       ` Roberto Spadim
2011-01-31 21:24                         ` Mathias Burén
2011-01-31 21:27                           ` Jon Nelson
2011-01-31 21:47                             ` Roberto Spadim
2011-01-31 21:51                               ` Roberto Spadim
2011-01-31 22:50                                 ` NeilBrown
2011-01-31 22:53                                   ` Roberto Spadim
2011-01-31 23:10                                     ` NeilBrown
2011-01-31 23:14                                       ` Roberto Spadim
2011-01-31 22:52                               ` Keld Jørn Simonsen
2011-01-31 23:00                                 ` Roberto Spadim
2011-02-01 10:01                                 ` David Brown
2011-02-01 13:50                                   ` Jon Nelson
2011-02-01 14:25                                     ` Roberto Spadim
2011-02-01 14:48                                     ` David Brown
2011-02-01 15:41                                       ` Roberto Spadim
2011-02-03  3:36                                         ` Drew
2011-02-03  8:18                                           ` Stan Hoeppner
     [not found]                                           ` <AANLkTikerSZfhMbkEvGBVyLB=wHDSHLWszoEz5As5Hi4@mail.gmail.com>
     [not found]                                             ` <AANLkTikLyR206x4aMy+veNkWPV67uF9r5dZKGqXJUEqN@mail.gmail.com>
2011-02-03 14:35                                               ` Roberto Spadim
2011-02-03 15:43                                                 ` Keld Jørn Simonsen
2011-02-03 15:50                                                   ` Roberto Spadim
2011-02-03 15:54                                                     ` Roberto Spadim
2011-02-03 16:02                                                     ` Keld Jørn Simonsen
2011-02-03 16:07                                                       ` Roberto Spadim
2011-02-03 16:16                                                       ` Roberto Spadim
2011-02-01 22:05                                     ` Stan Hoeppner
2011-02-01 23:12                                       ` Roberto Spadim
2011-02-02  9:25                                         ` Robin Hill
2011-02-02 16:00                                           ` Roberto Spadim
2011-02-02 16:06                                             ` Roberto Spadim
2011-02-02 16:07                                               ` Roberto Spadim
2011-02-02 16:10                                                 ` Roberto Spadim
2011-02-02 16:13                                                   ` Roberto Spadim
2011-02-02 19:44                                                     ` Keld Jørn Simonsen [this message]
2011-02-02 20:28                                                       ` Roberto Spadim
2011-02-02 21:31                                                         ` Roberto Spadim
2011-02-02 22:13                                                         ` Keld Jørn Simonsen
2011-02-02 22:26                                                           ` Roberto Spadim
2011-02-03  1:57                                                             ` Roberto Spadim
2011-02-03  3:05                                                         ` Stan Hoeppner
2011-02-03  3:13                                                           ` Roberto Spadim
2011-02-03  3:17                                                             ` Roberto Spadim
2011-02-01 23:35                                       ` Keld Jørn Simonsen
2011-02-01 16:02                                   ` Keld Jørn Simonsen
2011-02-01 16:24                                     ` Roberto Spadim
2011-02-01 17:56                                       ` Keld Jørn Simonsen
2011-02-01 18:09                                         ` Roberto Spadim
2011-02-01 20:16                                           ` Keld Jørn Simonsen
2011-02-01 20:32                                     ` Keld Jørn Simonsen
2011-02-01 20:58                                       ` Roberto Spadim
2011-02-01 21:04                                         ` Roberto Spadim
2011-02-01 21:18                                     ` David Brown
2011-02-01  0:58                             ` Stan Hoeppner
2011-02-01 12:50                               ` Roman Mamedov
2011-02-03 11:04                               ` Keld Jørn Simonsen
2011-02-03 14:17                                 ` Roberto Spadim
2011-02-03 15:54                                   ` Keld Jørn Simonsen
2011-02-03 18:39                                     ` Keld Jørn Simonsen
2011-02-03 18:41                                       ` Roberto Spadim
2011-02-03 23:43                                 ` Stan Hoeppner
2011-02-04  3:49                                   ` hansbkk
2011-02-04  7:06                                   ` Keld Jørn Simonsen
2011-02-04  8:27                                     ` Stan Hoeppner
2011-02-04  9:06                                       ` Keld Jørn Simonsen
2011-02-04 10:04                                         ` Stan Hoeppner
2011-02-04 11:15                                           ` hansbkk
2011-02-04 13:33                                             ` Keld Jørn Simonsen
2011-02-04 20:35                                           ` Keld Jørn Simonsen
2011-02-04 20:42                                         ` Keld Jørn Simonsen
2011-02-04 21:15                                           ` Stan Hoeppner
2011-02-04 22:05                                             ` Keld Jørn Simonsen
2011-02-04 23:03                                               ` Stan Hoeppner
2011-02-06  3:59                                                 ` Drew
2011-02-06  4:27                                                   ` Stan Hoeppner
2011-02-04 11:34                                       ` David Brown
2011-02-04 13:53                                         ` Keld Jørn Simonsen
2011-02-04 14:17                                           ` David Brown
2011-02-04 14:21                                           ` hansbkk
2011-02-06  4:02                                             ` Drew
2011-02-06  7:58                                               ` Keld Jørn Simonsen
2011-02-06 12:03                                                 ` Roman Mamedov
2011-02-06 14:30                                                   ` Roberto Spadim
2011-02-01  8:46                             ` hansbkk
2011-01-31 19:37               ` Phillip Susi
2011-01-31 19:41                 ` Roberto Spadim
2011-01-31 19:46                   ` Phillip Susi
2011-01-31 19:53                     ` Roberto Spadim
2011-01-31 22:10                       ` Phillip Susi
2011-01-31 22:14                         ` Denis
2011-01-31 22:33                           ` Roberto Spadim
2011-01-31 22:36                             ` Roberto Spadim
2011-01-31 20:23                 ` Stan Hoeppner
2011-01-31 21:59                   ` Phillip Susi
2011-01-31 22:08                     ` Jon Nelson
2011-01-31 22:38                       ` Phillip Susi
2011-02-01 10:05                         ` David Brown
2011-02-01  9:20                     ` Robin Hill
2011-02-04 16:03                       ` Phillip Susi
2011-02-04 16:22                         ` Robin Hill
2011-02-04 20:35                           ` [OT] " Phil Turmel
2011-02-04 20:35                           ` Phillip Susi
2011-02-04 21:05                           ` Stan Hoeppner
2011-02-04 21:13                             ` Roberto Spadim
2011-01-31 15:30       ` Robin Hill
2011-01-31 20:07 ` Stan Hoeppner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110202194456.GA15080@www2.open-std.org \
    --to=keld@keldix.com \
    --cc=jnelson-linux-raid@jamponi.net \
    --cc=linux-raid@vger.kernel.org \
    --cc=roberto@spadim.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.