The convergence of networking and cloud computing leads to an increasing number of cloud based services and applications, which require to be processed by network nodes with enough resources. There are multiple available nodes in the network and network operators need to find paths to forward the traffic to these nodes for processing. In addition, services and application may have diversified requirements on the paths in terms of bandwidth, delay, jitter, etc. Therefore, network operators need to determine the optimal paths considering multiple criteria. However, single-criterion based shortest path algorithms are often used to compute paths from a source node to one target node, which may result in uneven traffic distribution and low resource utilization. Furthermore, the paths obtained are only optimal to this criterion and may not satisfy the Service Level Agreement (SLA) requirements. Therefore, in this paper, we propose a multi-criteria path finding method to obtain all the Pareto-optimal paths from a source node to multiple target nodes (destinations). We extend an existing effective multi-criteria routing algorithm (ParetoBFS), and integrate a multi-queues based bidirectional search mechanism. Additionally, we use a topology sampling technique to accelerate path computation. We evaluate the performance of these path finding methods using various topologies with multiple criteria including bottleneck and additive types. Experimental results demonstrate that our approach can reduce the running time by 54% -89% in different topologies compared to the ParetoBFS algorithm. By employing topology sampling, we further improve our algorithm's speed while still finding most of the Pareto-optimal paths.INDEX TERMS bidirectional search, multi-criteria, path finding, path selection, routing.