Wednesday, January 03, 2007

How to make software faster (with hardware)

I also read over the holidays some nice posts from a Photoshop architect (and engineer) about performance in software with regards to both 64 bit computing and the broader proliferation of multi-core processors (with Photoshop specifically, in this case). I've said this many (many) times, but this is a good excuse to repeat it: the best way for hardware designers and vendors (*cough* Intel *cough*) to improve utility (and therefore value) of the CPU is to improve memory bandwidth from the CPU. Clock speeds and cores and more processors and fancier instructions will make micro-benchmarks perform better, but RAM access is what will provide BY FAR the most improvement for well optimized software (read: where algorithms trump assembly).

For example, the biggest advantage that NVidia and ATI, with their GPUs, provide isn't the specialized HW instructions for rendering graphics (though those help): its that they can access RAM, oh, about a 50x to 100x faster than it can be addressed by the CPU.

That said, it is clear that the dramatic increase in multi-core processors in computers (and units per CPU) will create a new class of software and algorithms to be advantaged by them. Nobody's arguing that their sh!# doesn't stink...

Labels: ,

9 Comments:

Anonymous Anonymous said...

I guess since you're "graphically" speaking I'll generally agree on the memory bandwidth but I'd argue that the problem set that would benefit to the extent Photoshop would is actually much smaller. Why limit it to memory and not physical I/O? It's VERY dependent on the problem set you're trying to solve. Video is called out in the blog you linked specifically because it's a different problem space than still photos (and one area where multi cores and GPU acceleration has helped significantly). I'm sure they've already looked but Adobe is certainly capable of using the GPU's on the newer cards for faster operations as well.

I'd actually argue that the real problem is getting enough well-optimized software these days :-D I just had an enjoyable 2 days optimizing someone's (cough) DirectShow rendering filter and got a 3x improvement by selectively clipping rather than re-rendering and blasting full frames. It's just a shame that the times we get to work on true optimizations are few and far between because that's the real fun in development.

-Mat Peenan

January 03, 2007 3:43 PM  
Blogger Sree Kotay said...

Hey Mat! (Peenan! - hah!)

Its true the general I/O improvements would help, and I agree completely that algorithms trump other optimizations.

And believe me, I can't believe how often people don't do dirty rectangles, clipping and the like... and still have the nerve to complain about low-level optimization issues (*cough* IDispatch *cough*) that don't even show up in profiling...

But I'd settle for faster RAM access (at first :P) - it would complete change the tradespace for a wide variety of graphics and scientific computing apps. That is to say, it'd help *me* :)

January 03, 2007 5:59 PM  
Blogger Kilroy Trout said...

You’re spot on with this observation, and it’s a significant bottleneck in my work. There are many graphics applications for which a GPU is not utilizable, and their function sets are actually fairly narrow (which in turn helps performance).

System RAM is cheap (while L1 isn’t), 64 bit is around the corner, and the good-old CPU is still the lowest common denominator, so why can’t we improve memory bandwidth and latency? Part of the reason is the division between processor makers and memory manufacturers. DRAM access time has been improving at less than a few percent a year while CPU performance has been growing exponentially faster. The former wants to make cheaper RAM, and the later wants to make faster CPUs. Neither really cares about system performance.

January 04, 2007 12:26 AM  
Blogger Sree Kotay said...

I agree Kilroy - and it seems like the next war is around motherboard and chipset, not just CPU (witness ATI and AMD, as well as NVidia NForce) - so.... hopefully someone will step up here.

January 04, 2007 12:37 AM  
Blogger metamerist said...

In explaining related issues to people, I use a lawn mower analogy.

Each year the blades spin 60% faster and the wheels spin 10% faster.

You can cut thick grass with today's machines, but it really would be nice to see more effort directed at getting the grass to come in faster.

January 04, 2007 11:45 AM  
Blogger Sree Kotay said...

good analogy, metamerist: I've already, um, appropriated it in conversation to good effect - thanks :)

January 05, 2007 7:33 PM  
Blogger alpa said...

Hi Sree,

Came across your blog while browsing around…cool stuff u have going on here. Also I thought I’d tell u about something I came across, thought u might find it useful, bcoz ur in Technology…it’s this site called Myndnet…u should check it out..the link is here http://www.myndnet.com/login.jsp?referral=alpa83&channel=ZD

It’s this cool place where u get paid for responding to queries…very cool stuff!! http://www.myndnet.com/login.jsp?referral=alpa83&channel=ZD

Sign up n lemme know what u think…my mail id is barot.alpa@gmail.com

Cheers
Alpa

April 02, 2007 6:03 AM  
Anonymous Anonymous said...

runescape money runescape gold runescape money runescape gold wow power leveling wow powerleveling Warcraft Power Leveling Warcraft PowerLeveling buy runescape gold buy runescape money runescape items runescape gold runescape money runescape accounts runescape gp dofus kamas buy dofus kamas Guild Wars Gold buy Guild Wars Gold runescape accounts buy runescape accounts runescape lotro gold buy lotro gold lotro gold buy lotro gold lotro gold buy lotro gold lotro gold buy lotro gold runescape money runescape power leveling runescape money runescape gold dofus kamas cheap runescape money cheap runescape gold Hellgate Palladium Hellgate London Palladium Hellgate money Tabula Rasa gold tabula rasa money 压力开关 压力传感器 流量开关 流量计 液位计 液位开关 温湿度记录仪 风速仪 差压开关 可燃气体检测仪 过滤器 强磁水处理器 自清洗过滤器 自动反冲洗过滤器 保鲜棕榈树 棕榈树

November 16, 2007 1:14 AM  
Blogger runescape gold said...

runescape money runescape gold runescape gold runescape money buy runescape gold buy runescape money runescape money runescape gold wow power leveling wow powerleveling Warcraft Power Leveling Warcraft PowerLeveling buy runescape gold buy runescape money runescape itemsrunescape accounts runescape gp dofus kamas buy dofus kamas Guild Wars Gold buy Guild Wars Gold lotro gold buy lotro gold lotro gold buy lotro gold lotro gold buy lotro gold runescape money runescape power leveling runescape money runescape gold dofus kamas cheap runescape money cheap runescape gold Hellgate Palladium Hellgate London Palladium Hellgate money Tabula Rasa gold tabula rasa money Tabula Rasa Credit Tabula Rasa Credits Hellgate gold Hellgate London gold wow power leveling wow powerleveling Warcraft PowerLeveling Warcraft Power Leveling World of Warcraft PowerLeveling World of Warcraft Power Leveling runescape power leveling runescape powerleveling eve isk eve online isk eve isk eve online isk tibia gold Fiesta Silver Fiesta Gold




runescape money runescape gold wow power leveling


棕榈树
VI设计
画册设计
血管瘤
肝血管瘤
音乐剧
福卡
防静电地板
美国留学
留学美国
电阻器
不锈钢电阻器
频敏电阻器

睡眠呼吸机
伟康呼吸机
呼吸机
无创呼吸机
家用呼吸机
呼吸机的使用

北京消化系统疾病
北京心脑血管疾病
北京肾病
北京中医儿科
北京针灸减肥
针灸减肥
北京糖尿病
北京疼痛病
北京类风湿

April 03, 2008 5:45 AM  

Post a Comment

Links to this post:

Create a Link

<< Home