This document, "SCA Design Notes," details design changes, reasoning, and implicit assumptions for the SCAMPI (System Communication Architecture Message Passing Interface) system. It addresses various aspects of system operation, including concurrency, connection management, and buffer handling, often in the context of specific routines (e.g., SC.RAP, SC.ERR, SC.DIS, SC.ALC).
Key areas covered include:
NOSKED (no rescheduling) to manage concurrent access and prevent race conditions. Routines are categorized by their locking behavior (Lock, Honor, Lock and Honor), with SC.DIS (disconnect) being specially handled with CIOFF to ensure atomic state changes and defer other operations.SC.ALC, SC.ABF, and SC.ALD allocate buffers from a central pool, maintaining minimum thresholds (MINMSG, MINDG) that are dynamically adjusted based on the number of online systems. If buffer counts drop below these thresholds, SC.ALC is triggered to create more buffers. SC.CMG and SC.CDG are responsible for creating new buffers from memory pages using SC.BBF.SC.DEF handles "stuck" connect blocks that are awaiting buffers, working to acquire them and send pending connection management requests.SC.RBF and SC.RLD return buffers to free queues. PHYKLP (the physical layer protocol handler) is crucial in returning locally-generated buffers to port queues upon error, particularly when the "response" bit is not set, to maintain buffer integrity and system stability.CONNECT_REQ, DISCONNECT_RSP).In essence, the document serves as an internal guide to the complex interplay of routines, locks, buffers, and state changes necessary for reliable communication within the SCAMPI architecture, with a particular emphasis on handling concurrent events and errors gracefully.
Site structure and layout ©2025 Majenko Technologies