I was asked what I had found out about Alpha and multi processors. Here is email that I had sent. I thought it would be a good idea to post here so it can help others.
I am using a windows 2003 server x64 & terminal server on a Dell computer with 4 processors. All of the work is done on the server with just screen updates going to the user's computer.
What I have found out with testing is SelectBestProcess() just moves everyone from the first processor to the last processor (our server has 4 processors) If you do not do anything then everyone is on the first processor. What I had ended up doing is in my autoexec script I have a case statement with
This was a pain to do but it solved the problem for the moment. I doing my research I found Alpha selects a processor. If Alpha did not select a process then the OS spreads the load over all of the processors. In checking other programs that we use ie Quickbooks they or microsoft spread the load over all of the processors. In quickbooks when I did a big report and was the only one on the server I saw where each processor carried a little of the load. When I did the same thing in Alpha whatever processor I selected or it gave me the load was about 25-40% and the rest of the processors were sitting idle.
Hopefully Alpha will make a program change to just let windows select the best processor or processors. I had also found out I can make Windows use all of the processors after I start the program but would have to do that every time. The way to see what processors the computer is using for what program go to
Task Manager-Processes
select say alpha5.exe then right click mouse button
Select Set Affinty
You will then see all of the computers processors with the one checked that the program is using. If you go and select all of the processors it will spread the load over all of the processors instead of just the one checked.
I am using a windows 2003 server x64 & terminal server on a Dell computer with 4 processors. All of the work is done on the server with just screen updates going to the user's computer.
What I have found out with testing is SelectBestProcess() just moves everyone from the first processor to the last processor (our server has 4 processors) If you do not do anything then everyone is on the first processor. What I had ended up doing is in my autoexec script I have a case statement with
Code:
Select case user_name() = "jack" setPrimaryProcessor(2) case user_name() = "jim" setPrimaryProcessor(0) case user_name() = "mary" setPrimaryProcessor(1) end select
This was a pain to do but it solved the problem for the moment. I doing my research I found Alpha selects a processor. If Alpha did not select a process then the OS spreads the load over all of the processors. In checking other programs that we use ie Quickbooks they or microsoft spread the load over all of the processors. In quickbooks when I did a big report and was the only one on the server I saw where each processor carried a little of the load. When I did the same thing in Alpha whatever processor I selected or it gave me the load was about 25-40% and the rest of the processors were sitting idle.
Hopefully Alpha will make a program change to just let windows select the best processor or processors. I had also found out I can make Windows use all of the processors after I start the program but would have to do that every time. The way to see what processors the computer is using for what program go to
Task Manager-Processes
select say alpha5.exe then right click mouse button
Select Set Affinty
You will then see all of the computers processors with the one checked that the program is using. If you go and select all of the processors it will spread the load over all of the processors instead of just the one checked.
Comment