Вам лучше перейти на 4.0 и использовать TPL. Таким образом, вы можете создать Задачу <> для запуска каждого моделирования и иметь планировщик TPL планировать их соответствующим образом, когда ресурсы становятся доступными. По окончании запусков вы можете поместить результаты в ConcurrentCollection <> и, как только все закончится, выполнить сопоставление для них (вы можете даже сопоставить другую задачу, пока другие выполняются, если это окажется важным для вас.
В 3.5 большая часть работы по планированию была бы оставлена вам, и API не настолько чисты для создания задач. У вас также не было бы ни одной из параллельных коллекций, которые могли бы значительно упростить сопоставление результатов (никогда не недооценивайте сложность написания параллельной коллекции, которая является как правильной, так и производительной).
Если вы сделаете это веб-службой, вы должны понимать, как использовать эту службу и как это повлияет на веб-службу. По сути, вы можете улучшить задержку отдельных запросов, но это может быть достигнуто за счет снижения общей пропускной способности. См. Следующую ссылку для обсуждения этого.
http://blogs.msdn.com/b/pfxteam/archive/2010/02/08/9960003.aspx