Vegas 4 Multi-Processor / Hyperthreading + MainConcept

DarrenCB wrote on 8/1/2003, 6:45 AM
I have just brought a new computer with hyperthreading enabled and have been eager to try this with video software as it is this type of software that I would expect the most performance increase. However when rendering with Vegas I find that CPU0 runs at maximum load and CPU1 runs between 0 and 10%, while this is great if I want to do other things while rendering, I was wondering if it is possible to increase this so It would max out the cpu?

I have been reading the forums and it seems that Vegas 4 doenst seem to perform any better with dual-cpu systems, which is a bit of a shame. However I just checked out the MainConcept site to see that all of their encoding software now supports hyperthreading so will there be an update to the Sonic Foundry MainConcept MPEG Plugin that will use this?

Darren

Comments

RBartlett wrote on 8/1/2003, 6:59 AM
110% is at least something better than a single CPU machine.
Sonic Foundry have explained their reasoning with a lot of the work that goes on within Vegas being single threaded. They explained that most signal processing activities they undertake are the video and linear - e.g. the audio doesn't take much CPU so may account for some of the 10%.

MPEG encoding may better support the 4 execution engines of a dual Xeon (Prestonia etc) machine.

However hyperthreading on a single chip of processor divides the execution engines into two. So you lose some of the grunt.

I see hyperthreading on a single CPU as being a benefit to POORLY written software, and smaller low-I/O jobs from different applications that are run concurrently. Where you always use perfectly written software - enabling hyperthreading CAN make things slower.

Whilst you have max CPU0 and CPU1 at 10% in Vegas. Have you tried running another copy of Vegas up? It if works smoothly - then you can be working on two things at once and your original expectations of hyperthreading could be at least partially justified (except that windows supports multitasking on all CPUs).
BillyBoy wrote on 8/1/2003, 4:48 PM
Hyperthreading (merely marketing buzz to describe a process) shouldn't be confused with multi-threading or the ability of some software if so written to better take advantage of multiple processors. In the context Intel uses "hyperthreading" is is a feature part of some earlier generation P4 chips, but only "turned-on" in starting with the "c" series, thus exploiting faster FSB speeds for example.

What is gained or loss is relative to the speed of the chip. Simply having a dual processor system does not mean you will have a system able to get job "X" done any faster. In fact a fast single P4 overclocked can out perform a slower dual processor system. Consider the considerable extra cost, the need for a beefier power supply, other goodies, the cost doesn't justify it unless you have software that really takes advantage of dual processors. Presently little software aside from special purpose stuff does.
akg wrote on 8/2/2003, 5:26 AM
I got dual AMD 2G cpu !!
not fast as I thought !!
But work well !!
bgccdx wrote on 8/3/2003, 12:14 AM
I'm not sure why your second processor isn't rendering. When I render in VV4, both my processors run up to 90% each. I have a 2.8Ghz P4 with 1Gb RAM. Win XP
farss wrote on 8/3/2003, 3:16 AM
More words have been written about this than anything else on this forum I think!

Lets not forget that unless VV has to deal with transitions or Fx then all its doing is COPYING frames of video from one file to another. Hyperthreading just ain't going to make that happen any faster. faster disks will certainly help.

But here's a funny thing. The first NLE (dare I call it that?) that I used was MGI VideoWave. Now before you all fall of your chairs laughing it came for free with my firewire card.

All I used it for was chopping up video and adding fades at the heads and tails prior to rendering for VCD. Once it got past rendeing the fade it pops up with "SMART DV" and the disks go flat chat. It would render 25 minutes of DV in under 5 minutes and that was on a 500MHz PIII.

My new system, a 2.4 GHz P4 with Raid 0 drives takes 10 minutes to do the same thing with VV, I'm not complaining, VV has a lot more overhead but it does show how much influence what's been done has on how code works.

Conversely TMPGEnc runs many times faster on the new system (and will use hyerthreading when I can afford it).
akg wrote on 8/3/2003, 2:43 PM
Hey bgccdx
What can you rander to 90% !!
I only rander mpg to 50% !!
But Tmpgenc can rander to 100% !!!
bgccdx wrote on 8/3/2003, 3:10 PM
Hi akg. When I render out to MPEG for DVD creation, both procs run around 90%.
BillyBoy wrote on 8/3/2003, 3:39 PM
Amazing how people get confused over what Windows is saying.

Higher CPU useage reporting in Task Manager is not a sign your computer is running better, rather that it is working HARDER, meaning your performance is worse, not better!

For one example read the following:
http://support.microsoft.com/default.aspx?scid=kb;en-us;317751

For sake of discussion consider my new system verses the older one. The old one would typically show between 95-97% CPU useage. That is NOT a reason to do somersaults and shout for joy. My new system only reports 50-52% CPU useage. That is reason to celebrate.

I'll explain...

My new system is roughly twice as fast, has twice the memory and the FSB is now running at a blistering fast frequency of 960. That in a nutshell means the CPU is loafing along and able to do in half the CPU cycles what once took nearly all of them. That means if I want to do some extra work while rendering the computer responds almost instantly instead of being very sluggish as it was before.

While you want as fast a PC as you can afford you do not want it to use excessive CPU cycles as indicated by Task Manager saying the CPU in really straining.

RBartlett wrote on 8/3/2003, 4:59 PM
Low CPU usage on intensive work is usually an indication of poor I/O - in the above example - this might be disk I/O being poor.

The PIV is built for GByte/sec performance, the PCI32 bus tops out at 133MB/sec. So this alongside some directx throughput limitations - means that you'll never quite reach the performance your machine is capable of.

It is easy to think of CPU usage as related to an engine and gearbox. But incorrect.
The CPU usage is the direct inverse of an indication of free time. You don't want free time as the work won't get done.

It is true that you don't want CPU cycles to be "up there" whilst no real work is going on. This can point to memory leakage or race conditions in drivers.

XP is required for hyperthreading. SMP needed NT or Win2k Pro but didn't support more than 2 incarnations of SMP engines through APIC switching.

Spot has a sample a .veg file that folk can use for a benchmark. There are TMPGEnc benchmarks too - I think.

What it all boils down to - is that the system can only be as strong as the weakest link. Many many things in NLE work are at least 1x their duration of playback to process.

Dual channel memory, PCI-X and next year PCI-Express - all change the game plan and release the CPUs from their shackles (subject to the storage I/O again being enough for the complexity you usually work to).

Low CPU and having to wait for rendering = bad news.
High CPU and having to wait even longer is however like BillyBoy said = worse bad news.

High CPU should also leave a system with responsiveness. Otherwise the system integrity might start to dwindle (or worse - folks might start terminating tasks when they are functioning but just a bit renegade).

Hardware offload technology (HD, DV, MPEG, U320 SCSI) custom chip based boards can reduce the CPU workload for the same system processing. These boards can also be the weak spot when you upgrade - and PC upgrades are often cheaper than any one of these accelerator boards.
bobojones wrote on 8/3/2003, 5:03 PM
oh BB, I am just a newbie and you don't know how much it means to me to have someone as knowledgeable as you to help me understand more about computer hardware.

I read all your posts with great anticipation in order to learn more. Can you please provide a more detailed explanation about my processor being strained? After reading your last post I am worried that I could be hurting my computer when it is running a lot. I know what it's like when I get a strain after I've been running a lot and I sure don't want the same thing to happen to my new computer!!

Thanks so much for all this good information.
BillyBoy wrote on 8/3/2003, 6:12 PM
Maybe I should have used a different choice of words relative to stressing your computer. You can't hurt your computer by making it work hard as in break it. In the context I used the terms I did, I mean the CPU is doing about all it can do. The CPU while the brain of your PC it is only as good as the weakest link as Richard just said.

That said, a computer's biggest enemy like with most electronic equipment is heat. When a computer is 'under load' meaning doing some intensive task like you pulling a trailer up a steep hill in a VW bug, (yes rendering is an intensive task) it will get a little hotter. That's why its important to monitor the CPU temperature and to a lessor extent the temperature inside the computer case. Ideally there an air current that passes over the CPU and gets exhausted picking up the heat generated from the CPU heatsink by one or more case fans. That does not mean you have to run out a buy more fans or install a fancy heatskink and fan. You don't even have to open the case. Use common sense. f Windows starts hanging and/or shutting down all by itself especially after you've been doing something intensive for several hours straight, the first thing I would rule out is if or not your PC is overheating. It probalby isn't unless one of the fans failed. Do you hear the little fans in your PC running? Does the air being exhausted in the back of your PC feel more than slightly warm when you put your hand there?

So back to your original question. Does running your PC a lot hurt it? No. Can you hurt your PC by making it work hard? No. Many people leave their computer constantly on. The most likely thing to wear out on a PC is probably your mouse/trackball, then keyboard, then maybe your hard drive if you're unluky. The little fans last anywhere from about 20,000 to 50,000 hours. As long as it don't get zapped by a static charge, your computer can run a long time without anything going wrong at all except for some goffy Windows thing, which is expected and mostly harmless annoyance.



bobojones wrote on 8/3/2003, 11:00 PM
Well, I'm glad to hear that my processor isn't being strained when it's operating at a high utilization percentage.

Now I'm wondering.....what is the optimum processor utilization percentage for rendering? BB said that higher utilization means that the processor is working harder and performance is worse. Does that mean that lower utilization is faster for rendering?

farss wrote on 8/4/2003, 5:37 AM
Two things to be aware off.

Measuring CPU load is a tricky thing at the best of times. The most common trick is to run a task at the lowest priority and see how many things it does say every second, its far from foolproof.

Secondly if you've got some task such as rendering and its only using 20% of the CPU load and thats all thats running then the actual render code is spending a lot of time waiting, disk I/O is the most likely thing. Some simple arithmetic will show that even if you got a processor that ran twice as fast its not going to make the render run much quicker.

To wind the speed up you need to look at what else is the bottleneck, as I've said elsewhere unless VV is handling FX or transistions it's just copying the video field by field to another file. That part of the process would probably run much faster with faster disk I/O. I don't mean faster disks, I mean ones with faster sustained data rates. Having the render run from one disk out to another would also help.

Thats why the top end systems use SCSI, the disks may not seek much faster but you can get large amounts of data in and out much quicker.
treborvdrummer wrote on 8/11/2003, 9:47 PM
Question...

My mobo Intel 875 allows me to shut off Hyperthreading does that then allow all of the P4 3.0Ghz CPU to hammer away during rendering?

Am I dividing the total amount of cycles I can utilze for rendering if HT is on?

Basically am I running dial 1.5 Ghz Proc instead of one 3 Ghz?

Thanks!!
BillyBoy wrote on 8/11/2003, 10:36 PM
Oh boy...

Realize first that the term hyperthreading is partly marketing hype. The "c" version of the Pentium 4's have a feature that has been built into the core of the chip since the beginning of P4's in effect turning it on. This supposedly improves performance. For it to work effectively there needed to be a high FSB frequency. So we're first seeing it in motherboards running at 800 FSB or higher.

If a CPU is multi cored (the Pentium 4 is) then by switching threads (how a CPU processes an set of instructions) from one core to another should increase performance. So the short answer is NO, never disable hyperthreading. With hyperthreading running the CPU in theory anyways should be able to process two parallel threads in each core at the same time for a total of four.

OK, sounds great on paper. It works sometimes, but only sometimes. The fly in the ointment is each thread may require the same sub routines of the chip. So it doesn't matter if you have two or two hundred threads running in parallel, one still has to wait till the CPU is finished with the other because there are no duplication of the sub routines. So if thread A and thread B both need some interal process of the chip one has to wait. If however each thread at point X in time expressed in million's of a second isn't requiring the same resources of the chip then yes hyperthreading helps.

So look at it this way:

One of the next bottlenecks to overcome speed wise isn't how fast the clock speed of the chip can be pushed, but perhaps adding many more multiple cores to the CPU, which is exactly what IBM for one has been messing with. The down side is to accomplish that you need still closer tolerances for the interals of the chip and doing that will increase the heat, which of course is a bad thing. To start getting speeds invisioned on Star Trek and other SF lines either a totally new and more radical design is needed or a practical way to cool the chip down to near absolute zero without of course killing the chip in the process. Two things make the electrons move faster lower tempatures and closer spacing of the insides. Right now trying to move things closer inside the die is only going to push the heat generated over the top.


RL wrote on 8/11/2003, 10:44 PM
BillyBoy,

Need your opinion on something! Can email you offline? Couldn't find your email address on your tutorial website...

Thanks!

RL
BillyBoy wrote on 8/11/2003, 11:08 PM
wvg@wideopenwest.com
RL wrote on 8/11/2003, 11:33 PM

Thanks! Sent an email to you.
HeeHee wrote on 8/13/2003, 4:02 AM
To add to BillyBoys statements.

I you benchmarked a Xeon system in Windows XP, once with one Xeon CPU installed and Hyperthreading enabled and then another time with a second Xeon CPU installed WITHOUT Hyperthreading enabled, you would find that the Dual CPU system with hypthreading disabled would win outright.

Having Hyperthreading enabled with Dual CPUs is obvously a bit better, but not much without software that utilizes Hyperthreading.

Hyperthreading actually started with the 2.0GHz 400FSB Xeons. HT was introduced to the P4 line with the 3.06GB 533FSB CPU. All 800FSB CPUs have HT. All 533FSB P4s have the HT technology, but it is not enabled in all of them except the 3.06. I have worked with Intel Confidential CPUs at speeds that were not supposed to have HT in the released versions, but the confidentials have HT enabled.