| … | … | @@ -120,6 +120,55 @@ elevates a StorageNode (this time, in the form of a Proxy) to be at the |
| 120 | 120 | same conceptual level as the AtomSpace. So we now have three distinct |
| 121 | 121 | "remote" operations: read, write and execute. |
| 122 | 122 | |
| 123 | ### Reinventing Cmputing? |
| 124 | The rwx certainly make it feel like we're re-inventing computing. Lets |
| 125 | take a closer look and make sure we are not missing anything. |
| 126 | |
| 127 | * The `rwx` perms on i370/s390 mainframes came with a storage key, |
| 128 | granting specific access to different memory regions. Do we have |
| 129 | something similar here? Of course: `StorageNode`s are all distinct. |
| 130 | |
| 131 | * The i370/s390 mainframes had a well-developed architecture of channels |
| 132 | and subchannels. These are explicitly configured using `schib`s and |
| 133 | `irb`s and whatnot. This resembles (even strongly?) the way in which |
| 134 | the `ProxyNode`s are configured. That is, a bare-bones, ad-hoc |
| 135 | structure is defined, at the same abstraction level as the thing |
| 136 | carrying out the operations (`STARTIO`). |
| 137 | |
| 138 | * Most other CPU complexes use PCIe as the networking fabric. This has |
| 139 | concepts that include root ports, channels, devices. These are |
| 140 | configured and controlled by PCI config registers at the hardware |
| 141 | layer. This does not elicit any notably different or inspiring |
| 142 | thoughts or suggestions for the design of the StorageNode. |
| 143 | |
| 144 | * The actual devices hanging off the end of channels are disk drives, |
| 145 | storage clusters, connected via fiber channel, ethernet, etc. The |
| 146 | notable difference here is that topology configuration happens at |
| 147 | a differrent software abstraction level then the hardware: The |
| 148 | sysadmin gets a GUI dashboard with blinkenlights and knopkes. |
| 149 | The programmer implementing the GUI gets a stack of libraries, |
| 150 | each working at different abstraction layers. At this time, there |
| 151 | is no comparable stack of interfaces for Atomese, so I don't extract |
| 152 | any wisdom, here. |
| 153 | |
| 154 | * The Ceph storage cluster offers several lessons. Formost is a negative |
| 155 | lesson: file ownership and uid/gid management is outside the scope |
| 156 | of CephFS. This is a holdover from Unix: uids and gids are numeric; |
| 157 | the correlation to actual user accounts in `/etc/passwd` and |
| 158 | `/etc/group` are decorellated. The correct long-term solution for |
| 159 | Unix is to replace uid's & gid's by URLs, so as to provide a more |
| 160 | global description of permissions. |
| 161 | |
| 162 | * On the topic of permissions, we have the Nick Szabo e-rights system. |
| 163 | The ability to accomplish something depended on having access to a |
| 164 | crypto key for the particular action to be taken. |
| 165 | |
| 166 | * On the topic of crypto, we have the idea of smart contracts, where |
| 167 | multiple parties can engage in coopertive actions by authenticating |
| 168 | with crypto keys. |
| 169 | |
| 170 | How can we leverage the above for the next-gen design? The |
| 171 | implementation of AtomSpace layers |
| 123 | 172 | |
| 124 | 173 | |
| 125 | 174 | ### Are SensoryNode's AtomSpaces? |