Dell Boomi AtomSphere

Atom, Molecule, and Atom Cloud setup

Consider a number of set up options to increase your computer's performance when employing Atoms, Molecules, or private Atom Clouds.

These are some factors that go into an Atom or Molecule runtime environment setup:

  • Hardware — the amount of memory your machine has; number of CPUs; amount of disk space; number of machines you plan to use.

  • Runtime Engine — whether you are using a single Atom or a clustered Molecule; a normal or forked execution.

  • Integration Design — the number of sub-processes; a Flow Control shape for parallel processing; type of parallel processing (threads or processes).

There are different options for increasing your processing.

The building blocks

Your computer has the following resources:

  • CPU

  • Memory

  • Hard disk

  • JVM, with heap space and thread(s)

Illustration of computer resources as described in the surrounding text.

The challenge is that all of these resources can be scarce and/or can be easily consumed.

Options for increasing processing capacity

Option 1:

Increase the JVM heap size. This provides more working memory for a single JVM. A single JVM can use all CPUs on a computer, however shared heap can cause contention.

Illustration of computer resources with increased Java heap as described in the surrounding text.

Option 2:

Increase the computer’s resources, that is, the CPU, memory and/or hard disk. If you get a more powerful CPU, you can have more simultaneous executions. If you add more memory and get more disk space, you can process more data at the same time. Note that hard disks do not parallelize well.

Illustration of computer resources with increased CPU, memory, and hard disk as described in the surrounding text.

Option 3:

Increase the number of threads to enable parallel processing. This means that more tasks can happen simultaneously.

Illustration of computer resources with multiple threads as described in the surrounding text.

Option 4:

Increase the number of JVMs (forked executions). This gives you more working memory and threads across multiple JVMs. There is less contention for the garbage collector, so its heap space (memory) can be cleared out more efficiently.

Illustration of computer resources with multiple JVMs as described in the surrounding text.

Option 5:

Increase the number of computers on which the Atom runs. This gives you more resources of all types: CPU, memory, and hard disk. It reduces contention for the resources and gives you more JVMs.

Illustration of multiple computers and their  resources as described in the surrounding text.

Processing scenarios

What kind of setup does Dell Boomi recommend? How much hardware should I buy? If you have an unlimited budget, buy more of everything and buy the best (from Dell, of course)! But most companies do not have an unlimited budget. What you are processing, how you are processing it, and how much you are trying to process determines what you should buy and how you should set up your system.

Use the table below to identify your processing scenario and the resource that is in contention, and to find Dell Boomi’s recommended solution.

Processing ScenarioResource in ContentionSolution
Many simultaneous process executionsCPUIncrease number of computers, Option 5 (best solution)
Increase number of CPUs per computer, Option 2
Memory/heapIncrease heap per JVM, Option 1
Increase memory per computer, Option 2 (assumes more heap per JVM)
High volume of documents per processHard diskIncrease hard disk, Option 2
Memory/heapIncrease heap per JVM, Option 1
Increase memory per computer, Option 2 (assumes more heap per JVM)
CPUFor small-sized documents, use a Flow Control shape with the multi-threading option, Option 3
For large-sized documents, use a Flow Control shape with the multi-process option, Option 4
Very large documentsMemory/heapIncrease heap per JVM, Option 1 (best solution)
Increase memory per computer, Option 2 (assumes more heap per JVM)
Hard diskIncrease hard disk, Option 2
Use a Flow Control shape with the multi-process option, Option 4
High volume of real-time requestsCPUFor a Cloud, use Atom workers
For a Molecule, do NOT use forked execution

Other ways to improve processing capacity

You can improve performance by designing your processes correctly and by using process shapes correctly. See the “Improving performance” section of the Process design and development tips topic.

Use the existing features in Boomi Integration to improve performance. For example:

  • Use Molecules. A Molecule is a clustered Atom. It allows for multiple Atom processes to run concurrently. It can be deployed across multiple computers, which makes your environment more robust.

  • Consider enabling forked execution. Forked execution causes a node to execute each process in a separate JVM, forked each time that another process executes. Your environment is more robust because you are using multiple JVMs. It also provides more resources for longer tasks. Note, however, that forked execution may affect your process design and performance in other ways, especially if you are using JMS or publishing web services.

  • Enable local disk support in Molecules to reduce unnecessary network traffic. See Molecule and Atom Cloud working data storage.

Related Concepts
Related References