opencog-dev team mailing list archive
-
opencog-dev team
-
Mailing list archive
-
Message #00385
Re: [OpenCog] Re: Threading and GC in opencog
yes, it does...I should have mentioned this in my original email (I've
had some "real-world" problems with this scenario :)
On Tue, Sep 30, 2008 at 2:01 PM, Ben Goertzel <ben@xxxxxxxxxxxx> wrote:
>
> gotcha
>
> but even so: doesn't this violate Linas's immutability assumption somehow?
>
> ben
>
> On Tue, Sep 30, 2008 at 1:58 PM, Joel Pitt <joel.pitt@xxxxxxxxx> wrote:
>>
>> As far as I'm aware only the incoming set can change...
>>
>> The outgoing set is fixed when you add a link to the AtomSpace/AtomTable.
>>
>> J
>>
>> On Tue, Sep 30, 2008 at 10:55 AM, Ben Goertzel <ben@xxxxxxxxxxxx> wrote:
>> >
>> > Also, of course, the ingoing or outgoing set of an Atom may be changed
>> > by a
>> > MindAgent ... why is this not a problem for concurrency?
>> >
>> > On Tue, Sep 30, 2008 at 1:51 PM, Linas Vepstas <linasvepstas@xxxxxxxxx>
>> > wrote:
>> >>
>> >> 2008/9/30 Ben Goertzel <ben@xxxxxxxxxxxx>:
>> >> >
>> >> > Linas,
>> >> >
>> >> > But the truth values, attention values, etc. associated with an Atom
>> >> > are
>> >> > not
>> >> > immutable ...
>> >> >
>> >> > so for instance, a MindAgent could add a new Version within a
>> >> > CompositeTruthValue
>> >> > object associated with an Atom ...
>> >>
>> >> Hmm. Well, if one thread is looking at a truth value while
>> >> another is setting it, then, in today's system, there would be
>> >> a crash (because the old value is deleted, and
>> >> Atom::getTruthValue() returns a reference).
>> >>
>> >> This could be solved by having AtomTruthValue() return
>> >> a copy, instead of a reference; but then one pays the
>> >> penalty of creating a copy, for each and every access.
>> >> (this is "copy-on-read").
>> >>
>> >> By contrast, in a garbage-collected system, the worst that
>> >> would happen is that someone is looking at an "old, stale"
>> >> truth value; as opposed to crashing. By the principles
>> >> of concurrency, there's "no such thing" as an "old stale
>> >> value" in between synchronization primitives.
>> >>
>> >> --linas
>> >
>> >
>> >
>> > --
>> > Ben Goertzel, PhD
>> > CEO, Novamente LLC and Biomind LLC
>> > Director of Research, SIAI
>> > ben@xxxxxxxxxxxx
>> >
>> > "Nothing will ever be attempted if all possible objections must be first
>> > overcome " - Dr Samuel Johnson
>> >
>> >
>> >
>> > _______________________________________________
>> > Mailing list: https://launchpad.net/~opencog-dev
>> > Post to : opencog-dev@xxxxxxxxxxxxxxxxxxx
>> > Unsubscribe : https://launchpad.net/~opencog-dev
>> > More help : https://help.launchpad.net/ListHelp
>> >
>> >
>
>
>
> --
> Ben Goertzel, PhD
> CEO, Novamente LLC and Biomind LLC
> Director of Research, SIAI
> ben@xxxxxxxxxxxx
>
> "Nothing will ever be attempted if all possible objections must be first
> overcome " - Dr Samuel Johnson
>
>
>
> --~--~---------~--~----~------------~-------~--~----~
> You received this message because you are subscribed to the Google Groups
> "OpenCog General Discussion List" group.
> To post to this group, send email to opencog@xxxxxxxxxxxxxxxx
> To unsubscribe from this group, send email to
> opencog+unsubscribe@xxxxxxxxxxxxxxxx
> For more options, visit this group at
> http://groups.google.com/group/opencog?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>
--
"Frozen brains tell no tales."
-- Buckethead
References