Menu

Not Enough Memory For Reed-Solomon Matrix

2004-04-01
2013-05-23
  • Nobody/Anonymous

    I'm getting an error trying to create a PAR2 file for a group of 167 files totaling about 1GB for burning to DVD.  I get an error message (paraphrasing a bit) "Not Enough Memory For Reed-Solomon Matrix".  I have 512MB of phisical memory, and swapfile is enabled with 30GB avaialble for swapfile (in Win XP Pro.)

    Source block count: 32766
    Block size: 28324
    Redundancy: 20%
    Recovery blocks: 6554
    Recovery files: 1
    Recovery file size:  All the same

    Note: It will work, if I set to 10% redundancy.

     
    • Peter C

      Peter C - 2004-04-01

      QuickPar requires that enough physical memory be available for the Reed-Solomon matrix (so that it does not need to use the swapfile).

      Currently it limits the matrix to 1/3 of the amount of physical memory.

      With the source block count set to 32766 and the recovery block count set to 6554, the matrix would require 409MB of ram (which is greater than 1/3 of 512MB - which is 170MB).

      It is recommended that you do not use such a high source block count.

      I've just tried a quick test with a selection of files (with sizes ranging from 5MB to 8MB). There were 159 files and the combined size was about 1GB.

      When I set the source block count as high as it will go, QuickPar displays an efficiency rating of 89% and tells me it will take about 9 hours to create the PAR2 files. Fortunately with 1GB of Ram, QuickPar lets me proceed.

      When I set the source block count to a more reasonable value of around 3000, the efficiency increases to 96% and the time estimate drops to 45 minutes. The amount of memory used for the Reed Solomon matrix also drops by a factor of 100 (to around 4MB).

       
      • Nobody/Anonymous

        Is there anyway to override the limitation?  The reason I use the highest block count, is because on a full DVD-R,  at 20% redundancy, it gives a block size of about 100KB, with an effeciency of 94.5% (I use one single PAR2 recovery file.)  I had 1GB installed, but QuickPAR detected a bad bit on one of my sticks, so I had to remove it.  I don't care about processing time, I just want it to work.

         
        • Peter C

          Peter C - 2004-04-01

          There is no way for you to override the limitation as it is written into the code.

          I would need to change the relevant part of the program to permit large Reed Solomon matrices.

           
          • Kutrovsky

            Kutrovsky - 2004-11-22

            I am looking for something semi-accurate that will tell me how much memory will be needed for a given amount of data, and a given amount of blocks.

            Does anyone have this ?

             
            • Peter C

              Peter C - 2004-11-22

              The RS Matrix requires 2*source_block_count*recovery_block_count bytes.

               

Log in to post a comment.