As of now, every instance runs the packet/optical app. This is fine (although very inefficient) as long as each instance comes up with the same optical path. If different paths are found, the data path will become unpredictable.
We can do three things:
1) copy SDN-IP's approach where a single instance is assigned as leader, who does all the calculations and intent installations.
2) develop a proper, distributed application that distributes the load across multiple instances. Instance failures must be taken into consideration.
3) wait for ONOS core team to develop tools that automatically distributes the apps.