제 질문은 간단하지만 대답은 그렇지 않을 수도 있습니다.다른 가상 머신을 통해 C# 작업자를 보내십시오.
class ThreadManager
{
public void main()
{
for (int i = 0; i<300; i++)
{
myWorker wk;
if (i < 100)
wk = new myWorker(IP_Computer_1);
else if (i < 200)
wk = new myWorker(IP_Computer_2);
else
wk = new myWorker(IP_Computer_3);
wk.RunWorkerAsync();
}
}
internal class myWorker :: BackgroundWorker
{
public string IP_Computer;
{...}//constructor
protected override void OnDoWork(DoWorkEventArgs e)
{
WriteToDatabaseTable("BAZINGA ! Greetings from computer " + Dns.GetHostName());
//SQL server DB is hosted on a publicly accessible domain
base.OnDoWork(e);
}
}
}
:
내가 같은 작업을 수행하는 근로자의 수천, 나는 그들에게 많은 원격 가상 머신 (클라우드 또는 네트워크) 여기
에 병렬 방식으로 실행하고자하는 아이디어입니다
물론 이것은 의사 코드입니다. 스레드/작업자를 다른 컴퓨터/네트워크 (멀티 코어는 물론)를 통해 할당하십시오.
기본/가장 간단한 옵션은 무엇입니까? 나는 가볍고 효율적인 솔루션에 개방적이다 (나는 복잡한 스케줄링/애플 리케이션 워크 플로우 리엔지니어링 등을하고 싶지 않다.).
NB : 이것은 아니다 무고한 질문. 그리드/클라우드 컴퓨팅, HPC, 아마존 웹 서비스, Azure 등에 대한 모든 소동에 대해 알고 있습니다 ... 나는 많은 시간을 보냈으며 물건을 시험해 보았습니다. 제 의견으로는 많은 (돈) 비즈니스가 있다는 것입니다. 밖에 나가. 때로 기본으로 돌아가 기본 문제를 해결하기 위해 지나치게 복잡한/복잡하고 침해적인/고가의 솔루션이 정말로 필요한지 알아보기 위해 간단한 질문을하는 것이 좋습니다. (우리는 거대한 네트워크를 가진 Fortune 500이 아니라 단지 작은 연구 회사 특정/원자 컴퓨팅 요구 사항이 있음)
잘 모르겠어요를 해결해야합니다 나는 클라우드에 대한 네거티브에 동의합니다. 매우 복잡한/복잡한/침입적/비싼 _ –
가능한 중복 [.NET 그리드 컴퓨팅 시작 방법] (http://stackoverflow.com/questions/3249198/how-to) –
@Forgotten Semicolon : 1 년 후, 근본적인 문제에 대해보다 포괄적 인 대답을 할 수있는 기회가 더 있는지 궁금합니다. –