Multicore processing

This forum is for eXpress++ general support.
Message
Author
User avatar
Auge_Ohr
Posts: 1414
Joined: Wed Feb 24, 2010 3:44 pm

Re: Multicore processing

#21 Post by Auge_Ohr »

Auge_Ohr wrote:... now Sample begin to work ...
here are 2 HTML Sample.
when look into Sample you will see that 1 Sample is for German User while other is English.

Code: Select all

English:
Monitor.Counters.Add("\Process(*)\% Processor Time")

German:
Monitor.Counters.Add("\Prozessor(*)\Prozessorzeit (%)")
so German Code for SYSMON.OCX is total different from English :roll:
PDH is useless
YES ... it is just like Taskmanager CPU % ... just Show ;)
greetings by OHR
Jimmy

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Multicore processing

#22 Post by Eugene Lutsenko »

It turns out that a certain program in Alaska can in turn download and run on different cores identical modules also written in Alaska, and they will run simultaneously . If they work with the common source databases and provide the results of their work is also a common database , it already can give a real boost productivity relatively stable from one such module , much like vector processor . You can think of pipelined processor . What to write modules can learn by talking through some common database , where they can post information on the results of their work to others they are not repeated . This may be of interest to improve performance by parallelizing processing tasks. And it is possible to divide the original data for these models and let them form each their results and then combine the results.

Victorio
Posts: 631
Joined: Sun Jan 18, 2015 11:43 am
Location: Slovakia

Re: Multicore processing

#23 Post by Victorio »

Hi,
I read imprtant information about using more than one core of processor.
I want examine this :
I want run application and run "some" process, this run several minutes. After it I start other process, also several minutes... Each process generate report.
Very simple is on 4 core PC run application 4 times, and work simultaneously. If I run each of application on other core, this spare me time, and I can do same job for 1/4 of time.
This is not very comfortable...

I want test this :
Make "main" application, run it on core 1, and from it run other 4 external application, each on other core.
(1,2,3,4) Settings parameters for each from 4 paralell processes I can controlling from "main" application.
Because external application run with Runshell, I can not good control it, then I must make some system to get, read information about status of each running process. For it I want use for example one database, where every external application write status of running process, (% of processing, or only Running, Ready...)
I know, it is not very good solution, but better for user, because he see all on one "window", do not need switch between windows .
Screen main application can look like this :

MAIN
buttons :
Process 1 Process 2 Process 3 Process 4
running ready ready free

On 8 core PC this button can be 8 :)

Also this "buttons can be hide, and system only controlled processes , distributes them to cores , and user added entry to batch.
In shared database user can see, what process is finish, what running, what waiting to run.

Can this work ???

User avatar
Auge_Ohr
Posts: 1414
Joined: Wed Feb 24, 2010 3:44 pm

Re: Multicore processing

#24 Post by Auge_Ohr »

Victorio wrote:Can this work ???
NO :snooty:
greetings by OHR
Jimmy

Victorio
Posts: 631
Joined: Sun Jan 18, 2015 11:43 am
Location: Slovakia

Re: Multicore processing

#25 Post by Victorio »

Jimmy, Why ?
may be problem with sharing files ?
or no effect to spare time of process ?
Then will be better to run application on more computers ?

I wonder, processor time is not main problem, and more time consume disk or memory access ...

User avatar
rdonnay
Site Admin
Posts: 4734
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Multicore processing

#26 Post by rdonnay »

If you are launching the 4 processes as separate .EXEs, via RunShell(), then you can do what you want, but not in a single .EXE. You can tell each .EXE which processor to use but that has to be done inside the .EXE. You could pass that info as a parameter to the .EXE.
The eXpress train is coming - and it has more cars.

Victorio
Posts: 631
Joined: Sun Jan 18, 2015 11:43 am
Location: Slovakia

Re: Multicore processing

#27 Post by Victorio »

Yes, this I want,
Runshell("1","program1"...)
Runshell("2","program1"...)
Runshell("3","program1"...)
Runshell("4","program1"...)
...
every exe can read separate parameters from shared database or some own file (csv,sdf,text...).
for example fileforcpu1.csv,...
Managing can do in main application, input parameters to batch

(I read here, that Alaska Xbase run "always" on one cpu)

User avatar
rdonnay
Site Admin
Posts: 4734
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Multicore processing

#28 Post by rdonnay »

Each .EXE will need a call to DC_SetCpu() to set the processor.
The eXpress train is coming - and it has more cars.

Victorio
Posts: 631
Joined: Sun Jan 18, 2015 11:43 am
Location: Slovakia

Re: Multicore processing

#29 Post by Victorio »

DC_SetCPU() .. ok, thanks...
I tested switching between CPU... nice show on Task manager which CPU work.

User avatar
Auge_Ohr
Posts: 1414
Joined: Wed Feb 24, 2010 3:44 pm

Re: Multicore processing

#30 Post by Auge_Ohr »

Victorio wrote:DC_SetCPU() .. ok, thanks...
I tested switching between CPU... nice show on Task manager which CPU work.
you can switch CPU but every Thread or RunShell() from EXE will run on same CPU like EXE.
greetings by OHR
Jimmy

Post Reply