« Funny comics | Main | Google Maps Pedometer! »

Multicore and applications, and reminiscing

626565A friend of mine at work sent an excellent writeup on the processor trend towards multi-cores and how it affects your operating system, your applications, and ultimately the time you spend doing CPU-intensive tasks

I knew just about everything that was described in there, but I was interested to read about some of the iMovie filter and Photoshop tests that failed to be multi-core aware.

This is an excellent writeup which I promise will really solidify the whole concept of multi-core and what it can do for you.

(Link)

Way back in 1996–1998 (or so) I spent $2500 on a two-CPU Pentium 3, I think, where each CPU ran at 400MHz. The reason I bought it was simple, I had a job to do ASP programming (not ASP.NET… this was a LONG time ago) and I had a theory. Debugging an ASP application would be faster if the debugger and the web server ran on separate processors. This was back in the days of NT4 SP3 and the Windows NT Server Option Pack. The results were that the system was usable and debugging worked. Beyond that I just don’t know.

I also recall John Carmack talking about multiple cpu’s a long time ago, back in 1996 when he was developing QuakeWorld:

It looks like I am going to split the QuakeWorld client into multiple threads to reduce the avg 1/2 frame latency between input and packet sending. This is also a step towards building a multi-threaded Quake renderer, which will let multi-cpu NT machines render twice as fast. Lets hope the windows thread scheduler is decent...

This brings up another point. Who’s thread sheduling is better? Windows or OSX or Linux? I’ve worked with a lot of middleware vendors at work and they all support Windows and Linux. It’s funny how each vendor swears that either Windows or Linux has faster thread scheduling. I think it’s really hard to say who’s better since different processing loads can behave in one of two ways on a specific thread sheduler. It can be handled efficiently or it will not be handled efficiently. Actually, it’s probably a gray-scale.

If anyone knows about any studies done where processing loads are categorized and compared on each of these platform thread schedules, I think that would be interesting.

Oh, and since I’m reminiscing about old John Carmack plan files, don’t forget to read my favorite: OpenGL vs Direct-3D on Dec 23, 1996. In that entry he has my favorite quote of all time:

I'm sure D3D will suck less with each forthcoming version…

This is basically the Microsoft rule that I live by. I quote this all the time, although I usually say thet MS software “sucks less over time.”

 

TrackBack

TrackBack URL for this entry:
http://www.primordia.com/blog/mt-tb.cgi/688