# Computing, rendering and exporting humongous graphs

I need to compute, lay out, and export humongous graphs with, say, $3 \cdot 10^6$ nodes. I have a number of such graphs but as a specific case you can see an example (including source code) for the Collatz Conjecture. For my current hardware (Mac Pro desktop, 22GB hard memory) I can rendering graphs up to $|V| = 4 \cdot 10^5$ nodes and export them as a pdf. I can algorithmically compute the graph in portions and algorithmically merge the portions. (This approach is most reasonable for weakly connected graphs, such as the Collatz graph.) The problem is then that the GraphEmbedding is inconsistent. I want a single GraphEmbedding (such as GraphLayout -> {"PackingLayout" -> "ClosestPacking"} to apply to the full graph, and applying ClosestPacking on a few dozen portions of the graph will not yield the entire graph in a unified embedding.

How can I render the Collatz graph up to $3 \cdot 10^6$ nodes, lay it out in a unified embedding, and export it (for use in Adobe Illustrator or $\LaTeX$, for instance)?