Gibt es eine Möglichkeit, Task Parallel Library in Multi-Computer-Szenarien zu verwenden?
Ich meine, wenn ich eine große Anzahl von Aufgaben habe, kann ich es über LAN in einer Anzahl von Servern planen?
Die TPL ist auf Single-Computer-, Multi-Prozessor-Core-Szenarien ausgerichtet.
Wenn Sie über mehrere Systeme hinweg arbeiten möchten, müssen Sie eine Art von Clustering-Software verwenden, z. B. MPI (verwendbar in .NET direkt über MPI.NET ) oder eine der vielen Optionen basierend auf < a href="http://technet.microsoft.com/en-us/hpc/default.aspx?"> Windows HPC .
Davon abgesehen ist die TPL auf jedem der Knoten des Clusters sehr nützlich. Es kann verwendet werden, um jeden Clusterknoten über die auf diesem Knoten verfügbaren Kerne skalieren zu lassen.
Kein TPL konzentriert sich auf lokale Threads innerhalb eines Prozesses. Es gibt jedoch bereits bestehende Projekte, die diesen Bereich angehen.
Und Sie können sich die Antworten auf diese Frage SO
ansehenIrgendwelche guten verteilten Agenten / Servicemodelle für .NET?
Die Standardeinstellungen für TPL sind das Planen von Aufgaben im .NET-Thread-Pool und zielt daher auf die Parallelität innerhalb eines einzelnen Prozesses ab. Sie können jedoch einen eigenen TaskScheduler implementieren, der die Ausführung von Tasks übernimmt. Sie können also zumindest theoretisch über den aktuellen Bereich hinausgehen. Während dies getan werden könnte, bin ich sicher, es gibt bessere Optionen zur Verfügung, wie Reed Copsey und Chris Taylor darauf hinweisen.