(Opmerking: Ik ben echt teleurgesteld dat na verkoop 400 miljoen exemplaren van Windows 7 Microsoft geen langer ondersteunt Windows XP, maar is begonnen om te downgraden van de functionaliteit in stukjes en beetjes waardoor het niet langer geschikt voor dit project. Aangezien het project onder Windows 7 doen nog moeilijker is dan doet het onder Linux en Linux bieden veel meer ultieme voordelen dan Windows ik ben het maken van de overgang naar Linux en als ik leren zal dit project bijwerken dienovereenkomstig. Ook ben ik overweegt waardoor dit een opensource samenwerking onder Linux dus laat me weten als u zou willen samenwerken.)
Aangezien de waarden in de matrix de grenzen van een Microsoft-lange integer-variabele overschreden en ik had enkele of dubbele precisie variabelen gebruiken (bij het zoeken naar dubbele waarden door het vergelijken van elke waarde in de matrix met een index variërend van de minimale tot de maximale matrix-waarde) is vaak de hoeveelheid beschikbaar geheugen en tijd overschreden.
De matrixgrootte van een van 265 elementen die bevat integerwaarden die exponentieel toenemen in waarde elke cyclus met potentieel geen limiet op het aantal cycli of de waarden in de matrix de tijd een herinnering nodig snel het vermogen van mijn interne personal computer overschreden.
Een array en een set van waarden en een voorbeeld van de index vergelijken:
1 2622695870048
- -
- -
5 6645178834471
6 63491409181716
7 83861832294247
8 2622695870048
9 45029704436816
10 18117222372627
11 6659485477833
12 50600552165484
13 37292816675177
14 36784339702878
15 40751538724887
16 41576195825074
17 37319353740877
18 15405643023342
19 77102983094426
- -
- -
265-41576195825074
.. .met een vergelijk index van 0 tot 28239790275938 voor deze bijzondere array.
Ik beschouwde het herschrijven van het programma in ASP, openen van een Amazon of Google of Microsoft cloud account, maar wilt prutsen met een kleine Beowulf cluster eerst na het lezen van diverse artikelen over hen.
Omdat het mogelijk was om te dupliceren van de array en kopieer deze naar een andere computer en het was ook mogelijk om de index in tweeën splitsen en graaf duplicaten in het lagere bereik van waarden op één computer en het bovenste bereik op een andere computer
28239790275938 / 2 = 14119895137969
lagere bereik verwerkt 0 tot en met 14119895137969 - 1 op één computer
bovenste bereik verwerkt op een andere computer: 14119895137969 naar 28239790275938
vervolgens toe te voegen steeds meer computers kan mogelijk een oplossing bieden voor de grenzen van één computer.
Hebt u een probleem dat kan worden verdeeld in een vergelijkbare manier lopen de helft op één computer en de andere helft op de andere kunt u een supercomputer bouwen door simpelweg verdelen van het probleem en meer computers toevoegen.
Natuurlijk wilt u misschien een Ethernet link gegevensoverdracht in plaats van met behulp van diskettes gebruiken en u kunt om te voorkomen dat computers dat uitvoeren bij snelheden van minder dan 1 GHz maar niets aan het idee verandert.
Omdat mijn aanvraag doet geen vraag teveel geheugen van de server of de verwerkingstijd te tellen van de dubbele ik kan meestal traag worden verschillende exemplaar van het programma op elke computer op de achtergrond zonder al te veel naar beneden of verlies van het geheugen voor andere programma's. Met dedicated servers kan ik meestal veel meer exemplaren van het programma uitvoeren.
Het systeem ik heb tot en met nu de matrixgrootte van een van 265 waarden vereisen een ongedeeld index van 0 tot 1,280,000,000,000 (1.28 biljoen) voor een enkele computer kan verwerken of dat kan worden verdeeld in 38 segmenten om index waarde grootte tot 33,684,210 (33 miljoen), 38 exemplaren kunnen worden uitgevoerd op 7 computers zonder problemen.
Hoewel het kan duren overnachting of langer te voltooien van deze taak en langzaam door industriële normen blijkt dat met voldoende computers de mogelijkheden vrijwel onbeperkt zijn...