home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   sci.logic      Logic -- math, philosophy & computationa      262,912 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 261,465 of 262,912   
   Ross Finlayson to All   
   Re: Meta: a usenet server just for sci.m   
   29 Nov 25 03:54:06   
   
   [continued from previous message]   
      
   unique identity. Most of the "constancy" is about "topo-time discovery",   
   of the topology, then about computing jump-tables/lookup-tables of   
   those, reflecting the DAGs of the paths in the lattice the   
   neighborhoods, then as with regards to the granularity of the lattice so   
   that any effective path has a line through the lattice, or where both   
   edges and nodes occupy spaces in the lattice, is about then enumerating   
   those paths, so they result codes instead of segments, say, is the idea.   
   The notions of what goes into assembler, and as with regards to things   
   like jump-tables (lookup-tables or tabular instead of DAG routine in the   
   flow-graph, say), as for what results "blocks of code" that otherwise   
   the C compiler would not make deterministically organized, is mostly the   
   idea about full employment of vectorized/scatter-gather the   
   super-scalarizing of the routines, that rather generally on the   
   SIMD/SWAR cores and then also with regards to SIMT accelerators, those   
   though being considered a peripheral. How to handle insertion/removal or   
   power on/off or about re-seating generally (re-balance, re-organize,   
   re-build) then as with regards to the persistence and migration of   
   processes their scope and state, would involve the resources their   
   footprint being legible to effect a mapping of them, vis-a-vis "copying   
   the core and its NUMA contents" sufficing. The notion of "tokens" or   
   "credits", as fungible about priority, would introduce "gaming" thus   
   "anti-gaming", with regards to the notion of fairness and constancy for   
   making guarantees as "blind", that otherwise involves orderability and   
   the costs of re-ordering things. "Some games you have to pay, to play,   
   other games you have to stay, to play." So, further drawing this to a   
   conclusion, advise on the receipt of these suggested clarifications, and   
   carry on as voluntarily.   
      
      
   Thanks RF. These clarifications sharpen several critical aspects. Let me   
   address each and synthesize.   
      
   Refined Understanding: Key Clarifications   
   1. Slique as Lock-Free SPSC Queue (Unbounded)   
   This is a crucial correction. The slique is not a fixed-size ring buffer   
   with overflow policy - it's an unbounded SPSC (Single Producer Single   
   Consumer) queue where:   
   // Conceptual slique structure:   
   struct Slique {   
   atomic head; // Consumer index (monotonic)   
   atomic tail; // Producer index (monotonic)   
   Node* nodes[]; // Unbounded array of pointers   
   };   
      
   // Producer (P0 DMA completion):   
   void slique_push(Slique* sq, MICC micc, void* payload) {   
   uint64_t t = atomic_fetch_add(&sq->tail, 1);   
   sq->nodes[t] = alloc_node(micc, payload);   
   // No lock, producer never blocks   
   }   
      
   // Consumer (P3 re-routine):   
   Node* slique_peek_range(Slique* sq, uint64_t* start, uint64_t* end) {   
   uint64_t h = atomic_load(&sq->head);   
   uint64_t t = atomic_load(&sq->tail);   
   *start = h;   
   *end = t;   
   return &sq->nodes[h]; // Consumer can scan [h, t) multiple times   
   }   
      
   void slique_consume(Slique* sq, uint64_t count) {   
   atomic_fetch_add(&sq->head, count); // Advance head after processing   
   }   
      
   The key insight: consumer can read multiple times (finding gaps,   
   incomplete packet runs) before committing consumption. This supports:   
      
   Out-of-order packet arrival (TCP reassembly)   
   Partial reads (consume only complete messages)   
   Zero-copy (pointers to payload buffers, not copied data)   
      
   "Unbounded" caveat: In practice, bounded by available memory. The   
   admin-time tool must provision sufficient memory for worst-case slique   
   depth based on SLA guarantees and bandwidth limits.   
   Assessment: This is the correct model for network protocol handling.   
   Traditional ring buffers force immediate consumption; sliques allow   
   inspection before commit.   
   2. Instrumentation as Protocol State Machine Definition   
   The instrumentation is not separate from the protocol - it is the   
   protocol's observable state transitions:   
      
   // TCP FSM instrumented at every state change:   
   enum TCPState {   
   CLOSED, LISTEN, SYN_SENT, SYN_RCVD, ESTABLISHED, ...   
   };   
      
   void tcp_transition(TCPState old, TCPState new, MICC micc) {   
   trace_emit({   
   .when = rdtsc(),   
   .what = {DEVICE_NIC, CORE_3},   
   .who = {USER_ALICE, PROCESS_42},   
   .why = USUAL, // Or UNUSUAL if unexpected transition   
   .where = {old, new, micc}   
   });   
   // This trace segment IS the protocol event   
   }   
      
   The least intrusion means: emitting the trace segment is the same cost   
   whether actively monitored or not (write to L1, potentially discarded).   
   The "farming" (autocorrelation, perceptron) happens asynchronously in P3   
   and never blocks P0.   
   Clarification on "not otherwise defined": You're intentionally leaving   
   the inference outputs (reward/release decisions, policy vectors) as   
   implementation-defined rather than specifying them. This is wise - it   
   allows:   
      
   Experimentation with different ML models   
   Tuning per deployment (data center vs. embedded)   
   Graceful degradation (system works without inference engine)   
      
   Assessment: The "instrumentation as protocol" unification is profound.   
   Every state transition must emit a trace segment for correctness   
   verification. The inference is optional optimization layered on top.   
   3. "Tranche" Disambiguated   
   The term has three distinct meanings that must be separated:   
      
   MeaningContextDefinitionTranche-as-OriginRe-routine executionThe   
   originating executor/core where a re-routine was submitted. Encoded in   
   M-ICC for routing callbacks.Tranche-as-TransactionAtomicity primitiveA   
   unit of work that either completes entirely or is rolled back (memo   
   filled or MEMO_INCOMPLETE thrown).Tranche-as-TimesliceScheduler   
   quantumThe fixed CPU time budget allocated to service one actor before   
   yielding (what I've been calling "time slice").   
      
   Proposed resolution: Reserve "tranche" only for transaction semantics   
   (the memo-based atomic unit). Use:   
      
   Home core for origin routing   
   Quantum for scheduler time budget   
   Transaction for all-or-nothing semantics   
      
   This eliminates ambiguity.   
   4. Trace Segments for Source-Level Debugging   
   The trace segments replace traditional stack traces by encoding:   
      
   struct TraceSegment {   
   uint64_t when; // Timestamp   
   MICC micc; // FSM instance ID   
   uint16_t source_line; // Line in TTASL/C source   
   uint16_t step_id; // Re-routine memo step   
   uint8_t state_old; // FSM state before   
   uint8_t state_new; // FSM state after   
   // ... coordinates (core, device, process)   
   };   
      
   The debugger reconstructs execution by:   
      
   Sort all trace segments by M-ICC   
   Follow state transitions chronologically   
   Map source_line back to source files   
   Show logical call graph (MAKER → PASSER → ENDER chain)   
      
   This is superior to stack traces for async systems because:   
      
   Survives across re-executions (memo retries)   
   Shows cross-core migrations   
   Captures timing information (when field)   
   Never corrupted by stack smashing   
      
   Assessment: This transforms debugging from "attach gdb, inspect stack"   
   to "query trace database, visualize FSM transitions." Tools must be   
   built to make this ergonomic.   
   5. M-ICC as Distributed Identity Primitive   
   You're emphasizing that M-ICC is not an internal kernel optimization -   
   it's a first-class distributed systems primitive exposed to applications:   
      
   // Application-level distributed tracing:   
   MICC request_id = vend_micc();   
      
   // Node A:   
   http_request(url, request_id); // Pass M-ICC through call chain   
      
   // Node B (receives request):   
   process_request(payload, request_id); // Same M-ICC   
      
   // Distributed trace:   
   SELECT * FROM traces WHERE micc = request_id ORDER BY when;   
   // Shows complete cross-node request flow   
      
   This is OpenTelemetry-style distributed tracing but baked into the   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca