Jump to content
Light-O-Rama Forums

Does LOR Support Multiple CPU Cores?


Recommended Posts

Posted

I know that it will run an any number of CPU's and number of cores.

But, I am looking to finally replace my REALLY old Show machine with a newer spare PC.  It currently has a Intel Core 2 Duo CPU.

Will upgrading to the Intel Core 2 QUAD give me any noticable difference in my shows?  I am really not worried about sequencing, etc. as I do that on a different PC.

Basically, Does LOR benefit from more cores in the CPU?  If not, Will it anytime in the near future (1-3 Years)

 

Thanks in advance for your answers....

Scott

Posted

I suspect not (for running the show).(Last year I ran 16 AC channels on a P4. Very low CPU cycles while running the show)

The Editor(s) and Visualizer may benefit  from cores. This year my LOR editing will be done on this W10 machine (core Duo)

Posted

Hey Ducks, thanks for the response.   I was thinkng the same thing. 

My new "spare" PC has 8 USB ports, so I can break up my LOR traffic into multiple networks, and I put 2 extra nics in it to break up my e1.31 networks as well.

 

Posted

As others have said, additional cores will allow for some better processing.  However, remember that what you are trying to do (control lights) is based on time.  That means things process sequentially, not in parallel -->  Things have to happen in a certain order at certain time intervals.  That usually precludes the use of multiple cores/threads and locks the program to a single CPU.  

However, Windows will take advantage of the multiple cores if possible.  So if you have a processor that has multiple cores and are running SE and VI, windows can put each on a separate core.  That helps.

BUT....  More is not always better.  Sometimes more is just more.  For example, if you have a single core processor now and upgrade to a 4 core processor (all other things being the same), the increase in performance is NOT 4x.

S4 (and S5 - actually ALL versions of the software) are not processor bound, they are I/O bound - It takes far more time to send the data out the wire than it takes to compute what the data should be.  We need get the data out the door before we can compute what the next data should be - so we are blocked.  We sit there spinning our wheels constantly checking if the last bit of data has gone out the wire.  Once the last bit is out, we know what we sent and what the current time is and can quickly create the next set of data.  In this case another core (or thread) doesn't make sense and to use one buys you nothing.  We have to wait anyway, and we might as well wait on the core that we are running on, leaving the others for Windows to run stuff on.  That's why you'll see 1 core running 'hot' and the others just seem to sit there.

To talk about 'IO bound' remember this - Faster wires mean faster processing time.  For example, if you have 10,000 channels on a single LOR network (running at .5mbit - Better known as 500K in LOR speak), and your buddy has 10,000 running on Ethernet (e1.31 - which is 1000mbit), his processor is going to be sitting there at some ridiculously low percentage, while yours is chugging along at near 100%, even though you are sending less commands.  

For him:  We sent all the data in just a few ms.  The data is completely out the door. so we tell Windows 'Hey... wake us up in 100ms' (1cs).  We go to sleep by letting go of the processor. In 100ms Windows wakes us up.  We repeat this.

For you:  You start sending data.  After 100ms you are STILL sending data.  We sit there asking 'are you done yet?  are you done yet?  are you done yet?'.  Finally you finish, and it's 800ms later.  We quickly process what should have happened in those 8 intervals (remember, we work in 1 CS 'resolution'.  1 cs is 100ms and 8 have passed), and queue up all that data to send.  

In programming, just like in life: everything is a trade-off.

For my technical programmer friends: please excuse the oversimplification :)

Posted

Mike, 

THANK YOU for your response!

I am going to hold off upgrading the processor.  I have already split my LOR networks and my E1.31 networks up to reduce load on those links so I should be fine!  I don't think my processor will be a bottleneck....

 

Thanks again!

Scott

Guest
This topic is now closed to further replies.
×
×
  • Create New...