Community
Civil 3D Forum
Welcome to Autodesk’s Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multithreaded File Open File Save

1 REPLY 1
Reply
Message 1 of 2
bb_idea
531 Views, 1 Reply

Multithreaded File Open File Save

Civil 3D 2013

 

One of the problems my team has is that we have a number of remote offices that all work on the same drawings. To ensure integrity of the drawings, we use a Wide Area file replication and locking service to ensure the files do not become out of sync and corrupted between offices.

 

AutoDesk seems to open and save files and their subordinate xrefs serially in a single thread instead of in a multi-threaded manner. Because of this there is a Huge time impact on just opening and saving files at remote sites as a result of Civil 3D having to wait for the home office file lock check on each and every file before opening the next file.

 

We have 100Mbit down / 20Mbit up transmission links at both sites dedicated to the file replication, with Gbit backbone in both offices.

 

Please note that the remote site has a full copy of all files in its replicated share. These local files are what Civil 3D is opening. No Files are being transferred during file open unless a remote change has just occurred (proven through replication logs).

 

When the drawing file is opened for editing, a file lock check is performed and Windows waits for the response to ensure it can be opened for editing before telling Civil 3D. When Civil 3D has this file open, it has a list of all the xrefs for this file. Civil 3D then seems to open each file in sequence.

This is a problem when a large latency is introduced through our 3rd party Wide area file system by a remote site file lock check.

This is not AutoDesk's fault but the compounding of the two system's operational behaviours, causing a Very long wait on file open, Save, PaperSpace operations (30 minutes for large drawings).

 

I would like to see a multithreaded (threadpool) file open occur against the entire list of xrefs (during save as well). Then recursively executed for all subordinate xrefs of those files until the operation is complete.

I don’t think this is happening.

 

As long as a file list is maintained during the operation and updated as each file operation completes (which obviously it is) in the primary thread, this should not cause any problem. All dependancies can be opened in sequence once the initial file operations are complete and when a particular file in the list is required but not open yet, it's priority can be raised in the threadpool.

This could be a relatively straight forward code change which would have a huge impact for all your customers.

 

It would allow many remote engineering offices to much more effectively work on the same projects without hours of lost time going to what right now is a very frustrating wait for drawings to open, print and save.

 

If I am incorrect in my above assumptions of how Civil 3D is performing file operations please let me know. Especially if there is a simple setting I can change to enable this multithreaded behaviour.

 

As far as I can tell the only use of multithreading so far is the WHIPTHREAD setting for Redraw and Regeneration.

 

Any assistance or thoughts would be appreciated.

1 REPLY 1
Message 2 of 2
tcorey
in reply to: bb_idea

You might take a look and be sure that xloadctl is set to 2.

 

This tells AutoCAD to create local copies of Xref's and apply file locks to those local copies, not the originals on the network. When you re-load an Xref, AutoCAD checks to see that the local copy is the same version as the network original.

 

Tim



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Gold Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


 

Autodesk Design & Make Report