Memory Management in PLS

download Memory Management in PLS

of 4

Transcript of Memory Management in PLS

  • 8/14/2019 Memory Management in PLS

    1/4

    Memory Management in PLS-CADD

    The following discussion applies to the 32 bit edition of PLS-CADD only. The x64

    edition is only limited by the amount of memory in your computer.

    Several industry trends are contributing to a desire to load ever larger XYZ point filesinto PLS-CADD. The wide availability of reasonably priced high performance

    LiDAR systems is one of them. Another is the use of PLS-CADD as a vegetation

    management tool. In both cases the resulting files can be a challenge to work with.

    This technical note will answer some commonly asked questions as well as give you

    the background information necessary to make intelligent decisions about managing

    this mass of data.

    For the sake of efficiency PLS-CADD stores XYZ data sequentially in a single piece

    of memory (an array). This provides for extremely fast operation, but imposes the

    requirement that the system have a contiguous piece of memory that is large enoughto store all of your points. When Windows cannot supply this memory you run into

    trouble.

    One frequently asked question is: "how many points can I load"? The answer can be

    arrived at via a simple formula:

    Maximum # XYZ Points = (Largest available memory block) / (Size of XYZ Point)

    Each XYZ point consumes 48 bytes (assuming there are no plan or profile comments

    associated with it). The size of the largest contiguous block depends on which version

    of Windows you are running as shown in the table below:

    Theoretical XYZ Point Limits for the 32 bit Edition of PLS-CADD

    Operating SystemService Pack

    or Hotfix

    Largest

    Contiguous Block

    (MB)

    Total Available

    Memory (MB)

    Number of XYZ

    Points (millions)

    Windows 2000 SP4 1133 1981 23.6

    Windows XP SP2 550 1969 11.4

    Windows XPSP2 w/hotfix894472

    809 1987 16.8

    Windows XP SP3 800 1961 16.7

    Windows VistaRTM and

    SP11668 1935 34.7

  • 8/14/2019 Memory Management in PLS

    2/4

    Windows Vista

    x64 (also XP x64)

    RTM and

    SP12047 3999 42.6

    Windows 7 RC 1570 1923 34.2

    Note that these limits are taken from clean installs of Windows. It is possible thatdramatically less memory may be available and a correspondingly fewer number of

    points may be loaded if the system has other software installed that is poorly behaved.

    In other words, the limits given above are the best that you can hope to achieve.

    The memory sizes listed are virtual memory, notphysical memory (RAM). In all cases,

    we recommend you have at least 2GB of RAM installed in the system. The virtual

    memoryis also known as the address space. The amount of address space that

    Windows makes available to PLS-CADD is ultimately what governs how many points

    you can load.

    You will note that Windows XP SP2 took a large step backwards in terms of the

    number of points which may be loaded. This is due to a bug in the original Windows

    XP which was fixed in Service Pack 1 and subsequently reintroduced in Service Pack

    2. Microsoft has ahotfixavailable which fixes this problem in SP2. One of the primary

    benefits of Windows Vista is the increase in the number of points that may be loaded.

    Memory

    Preallocation

    Consider twodifferent scenarios:

    In the first PLS-

    CADD asks

    Windows for a

    large piece of

    memory and in the

    other PLS-CADD

    starts by asking for

    a small piece of

    memory and thenrepeatedly tries to

    grow it until it is

    the same size as the

    large chunk. Due to a problem known as fragmentation, you can often get twice as

    much memory in the former scenario as you could in the later. Restating this in a

    PLS-CADD context, it is better to preallocate enough memory for the maximum

    http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/
  • 8/14/2019 Memory Management in PLS

    3/4

    number of XYZ points you could have than it is for PLS-CADD to repeatedly attempt

    to grow your XYZ memory as you add points. TheF1/Survey and Terrain

    Features/Preallocate memory for XYZ pointsfeature allows you to do just this. The

    only caveat is that you should not preallocate any more memory than you need since

    the memory reserved via preallocation is not available for other data such as raster or

    vector attachments, PFL points, etc. The preallocation dialog is shown to the right.

    How can I load more points?

    What can you do if you have preallocated memory and still cannot load all of your

    points? Here are a few suggestions:

    1. If running on a 32 bit edition of Windows then upgrade to a 64 bit editionwhich will allow you to run the x64 edition of PLS-CADD. The x64 edition of

    PLS-CADD can access an effectively unlimited amount of memory.

    2. If running on Windows XP SP2 then apply thishotfixavailable fromMicrosoft. It fixes a bug in XP SP2 that prevents PLS-CADD from making full

    use of the memory in your system.

    3. Make sure that you do not have any attachments consuming memory when youtry to load XYZ points. InDrafting/Attachments/Attachment Managerhide all

    of your raster images and detach any DXF files. Then save your project, exit

    PLS-CADD, restart it and reopen the project.

    4. Make sure that you have filtered data and not the raw LiDAR data directly fromthe flight. Filtering LiDAR data down to the set of points that are meaningful

    for your design may allow you to avoid the entire problem of too many points.

    Note that not every LiDAR vendor provides a filtered data set.

    Just because you can load points doesn't necessarily mean you should. Each XYZ

    point occupies memory that could otherwise be used for PFL points, raster and vector

    attachments, etc. Further, many operations in PLS-CADD take a little more time with

    each additional point you load. So, you want to have enough points to build an

    accurate profile and detect all possible clearance violations, but no more than that.

    Further Reading

    Technical note:Working With Image Attachmentsin PLS-CADD can behelpful when managing memory.

    Technical note: Transmission LineVegetation Managementin PLS-CADD. For hardware recommendations and additional information regarding x64

    Editions of Windows read theFrequently Asked Questionsdocument.

    http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/http://support.microsoft.com/kb/894472/http://www.powline.com/products/photos.htmlhttp://www.powline.com/products/photos.htmlhttp://www.powline.com/products/photos.htmlhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/presales.pdfhttp://www.powline.com/presales.pdfhttp://www.powline.com/presales.pdfhttp://www.powline.com/vegetation/dangertree.htmlhttp://www.powline.com/products/photos.htmlhttp://support.microsoft.com/kb/894472/
  • 8/14/2019 Memory Management in PLS

    4/4

    2008 Power Line Systems, Inc. All Rights Reserved