Hi Ansink,

Yes, this is a known problem with Alchemi.

The issue is, currently Alchemi uses only remoting to transfer the files as method "arguments". This causes these files to be in memory, and eventually there are scalability problems. We are trying to fix the problem by having a seperate data transfer service, so that large-ish input files dont cause a problem.

Till then, I guess this is known "bug".

Regards
Krishna.

Krishna,

I have a problem using Alchemi and i try to explain my problem. Look at the 
following code

       GConnection gc = GConnection.FromConsole(hostname, "9000", "admin", 
"admin");

       // create a new grid application
       _gridApplicatie = new GApplication(gc);

         // subcribe to events
       _gridApplicatie.ThreadFinish      += new GThreadFinish(JobFinished);
       _gridApplicatie.ThreadFailed      += new GThreadFailed(JobFailed);

       _gridApplicatie.ApplicationFinish += new 
GApplicationFinish(ApplicationFinished);
Initialize(programProfile);

       // Create jobs
       if (Directory.Exists(_map))
       {
         string [] calcs = Directory.GetFiles(_map);

         // Loop over the jobs
         for (int jobNr = 0; jobNr < calcs.Length; jobNr++)
         {
           // Create a new Alchemi job
           GJob alchemiJob = new GJob();

           // Add Input files to the alchemiJob
           for (int i = 0; i < _inputFiles.Length; i++)
           {
             alchemiJob.InputFiles.Add(new 
EmbeddedFileDependency(Path.GetFileName(_inputFiles[i]), _inputFiles[i]));
           }

                // Add Output files to the alchemiJob
           for (int i = 0; i < _outputFiles.Length; i++)
           {
             alchemiJob.OutputFiles.Add(new 
EmbeddedFileDependency(_outputFiles[i]));
           }

           // Run command
           alchemiJob.RunCommand = string.Format("{0} {1} ", 
Path.GetFileName(_executable),
             Path.GetFileName(programProfile.Name));
// Add job
           _gridApplicatie.Threads.Add(alchemiJob);
         }

         // start the grid application
         _gridApplicatie.Start();

         Console.WriteLine("\nStarted Sobek grid application .. Waiting for jobs to 
finish ..\n");


The input files that i add for my job as a embeddedfiledependency is about 20 mb of data. So when i want to run a calculation of more than a dozen of jobs the memory allocated is too much, because all of the files are in memory until the start of the grid application. Is this a known problem or am i doing someting wrong. I can run my grid application for only +- 12 jobs fine. Is it possible to read & encrypt the input files at a later moment??

Johan Ansink
senior programmer
HKV consultants.





-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
alchemi-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alchemi-users

Reply via email to