POV-Ray : Newsgroups : povray.off-topic : Three guesses why : Re: Three guesses why Server Time
30 Jul 2024 00:29:52 EDT (-0400)
  Re: Three guesses why  
From: Darren New
Date: 22 Jun 2011 11:44:45
Message: <4e020ded$1@news.povray.org>
On 6/22/2011 1:35, Invisible wrote:
> Sure. It's not the whole OS. It's just the entire GUI. Subtle difference there.

Not the entire GUI. One program running the file manager.

Your email client still works. Your background processes still work. 
Programs trying to open files might get stuck.

> Same thing happens if the OS is expecting to configure a NIC via DHCP but
> there's no server. It waits quite a long time - which is fine - but the
> entire GUI again locks up while it does so (which isn't fine).

Never had that problem that I remember. On the other hand, yes, since Vista 
or so, network I/O requests can be canceled, which is what you're 
experiencing there.

> No reason, just poor design.

More like "insufficient engineering time given to edge cases to make them 
efficient."

> Then again, SSDs are here now, and gradually becoming actually popular. I
> guess history repeats itself, eh?

Yeah. Sadly, it has to actually *look* like a disk, so you still get a lot 
of the overhead.

> Warp's original comment was that partitioning an arbitrary problem such that
> you gain parallel speedup is probably impossible "in practise".

I wouldn't be surprised if it was mathematically impossible in theory, either.

> I guess that *is* way too vague to answer.

For the general case, yeah.

> Heheh, yeah. Didn't somebody say a few months back "we need advanced quantum
> computers *now*!", to which somebody else replied "we already have that; we
> call it 'the real world'". ;-)

I think that was me, yes. :-)

> Ideally you want to find out whether a given object is pointed to by
> anything

Um, no, not really. You want the collection of live objects. Or the 
collection of dead objects. You don't do GC one object at a time, unless 
you're doing reference counting.

http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29#Tri-colour_marking

> Except that's not true of course. It's possible for two dead objects to
> point to each other. (Which is why reference counting will never work.) The
> other option is to put the liveliness testing into pointer manipulation
> operations (since this is the only place where the information can change),
> but that's going to heap tonnes of overhead onto very common operations.

Yes, that's reference counting, and that's why people avoid that in GC when 
they can.

> The other thing I've thought about is having multiple heap areas and
> tracking pointers between them. If you could arrange it so that all the
> garbage is in one heap chunk, you can just drop the whole chunk rather than
> doing complex processing over it. However, that's not easy to achieve in
> general.

That's called semi-space garbage collection.

>>> Other than that, we keep getting processors with more and more cores, but
>>> exactly the same amount of memory bandwidth. This seems very
>>> unsustainable.
>>
>> Yep. That's why NUMA is getting more popular and such.
>
> Only for supercomputers.

The Opteron is a supercomputer?

> I wonder how long it will take for desktops to catch up?

You're probably already running it.

> Speaking of which, take a look at this:
>
> http://tinyurl.com/64bfdmv

Comic Saaaaaaaaaaans!


> The interesting bit is slides #3 and #4. I've often wondered why all the
> books about supercomputers talk a lot about parallel processing, but [until
> recently] it's never seen in normal computers. Now I know, I guess...

Because until recently (like, the last 10 years), putting multiple CPUs in 
something was very expensive.

-- 
Darren New, San Diego CA, USA (PST)
   "Coding without comments is like
    driving without turn signals."


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.