• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Is this possible. (Distributive computing type question)

ICRS

Banned
In simplest terms the alogithm is this:

Select an initial Q1, R1, A1, B1, C1

For n = 1 to 1 Million ( Some very large number)
{
Yn = fy(Qn)
Zn = fz(Qn, Rn)
Xn = fx(Yn, Zn, An,Bn, Cn)
An+1 = fa(Xn)
Bn+1 = fb(Xn)
Cn+1 = fc(Xn)
Qn+1 = fq(Yn,Zn)
Rn+1 = fr(Zn)
}


For complex equations, or when the number of variables increases it takes a very long time to run on 1 computer, some times even over 24 hours. So I thought if I split it up into 2 or 3 computers that run through it together simultaneously then I can make it quicker. This will be similar to the idea of distributive computing.
 
What you've specified here is a long serial chain of computation -- aside from individual functions that happen to have no explicit data dependence (e.g. fy and fz), there is very little parallelism. The problem is that there is a dataflow order constraint on, say, Rn+1, such that Rn must be computed before Rn+1 for all n.

In order to distribute this application to multiple threads/machines/computers/whatever, you will probably have to find a way to express [ABCQR]n+1 as functions that don't have a loop carry dependence on [ABCQRXYZ]n. That may not be an easy thing to do, but seeing as I don't know what the functions do, thats the best help I can offer.
 
Back
Top