From: Matthias Schniedermeyer <ms@citd.de>
To: Daire Byrne <daire.byrne@gmail.com>
Cc: Eric Sandeen <sandeen@sandeen.net>, xfs@oss.sgi.com
Subject: Re: Contiguous file sequences
Date: Mon, 27 Sep 2010 20:35:16 +0200 [thread overview]
Message-ID: <20100927183516.GA18458@citd.de> (raw)
In-Reply-To: <AANLkTi=xPjAtjP5E6XK8Xhgvo1FoqAEUKLvDrNJO3-OH@mail.gmail.com>
On 27.09.2010 17:30, Daire Byrne wrote:
> Eric,
>
> On Mon, Sep 27, 2010 at 5:08 AM, Eric Sandeen <sandeen@sandeen.net> wrote:
> > Daire Byrne wrote:
> >>> Why is this the goal, what are you trying to achieve?
> >>
> >> I am essentially trying to play back a large frame sequence and trying
> >> to minimise seeks as it can lead to sporadic slowdowns on a SATA based
> >> RAID.
> >
> > Ok - and you've really seen allocation patterns that cause the playback
> > to slow down? xfs_bmap information for a few sequential files that were
> > this far off would be interesting to see.
> >
> > Are you certain that it's seekiness causing the problem? A great way
> > to visualize it would be to use the seekwatcher application while you
> > run a problematic file sequence.
>
> I'm certain that the seekiness is the culprit. The image files are
> pretty big and require 400MB/s+ speeds to play them back at full rate.
> I can play a sequence which is aligned perfectly on disk just fine
> (readahead) but when seeks are required between frames the framerate
> drops noticeably. I'm using SATA disks which probably doesn't help
> matters.
As long as the disc-subsystem can sustain more than 400MB/s, there is a
way to do "poor men's mega readahead".
I assume the sequence in which the files are accessed is predetermined
and RAM is plentiful?
Then you can write a program/script that utilizes inotify to identify
the file that is currently read and reads, say, 15 frames ahead,
assuming that the sequence has 30fps the physical disc access is then
about 1/2 a second ahead of time.
Of course the disc-subsystem has to be able to do bursts of more than
400MB/s, so that when there is "stuttering" it can catch up before the
"buffer runs empty".
A solution with a guarantee that the files stay in RAM could be done
with a tmpfs. Depending on the playing program you may have to fake a
little, but either sparse-files or symlinks should do the trick to have
every file visible and replacing it with the real file/content a little
before it is used and droping it afterwards.
Bis denn
--
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2010-09-27 18:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-22 11:01 Contiguous file sequences Daire Byrne
2010-09-22 20:10 ` Eric Sandeen
2010-09-24 10:43 ` Daire Byrne
2010-09-27 4:08 ` Eric Sandeen
2010-09-27 16:30 ` Daire Byrne
2010-09-27 18:35 ` Matthias Schniedermeyer [this message]
2010-09-28 1:16 ` Dave Chinner
2010-09-27 20:56 ` Roger Willcocks
2010-09-25 9:42 ` Michael Monnerie
2010-09-22 20:50 ` Matthias Schniedermeyer
2010-09-22 22:36 ` Dave Chinner
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=20100927183516.GA18458@citd.de \
--to=ms@citd.de \
--cc=daire.byrne@gmail.com \
--cc=sandeen@sandeen.net \
--cc=xfs@oss.sgi.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox