[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Overruns (SSS...) when writting samples in a file

From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Overruns (SSS...) when writting samples in a file
Date: Thu, 25 Mar 2010 21:22:10 -0700
User-agent: Mutt/1.5.20 (2009-08-17)

On Thu, Mar 25, 2010 at 02:38:00PM -0700, Damien Serant wrote:
> Hi everybody,
> I'm trying to write samples acquired with the couple USRP2-WBX directly on
> the hard disk thanks to the file sink. I'm using GRC and the decim factor is
> set to 10 (idealy i need a factor 3).

With 16-bit I & Q, decimation 3 won't fit across gigabit ethernet.

> Unfortunately the program overruns
> (SSSS... on the terminal) that it seems normal to me considering the limited
> write speed of an hard drive.

> I'm looking for some "tricks" to be able to write at this sample rate. I
> found a previous similar message in the mailing list but i have some
> additional questions.
> 1) Instead of write complex floats directly on the disk can i make this :
> USRP2 source in short mode -> type conversion : short in char -> writing on
> the disk with file_sink in char mode? 

Use the USRP2 in short mode, and write those samples to disk.  At
decimation 4, you'll need to be able to sustain writes to the disk at
100MB/s.  ext3 won't do that because of journal posting.  Mounting
your ext3 filesystem as ext2 will help avoid that problem.  If your drive
won't write that fast, you'll need to find a faster solution.  RAID 0,
either hardware or software, is an obvious first step.  You can also
stripe across drives using LVM.  Try google something like: linux disk

If you have enough ram to hold all of the samples that you need,
capturing them all, then writing them to disk is an option.  tmpfs
might work (worth trying), but it's hard to beat allocating the memory
that you need, touching it once to ensure it's really allocated, and
mlock'ing it into physical ram.

> 2) I read that it was possible to write directly on the RAM with the unix
> command tmpfs. Any description of the procedure ?

  Try googling: /dev/shm 
  Try googling: tmpfs

To maximize your chances of getting useful help on this list, please read:


Good luck solving your problem!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]