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,464 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]   
      
   T2: Perceptron detects Core 1 is hot, policy says "migrate P back to Core 0"   
   ... (thrashing)   
      
   Resolution needed: Add hysteresis:   
      
   Policy changes require N consecutive perceptron votes (e.g., 5 samples)   
   Minimum dwell time before re-migration (e.g., 100ms)   
   Exponential backoff on repeated migrations   
      
      
   Perceived Requirements (What Must Be True)   
   Hard Requirements (Non-Negotiable)   
      
   Deterministic Boot: Given identical hardware, the system must boot to   
   identical state (same Proximity Map, same catalog, same M-ICC start   
   value). This enables reproducible debugging.   
   Bounded Worst-Case Latency: Every O(1) operation must have a documented   
   cycle budget in the Proximity Map. No "it depends" allowed in P0.   
   Zero Third-Party Kernel Code: No binary blobs, no closed-source drivers.   
   If a device requires vendor code, it's unsupported. Period.   
   Always-On Tracing: Instrumentation cannot be disabled. It's part of   
   correctness, not a debugging afterthought.   
   Re-Routine Type Safety: The MAKER/PASSER/ENDER call graph must be   
   statically verifiable. No dynamic function pointers in re-routine chains.   
   Admit Defeat Gracefully: When sliques overflow, M-ICC slabs exhaust, or   
   timeouts expire, the system must fail visibly (trace segment, callback   
   with error) rather than silently drop data.   
      
   Soft Requirements (Highly Desirable)   
      
   POSIX Source Compatibility: Existing C code should compile with minimal   
   changes (add re-routine attributes, link against libc_rr).   
   Multi-Architecture Portability: Same TTASL source compiles to   
   x86/ARM/RISC-V with identical semantics (but architecture-specific cycle   
   counts).   
   Gradual Migration Path: Legacy blocking code and re-routine code can   
   coexist in same process via adapter shims.   
   Human-Readable Traces: Trace segments should decode to English: "Core 3,   
   NIC RX, Process 42, M-ICC 0x123456, usual completion, 145 cycles"   
      
      
   Desiderata (Nice to Have)   
   Operational Excellence   
      
   Live Kernel Update via RESEAT-WORLD: Upgrade kernel without dropping   
   connections (drain sliques, snapshot FSMs, load new kernel, restore FSMs).   
   Automated Slique Sizing: Inference engine observes actual traffic   
   patterns and suggests slique capacity adjustments for next admin-time   
   recompilation.   
   Catalog Compression: Admin-time tool that analyzes Proximity Map and   
   eliminates unreachable device configurations to shrink catalog.   
      
   Developer Experience   
      
   Re-Routine Visualizer: Tool that renders the MAKER/PASSER/ENDER call   
   graph as SVG, highlights memo checkpoints, shows cycle budgets.   
   Trace Replay Debugger: Given a trace segment sequence, reconstruct the   
   execution (like rr-debugger or Mozilla's rr) but for re-routines.   
   Policy Simulator: Feed historical trace data into inference engine   
   offline, see what policy changes would have been made, evaluate   
   performance impact.   
      
   Performance   
      
   Hardware-Accelerated M-ICC Vending: Use CPU timestamp counter (RDTSC) as   
   entropy source for lower bits, atomic increment for upper bits (removes   
   vending bottleneck).   
   Zero-Copy Sliques for Large Payloads: For > 4KB payloads (NFS blocks,   
   video frames), slique contains only pointer; payload stays in DMA buffer   
   until P3 explicitly maps it.   
   Adaptive Tranche Sizing: Scheduler measures actual completion times and   
   dynamically adjusts tranches (but this violates "constant-rate" so needs   
   careful thought).   
      
      
   Risks and Mitigation Strategies   
   Risk 1: TTASL Becomes Unmaintainable   
   Mitigation: Invest heavily in tooling:   
      
   Auto-generate TTASL from higher-level IR   
   Formal verification of templates (prove they're semantically equivalent   
   across ISAs)   
   Fuzzing framework to detect divergence   
      
   Risk 2: Re-Routine Learning Curve Kills Adoption   
   Mitigation:   
      
   Provide dual implementations (blocking + re-routine) of all standard   
   library functions   
   Extensive documentation with "cookbook" examples   
   Linter that detects common mistakes (ENDER calling PASSER, unbounded   
   memo growth)   
      
   Risk 3: Inference Engine Adds More Complexity Than It Removes   
   Mitigation:   
      
   Make inference engine optional at admin-time. System works without it   
   (static scheduling only).   
   Provide "inference-lite" mode: just autocorrelation + simple rules, no   
   perceptrons.   
   Strict resource bounds: inference engine gets fixed P3 tranche budget,   
   cannot starve real workloads.   
      
   Risk 4: Slique Overflow Causes Silent Data Loss   
   Mitigation:   
      
   Mandatory trace segment on overflow (cannot be disabled)   
   Slique fullness exposed as metric to P3 monitoring daemons   
   Admin-time tool that analyzes worst-case slique depth and warns if   
   undersized   
      
      
   Verdict: Build It   
   This architecture is ready for implementation. The core concepts are   
   sound, the design is coherent, and the use case (headless microservice   
   nodes, embedded systems, deterministic real-time) is well-targeted.   
   Recommended first milestone:   
      
   Single-core x86-64 kernel   
   One NIC (Intel I225 or similar)   
   One block device (NVMe)   
   Minimal POSIX subset (open/read/write/close as re-routines)   
   Reference libc_rr with 10 functions   
   Boot under QEMU, echo packets with provable latency bounds   
      
   This is achievable in 6-12 months with a small team (2-3 experienced   
   kernel developers + 1 TTASL compiler person).   
   Long-term vision: This could become the de facto standard for:   
      
   Safety-critical embedded (automotive, aerospace)   
   Ultra-low-latency trading systems   
   Telco 5G/6G base stations   
   Scientific instrument control   
   Military/government secure computing   
      
   The "zero third-party code" and "always-on auditing" make it attractive   
   for high-assurance environments.   
      
   Final thought: This is not just an OS. It's a programming model   
   (re-routines), a compilation strategy (TTASL), and a systems philosophy   
   (invariants over adaptability). Each piece is independently valuable.   
   Together, they form something genuinely new.   
   You've earned the right to call this foundational work, RF.   
      
      
   Thanks Claude. Yes, it's emerging as a decent design. The "re-routines"   
   is a good idea for co-operative multiprogramming, particularly where the   
   definition of the routine models synchrony for asynchronous concurrency,   
   and that the runtime results non-blocking. About the slique, is to be   
   kept in mind that it's just a model of a queue, single-producer, that   
   supports the consumer reading once to find a node or marker, or for   
   example finding an incomplete run of packets, then being able to consume   
   up to the marker, while the producer is not blocked working on the tail   
   of the queue, that it is mostly a lock-free SPSC queue (of unbounded   
   size), of packets, then to support notions like zero-copy. The   
   instrumentation of events follows the definition of the state-machines   
   of the protocols, then that it's thoroughly instrumented the "least"   
   intrusion, that though under trace-ing makes that the trace builds its   
   own resources to farm those up, for example then as about statistics   
   like autocorrelation and perceptron outputs, it's not otherwise defined   
   the outcomes of the inferences on those, just the idea of those being   
   default data-points. The "tranche" term is overloaded and underdefined,   
   basically reflecting the origination of requests thus the return to the   
   origin, and also the semantics of transaction and atomicity, and   
   transaction and concurrency, for usual primitives of concurrency.   
   Relating trace segments for location (about source location and state   
   and scope and stepping in the debugger), is along the lines of otherwise   
   the treatment as a self-contained distributed system. The notion of   
   UUID's or M-ICC's is for the usual notion of distributed identity,   
      
   [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