OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomese-simd commits / 4a64320

Smelling correct
4a6432077ae533a39494f2780845c5fd8e4e58a4
by Linas Vepstas <linas@linas.org> · 2025-10-08T03:33:33.000Z

Changed files (1) +15 -13

Design-G.md +15 -13
……@@ -61,21 +61,21 @@ external object.
6161
6262But first, a distraction:
6363The `ExecuteThreadedLink` gathers results into a QueueValue. The
64`ParallelLink` fires and forgets: it runs threads, dettaches, does
64`ParallelLink` fires and forgets: it runs threads, detaches, does
6565not wait for completion; does not collect results. Also does not specify
66max-threads to use (because doing so des not seem to make sense, if
66max-threads to use (because doing so does not seem to make sense, if
6767one is not going to wait?)
6868
6969### Execute ... where?
7070What should the argument to `PureExec` be? Currently, it allows an
71AtomSpace to be specified. If none specfied, an anonymoous temporary
71AtomSpace to be specified. If none specified, an anonymous temporary
7272child AtomSpace is used. Otherwise, it is implicitly assumed that
7373the specified AtomSpace inherits from the current AtomSpace, as
7474otherwise, bad things are likely to happen. Untested: what does it
7575even mean to execute "somewhere else"?
7676
7777* The Atoms appearing directly in the PureExec would need to be
78 copied to the remote locaton. (This is not needed when the "remote"
78 copied to the remote location. (This is not needed when the "remote"
7979 location is a child of the current AtomSpace)
8080
8181* There is explicit mechanism for copying Atoms around, other than
……@@ -103,11 +103,11 @@ for reading is also accessible for writing (unless it is marked
103103read-only.)
104104
105105The current implementation of layered AtomSpaces has some strong
106negative performance reprecussions. This is because the layers are
106negative performance repercussions. This is because the layers are
107107envisioned as being OverlayFS-like: Atoms in lower layers can be masked
108108or hidden in higher layers, so that it looks like they are absent.
109109Atoms in higher layers can have different key-value store contents
110than lower layers. The lookup has fairly strongly noticable performance
110than lower layers. The lookup has fairly strongly noticeable performance
111111impacts, even though this is not benchmarked at this time.
112112
113113This directed graph is represented with a Frame, which is an Atom that
……@@ -135,7 +135,7 @@ elevates a StorageNode (this time, in the form of a Proxy) to be at the
135135same conceptual level as the AtomSpace. So we now have three distinct
136136"remote" operations: read, write and execute.
137137
138### Reinventing Cmputing?
138### Reinventing Computing?
139139The `rwx` certainly make it feel like we're re-inventing computing.
140140Lets take a closer look and make sure we are not missing anything.
141141
……@@ -159,14 +159,14 @@ Lets take a closer look and make sure we are not missing anything.
159159* The actual devices hanging off the end of channels are disk drives,
160160 storage clusters, connected via fiber channel, ethernet, etc. The
161161 notable difference here is that topology configuration happens at
162 a differrent software abstraction level then the hardware: The
162 a different software abstraction level then the hardware: The
163163 sysadmin gets a GUI dashboard with blinkenlights and knopkes.
164164 The programmer implementing the GUI gets a stack of libraries,
165165 each working at different abstraction layers. At this time, there
166166 is no comparable stack of interfaces for Atomese, so I don't extract
167167 any wisdom, here.
168168
169* The Ceph storage cluster offers several lessons. Formost is a negative
169* The Ceph storage cluster offers several lessons. Foremost is a negative
170170 lesson: file ownership and uid/gid management is outside the scope
171171 of CephFS. This is a holdover from Unix: uids and gids are numeric;
172172 the correlation to actual user accounts in `/etc/passwd` and
……@@ -179,7 +179,7 @@ Lets take a closer look and make sure we are not missing anything.
179179 crypto key for the particular action to be taken.
180180
181181* On the topic of crypto, we have the idea of smart contracts, where
182 multiple parties can engage in coopertive actions by authenticating
182 multiple parties can engage in cooperative actions by authenticating
183183 with crypto keys.
184184
185185How can we leverage the above for the next-gen design?
……@@ -199,7 +199,7 @@ So what are the design requirements?
199199 other remote, attached AtomSpaces.
200200* So this is not really a "view", per se; it seems to be saying "get rid
201201 of the OverlayFS-like behavior, and provide it in some other way."
202* `ProxyNodes` are passive, not active in thier update of AtomSpace
202* `ProxyNodes` are passive, not active in their update of AtomSpace
203203 contents. One has to explicitly fetch Atoms, Keys. This prevents the
204204 naive usage of Proxy infrastructure for the hiding/modifying behavior.
205205* Active updates is not the same as "push notifications". More on this
……@@ -238,6 +238,8 @@ to the BackingStore? As I currently imagine, the answer is yes.
238238To what degree can the AtomSpace and the BackingStore API's be
239239consolidated into one?
240240
241### Recap
242
241243
242244### Are SensoryNode's AtomSpaces?
243245By logical extension of the above thoughts, SensoryNodes should be
……@@ -252,8 +254,8 @@ come back from remote sensing...
252254
253255TODO List
254256---------
255Writiing the above, the TODO list expands:
257Writhing the above, the TODO list expands:
256258* The ThreadJoinLink should be removed from Atomese. DONE.
257* Benchmark the Atompsace layers/frame performance. Maybe with a variant
259* Benchmark the AtomSpace layers/frame performance. Maybe with a variant
258260 of the `LargeZipfUTest` layout, but this time with different count
259261 data at each layer.